Обновить
1024K+

Open source *

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

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

Создание Python-библиотеки для перевода исключений на русский язык

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

Большинство разработчиков очень боятся каждой ошибки в консоли Python. Всё моментально заливается красным, а порой понять суть ошибки без переводчика очень сложно. Сегодня я покажу, как сделать свою мини-библиотеку для перевода всех консольных ошибок и предупреждений в Python. Это позволит сразу же понимать причину исключения и быстро вносить исправления в код. Проект подходит как для начинающих разработчиков, так и для опытных разработчиков, работающих со сложными библиотека или базами данных.

Читать далее

Новости

Bug fingerprinting для UI: почему stack trace не работает и что вместо

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

TL;DR: Sentry дедуплицирует backend-ошибки по хешу (error class + top stack frame + module). Для UI-багов этот рецепт ломается — у expect(button).toBeVisible() нет stack frame в продуктовом смысле, есть локатор + assertion + URL. В webtest-orch я собрал composite SHA-256 fingerprint из (normalized_selector | assertion type | error class | URL template | message[:80]) с тремя rules нормализации (:nth-child, UUID, /users/123 → /users/:id). Это даёт стабильный 8-hex BUG-id который выживает прогоны и даёт diff new / regression / persisting / fixed без БД и embedding’ов.

Читать далее

Хотелось пополнить резюме, а написала LSM-движок с MVCC, снапшотами и Value Log на чистом Go

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

Неделю назад я не думала, что буду писать базу данных. Начиналось всё с банального «хочу строчку в резюме». А получилось: LSM‑дерево, MVCC, снапшоты, Value Log, WAL, компакшн, Column Families и даже GC. Всё на чистом Go, без cgo. Плюс gRPC, REST, CLI и Docker из коробки.

Рассказываю, как собирала конструктор, где наступала на грабли и почему fsync — это боль, и в конце даже небольшая любовная драма в CLI

Узнать, что у меня получилось

Как Runtime Radar помогает обнаруживать атаки на цепочку поставок: кейс LiteLLM

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

Всем привет! Это Сергей Зюкин, разработчик экспертизы runtime-radar — опенсорсного продукта, обеспечивающего безопасность контейнерной среды выполнения. Я подготовил для вас статью, в которой расскажу, как можно обнаружить инфостилер, встроенный в библиотеку LiteLLM в результате ее недавней компрометации. Помимо этого, мы, конечно же, рассмотрим и боковое перемещение внутри Kubernetes-инфрастуктуры, которое происходит, если скрипт инфостилера запускается в поде с достаточными привилегиями.

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

Но обо всем по порядку.

Читать далее

Как сделать каталог с поиском, фильтрами, фасетами и семантическим поиском

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

Сделать поиск по каталогу легко. Гораздо сложнее — сделать каталог, который полезен не только на первом запросе.

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

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

Сначала можно попробовать уже развёрнутую версию:

https://catalog.manticoresearch.com

Читать далее

FSRS для Obsidian: помнить всё

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

Обсидиан называют «вторым мозгом». Чтобы он им стал, одних связей недостаточно — нужна память.

Я сделал плагин интервального повторения на современном алгоритме FSRS. Он запоминает что и когда вы учили, предсказывает что вы вот-вот забудете, и показывает какая тема даётся тяжелее всего. Все данные хранятся локально в ваших .md файлах — ничего не уходит на сервера.

Читать далее

Как настроить AI-агента под проект: контекст, rules, skills, MCP — конспект двух вебинаров

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

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

Где живёт агент: три класса инструментов

Читать далее

Строим шину данных для микросервисов на ZeroMQ: failover, гарантии доставки и E2E-шифрование

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

Асинхронная клиент-серверная библиотека для обмена сообщениями между микросервисами на базе ZeroMQ. Реализует гарантированную доставку сообщений (At-Least-Once) с персистентной файловой очередью при обрывах связи, автоматический failover сервера переадресации (клиенты могут подхватывать роль сервера на лету) и два уровня защиты: шифрование канала (CurveZMQ) и сквозное шифрование сообщений (HMAC). Лёгкая альтернатива брокерам вроде RabbitMQ, не требующая отдельного сервера.

Читать далее

NocoDB — бесплатная альтернатива Airtable с подключением к своей базе данных

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

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

