Habr📅 17.09.2026 07:32⏱️ 15 мин
Ситуация на российском рынке NGFW‑решений меняется. Он стал прозрачнее, тестировать самостоятельно десятки решений больше не нужно. Мы сопоставили открытые сравнения NGFW, лабораторные испытания, оценки рынка и исследования пользовательского опыта, чтобы разобраться, какие выводы из них действительно можно сделать. Сразу обозначим позицию: это статья в блоге вендора, а не независимый рейтинг от на…
Читать полностью →Habr📅 17.09.2026 07:32⏱️ 10 мин
Разработчик раньше тратил на задачу три дня, а с ИИ справляется за день. Кажется, производительность выросла втрое. Но после разработки задача всё ещё должна пройти ревью, тестирование, интеграцию и выкатку. Если эти этапы не ускорились вместе с написанием кода, быстрее стал только один участок системы. За последние годы ИИ заметно изменил мою работу. Больше не пишу вручную очередной mapper, прост…
Читать полностью →Habr📅 17.09.2026 07:29⏱️ 6 мин
Все мы были в ситуации, когда еще не успели ввести запрос в маркетплейсе, приложении или поисковике, как внезапно в рекомендациях и рекламе мы видим то, о чем думали буквально вчера или обсуждали с кем-то. С персонализацией и алгоритмами знакомы многие, но как они работают и почему так точно нас понимают — знают не все. Иногда рекомендации настолько точные, что это может вызывать тревогу у пользов…
Читать полностью →Habr📅 17.09.2026 07:28⏱️ 7 мин
В прошлой статье про skillmem — локальную память для кодовых агентов — я рассказывал, как чужой README мог стать правилом пользователя, и как мы закрыли это в 0.10. Тогда код прошёл два независимых ревью, и я считал, что дыра одна и она закрыта. Вчера вышел 0.11.0. Между ними — сорок раундов ревью двумя моделями с разных сторон (одна на стороне Claude, другая на стороне GPT), каждая читала код вра…
Читать полностью →Habr📅 17.09.2026 06:33⏱️ 1 мин
В IT я больше двадцати пяти лет, в Android - почти пятнадцать. Оказалось, что этого мало. Опыт никуда не делся. Я по-прежнему знаю, чем интерфейс отличается от абстрактного класса и в чём разница между val и var. Но работать по-старому стало тяжело. В требованиях всё чаще стояло не знание Kotlin и Compose, а умение вести разработку с ИИ. Не "пробовал Copilot", а именно вести: ставить задачу, разби…
Читать полностью →Habr📅 17.09.2026 06:32⏱️ 9 мин
В прошлых статьях я тезисно рассказывал о своих роботах для сбора клубники. Теперь хотелось бы показать их подробнее и постепенно разобрать программную часть проекта — от относительно простых вещей до технического зрения, работы манипулятора и непосредственно поиска и сбора ягоды. В этой статье начну с мобильной платформы и довольно простой задачи: заставим робота самостоятельно пройти заданный ма…
Читать полностью →Habr📅 17.09.2026 06:24⏱️ 48 мин
Предыстория Добрый день, уважаемый читатель. Как и в других моих статьях, я решил в чем-то разобраться полностью с нуля. В далеком 2017 году мне передали SD-карту памяти с диагнозом «сломана пополам, вдруг получится что-то с нее считать». Я честно пробовал: восстановил все оборванные дорожки, досконально проверил все соединения и на целостность линий, и на отсутствие замыканий. Положительного резу…
Читать полностью →Habr📅 17.09.2026 05:58⏱️ 19 мин
В предыдущей статье о (без)умном доме домашней сети я рассказал об использовании локального агента для её настройки и поднятия разных интересных сервисов. Однако почти сразу я столкнулся с тем, что встроенной оперативки моего роутера (256 МБ) перестало хватать. Запустил AdGuard Home, telemt‑форк под OpenWRT, далее попробовал поднять v2ray со списками разрешенных серверов — и тут же OOM безжалостно…
Читать полностью →Habr📅 17.09.2026 05:57⏱️ 21 мин
Введение Классическая ситуация: Go-сервис падает с panic: runtime error: invalid memory address or nil pointer dereference , Nuxt-фронтенд логирует NUXT_UNHANDLED: unhandled rejection . Клиент видит лишь общее «что-то сломалось» — точный текст ошибки остаётся только в логах. Решение — алертинг по логам. Связка VictoriaLogs + Vector + vmalert + Alertmanager следит за потоком, и как только приложени…
Читать полностью →Habr📅 17.09.2026 05:44⏱️ 18 мин
Когда инженер проектирует распределённую систему, возникает естественное желание обеспечить сложную и хрупкую архитектуру максимально сильными гарантиями отказоустойчивости и согласованности данных. На первый взгляд кажется, что чем строже модель отказов, тем надёжнее система. Но отказоустойчивость – это не ручка громкости, которую можно выкрутить на максимум. Разные модели отказов решают разные з…
Читать полностью →