Недавно я опубликовал большую обзорную статью о том, как несколько лет развиваю свой пет-проект, который постепенно превратился в собственную Function-as-a-Service платформу. Она позволяет принимать пользовательский JavaScript, Python или Go, запускать его в изолированном окружении и управлять такими функциями почти как в небольшом облаке.
В этот раз я хочу разобрать более узкую тему и рассказать, с чего вообще начинались мои эксперименты с выполнением пользовательского JavaScript в Node.js. Мы посмотрим на самые простые встроенные инструменты, а также проверим, способен ли V8 оптимизировать код, созданный динамически во время работы приложения.
ПогрузитьсяПредложение для разработки фрактального интерфейса, который может подстраиваться под когнитивные способности конкретного пользователя и уважает уровень достигнутой им личной свободы. Он может работать в программах, которые имеют структуру живого организма и способны развиваться в синергии с пользователями.
Читать далееПервая статья из цикла «Аналитик в чужом процессе»
145 тысяч тикетов, почти 87 тысяч "аномалий" и уверенность, что Service Desk полностью сломан. Но один разговор с опытным специалистом первой линии заставил меня выбросить половину критериев, переписать анализатор и полностью изменить выводы. Эта статья — о том, почему большие данные сами по себе ничего не объясняют, если сначала не понять сам процесс.
Читать далееВ статье разберём, как Pact закрывает этот разрыв между модульными и E2E‑тестами, как устроены consumer‑driven контракты, Pact Broker и can-i-deploy, и что нужно учесть, чтобы contract testing действительно останавливал несовместимые релизы, а не создавал новую точку боли.
Читать далееKafka часто появляется на System Design интервью, когда нужно асинхронно обрабатывать события и масштабировать систему.
Но за словами “добавим Kafka” скрывается много важных деталей: как выбрать ключ, сохранить порядок сообщений, распределить разделы между потребителями и не создать горячий раздел. В статье рассмотрим архитектуру Kafka, репликацию, смещения, повторные попытки и политики хранения.
Читать далееНаконец-то неплохо продвинувшись в написании своего мультиплатформенного приложения Modern Money мне понадобилась аутентификация для Kotlin Multiplatform.
Хотелось иметь один API для PIN-кода и биометрии, а под капотом использовать Android Biometric Prompt, Windows Hello, Touch ID.
Так появился Koncierge — набор KMP-модулей biometric, auth и auth-compose
Казалось бы, задача довольно стандартная: объявить expect-класс и написать несколько actual-реализаций. На Android это примерно так и получилось. А вот Windows Hello, JVM-модуль и публикация всех артефактов заставили немного разобраться в том,
как Kotlin работает с нативным кодом12 июля флагманская GPT-5.6 Sol Pro после восьми часов размышлений побила лучший человеческий результат в задаче о длине пути градиентного спуска — и оформила его полноценной статьей на 14 страниц с доказательствами, таблицей констант и скриптом для их проверки. Прежний рекорд — оценка 2.29^n — принадлежал людям, но о нем мало кто знал: он так и не был опубликован. Историю двухлетнего противостояния людей и моделей исследователь OpenAI Себастьен Бубек рассказал в треде 10 июля, а уже через два дня объявил о падении рекорда.
Читать далееЗабавная история про то, как я решил разбавить актив в своем чате для друзей, добавив самого настоящего Т-800, который мог бы свободно общаться с участниками, не потратив копейки денег на API - чисто бесплатные модели с OpenRouter. Впрочем, впоследствий была попробована и локальная модель.
Подтвердить базуУ меня 23 Telegram-канала. Не потому что я такой организованный — просто постепенно добавлял, пока не понял, что читаю примерно 3% из них, а остальное листаю вниз в поисках чего-то интересного.
Проблема известная. Телеграм устроен как хронологическая лента — свежее сверху, и неважно, интересно это тебе или нет. Алгоритмов нет. Персонализации нет. Только время публикации.
Я решил это починить. Так появился [CleanNews](https://t.me/clean_news_bot) — бот, который парсит твои Telegram-каналы и выдаёт персонализированный дайджест. В этой статье расскажу, как устроен рекомендательный движок: 5 сигналов, pgvector, контрастный вектор и жизнь без обучающего датасета в 10 миллионов записей.
Читать далееЕсли смотреть только на официальную безработицу, то российский рынок труда выглядит почти неизменным и смотреть этот показатель в динамике достаточно скучно. Показатель держится возле исторических минимумов, резких скачков нет, массовой потери занятости статистика не показывает.
Но если открыть данные hh.ru, то там всё достаточно бурно. В июне 2024 года hh.индекс составлял 3,1 резюме на одну вакансию. Через год он вырос до 5,5, а в июне 2026 года достиг 8,3. В марте показатель вообще поднимался до 11,4 - это вообще показатель высокой конкуренции соискателей.
И вот я задумался, получается странно: искать работу становится заметно сложнее, вакансий относительно кандидатов меньше, а официальная безработица почти не двигается.
Я решил покопаться в этом вопросе и посмотреть, а может ли hh.индекс действительно показывать охлаждение рынка раньше Росстата?
Читать далееПривет, «Хабр»!
Примеры запросов наглядно показывают, как нейросеть расшифровывает текст и воплощает его в графике. В одном промпте можно задать абсолютно всё: от стиля и освещения до общего настроения, ракурса, текстур и окружения. При этом даже незначительное изменение формулировки способно поменять итоговый результат.
В этом гайде мы собрали примеры для разных направлений: реалистичного фото, иллюстрации, брендинга и дизайна, 3D-визуализации и т. д. Для каждого из стилей – также привели примеры результатов генерации.
Приятного прочтения)
Read moreОбучение в школе 21 в 2026 году — чему учат и можно ли чему-то научиться? Субъективная оценка прохождения бассейна и политики школы.
Читать далееПоследнее время я все чаще вижу одну и ту же картину.
Появился тикет. Программист копирует ссылку, передает ее AI-кодинг-агенту и через какое-то время получает готовый Pull Request.
Вроде бы красота.
Агент прочитал задачу, нашел нужный код, что-то поменял, запустил тесты и бодро написал, что все готово.
Только потом начинается самое интересное.
В Pull Request приезжает куча лишнего кода. Тесты зеленые, но сама функция не работает. Тикет уходит тестировщику и возвращается обратно. После исправления снова возвращается. А иногда оказывается, что агент вообще понял задачу не так, но программист этого даже не заметил, потому что сам тикет толком не прочитал.
Я не против AI-кодинг-агентов. Наоборот, я ими постоянно пользуюсь и считаю, что это уже обычный рабочий инструмент программиста.
Но инструмент, который быстро пишет код, не отменяет необходимость думать.
Читать далееКоманда Rust рада объявить о новом выпуске Rust 1.97.0. Rust — это язык программирования, позволяющий каждому создавать надёжное и эффективное программное обеспечение.
Если у вас есть предыдущая версия Rust, установленная через rustup, то для обновления до версии 1.97.0 вам достаточно выполнить команду:
$ rustup update stable
Если у вас ещё не установлен rustup, вы можете установить его с соответствующей страницы нашего веб-сайта, а также посмотреть подробные примечания к выпуску 1.97.0 на GitHub.
Если вы хотите помочь нам протестировать будущие выпуски, вы можете использовать канал beta (rustup default beta) или nightly (rustup default nightly). Пожалуйста, сообщайте обо всех встреченных вами ошибках.
Что вошло в стабильный 1.97.0Сколько времени на самом деле мы проводим в разных приложениях? Кажется, что открыл IDE на пару минут, проверил браузер — и вернулся к работе. Но спустя несколько часов становится сложно понять, куда ушло это время.
Существующие трекеры активности уже давно решают эту задачу, но мне было интересно разобраться, как они работают внутри: как Windows определяет активное окно, как получить информацию о процессе и как правильно считать время использования приложения.
Так появился ProcessTimeWatcher — WPF-приложение на C#, которое отслеживает активное окно пользователя и собирает статистику использования программ.
В статье разберём, как устроен этот инструмент, какие сложности возникли при работе с Windows API и какие решения были приняты во время разработки.
Читать далееПривет! Меня зовут Александр Титов. Я директор Ассоциации профессионалов индустрии облачно-ориентированных технологий «АОТ», организатор сообщества DevOps Moscow и генеральный директор «Фланта». В этом посте я расскажу, как получилось так, что я не только занимаюсь предпринимательством, но и руковожу некоммерческой ассоциацией, которая развивает облачно-ориентированные технологии в России, и почему, на мой взгляд, сегодня отрасли нужна именно такая форма работы.
Читать далееЗа 4 года в карьерном агентстве я понял: люди проигрывают не рынку, а рутине поиска. Сначала они стараются, но через месяц отклики становятся механическими, а поиск - неоплачиваемой второй работой.
Так родилась идея Софи - ассистента, который берёт на себя всю рутину: поиск вакансий, написание сопроводительных писем переписку с рекрутером. Человеку остаётся только то, что реально влияет на результат.
С весны 2025 года мы трижды переписали продукт, пережили DDoS, потерю API HH.RU и смену команды. Но мы все еще здесь!
Как так вышло, рассказываю в этой статье.
Читать далееЗа три дня до Нового года руководитель технической поддержки одной известной ИТ-компании получил по почте письмо, в котором было сказано, что через полтора месяца его сократят. Взамен предложили ровно одну вакансию, младшего инженера, которая ниже, чем его должность. На тот момент в компании было больше двадцати открытых вакансий, но к этому вернемся чуть позже.
Речь идет о деле с участием руководителя техподдержки ООО «НИЦ «АЭРОДИСК», того самого производителя систем хранения данных, которого многие знают по поставкам в госсекторе. Спор тянулся почти три года, дважды доходил до кассации и в ноябре 2025 года закончился победой работника.
В итоге работника вернули на работу, а с компании взыскали, 7 113 766 рублей за вынужденный прогул и не только.
Интересно, что работодателя в итоге подвели не хитрые доказательства работника, а его собственные документы. Мы про такое уже писали. В деле с GitLab , когда заказчик сам зарегистрировал спорную программу в Роспатенте, а потом уверял суд, что работа не сделана. Здесь получилось примерно похоже. Компания принесла в суд документы, которые должны были подтвердить ее позицию, а они в итоге сыграли против неё.
Дальше по порядку.
Как всё начиналось
В августе 2020 года наш истец устроился в АЭРОДИСК руководителем направления технической поддержки. По документам все было стандартно: договор с окладом 172 500 рублей, приказ, должностная инструкция. Два с лишним года он спокойно работал и руководил направлением. За это время никто в компании ни разу не усомнился в его квалификации, что в дальнейшем станет важным обстоятельством для дела.
Читать далееВ многомодульных Gradle-проектах рано или поздно появляются вспомогательные классы для тестов: фабрики тестовых данных, билдеры, хелперы. Такие классы не относятся ни к продакшн-коду, ни к обычным тестам. Логично было бы переиспользовать их сразу в нескольких модулях, но классическая модель Gradle этого не позволяет: тестовые артефакты одного проекта нельзя просто так подключить как зависимость в другом.
На самом деле Gradle умеет решать эту задачу из коробки без вспомогательных проектов и хитрых конфигураций. Начиная с версии 5.6, тестовые фикстуры стали в Gradle полноценной сущностью первого класса, и весь этот пласт боли можно убрать буквально несколькими строчками в build.gradle.
Плагин java-test-fixtures заводит в модуле отдельный SourceSet, а другие модули подключают эти классы через лаконичный DSL. При публикации Gradle даже собирает отдельный *-test-fixtures.jar для независимых проектов. В статье на примерах показано, как расшарить тестовые хелперы между модулями, избавиться от дублирования и при этом сохранить чистые архитектурные границы. Если вы устали таскать тестовый код из модуля в модуль, то Вам точно пригодится.
Читать далееХабр, привет в очередной раз! Ситуация с работой интернета в стране начинает напоминать какую-то лотерею, в которой невозможно выиграть. Мобильный интернет по "белым спискам", стационарный с блокировкой всех основных мессенджеров "ради нашей с вами безопасности". И даже совсем стандартная задача - оперативный мониторинг серверов, находящихся в RU сегменте Интернета, превращается в лотерею. Придет алерт о недоступности какого либо сервиса или не придет? Главный вопрос многих админов сегодня. Есть разные решения данной проблемы, под катом - как эту проблему решал я и почему выбрал именно такой путь.
Читать далее