Обновить

Разработка

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

От WSGI к ASGI: как Python научился работать с асинхронным вебом

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

WSGI и ASGI — то, на чем стоит весь современный веб на Python. Это стандарты, которые описывают интерфейс между веб-сервером и приложением. Благодаря им сервер и фреймворк не образуют жесткую пару: любой WSGI-сервер запускает любое WSGI-приложение, любой ASGI-сервер любое ASGI-приложение. Uvicorn не знает ничего о FastAPI, FastAPI не знает ничего о Uvicorn, они знают только о том, что передать на вход и что ожидать на выходе.

Разберем, как все это устроено.

Погружаемся

Survival analysis, или предсказание смерти пациента

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

«Да как ты смеешь! Что ты на себя берёшь?» — могут сказать некоторые из читателей.

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

Но если копнуть глубже...

CodeWiki Skill: как заставить AI-агента написать документацию к вашему коду

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

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

Читать далее

Как технические ограничения Telegram влияют на рекламный рынок и трафик в 2026 году

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

В феврале 2026 года инфополе снова заполнилось слухами о полной блокировке Telegram к 1 апреля. Бизнес паникует, маркетологи не понимают, останавливать ли кампании, а бюджеты зависают в воздухе.

Меня зовут Артемий, я владелец агентства по закупке трафика через Telegram Ads.

В этой статье я на основе свежих технических отчетов и реальных цифр рынка покажу, почему полного блэкаута не предвидится. Разберем, как именно работают ТСПУ Роскомнадзора , куда на самом деле перетекают бюджеты брендов и почему главная угроза для рынка кроется в маркировке ОРД, а не в мифическом рубильнике.

Спойлер: реклама в телеграмме работала и будет работать.

Читать далее

Множество Мандельброта. 32-бит TrueColor. 60 FPS. 80-бит long double. OpenMP. Суперсэмплинг 2x2 (4 прохода). И цвета

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

Множество Мандельброта. 32-бит TrueColor. 60 FPS. 80-бит long double. OpenMP. Суперсэмплинг 2x2 (4 прохода). И цвета. Я хочу сказать. Это самая нужная вещь во Вселенной. Самая глубокое. И я сейчас за всю жизнь наконец стал писать код и сделал. Довольно сложное. И самое прекрасное. Скачайте и посмотрите! Это экзешник, в ГитХаб.

github: Download Latest Version Windows And Source code

Читать далее

Как заставить Qwen 3.5-Plus написать ransomware, reverse shell и zero-day exploit за 5 шагов

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

5 векторов обхода трёхэшелонной защиты Qwen 3.5-Plus — без единого классического джейлбрейка. Ни DAN, ни «ignore previous instructions». Только контекстное фреймирование — и модель сама пишет ransomware, reverse shell и Security Advisory на собственные уязвимости. Разбор цепочки атак, почему Qwen3Guard, GSPO и RationaleRM оказались бесполезны, и что должна делать реальная защита.

Читать далее

Создание системы по управлению цифровыми активами для базы данных PostGIS. Часть 3. Семантические связи между таблицами

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

Здравствуйте, уважаемые читатели Хабра!

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

Интересно? Читать!

LWLock:LockManager, fastpath блокировки в PostgreSQL 18

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

В статье дан качественный тест, проявляющий проблему конкуренции за блокировки типа LockManager. В статьях Дмитрия Ремизова @drema201 (АО "Гнивц") описываются интересные проблемы, возникающе при реальной эксплуатации и было упомянуто, что проблема решена в 18 версии PostgreSQL без описания того, как решена. Эта статья закрывает пробел. Начиная с 18 версии, проблема конкуренции LWLock:LockManager при выполнении запросов к большому числу таблиц, индексов, секций ("отношений") устранена. Также даётся ответ на вопрос: если fastpath блокировки  хранятся отдельно для каждого процесса, как другие процессы проверяют наличие блокировок? В статье описано, почему блокировки по быстрому пути (fastpath) так эффективны и почему новшества в PostgreSQL, появившиеся в 18 так важны на практике.

