Категории типов. Итоги
Обзор, посвящённый применению элементов теории категорий в программировании, завершён. Настало время подвести его итоги.
Обзор, посвящённый применению элементов теории категорий в программировании, завершён. Настало время подвести его итоги.

Одной из наиболее востребованных задач функционального программирования является горизонтальная композиция (условно-)независимых эффектов. В этом случае (почти) не нужно задумываться о сложностях перестановки эффектов (дистрибутивный закон монад), и задачу можно решить алгебраическим способом.

Привет, на связи Дмитрий Шестаков. Мы двенадцать лет строим управляемый маркетинг для SaaS и онлайн‑сервисов, и почти на каждом длинном цикле всплывает один и тот же спор: продукт должен продавать себя сам, или без отдела продаж платящих не будет. Триалы капают, а выручка прирастает там, где в сделку заходит живой менеджер, и непонятно, в какую модель вкладывать следующий бюджет. Ниже — как мы честно измеряли стоимость платящего клиента для product‑led и sales‑led модели на одном проекте, почему дешёвая на первый взгляд модель роста SaaS часто выходит дороже и какой контур аналитики для этого нужен. Если вы отвечаете за рост B2B SaaS или онлайн‑платформы, дальше будет по делу.
Содержание
1. Почему спор «продукт продает сам или продают менеджеры» нельзя решить на глаз
2. Что именно мы сравниваем: стоимость платящего клиента
3. Почему нельзя мерить модель по первому месяцу
4. Как мы собрали сквозной контур: от клика до оплаченной подписки
5. Что показал замер: где выигрывает самообслуживание, а где окупаются менеджеры
6. Как выбрать модель под свой продукт: 4 вопроса к юнит‑экономике

Вопрос производительности работы сервера Angie и различных оптимизаций не раз поднимался в других статьях цикла. Поэтому здесь мы соберём основные приёмы и подходы к настройке Angie для высоких нагрузок, а за подробностями по отдельным вопросам будем направлять читателя в специализированные статьи.

Рынок корпоративного ИИ раскалывается: сужу по профильным конференциям и разговорам с руководителями. С одной стороны — лагерь прагматиков (часто из традиционного B2B-сектора) саботирует тему ИИ-агентов, аргументируя «и без того отлаженными процессами». С другой — жертвы вендорского маркетинга уверены, что у топ-менеджера в штате должна числиться пара десятков виртуальных сотрудников на все случаи жизни.
Между этими двумя полюсами расположились те, кто внедряет технологии методично. Впрочем, и им непросто: рынок меняется быстрее, чем успеваешь протестировать гипотезу. А конкурируют не только покупатели агентов, но и продавцы.
Вопрос «нужен ли человек ИИ-агентам» звучит перевернуто — обычно спрашивают наоборот. Однако громкие анонсы нарисовали картину будущего, где в продажах остаются только боты, а роль человека минимальна.
На самом деле людей рано списывать. По данным UserGems, каждого второго автономного AI-продажника отключают в течение года. Компании, заменившие живой отдел продаж агентами, в большинстве случаев отступали в течение полугода: снова нанимали людей и переходили на гибридную модель. План «сократить штат и снизить расходы» оборачивался обратным: сначала увольнение, потом — новый наем, плюс оплата подписки на агента никуда не делась.
Когда же агенту нужен человек, а когда нет?

У меня долгое время лежал без дела старый ipad 2. Я захотел его использовать для отображения данных от некоторых датчиков из моего Home Assistant сервера. Но увы, приложение на ipad 2 поставить нельзя, а браузер такой старый, что даже страницу авторизации Home Assistant отобразить уже не может. Я так и не смог найти ни одного удобного варианта решения этой проблемы (вариант удалённого запуска браузера и использования VNC я за удобный не считаю). И тогда я решил это решение создать. Так появился сервис HASFOB (Home Assistant Service for Old Browsers), исходный код которого я выложил на GitHub: https://github.com/FaceHoof/HASFOB Так же я выложил уже собранные версии для Windows и Linux: https://github.com/FaceHoof/HASFOB/releases
Итак, как же работает этот сервис? Сервис авторизуется на указанном Home Assistant сервере с помощью токена, собирает информацию от указанных в конфигурационном файле датчиков и предоставляет простую веб страницу с этими данными.