Вроде старого-доброго phpMyAdmin, но ещё проще, удобней и современней. Что-нибудь с дизайном, как в Airtable, но только с подключением к собственной базе данных PostgreSQL.

Хорошая новость — такой инструмент есть, и он называется NocoDB. И его можно без проблем поставить на собственный сервер, чтобы использовать без ограничений.

В этой статье разберём, как NocoDB может пригодится программисту в разработке, а непрограммисту — в организации личного или рабочего информационного пространства. Также посмотрим, как установить Ноко на своём сервере и начать с ним работать.

Читать далее

MCP в Cursor IDE: подключаем AI-агенту внешние данные без возни с API

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

Cursor IDE умеет генерировать код, рефакторить, объяснять и дебажить. Но по умолчанию он видит только файлы в вашем проекте. Если нужно, чтобы агент сходил в Google Trends, проверил задачи в Jira или прочитал что-то из Notion, приходится копировать данные руками и вставлять в чат. Агент получается не особо автономным, каждый шаг требует вашего участия.

MCP даёт агенту инструменты — функции, которые тот вызывает сам, когда ему нужны внешние данные. Вместо «вот тебе CSV, проанализируй» вы пишете «проанализируй тренды по запросу X», и агент сам вызывает нужную функцию, получает данные и работает с ними.

Читать разбор

TokenToad: как я сделал Chrome-расширение, чтобы перестать удивляться счетам за AI

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

Расходы на AI API копятся незаметно: сессия Claude Code тут, batch к GPT-5 там — и к концу месяца биллинг удивляет. Собрал бесплатное Chrome-расширение, которое показывает траты Anthropic, OpenAI и Gemini в реальном времени прямо в badge браузера.

Читать далее

44 CVE в uutils: что Rust ловит, а что нет на границе с системой

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

В апреле 2026 года Canonical раскрыла 44 CVE в uutils. Это переписанная на Rust версия GNU coreutils, которая в Ubuntu идёт по умолчанию с 25.10. Раскрытие пришло из внешнего аудита, заказанного перед релизом 26.04 LTS. Большую часть уязвимостей нашли обычным ревью кода. Ни borrow checker, ни проверки clippy, ни cargo audit не поймали ни одной.

Этот аудит, пожалуй, самый чёткий из существующих примеров того, что Rust ловит, а что нет. Самый внятный разбор списка сделал Маттиас Эндлер в посте «Bugs Rust Won’t Catch» от 29 апреля. Эндлер ведёт консалтинг corrode и подкаст Rust in Production; недавно у него в гостях был Джон Сигер, вице-президент по инженерии в Canonical. Пост построен как разбор того самого раскрытия: 44 CVE распределены по восьми категориям; к большинству приложен git diff фикса.

Ниже разберу каркас Эндлера и добавлю два аргумента сверху. Первый: один из мейнтейнеров GNU coreutils в HN-треде показал бенчмарк, на котором рекомендованный Эндлером фикс не выживает. Второй: структурный аргумент про то, что 40 лет наслоённых POSIX-шрамов делают с любой переписью, независимо от языка.

Читать далее

DGX Spark: мониторинг unified memory, когда NVML и dcgm‑exporter молчат

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

Свежепоставленный мониторинг на DGX Spark. Открываю NVIDIA‑дашборд в Grafana — половина memory‑панелей пустые, прямые линии по нулю. Сначала кажется, что что‑то не настроил. Через полчаса доходит: это не у меня сломалось, это NVML на GB10 так работает.

Это та область, где на GB10 половина стандартного observability‑стека просто не работает: NVML отдаёт [N/A] на memory.used и memory.total, dcgm‑exporter не ставится, nvtop в memory‑колонке показывает пустоту. В Grafana NVIDIA‑дашборды по умолчанию выглядят так, будто GPU вообще нет — и это не очевидно, потому что Grafana при отсутствии данных не кричит, а молча рисует ровную линию по нулю.

Статья — про то, как я это место обошёл и что в итоге увидел в Grafana. Трёхуровневая схема: textfile collector для базовых метрик, per‑container attribution через docker top + nvidia-smi, и CLI‑фоллбэк на /proc/meminfo, который оказался полезен не только на Spark, но и на других Linux‑системах с единой памятью (unified memory) — AMD Strix Halo и подобные.