При выполнении запроса SELECT к таблице PostgreSQL блокирует не только саму таблицу, но и ВСЕ её индексы с помощью Access Share ещё на этапе планирования. Все эти блокировки помещаются в разделяемую память и защищаются блокировками LWLock. На компьютерах с большим числом ядер, обслуживающих множество простых запросов (например, поиск по первичному ключу), серверные процессы постоянно конкурируют за один и тот же раздел структуры блокировок LWLock, которая находится в разделяемой памяти. Классическое узкое место.

Читать далее

Три стакана на двоих: самая эффективная коммуникация

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

Речь пойдет о достаточно типичном для приложений реального времени шаблоне взаимодействия между поставщиком и потребителем информации. Поставщик (писатель) пописывает, потребитель (читатель) почитывает. Асинхронно по отношению друг к другу, каждый — в своём темпе. Обмен происходит отдельными сообщениями, и, как это часто бывает с информацией, привязанной к текущему времени, читателю интересна только самая свежая информация, то есть только последнее сообщение, отправленное писателем. Если какое-то из предыдущих сообщений пропущено — не страшно, всё равно пропущенные данные непоправимо устарели.

Наиболее эффективная техника, реализующая подобное взаимодействие, известна как тройная буферизация (Triple Buffering). Именно о ней и о её небольших обобщениях пойдет речь в данной статье.

Читать далее

B4 — обход DPI с веб-интерфейсом

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

B4 - инструмент обхода DPI на Go с веб-интерфейсом.

Хотелось сделать инструмент, который можно поставить на роутер или любой другой linux-девайс, открыть в браузере и получить работающий результат без возни с десятками аргументов командной строки.

Читать далее

Руководство по настройке отчётов через плагины в Allure 3

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

Привет, Хабр. Сегодня поговорим о новой версии Allure Report — Allure 3, а именно о её модульной архитектуре. В ней можно настроить сколько угодно отображений тестовой иерархии в разных форматах; я покажу это на простом примере. В какой ситуации может это быть полезно?

Когда с тестами работает несколько команд, обычно удобно, чтобы у каждой был своя классификация тестов. Кто-то хочет, чтобы тесты были организованы по фичам, т. е. близко к требованиям. Кто-то предпочитает видеть организацию по сюитам — ближе к коду проверяемого приложения.

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

Читать далее

«Разблокируй телефон» — как я реализовал фейковый мессенджер для допроса

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

Привет, Хабр! Я разрабатываю open-source мессенджер Xipher (C++/Android), и одна из фич, которую пришлось проектировать особенно тщательно — Panic Mode. Это система правдоподобной отрицаемости (plausible deniability): при вводе специального PIN-кода мессенджер показывает полностью фейковую, но убедительную базу данных с поддельными чатами, а параллельно отправляет скрытый SOS-сигнал на сервер.

В статье разберу архитектуру целиком — от криптографического разделения баз до генерации правдоподобных фейков и маскировки panic-алерта под рутинный сетевой запрос. Весь код — из реального проекта.

Исходники открыты — ссылка на GitHub в конце статьи.

Читать далее

Execution completion

Уровень сложностиСложный
Время на прочтение14 мин
Охват и читатели6.4K

Во время инференса LLM не выполняется побочных эффектов, вместо этого генерируется последовательность токенов, которые можно интерпретировать как намерение вызвать инструмент. Это напоминает мне ту часть шаблона transactional outbox, в которой намерение сущности (entity) отправить запрос внешней системе записывается в специальную таблицу, а не реализуется сущностью самостоятельно.

В статье приведен proof-of-concept модели выполнения, вдохновленной chat completion, в которой управление возвращается вызывающей стороне при необходимости выполнить побочный эффект.

Читать далее

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

Ответственность и свобода: как мы ищем баланс в своём стартапе

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

Последние годы стали временем ограничений (ещё помните ковид и свои первые ощущения на самоизоляции?). То, что вчера казалось стабильным фундаментом, сегодня может исчезнуть. В таких условиях легко начать воспринимать ограничения как главного врага.

Жан-Поль Сартр писал, что человек «обречён быть свободным» — но эта свобода всегда связана с ответственностью за выбор. В цифровых продуктах мы часто говорим о свободе пользователя, но гораздо реже — о цене этой свободы.

