Обновить
512K+

Open source *

Открытое программное обеспечение

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

Django-согласия и cookies под 152-ФЗ: версии документов, аудит и экспорт вместо одного чекбокса

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

Согласие на обработку персональных данных в Django-проекте часто начинается с одного BooleanField. Но затем оказывается, что недостаточно помнить только факт нажатия на чекбокс: пользователь мог видеть другую редакцию документа, отозвать согласие, выбрать лишь часть категорий файлов cookie, а администратору может понадобиться журнал действий и выгрузка в CSV.

Я сделал для этого два полностью независимых Django-пакета с открытым исходным кодом: django-consent-152fz для юридически значимых согласий и django-cookies-152fz для политики файлов cookie, категорий, подключённых сервисов и окна выбора. В статье покажу реальную модель данных, минимальное подключение и то, как устроены редакции, журнал событий и выгрузка данных.

Читать далее

Почему AI-агент ищет по коду неправильно, и как это чинит cocoindex-code за две команды

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

Если вы работаете с Claude Code или Cursor на большом проекте, знаете боль: просишь “найди, где обрабатывается авторизация”, а агент гоняет grep по ключевым словам. Если функция называется validateUserSession, а вы спросили про “авторизацию” — grep её не найдёт. Это ограничение текстового поиска, и его решает семантический поиск через эмбеддинги. Я уже разбирал CodeGraph и SocratiCode из этой ниши, теперь поставил третий — cocoindex-code. Зацепил тем, что ставится в две команды без Docker и баз данных. Прогнал на своём проекте, разобрался с AST-чанкингом и сравнил с аналогами.

Читать далее

LongConspectWriter: автоматическая генерация структурированных конспектов лекций на потребительском GPU

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

Автоматическая генерация структурированных академических конспектов из аудиозаписей лекций по точным и естественным наукам затруднена для локальных малых языковых моделей (small language models, SLM). Транскрипт лекции продолжительностью ≈1,5 ч составляет около 15–20 тыс. токенов и формально умещается в контекстное окно современных локальных SLM, однако при обработке такого контекста single-call SLM систематически деградируют: теряют фрагменты из середины последовательности, не удерживают структуру и галлюцинируют термины и формулы. Это проявление эффекта Lost in the Middle: точность извлечения информации описывает U-образную кривую — высока на краях контекста и падает в середине; в наших условиях используются SLM, поведение которых так же описано в статье, и оно характеризуется выраженным забыванием не только из середины, но также и из начала контекста. Более того, на бюджете 8 ГБ VRAM single-call длинного транскрипта практически неприменим*, что делает декомпозицию не оптимизацией, а необходимым условием работоспособности.

Читать далее

Почему ваш GitHub — лучший лендинг, который можно сделать

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

Как README превращается в PR-актив: структура, нарратив, quickstart

Когда кто-то впервые сталкивается с техническим продуктом, он открывает репозиторий. Инфлюенс, которому прислали питч, инвестор после дежурного «посмотрите наш продукт» делает то же самое, и разработчик, который наткнулся на тред в X, идёт туда же. Репозиторий - первая точка касания для аудитории с реальным весом: инженеры, тимлиды, CTO ранних стартапов, контрибьюторы в опенсорс. Они формируют репутацию инструмента до того, как о нём напишут медиа, их мнение распространяется быстрее любого пресс-релиза.

Читать далее

Как мы построили распределённый мониторинг аптайма

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

В прошлый раз я писал про рекурсивную задачу мониторинга: кто мониторит монитор? Если Prometheus упал — вы не видите ничего, и самое коварное тут в том, что отвалившийся мониторинг внешне неотличим от идеальной стабильности. Та статья заканчивалась честно и немного грустно: чистого решения нет, есть только слои подстраховки и остаточный риск, с которым приходится жить.

Или всё таки есть?

Картинки рвало полосами, а файлы при этом были чистыми

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

Три ночи я был уверен, что у меня сломан рендер.

Вертикальные картинки — те самые 9:16, под обои телефона и под сторис, — на экране разъезжались горизонтальными полосами. Как будто старый телевизор поймал помехи. Квадрат рисуется нормально. Горизонталь — нормально. А вертикалку рвёт в труху.

Три раза я её «починил». И все три раза чинил вообще не то.

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