Читать далее

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

SocratiCode: разбираю MCP-сервер, который даёт ИИ-агенту понимание кодовой базы

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

Если ваш ИИ-агент при каждом вопросе начинает grep-ом по всему проекту — у меня есть для вас одна штука. SocratiCode — это MCP-сервер, который индексирует кодовую базу через Qdrant и даёт агенту нормальный поиск вместо построчного чтения. Разобрал, как он устроен внутри, потестировал на нашем монорепе и сравнил с обычным режимом Claude Code

Читать далее

10 лучших инструментов для бэкапа VDS

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

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

Читать

Реалии open‑source разработки на примере Conan и userver

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

Исторически сложилось, что одна из главных проблем C++ — это тулчейны, системы сборки, управление зависимостями и всё вокруг. Ничего из этого не является частью стандарта, поэтому кто во что горазд. Любой бигтех просто обязан написать свой инструмент, который наконец‑то станет лучшим.

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

Пришло время исправить это упущение, и на примере внедрения Conan в userver также рассмотреть реалии open‑source разработки. Нам быстро придется покинуть мир розовых пони, погрузиться в самые дебри и понять, что иногда новые модные проекты держаться на людях, отрицающих все современные методы разработки.

Читать далее

Reactive Resume — создаём стильное CV за 10 минут

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

Привет, Хабр!

Разберём один интересный инструмент для создания CV — простой, полностью бесплатный и без VPN.

Но просто обзором не ограничимся: соберём полноценное резюме с нуля. Чьё именно — оставлю интригой 🙂

Посмотрим, что из этого получится.

Читать далее

AI-friendly и AI-first: как адаптировать ИТ-проекты под эру LLM

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

Привет, Хабр! Последние полгода стало модно создавать новые и переводить старые проекты на рельсы AI-First (или AI-Friendly) стандарта. Уже появляются проекты, которые декларируются как «designed for AI to write». Например, AIR — AI-First веб-фреймворк на Python.

В этой статье я хочу рассказать о том, как сделать свой проект дружелюбным для ИИ и тем самым повысить его юзабилити и помочь пользователям быстрее начать им пользоваться. ИИ-агенты стали новыми потребителями вашего кода. У них своя экономика токенов, свои требования к проекту и его документации. Хорошая новость в том, что настроить все можно за несколько часов — будь то забытый корпоративный микросервис или новый opensource-проект.

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

Читать далее

Уход Хашимото с GitHub: пять историй одной недели на Hacker News

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

29 апреля 2026 года Митчелл Хашимото объявил, что уводит свой Ghostty с GitHub. Цитата ушла на главную Hacker News через статью в The Register: «GitHub больше не место для серьёзной работы, если он каждый день блокирует тебя на часы».

Сам по себе уход одного человека, даже такого, как Хашимото, ещё не новость. Новость в другом: на главной HN на той же неделе оказалось ещё четыре истории про GitHub. Эссе Армина Ронахера про то, как мы жили до GitHub. Манифест команды Tangled про федеративные форджи. Тихий запуск голландской госплатформы для опенсорса на Forgejo. И жёсткий аудит безопасности того же Forgejo от Жюльена Вуазана. Если посмотреть на эти пять текстов вместе, складывается одна история.

Хашимото — не случайный пользователь GitHub. Сооснователь HashiCorp, после ухода оттуда автор Ghostty. И, по его собственным словам, «пользователь GitHub номер 1299, зарегистрирован в феврале 2008-го». Он же говорит про себя как про человека, который «листает задачи на GitHub с тех пор, когда у такого поведения ещё не было названия». Если GitHub для кого-то и был домом, то для него.

Необычным его пост делает разбор последнего месяца. Хашимото вёл журнал дат и ставил «X» против каждого дня, когда GitHub упал и помешал ему работать. «Почти каждый день стоит отметка X», пишет он. «В день, когда я пишу этот пост, я уже два часа не могу сделать ни одного ревью пулл-реквестов, потому что лежат GitHub Actions». The Register заметил, что пост вышел прямо перед инцидентом 28 апреля, когда пулл-реквесты перестали завершаться из-за падения Elasticsearch.

Читать далее

Проблема obsidian для студентов или как я написал obsidian export helper

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

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

Читать далее
1
23 ...