Обновить

Бэкенд

Сначала показывать
Порог рейтинга
Уровень сложности

Станьте спикером INFOSTART TECH EVENT 2026

Уровень сложностиПростой
Время на прочтение1 мин
Охват и читатели5.1K

8–10 октября 2026 года в Санкт-Петербурге пройдет INFOSTART TECH EVENT — техническая конференция для 1С-сообщества.

В этом году конференция пройдет в стилистике темного фэнтези. Но главное останется прежним: сильная техническая программа, практические доклады и живое общение с коллегами.

Прием заявок на доклады уже открыт....

Читать далее

Альтернативы Centrifugo для Laravel: Reverb, Pusher, Ably, Socket.IO, SSE и polling

Уровень сложностиПростой
Время на прочтение11 мин
Охват и читатели4.5K

Заключительная часть серии статей про Laravel + Centrifugo и как его готовить.

Сравниваем альтернативы Centrifugo для Laravel: Reverb, Pusher, Ably, Socket.IO, SSE и polling. Разбираем плюсы, минусы и сценарии выбора real-time решения.

Читать далее

Как культура «бесплатного контента» убивает честную рекламу и бизнес

Уровень сложностиПростой
Время на прочтение11 мин
Охват и читатели6.7K

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

Кто сказал, что контент должен быть бесплатным и без рекламы? С чего вообще автор обязан отдавать вам годами накопленную экспертизу просто так? И прочие неудобные вопросы.

Реклама бывает белой и тёмной. Нетерпимость без разбора убивает первую и кормит вторую. Разбираю на примерах Хабра, социологии и бизнеса.

Читать далее

9 секунд и нет production-базы. Разбор трёх провалов AI-агентов в проде

Уровень сложностиСредний
Время на прочтение7 мин
Охват и читатели7.3K

25 апреля 2026, пятница вечером. Jer Crane, основатель PocketOS, смотрит, как AI-агент Cursor удаляет его production-базу. Со всеми бэкапами. За 9 секунд.

Потом Jer спрашивает у агента — почему? И получает дословное признание: «I guessed instead of verifying. I violated every principle I was given».

Модель помнит правила. Цитирует их. И всё равно нарушает.

Это разбор трёх таких случаев — и трёх защит, которые я внедрил у себя после.

Разбираю три случая

Современные морфоанализаторы русского языка: от словарей к нейросетям

Уровень сложностиПростой
Время на прочтение13 мин
Охват и читатели9.3K

В статье «Извлечение и обработка требований из документов с помощью NLP-инструментов» я уже показывал, как переход от LLM к NLP-библиотекам помогает ускорить обработку текста. Это, конечно, не значит, что нужно совсем отказываться от LLM — они незаменимы для генерации текста и сложных рассуждений. Но чтобы определить, что «кошками» — это творительный падеж множественного числа существительного «кошка», действительно не нужен миллиард параметров нейросети. Для задач лемматизации, POS-тегирования и определения падежа существуют специализированные инструменты, которые работают быстрее, обходятся дешевле и зачастую точнее LLM в конкретных доменах. Это подтверждают годы их использования в поисковых системах, email-фильтрах и чат-ботах.

Я поискал готовые обзорные статьи и нашёл несколько интересных материалов, которыми хочу поделиться.

Читать далее

Изнурительно подробное руководство по SSH (лишь те аспекты, которые я нахожу полезными)

Время на прочтение13 мин
Охват и читатели22K

О, вам нравится SSH? А перечислите-ка все флаги!

Приветствую

Все мы видели эти красивые схемы, демонстрирующие, как в SSH устроен проброс  портов. Но, если мы с вами мыслим хотя бы немного схоже, то эти схемы оставляют у вас больше вопросов, чем дают ответов. Если вы за «красных» в области компьютерной безопасности, то, чтобы обрести в сети суперсилу и в дальнейшем бесчинствовать, вы должны понимать сеть лучше, чем те, кто её проектировал. Один из инструментов, наделяющих вас такой суперсилой — SSH. Но иногда нам мешают добиться поставленных целей сам синтаксис инструмента и другие концепции, на основе которых этот инструмент работает. Чтобы вы могли бесчинствовать эффективнее, не срывая сроков, я собрал для вас длинный список присущих SSH штук, которые я нахожу полезными. Хорошо, если вы его тоже почитаете, но составлял я его в основном для себя. Заметил, что сам я качественно усваиваю те или иные концепции, только если, изучая информацию, повторяю упражнения на клавиатуре. В этом посте я, в сущности, рассказываю, чему научился таким образом. Должен отметить, что во всех этих примерах я демонстрирую проброс портов при помощи веб-сервера, но таких же результатов можно добиться и при помощи почти любого сервиса, в частности, RDP, SQL, т.д.