Это не история из серии «смотрите, какой я молодец». Это честный рассказ, как обычный человек без программистского образования за неделю собрал себе на Mac локальный генератор картинок — и на какие грабли наступил по дороге. Я энтузиаст, не разработчик. И сразу самое важное, чтобы потом не было неловко: я не написал ни одной строчки кода. Ни единой. Даже Xcode толком не открывал. Код писал вместе со мной Claude Code, модель Opus 4.8. И сам движок генерации — тоже не мой. А моё во всём этом — то, что движок не топит ваш Mac и не показывает вам битые картинки. Звучит мелко? Вот про эту мелочь и весь рассказ. Прятать тут нечего, про границы расскажу честно прямо сейчас.

Читать далее

Как я случайно написал что-то быстрое и декларативное (на Rust)

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

Писал парсер строго под свой проект, а получился быстрый декларативный движок для парсинга текстовых форматов. Как?

Читать далее

OpenCode с NorthMiniCode на своем железе

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

В последнее время большинство обсуждений агентской разработки крутится вокруг Claude Code, Codex, Gemini CLI и других облачных инструментов. Но, с одной стороны, киты индустрии блокируют нам доступы снаружи, с другой — чиновничьи умы блокируют нам доступ изнутри, потому необходимо иметь под рукой локальный инструмент для агентской разработки.

9 июня 2026 вышла модель NorthMiniCode, в отличие от qwen и подобных специально заточенная под агентские циклы. Планирование, инструменты, редактирование, терминал — это то, на что заточена модель. Подробно разбирать архитектурные особенности будем в следующий раз, а сейчас опишу свой опыт развертывания данной модели и использования ее в OpenCode на домашнем компьютере.

Разблокировать знания

OCC-RAG: компактные модели, которые отвечают только по источникам

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

Привет, Хабр! На связи команда Optimal Cognitive Core (OCC) из AIRI. Развитие языковых моделей в последние годы определяется масштабом: каждое новое поколение вмещает в веса всё больше знаний о мире. Но огромная доля практических задач выигрывает тогда, когда модель демонстрирует не свою энциклопедичность, а способность рассуждать и анализировать предоставленный контекст. Из этого наблюдения и выросло OCC — наше семейство компактных языковых моделей (SLM), которые имеют сильные когнитивные способности, не обладая при этом большим багажом «вызубренной» информации.

В этой статье расскажем о первой модели нашего семейства, OCC‑RAG, которая оптимизирована под задачу контекстного Q&A. Мы выложили два чекпойнта, OCC‑RAG-0.6B и OCC‑RAG-1.7B (плюс ONNX‑ и GGUF‑сборки). При размере 0.6 и 1.7 млрд. параметров, соответственно, они отвечают на равных или лучше моделей общего назначения, которые в 2–6 раз больше, а по верности контексту показывают лучший результат среди моделей до 32B. Внутри — как устроена модель, как мы её обучили и что в итоге получилось.

Читать далее

Apache Camel под .NET, разбор по косточкам: HTTP-коннектор без ASP.NET MVC + паттерн Content-Based Router

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

Серия: redb ecosystem / redb.Route deep-dive

В redb.Route — нашем ESB в стиле Apache Camel под .NET — маршрут всегда читается одинаково: From(источник) → [процессоры] → To(приёмник). Сегодня берём один простой паттерн интеграции и один коннектор и разбираем оба до самого дна.

Читать далее

Фреймворк для «красных» процессоров и модель «издатель — подписчик». Работаем с флотом ИИ-агентов на своей машине

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

Популярная тема в ИТ-сфере сегодня — локальная работа с ИИ-агентами. На этой волне мы в Beeline Cloud решили посмотреть на подходящие инструменты с открытым исходным кодом и подготовили подборку фреймворков, которые помогут управлять ИИ-агентами у себя «под боком» и с нуля писать интеллектуальных помощников под свои задачи.

Читать далее

Модели угроз пакетных менеджеров

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

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

Мы продолжаем делиться полезными материалами в части защиты цепочки поставки с точки зрения инфраструктуры и подготовили адаптированный перевод статьи Эндрю Несбитта “Package Manager Threat Models”. Автор раскладывает модель угроз для клиентской и стороны реестров пакетов, что крайне важно для комплексного видения проблематики.

Читать далее

Как я написал свой overlay-переводчик на python

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

Бывало у вас такое: находите крутую инди-игру или визуальную новеллу, а официальной русской локализации нет? Сидеть со смартфоном в руках и переводить экран через Google Переводчик - удовольствие сомнительное. Переключаться по Alt+Tab в браузер каждые две минуты - ломает всё погружение.

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

Читать далее

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

Я обнаружил крупномасштабное распространение вирусов в GitHub

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

Это история о том, как я нашел 10.000 репозиториев в GitHub, в которых находится ссылка на скачивание zip архива. В этом архиве — троян. Все эти репозитории от разных контрибьюторов, с разным названием и не являются форками других репозиториев. Даже если мы найдем один такой репозиторий, мы не сможем по нему найти другие репозитории. Но у всех них есть одинаковый паттерн, который и позволил написать скрипт для поиска таких репозиториев.