Поиск в Next.js App Router связывает несколько механизмов — Server Components, dynamic routes, searchParams, metadata и клиентские фильтры. Если в проекте одна форма и несколько результатов, состояние можно держать в useState. В каталоге или агрегаторе каждый фильтр меняет URL, набор данных и правила индексации.
В статье на примере учебного проекта EventMap — агрегатора событий, разберем, как спроектировать систему фильтрации, которая генерирует чистые, индексируемые URL для поисковых роботов и обновляет выдачу при изменении фильтров. Страницы вроде «Концерты в Москве» или «Выставки в Петербурге» могут работать как отдельные landing pages. Для них нужны серверный HTML, постоянный URL, свой title, description, h1, canonical и отдельная политика index или noindex. Произвольные запросы, сортировки и глубокая пагинация остаются частью поиска и не попадают автоматически в индекс. Поиск построен через App Router, optional catch‑all route, серверный рендер результатов и общий набор функций для URL, metadata, canonical и sitemap.
Поиск по каталогу создаёт отдельное состояние для каждой комбинации фильтров. Категория, город, дата, сортировка, поисковая строка и номер страницы попадают в URL. При десяти категориях, пятидесяти городах и пяти вариантах сортировки получается 2500 комбинаций без учёта пагинации и свободного текста. Интерфейс должен обработать все допустимые комбинации. В поисковый индекс обычно попадает только часть из них. Страница категории music, страница города london и сочетание music/london могут содержать устойчивую подборку. Запрос ?q=free+jazz+tonight, сортировка по цене и восьмая страница выдачи относятся к текущему действию пользователя. Фильтры без отдельной политики создают большое пространство URL. Google описывает эту проблему в документации по faceted navigation. Изменение каждого параметра создаёт новый адрес, краулер тратит запросы на многочисленные комбинации и позже обнаруживает, что многие из них не содержат самостоятельного материала. (Google for Developers)

Последние несколько лет Саймон Уиллисон тестировал каждый крупный релиз LLM одним и тем же промптом: «Сгенерируй SVG с пеликаном, сидящим на велосипеде».
Эта забавная проверка постепенно стала одним из самых известных неформальных бенчмарков ИИ. Сгенерированные Саймоном картинки пеликанов на велосипедах часто становятся одними из самых популярных комментариев в постах Hacker News о новых релизах ИИ-лабораторий.
Сегодня бенчмарк стал причиной серьёзных обсуждений его полезности, а также того, занимаются ли ИИ-лаборатории его бенчмаксингом [практикой оптимизации ИИ-моделей для получения высоких оценок в популярных бенчмарках]. Когда на кону миллиарды или даже триллионы долларов, а качественный результат может склонить пользователей на твою сторону, не возникает ли искушения добавить модели немного пеликанмаксинга?
Мне захотелось это проверить, поэтому я организовал небольшой эксперимент: сгенерировал 1008 SVG в семи передовых моделях, оценил их при помощи LLM-судьи и проанализировал результаты Claude Fable 5.
В этой статье я расскажу о результатах. Весь код доступен на Github.

Сервисы PaaS предлагают комплексное решение для оптимизации как финансовых, так и временных затрат на поддержку информационных систем. В этой статье на примере управляемых сервисов Cloud X мы рассмотрим, в каких случаях потребление услуг по модели PaaS дает компаниям прямой финансовый эффект, а также обсудим, когда преимущества PaaS‑решений могут оказаться несущественными.

Как coding agents превратили разработчика в диспетчера машин — и запустили гонку оркестраторов, песочниц и ИИ‑фабрик.
Ещё недавно программист открывал один терминал и разговаривал с одним агентом. Затем терминалов стало пять, веток — семь, а главным дефицитом оказался уже не код, а человеческое внимание.

Привет, Хабр! Я Оля Шишенина, отвечаю за обучение и развитие сотрудников VK. Хочу рассказать про внутреннее мероприятие для инженеров, которое мы провели этой весной: Фиксатон VK — трёхдневный марафон по багфиксам, на котором разработчики чинили баги не только в своих командах, но и в смежных продуктах VK. Решения прошли многоэтапный фильтр от общего пула задач, через проверку кода, QA-ревью при подготовке к релизу.
Победители фиксатона получили Nintendo, Playstation, а главному победителю по баллам в индивидуальном зачёте мы подарили Niva Legend — это отличная машина для того, кто любит фиксить и тюнинговать.

Активно занимаюсь вайб кодингом.
Есть у меня полка. Туда ложатся правила, за которые я ещё не заплатил собственной болью — потому что мойпринцип гласит: правило рождается из прожитого инцидента, а не из чужой «лучшей практики». Возьмёшь чужое правило, боль от которого не прожил сам, — первым же и найдёшь, как его обойти.
На полке лежало правило с условием срабатывания, записанным дословно:

Кватернионные, октонионные и Clifford-слои обещают parameter efficiency и «особую выразительность». Мы проверили честно: 35 контролируемых экспериментов, param-matched real-контроли, pre-registered kill-критерии. Преимущество испарилось во всех 35 случаях — включая наш собственный headline-результат. Рассказываем, какое единственное исключение выжило (и почему это optimization basin, а не магия), и какие потолки невозможности с точными константами закрывают вопрос.