Читать далее

Мой bloom фильтр побил оригинальный в 200 раз

Уровень сложностиСредний
Время на прочтение3 мин
Охват и читатели11K

Срочно переписывайте свои устаревшие bloom фильтры на мой богоподобный lz77-фильтр. Совершенно бесплатно! Спасибо великому нанабанана за обложку!

Читать далее

Эволюция API без боли: ArchUnit, Gradle и правила для библиотек

Уровень сложностиПростой
Время на прочтение10 мин
Охват и читатели9.4K

В Netflix тысячи Java-репозиториев. Когда в библиотеку вносят изменение, часть пользователей может перестать собираться или начать работать некорректно. Чаще всгео эта проблема возникает потому, что public контракты являются public только для авторов библиотеки, а не для пользователей.

С новом переводе от команды Spring АйО разбираемся, как ребята из Netflix ввели простые метки для API: @Public - можно использовать снаружи, @Experimental - тоже можно, но интерфейс может меняться, @Deprecated - готовится к удалению. Все остальное считается внутренним и использованию извне не подлежит. Но сами аннотации проблему не решают, нужна проверка на масштабе.

Решение - ArchUnit + Nebula ArchRules. 

ArchUnit анализирует скомпилированный байткод, поэтому одинаково работает для Java/Kotlin/Scala и проверяет реальный код на classpath. Команды пишут правила (например: «вне пакета библиотеки нельзя зависеть от ее deprecated/internal API»), публикуют их как отдельный arch-rules JAR, а runner автоматически запускает проверки в репозиториях и делает отчеты с точной строкой нарушения.

Читать далее

Настраиваем CI/CD в GitHub для Python-проекта с нуля

Уровень сложностиПростой
Время на прочтение12 мин
Охват и читатели10K

Настройка CI/CD часто кажется новичкам чем-то сложным и доступным только DevOps-инженерам. На самом деле автоматизировать рутину Python-проекта можно всего за полчаса. В этой статье мы по шагам разберем, как с нуля настроить GitHub Actions для простого FastAPI-приложения: от автоматического запуска тестов и быстрого линтера Ruff до сборки Docker-образа и публикации его в Docker Hub.

Читать далее

Java нас обманывает: скрытая цена чистого кода

Уровень сложностиСредний
Время на прочтение127 мин
Охват и читатели12K

Все сейчас пишут красивый, современный код: стримы, record DTO, функциональные цепочки. Применяют лучшие практики и никаких мутабельных аккумуляторов и ручных циклов.

А потом код начинает виснуть.

И ведь локально все хорошо, и памяти достаточно, но под нагрузкой GC внезапно начинает просыпаться каждые 200 миллисекунд, хотя куча заполнена всего на 40%.

В это статье я приглашаю заглянуть под капот чистого кода и немного развеять иллюзию того что JVM все решит за Вас.

Я не буду указывать правильный путь, а просто возьму два реальных стиля написания одного и того же кода, запущу их в трёх конфигурациях JVM и покажу, в какой момент чистый код внезапно оказывается дорогим удовольствием.

Заглянуть

Запах SELECT'а. Обнаружение CODE SMELL до отправки T-SQL кода на прод

Уровень сложностиСредний
Время на прочтение25 мин
Охват и читатели7.7K

Взгляд на экосистему SQL-разработки под MS SQL SERVER через призму контроля качества кода. Обзор существующих инструментов, описание самостоятельной наработки для линтинга T-SQL кода.

Читать далее

ИИ-рекрутер — это хамство, а не инновация

Время на прочтение2 мин
Охват и читатели17K

ИИ-рекрутер задаёт вопросы с интервалом в минуту, носит человеческое имя и аватарку, и спрашивает: «Все навыки в резюме актуальны? Может, что-то удалить?». Это не автоматизация, а антипаттерн, который бьёт по репутации работодателя сильнее, чем отсутствие оффера. С этим необходимо бороться.

Читать далее

Кроссплатформенное приложение на Go руками PHP разработчика

Уровень сложностиПростой
Время на прочтение18 мин
Охват и читатели8.3K

В вакансиях на hh всё чаще встречаются требования: Go + Python, Go + PHP. Для веб-разработки python и php во многом похожи, и у меня уже был опыт работы с ними.

В статье раскрываю свой опыт изучения Go на примере разработки приложения для проверки доступности сайтов.

Читать далее

Ближайшие события

Сколько весит интернет: считаем массу данных и их хранилищ

Время на прочтение10 мин
Охват и читатели12K

Интернет — распределенная система, размер которой нельзя увидеть в окне «Свойства». Более того, ответ на вопрос «что считать интернетом?» существенно влияет на результат вычислений. Точных данных не найти, но отдельные исследования и статистика крупных интернет-ресурсов позволяют произвести примерные расчеты.