Читать далее

Проблема ретроспективного внедрения интернационализации (i18n)

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

Одна из главных проблем i18n в приложениях заключается в том, что о ней вспоминают в последнюю очередь.

Обычно мы разрабатываем продукт, проверяем соответствие рынку (Product-Market Fit) и только спустя месяцы или годы решаем: «Пора выходить на глобальный уровень».

Сложность в том, что решения для i18n носят структурный характер и сильно влияют на работу команды. Куда эффективнее закладывать это в техническое задание с первого дня.

Как же с этим справиться? Заморозить разработку на неделю и рефакторить каждый компонент?

В последнее время я вижу много решений, основанных на compiler-driven подходе. Обещание заманчивое: добавьте пару строк кода, и приложение «само» станет мультиязычным.

Однако есть существенные недостатки.

Читать далее

Забыть про Backprop: Как я собрал «Термодинамический Мозг» с фазой сна и митозом, который влезет в Arduino

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


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

А что если вернуться к истокам? Что если интеллект — это не градиентный спуск, а кристаллизация связей под давлением информации?

В этой статье я расскажу о концепте Термодинамического Мозга. Это самоорганизующийся граф, который обучается в один проход O(1), непрерывно адаптируется к новым данным, спит по ночам, чтобы не сойти с ума, и настолько нетребователен к ресурсам, что его можно запустить хоть во вкладке браузера, хоть на Arduino.

Запустить митоз

Фотонный проц на одной инструкции: как Akhetonics строит комп из чистого света. И почему это куда сложнее, чем кажется

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

Представьте, что вы читаете громкий заголовок: «Самая простая Turing‑complete архитектура SUBLEQ (всего одна инструкция!) и реализовали её на фотонных логических вентилях». Звучит как настоящий прорыв из научной фантастики — один‑единственный тип команды, и вот уже у нас полноценный универсальный компьютер, работающий на скорости света, без кремния, без транзисторов, с терагерцевыми частотами и энергопотреблением в разы ниже.

Но если копнуть глубже, сразу вылезают два больших «но». Первое — SUBLEQ действительно может быть Turing‑полной, но только при очень конкретных условиях. Второе — реализовать даже такую «простую» архитектуру на настоящих фотонных вентилях в железе оказывается совсем не тривиальной задачей. И именно об этом мы сегодня поговорим подробно, без хайпа, но и без излишнего скепсиса.

Эта статья — разбор реальной истории, которая происходит прямо сейчас, в 2026 году. Немецкий стартап Akhetonics из Мюнхена всерьёз взялся за all‑optical general‑purpose processor и выбрал для доказательства концепции именно SUBLEQ. Мы пройдёмся по всем нюансам: от теории одной инструкции до проблем фотонной памяти, от лабораторных прототипов до того, почему чистый SUBLEQ, скорее всего, останется красивым PoC, а в реальном продукте придётся расширять набор команд.

Готовы? Поехали.

Полетели!

Законъ о запрете иностранных словъ… в разработке

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

Разговор будет серьёзный. С 1 марта 2026 вся публичная информация для потребителя должна быть на русском — N 168-ФЗ. Пока что разработку это не касается, но стоит быть готовыми. Предлагаю договориться о словаре разработчиков Российской Федерации.

Читать далее

Вторая битва за Telegram

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

Для начала, погружу в лор тех, кто забыл, и кто не помнил. Но в 2018 году Telegram в России уже блокировался РКН. Основная причина — отказ предоставить ФСБ ключи дешифровки сообщений пользователей в соответствии с требованиями «пакета Яровой» (широко известный закон о противодействии терроризму).

Процесс блокировки тогда растянулся на полгода:

Читать далее

Техника принятия решений «Квадрат Декарта» на примере сцены из «Матрицы»

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

На примере всем известной сцены выбора таблеток из фильма «Матрица» объясню простую, но важную коучинговую технику, которая помогает принимать решения — Квадрат Декарта.

Она помогает упорядочить мысли в ситуации трудного выбора из двух ситуаций. Помогает понять, хотим ли мы на самом деле что-либо делать или нет.

Читать далее