Скрипт на python-evtx отработал без единой ошибки, с кодом возврата 0, и вернул 94 записи. В файле их было 2309, и вся атака — от создания админской учётки до запуска шифровальщика — оказалась в потерянных 96%. Разбираемся, почему два байта в заголовке .evtx нельзя принимать на веру и почему проверка непрерывности EventRecordID в этом случае отвечает «пропусков нет».
Утро рабочего дня. Завариваешь кофе, открываешь таск‑трекер/блокнот, и начинаешь планировать. Всё как нас учили книжки по тайм‑менеджменту: smart, важное/срочное, резать слонов и глотать лягушек. Ставишь задачкам приоритеты. Проставляешь часы. Набираешь на день Х задачек (например, чтобы сумма затрат была 6 часов для нормального человека или 4 для менеджера). И вот тебе список задач на день: последовательно, реалистично, иди и делай. Ставь крыжики, вычёркивай задачки, и вечером радостный «о, я всё сделал!».
Если у вас так всё и работает, ну может пару раз в неделю не успеваете что‑то доделать — всё клёво, пролистывайте эту статью. А вот если бывают тотальные регулярные недоделы, и после рабочего дня чувство опустошённости — давайте разбираться, может, у меня есть для вас серебряная пуля.

Перед первой публикацией разработанного мной приложения WeCount я был уверен, что главная причина возможного отказа — ошибки в коде или проблемы в пользовательских сценариях. На практике оказалось наоборот: за всё время App Review к функциональности приложения не возникло ни одного вопроса. Почти все замечания касались исключительно регистрации пользователя.
За два месяца переписки, нескольких отказов подряд и телефонных разговоров с командой App Review, этап регистрации был полностью переписан. В этой статье я расскажу, какие выводы сделал, и почему первоначальная архитектура оказалась ошибочной.

Несмотря на то, что PhpStorm уже несколько лет официально недоступен в России, он по‑прежнему остаётся одним из главных инструментов для PHP‑разработчиков. Недавно вышла новая версия PhpStorm 2026.2.
В релиз вошли новые инструменты для ИИ‑агентов, встроенная интеграция с GitHub Copilot, поддержка собственных моделей для автодополнения и новый атрибут #[FileReference]. Разработчики также добавили отдельное окно для Laravel, поддержку TypeScript 7 и улучшили работу с Git, терминалом, базами данных и Docker.
В статье разберём основные изменения PhpStorm 2026.2, а также расскажем, какие возможности для PHP‑разработки уже доступны в OpenIDE и чего ожидать от её перехода на платформу 2026.2.

Всем привет! Меня зовут Саша, играю за команду 4Ray (НЕ ПУТАТЬ С СОЛАРОМ) в CTF и участвую в других активностях в ИБ, чаще всего выступаю под ником MN3STRASHN0. В этом материале представлен путь решения машины Rawmatex на платформе Standoff 365, она довольно простая, но всё равно требует внимательности, ведь поинты сами себя не заработают. В задании используется классическая цепочка уязвимостей, которая в итоге приводит к реализации недопустимого события. Статью готовили вместе с RedblueNotes (одноименные Хабр, и tg-канал) за что им огромное спасибо. Далее рассмотрим решение.

10 идей конференции AI Engineer о том, как меняется разработка, когда код пишут агенты.
В начале 2026 года небольшая команда OpenAI рассказала о необычном эксперименте.
Три инженера за пять месяцев создали внутренний продукт объёмом около миллиона строк кода и провели через репозиторий примерно 1500 pull request’ов. Продуктом пользовались сотни сотрудников. При этом люди не написали вручную ни одной строки: прикладной код, тесты, CI‑конфигурацию, документацию, observability и внутренние инструменты генерировал Codex.
По оценке команды, разработка заняла примерно десятую часть времени, которое потребовалось бы при традиционном подходе.
Но наиболее интересным результатом эксперимента оказался не миллион строк кода. Им стало открытие нового узкого места.
Когда код можно производить практически непрерывно, ограничением становится не скорость печати и даже не интеллект модели. Ограничением становится способность людей объяснить, что именно следует построить, организовать работу автономных исполнителей, проверить результат и не позволить автоматизации разрушить систему быстрее, чем команда успеет это заметить.
Именно этот сдвиг лучше всего описывают выступления AI Engineer 2026 — весенней конференции Europe в Лондоне и летней World's Fair в Сан‑Франциско.
Доклады посвящены разным темам: контексту, памяти, длительным циклам, командной координации, верификации и безопасности. При этом важно не сводить их к одной заранее выбранной теории. Каждый спикер предлагает собственную модель AI‑first разработки, основанную на своём опыте и профессиональной перспективе.

Mount & Blade по праву считается одной из лучших серий игр-песочниц про Средневековье. Преданные поклонники раз за разом возвращаются в суровый мир Кальрадии, чтобы преуспеть в завоевании замков и городов, снискать славу на рыцарских турнирах и полях сражений или же заняться мемным «грабежом кОрОванов».
Однако если в старой-доброй Warband ничего не меняется, то над второй частью разработчики из TaleWorlds неустанно трудятся, регулярно выпуская обновления. О том, что изменилось в Mount & Blade 2: Bannerlord за последний год, какие масштабные моды создали фанаты, и стоит ли сейчас возвращаться в игру — поговорим прямо сейчас!