В этой статье вас ждет доступная в интернете информация об интернете, простые расчеты и, конечно же, статистика.

Читать далее

Как мы вывели в админку ошибки yt-dlp, которые жили только в логах. Bridge на 200 строк и борьба с alert-fatigue

Уровень сложностиСредний
Время на прочтение7 мин
Охват и читатели7.5K

История о том, как сделать видимыми ошибки yt-dlp, которые молча умирали в логах воркера. Bridge на 200 строк, классификатор content vs infra, борьба с alert-fatigue.

Читать

Строим машину времени для данных (SCD-2) на движке Trino под управлением Airflow

Уровень сложностиСредний
Время на прочтение11 мин
Охват и читатели6.5K

Сегодня SCD-2-таблицы не только остаются актуальными для медленно меняющихся данных, но и, на мой взгляд, становятся гораздо проще в реализации благодаря новым технологиям и инструментам.

Мне поручили пересобрать витрину в ходе миграции в наше новое хранилище данных. Итак, в этой статье мы будем:

— строить Iceberg-таблицы SCD-2 с помощью Trino, SQL и Python;

— попутно освоим прекрасные функции merge, MD5 и другие полезные инструменты;

— напишем свой собственный оператор для Airflow для автоматизации ETL-процесса.

Читать далее

Я спарсил 62 000 Python-вакансий с hh.ru и узнал страшное

Время на прочтение11 мин
Охват и читатели30K

Привет, Хабр! (И тебе, HR, который ставит в вакансию «Python, SQL, Linux, Docker, K8s, Spark, Airflow, английский C1, опыт 1-3 года, зарплата 40-60К». Особенно тебе.)

Сегодня будем препарировать рынок Python-разработки в России. По-настоящему. С графиками, цифрами и верой в светлое будущее.

Здесь будет всё, зарплаты, актуальные стеки и то что уже никому не нужно, прогнозы, тренды, и многое другое, будет интересно...

Поехали.

Читать далее

Миграции конфигурации Битрикс24 CRM: как мы перестали делать это руками

Уровень сложностиСредний
Время на прочтение7 мин
Охват и читатели5.4K

Если вы разрабатываете на Битрикс24 и поддерживаете несколько окружений — тест, стейдж, прод — вы знаете эту боль. Настроил воронку, добавил пользовательские поля, написал робота с десятком условий, всё это поправил в карточке, назначил права. А потом нужно повторить то же самое на проде. Руками. Забыв половину.

Конфигурация CRM — это не код. Она живёт в базе данных, не попадает в git, и нет адекватного механизма переноса между окружениями. При этом объём этой конфигурации на реальных проектах значительный: десятки смарт-процессов, сотни пользовательских полей, сложные роботы с условиями, матрицы прав доступа, кастомные виды карточек. Всё это нужно как-то синхронизировать.

В Битрикс24 есть разрозненные инструменты для переноса отдельных частей настроек — штатный экспорт некоторых сущностей через интерфейс, партнёрские модули, закрывающие часть задач. Но каждый работает по-своему, покрывает свой кусок, и ни один не даёт того, что нужно на реальном проекте: полного покрытия CRM-конфигурации в одном инструменте, версионируемого вместе с кодом.

Мы прошли этот путь и в итоге написали набор Version Builder'ов для модуля sprint.migration, покрывающих основные сущности CRM Битрикс24. В этой статье — о самой задаче, подходе и подводных камнях.

Пишите в личку по вопросам.

Читать далее

Полиморфные ссылки в реляционных базах данных, или об ещё одном узком месте в 1С

Уровень сложностиСредний
Время на прочтение11 мин
Охват и читатели5.2K

Оператор OUTER JOIN — бич конфигураций 1С на базе PostgreSQL: планировщик пока небогат на оптимизации такого типа соединений. В то же время ORM-фреймворки — и 1С как яркий их представитель — часто генерируют внешние соединения по типовым шаблонам, что открывает возможности для точечной оптимизации.

В этой статье я разбираюсь с одним из таких шаблонов — разрешением полиморфных ссылок: что это за паттерн, откуда он берётся (Rails, Django, Hibernate, Salesforce — не только 1С), насколько он распространён и почему его структурные особенности позволяют существенно ускорить выполнение.

Читать далее

Модульный конструктор для дел: собираем свою систему и подключаемся к любой форме организации

Время на прочтение8 мин
Охват и читатели6K

Календарь, задачи, заметки, почта. Мы используем десятки инструментов, но они не умеют жить вместе. Данные размазаны по сервисам. Команда в Битрикс24, семья в WhatsApp, клуб в Google Calendar. Везде свой интерфейс, свои правила, своя изоляция.

Читать далее