Читать далее

Пишем кодинг‑агента на Swift с нуля: неочевидные сложности очевидной идеи

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

Я долго пользовался разными кодинг‑агентами, и на их фоне Claude Code для меня заметно выделялся: качеством решений, удобством работы и вниманием к деталям. В какой‑то момент мне захотелось не просто пользоваться таким инструментом, а понять, что на самом деле происходит у него под капотом. Так я сел писать собственного агента на Swift, с нуля, без использования готовых решений.

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

Дальше я разберу места, где это проявляется: от устройства главного цикла до управления контекстом. Многие выводы задним числом кажутся очевидными, но на практике они становятся понятны, только тогда когда строишь агента сам и упираешься в каждую проблему руками.

Читать далее

15% прод-кода в Block пишут AI-агенты: как устроен их парк ботов в Slack — и что из этого украсть

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

Block (Square, Cash App, Tidal) рассказала, как у неё устроена разработка: внутренний Builderbot делает 200 000+ операций в день, мержит ~1500 PR в неделю и отвечает за ~15% всех изменений прод-кода. Фон невесёлый — всё это после сокращения ~4000 человек. Разбираю, что реально под капотом (Builderbot — control plane поверх открытого фреймворка Goose: Slack-тред → ветка → PR → CI-петля), и главное — что из этого может украсть обычная команда без своего фреймворка. Острый угол: на масштабе кодинг-агент — это не про модель, а про обвязку (CI, права, аудит, очереди PR), то есть чистый DevOps. Плюс честно про маркетинг в их цифрах и про 4000 человек за кадром.

Читать дальше →

Релиз Linux 7.1: улучшенное управление питанием, новый драйвер NTFS и оптимизация для видеокарт

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

Новая версия ядра Linux 7.1 вышла спустя пару месяцев после предыдущего крупного релиза. Как обычно, это обновление собирает воедино все исправления и доработки, накопившиеся за время тестирования, и Линус Торвальдс подтвердил, что финальная неделя перед выходом прошла спокойно — без каких-либо сюрпризов, лишь с привычными правками драйверов и системных компонентов. Однако за этим стабильным релизом скрывается несколько значимых изменений, которые определенно заслуживают вашего внимания. Поехали! 

Читать далее

Как мы научились видеть иерархию корутин в Android‑приложении: Coroutine Tracer в библиотеке Demeter

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

Отладка корутин в Android — задача, с которой сталкивается каждый разработчик, использующий Kotlin. На один экран могут приходиться десятки вызовов launch и async, но стандартные инструменты показывают потоки, а не корутины. В итоге, когда одна из корутин зависает, разработчик оказывается в тупике: отладчик показывает живой поток, но не показывает, какая корутина на нём выполнялась, в каком suspend‑вызове она остановилась и кто её запустил. Приходится искать причину вслепую — расставлять логи и пытаться воспроизвести проблему вручную. 

Привет, Хабр! Меня зовут Вадим Мезенцев, я занимаюсь разработкой мобильных приложений в Яндекс Go. Сегодня я расскажу, как мы сделали инструмент, который автоматически отслеживает жизненный цикл корутин и показывает их в виде интерактивного дерева — прямо на устройстве, без внешних профайлеров. А самое главное — он в открытом доступе.

Читать далее

Prompt caching: оптимизация, которая наказывает молчанием

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

Из всех способов сэкономить на работе с LLM prompt caching самый коварный. Сложным его не назовёшь, дело в другом: он тихий. Почти любая оптимизация, если ты её сломал, даёт о себе знать: падает тест, краснеет лог, валится метрика. Кэш так не делает. Он не падает с ошибкой, он просто молча перестаёт срабатывать. И единственное, что меняется, это счёт в конце месяца и пара лишних секунд на каждый ответ.

Я долго про кэш не вспоминал: у OpenAI он включается сам, без флагов, и за запись денег не берёт. Ловушка ровно в этом удобстве. Разбираю, что на самом деле кэшируется (не текст и не ответ модели), почему хватает одного символа в начале промпта, чтобы всё обнулить, чем отличается подход OpenAI, Anthropic и Gemini и как убедиться, что кэш реально работает.

Читать далее

Спутниковая связь в симуляторе NS-3. Часть 6

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

Продолжаем изучать моделирование спутниковой связи в симуляторе сетей NS-3. В этой статье мы завершим краткий обзор классов модуля Satellite.

Читать далее