Эта статья о небольшом инструменте, который позволяет экономить время при разработке и тестировании фронтенд-проектов. А ещё его можно использовать для сложных A/B тестов и (для самых смелых) прятания встроенных админок. Материал может быть полезен фронтенд-программистам, тестировщикам, тимлидам и продактам.
Разработка
- Новые
- Лучшие
- Все
- ≥0
- ≥10
- ≥25
- ≥50
- ≥100
Новости
Ускоренная сборка Kotlin с помощью Kotlin Symbol Processing 1.0
Kotlin Symbol Processing (KSP), наш новый инструмент для создания легких плагинов компилятора на языке Kotlin, теперь стабилен! KSP обладает функциональностью, схожей с Kotlin Annotation Processing Tool (KAPT), однако работает в 2 раза быстрее, предоставляет прямой доступ к конструкциям языка Kotlin и поддерживает многоплатформенные задачи.
За последние несколько месяцев KSP пережил 32 релиза, в которых было исправлено более 162 ошибок, о которых сообщили представители сообщества и которые были исправлены нашей командой. Если вы ждали, когда сможете перейти на использование KSP, сейчас пришло самое время проверить его.
Расследование: как мы обнаружили новые следы группировки ChamelGang и помогли авиапромышленной компании пресечь ее атаку
Если помните, недавно мы рассказывали о том, как специалисты нашего экспертного центра безопасности (PT Expert Security Center, PT ESC) обнаружили новую, ранее неизвестную APT-группировку, получившую название ChamelGang (ее профайл смотрите здесь). Это произошло, когда нашу команду по реагированию на инциденты ИБ пригласили расследовать множественные срабатывания антивирусных средств защиты с вердиктом Cobalt Strike Beacon в российской топливно-энергетической компании.
Уже после расследования первого инцидента, в рамках мониторинга угроз информационной безопасности (threat intelligence) и анализа только что выявленной группировки, специалисты PT ESC обнаружили еще одну ее успешную атаку, идентифицировали и оповестили новую жертву — предприятие авиапрома России — и помогли оперативно устранить угрозу. Как и в первом случае, преступники были нацелены на похищение информации, однако быстрое обнаружение APT-группы и противодействие ей позволили предотвратить кражу.
Сегодня мы поделимся главными моментами этого расследования. Полный отчет с техническими подробностями обоих инцидентов читайте по ссылке.
Второе чувство: разработка ИИ-носа
Всё о проекте «Спутниковый интернет». Часть 36. Немного про роль Илона Маска в спутниковой связи
Предлагаю ознакомиться с ранее размещенными материалами по проекту StarLink (SL):
‣ Часть 30. Сравнение сервиса StarLink с сервисами других операторов ШПД
‣ Часть 31. Описание антенны Ка-диапазона
‣ Часть 32. Проблемы терминалов StarLink из-за перегрева
‣ Часть 33. Прошивка Терминала
‣ Часть 34. SpaceX планирует купить компанию SWARM
‣ Часть 35. Часть 35. Проблема StarLink и LEO группировок
Из истории проекта StarLink. Ретроспектива частотных планов
Недавно, я начал смотреть частотные заявки, которые SpaceX подавала в FCC на свои сети и оказалось, что это весьма интересно. В Annex S указываются частотные планы, т.е на каких частотах будет работать сеть. Тут все понятно выбора особого нет — для терминалов Кu 0,7...12,7 ГГц, и Ка для фидерной линии от Гейтвея. Но вот нарезка этого диапазона на каналы — это творческая задача, определяющая облик сети и параметры наземных терминалов, их диаметры антенн и мощности передатчиков. По идее, когда ты планируешь сеть, сначала много думаешь, определяешь и, оттолкнувшись от этого, формируешь наземный сегмент…
Посмотрим как это было у SpaceX в проекте StarLink
Compliance-дайджест: изменения законодательства в области ИБ за сентябрь 2021 года
В нашем ежемесячном сompliance-дайджесте собраны ключевые изменения требований регуляторов по информационной безопасности за сентябрь 2021 года. В этот раз – изменения в области персональных данных, биометрических персональных данных, требований к финансовым организациям, военной и военно-технической деятельности РФ, лицензирования деятельности по работе со СКЗИ, использования электронной подписи и новости в области стандартизации.
Полный разбор экзамена в ШАД
Решение экзамена в ШАД от 09.06.2018
Автор решения: Лыков Александр, кандидат физико-математических наук.
Условия и видео-решения других лет доступны на сайте: https://shadhelper.notion.site/e363616a9acd4591afdf687ba951d3ea
Релизы без выгорания и овертаймов: как мы меняли процессы работы над крупными игровыми фичами
Выстраивание производственных процессов — распространенная боль в IT-разработке. Это большая и комплексная задача, с которой неизбежно приходится сталкиваться на проектах, чтобы доставить фичу в срок. Однозначного и единственно правильного решения здесь нет. Зато есть множество маркеров: кранчи, выгорание, фичекат, — указывающих на то, что что-то вы все-таки делаете не так.
Изменение воркфлоу — процесс, способный растянуться не на один год, и, конечно, не обойдется без собственных набитых шишек. Ниже я расскажу об опыте команды War Robots: с чего мы когда-то начинали и каких результатов добились сейчас. И, поверьте, для нас это того стоило.
Партицируем таблицы в PostgreSQL: чек-лист для старта
Часто возникает проблема: одна из таблиц в базе данных сильно выросла и время выполнения запросов к этой таблице увеличилось. Одним из вариантов решения подобной проблемы в PostgreSQL является партицирование. В статье затронем не только техническую реализацию, но и опишем этапы подготовки к партицированию.
Представим, что у нас есть батон хлеба. Порежем его на части. Каждый отрезанный кусочек — часть целого батона, но не сам батон. То есть мы поделили целое на части — это и есть партицирование. Батон как целое соответствует таблице, а кусочки батона как части - партициям этой таблицы.
Неистовые потуги или как поиграть на midi-клавиатуре в стиле linux-way
Относительно короткая история о том как я хотел поиграть на midi-клавиатуре, но не совладал с аудиоподсистемами линуха...
Пишем свой блокчейн
Вы здесь, потому что, как и я, взволнованы ростом криптовалют. И хотите знать, как работает блокчейн - фундаментальную технологию, лежащую в его основе.
Но понять блокчейн непросто - по крайней мере, не для меня. Я пробирался через тупые видео, следовал руководствам и разочаровывался из-за слишком малого количества примеров.
Мне нравится учиться на практике. Это заставляет меня заниматься предметом на уровне кода, что разжигает любопытство. Если вы сделаете то же самое, в конце этого руководства у вас будет работающий блокчейн с твердым пониманием того, как он работает.
[Пятничное] Сколько стоит держать 100 запросов в секунду в Azure на .NET Core MVC и MSSQL
Эта пятничная история началась еще пять лет назад. Один мой друг, который в то время помогал запускаться разным стартапам, пожаловался на производительность базы данных, размещенной в Azure. По его словам, они провозились почти все выходные, но добиться приемлемого времени отклика от БД им не удалось, несмотря на все попытки. Даже переход на существенно более дорогой тариф не принес ощутимых результатов. Помню, я тогда еще подумал, что было бы неплохо протестировать все это самому, но времени не было и идея осталась не реализованной, хотя сам разговор я запомнил хорошо.
И вот, спустя пять лет случается флешбэк — выходит статья о нагрузочном тестировании Azure, в которой автор добивается 4 запроса в секунду за 250$ в месяц. Тут уж я просто не мог пройти мимо. Ведь не может такого быть, чтобы второе по величине облако давало так мало за не самые маленькие деньги, правильно? Поэтому я очень быстро набросал простейшее веб приложение на .NET, накатил базу StackOverflow за 2010 год, запустил туда скромную нагрузку в 100 RPS и стал судорожно протирать свои глаза. Даже такую нагрузку мое приложение не держало, причем вообще. 50 RPS тоже оказались слишком высокой планкой, как, впрочем, и 25. И тут я понял, что так дело не пойдет — к вопросу надо подходить системно.
Итак, кому интересно сколько стоит 100 RPS в Azure с .NET Core MVC + .NET 5 + MSSQL на Kestrel — берите кофей и прошу под кат.
Зачем разработчикам вступать в альянсы?
Современная ИТ-индустрия состоит в сложных взаимоотношениях с сообществом разработчиков Open Source, посредником в этих отношениях выступают различные альянсы, фонды и другие организации, занимающиеся стандартизацией открытых технологий.
Привет, я Аня, отвечаю за международные технологические партнерства и альянсы.
В этой статье расскажу, что такое технологический альянс, какие альянсы наиболее значимы и интересны в мире ИТ-разработки, чем они занимаются на глобальном уровне и какая в этом может быть польза для участников и всей индустрии в целом. Еще расскажу про то, в каких альянсах участвуем мы.
PWA: не Chrome'ом единым?
Я уже публиковал свою точку зрения, что Progressive Web Applications - это, прежде всего, технология для мобильных устройств. Основная особенность классических web-приложений - это клиент-серверная архитектура, а основная особенность "прогрессивных" web-приложений - возможность работы в offline. Понятно, что это очень сильно разные подходы в архитектуре - "всегда на связи" и "всё своё с собой". Совместить два таких разных подхода в одном приложении "это очень дорого и ни к чему".
Отталкиваясь от этой своей точки зрения, я решил посмотреть текущую статистику по браузерами - какие на данный момент у PWA-приложения возможности стать популярным и на какие браузеры оно должно ориентироваться. Данные для публикации взяты с сайта gs.statcounter.com
Опыт миграции кластера PostgreSQL на базе Patroni
Недавно мне посчастливилось заниматься переносом кластера PostgreSQL под управлением Patroni на новое железо. Задача казалась простой — я и не думал, что могут возникнуть проблемы. Но в процессе реализации встретились некоторые сложности, которые натолкнули на мысль поделиться полученным опытом. В этой работе описываются практические шаги и нюансы, которые встретились во время переноса кластера на новую платформу. Использовались следующие версии ПО: PostgreSQL 11.13, Patroni 2.1.1, etcd 3.2.17 (API version 2). Итак, поехали!
Node.js: разрабатываем сервер для тестирования API
Привет, друзья!
В этом небольшом туториале я хочу показать вам, как разработать простой, но довольно-таки полноценный сервер для тестирования API
.
Основной функционал нашего приложения будет следующим:
- админка с возможностью добавления данных (далее — проекты) путем их набора (ввода) или копирования/вставки, либо путем загрузки файла;
- сохранение проектов на сервере;
- безопасная запись, чтение и удаление файлов на любом уровне вложенности;
- получение названий существующих проектов и их отображение в админке;
- возможность редактирования и удаления проектов;
- унифицированная обработка
GET
,POST
,PUT
иDELETE
запросов к любому существующему проекту, включаяGET-запросы
, содержащие параметры и строки запроса; - обработка специальных параметров строки запроса
sort
,order
,limit
иoffset
; - и многое другое.
Наша админка будет выглядеть так:
Для быстрой стилизации приложения будет использоваться Bootstrap
.
Исходный код проекта находится здесь.
Разумеется, с приложением, которое мы с разработаем, сразу в продакшн не пойдешь, но при необходимости довести его до производственного уровня не составит труда.
При разработке приложения мы будет придерживаться 2 важных условий:
- формат данных —
JSON
; - основная форма данных — массив.
Обратите внимание: статья рассчитана, преимущественно, на начинающих разработчиков, хотя, смею надеяться, что и опытные найдут в ней что-нибудь интересное для себя.
Вы готовы? Тогда вперед.
Простое эконометрическое прогнозирование
Прогнозирование – это важный инструмент экономики. Оно позволяет осуществлять рациональные закупки, вырабатывать долгосрочные планы действий или же, как в случае аудита, спрогнозировать будущие затраты. Прогнозирование так же является одной из областей Data Science.
Давайте рассмотрим создание простой прогнозной модели на основе линейного тренда с помощью эконометрических методов.
Возьмем некоторый набор данных (можно найти в репозитории Github, ссылка в конце статьи). Примем, что генезис не имеет значения (прим. автора – происхождение), но учтем, что данные имеют нормальное распределение:
Как ускорить разработку в машиностроении в 4 раза. Ключевые моменты для успеха в машиностроении и не только
В далеком 2006 году почти случайно я устроился на работу сисадмином в НТЦ на одном крупном предприятии почти в самый первоначальный момент создания нового направления по производству автобусов и троллейбусов, я наблюдал все первоначальные грабли и был причастен к определенным успехам этого направления. Подробнее и кому интересно — под катом.
Миграция со Spring Boot на Quarkus. Магия или безумие?
Quarkus – это стек Java, приспособленный для работы с OpenJDK HotSpot (или OpenJ9 на zSeries) и GraalVM, собранный из оптимизированных библиотек и стандартов Java. Он хорошо подходит для создания сильно масштабируемых приложений, при этом значительно скромнее использует ресурсы CPU и памяти, нежели другие фреймворки Java. Quarkus может работать с традиционными веб-приложениями, бессерверными приложениями и даже с функциями, предоставляемыми как услуга.
Существует много документированных случаев, в которых организации переносили свои приложения на Quarkus. В этой статье рассмотрим один из таких миграционных путей: со Spring Boot на Quarkus. Есть в этом своя магия и свое безумие. Магия – это когда миграция осуществляется как по мановению руки, и ни одной строки кода при этом менять не приходится. Безумие – в том, чтобы попытаться осознать, как все это делается.
Структура каталогов исходного кода для Android устройства
Статья написана 10 лет назад! Но до сих пор та же самая версия Андроид осталась свободной и открытой. До сих пор многие небольшие компании продолжают в своих устройствах ориентироваться на Андроид 4.4.
Китайские и Тайваньские производители Android-устройств поставляют исходный код и свои добавления без документации. Сейчас (Прим. автора: на момент осени 2012 года) в регионе Тайбэй и Шеньчжень наблюдается взрывной рост технопарков. Зачастую, сотрудники многочисленных компаний только сейчас начали работать с кодом. И, как правило, проектные сроки очень сжатые. Документации нет совсем.
Постараемся разобраться, из каких частей состоит дерево исходного кода типичного Android-устройства и какие любимые места модификации кода у производителей софта из ЮВА.