Обновить
522.57

Open source *

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

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

Ручное управление не делает нас сильнее: как я написал клиент для автоматизации тестирования

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

Всем привет! Меня зовут Стас, я ведущий инженер отдела сертификационного тестирования компании YADRO. Однажды мне стало лень вручную проставлять статусы тестов PASSED/FAILED в TestY TMS, и я написал свое клиент-серверное приложение ATS Studio. С его помощью я залечил боль ручного управления для нескольких команд YADRO.

Как мне это удалось, если я не пишу код на Python, и чему я научился в процессе, узнаете под катом.

Читать далее

Дышать или не дышать? Как я написала библиотеку и Telegram-бота для мониторинга воздуха в Ташкенте

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

Доброго времени суток, уважаемые хабровчане! Я живу в Ташкенте.

Как превратить беспокойство о качестве воздуха в полезный Open Source проект?

Читать далее

RepE — как активационная инъекция влияет на энтропию, деградацию и качество ответов LLM?

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

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

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

Данная работа посвящена изучению методов Representation Engineering (RepE) — подхода, который позволяет проникать в активационные слои нейросетей и слегка усиливать отдельные вектора. В отличии от классического промпт инженеринга мы не задаем роль, а правим внутреннюю генерацию ответа, можно сказать точечно правим "веса" хоть это в действительности и не так. Цель - проверка того, может ли выделение и активация специфических семантических векторов служить функциональным регулятором генерации - и как в целом это выделение влияет на модель. Возможно ли таким методом снизить энтропию или получить сравнительно лучшие ответы от модели.

Читать далее

Топ-10 ошибок, найденных в C# проектах за 2025 год

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

В 2025 году команда PVS-Studio продолжила разбирать код открытых C#-проектов. За год было обнаружено немало дефектов, и из всего этого разнообразия мы выбрали 10 наиболее любопытных. Надеемся, что этот обзор будет не только интересным, но и полезным — приятного чтения!

Читать далее

Хватит писать try-catch в контроллерах: как я причесал ошибки в Express и перестал бояться деплоя

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

Знаете это чувство, когда открываешь контроллер в Express проекте, чтобы поправить одну строчку логики, и видишь ЭТО? Бесконечная вложенность, проверки на существование полей, ручной парсинг ошибок от базы данных и, конечно же, его величество try-catch, который занимает 80% файла.

Я тоже через это проходил. В каждом новом микросервисе я копипастил одни и те же функции обработки ошибок. В одном проекте я ловил ошибки Mongoose через err.name === 'ValidationError', в другом — через instanceof. Где-то мы отдавали { error: "message" }, где-то { status: "fail", msg: "..." }.

В какой-то момент мне это надоело. Мне захотелось инструмент, который я могу просто подключить одной строкой, и он сам поймет, что "E11000" от Mongo — это 409 Conflict, а ошибка Zod — это 400 Bad Request. При этом я не хотел тянуть в проект тяжелые зависимости.

Так родилась библиотека ds-express-errors. Сегодня я расскажу, зачем я ее написал и почему она может сэкономить вам кучу нервов.

Читать далее

Разбираем net/http на практике: пишем веб-сервис DeadDrop для безопасного обмена сообщениями

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

Первая часть цикла «Разбираем net/http на практике»: создаём с нуля сервис DeadDrop — аналог Privnote для безопасной передачи самоуничтожающихся сообщений и файлов.

На чистой стандартной библиотеке net/http разбираем основы:

запуск HTTP-сервера

маршрутизация в ServeMux

написание middleware (логирование и recovery от panic)

работа с HTML-шаблонами и layout’ами

подключение статики через http.FileServer и embed.FS

В итоге получаем работающий сервер с красивой главной страницей, формой создания «ячейки» и базовой архитектурой проекта — всё без внешних зависимостей.

Идеально для начинающих и тех, кто хочет глубоко понять внутренности популярных фреймворков вроде Gin и Echo. Пишем код вместе!

Читать далее

Databasus — open source инструмент для резервного копирования PostgreSQL, MySQL и MongoDB (ex-Postgresus)

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

В начале декабря я публиковал статью про Postgresus 2.0 — инструмент для резервного копирования PostgreSQL. С момента этой статьи пришло много запросов на добавление других баз данных, много положительной обратной связи от пользователей и набралось больше 1000 звёзд на GitHub.

А потом я узнал, что нарушил торговый знак 🥲. Оказывается, нельзя брать первое понравившееся название — и использовать его. Точнее можно, но с оговорками.

В итоге было принято решение о маленьком ребрендинге. Теперь Postgresus — это Databasus. И поддерживает другие базы: MySQL, MariaDB и MongoDB (при этом оставляя основной фокус на PostgreSQL).

Ниже — детальнее, что из себя представляет проект и почему произошло переименование.

Читать далее

Как мы построили систему видеоаналитики на open source и довели её до продакшена

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

Всем привет, я Иван, продакт-менеджер. В этой статье разберу практический опыт построения системы видеоаналитики на базе open source-инструментов: от выбора библиотек и архитектуры до проблем с производительностью и масштабированием под десятки видеопотоков.

Материал будет полезен инженерам, тимлидам и продакт-менеджерам и всем тем, кто рассматривает open source как основу для production-ready CV-систем.

Читать далее

Как перенести Ghost CMS на vps с панелью FASTPANEL

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

Появилась необходимость перенести уже установленный ghost cms на другой vps, на котором уже установлена FASTPANEL. Вдохновившись статьей "Установка Ghost на сервер под управлением ispmanager", я подумал, что это будет просто. На деле же оказалось несколько сложнее.

Конечно можно установить в docker контейнер и не париться с панелью. Но я решил остановиться на варианте без контейнеризации. В этой статье у меня был 1 чистый сервер на котором был установлен ghost cms без докера. Второй сервер уже в работе с установленной FASTPANEL.

Начнем пожалуй с бэкапов.

Читать далее

Snapshot тесты для iOS. быстро, стабильно на Metal

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

Скриншот-тестирование iOS-приложений бывает нестабильным - происходят случайные расхождения в пикселях, вызванных различиями в iOS или процессорах.

Статья разбирает, как индустрия решает проблемы сравнения в современных open-source инструментах и разбирает существующие ограничения.

Представлена open-source библиотека AFSnapshotTesting на Metal GPU: более точная ΔE2000, кластерная фильтрация шумов, комбинированные стратегии, целочисленные пороги и настоящие diff-изображения.

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

Полезно iOS-разработчикам для надёжных визуальных тестов.

Читать далее

Как я в 15 лет собрал LLVM ToolChain на Windows без MSVC

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

Как я собрал актуальный LLVM со всеми инструментами (Clang, LLD, LLDB, clang-extra-tools) и всеми нужными для автономной работы рантаймами (libc++, libc++abi,libinwind,compiler-rt,UCRT) нативно под Windows. В этой статье я расскажу о своем 4-месячном пути: от накоплений со школьных обедов на первый ПК до борьбы с линковкой библиотек и поиска фиксов в экспериментальной ветке LLVM 22. История о том, почему я выбрал путь «чистого Upstream» и как заставил это всё работать в 15 лет.

Заинтересовало

Написал свой ngrok за 10 часов (Antigravity + Claude Code)

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

Привет, Хабр. Расскажу, как за 10 часов написал self-hosted аналог ngrok на Go.

Проблема

Нужно протестировать вебхук от Т-Банк/Telegram/любого внешнего сервиса. Запускаешь ngrok — не работает. Россия заблокирована. Каждый раз VPN, а с ним становится недоступна часть внутренних ресурсов. В какой-то момент решил написать своё.

Читать далее

От голосовых к тексту: делаем Telegram-бота для расшифровки аудио на open source модели от СБЕР — GigaAM-v3

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

Привет, Хабр! Недавно Сбер выкатил новые модели распознавания речи, и мне захотелось проверить их не в абстрактном демо, а в реальном сценарии. В этой статье я расскажу о практическом кейсе – разработке Telegram-бота, который преобразует голосовые сообщения в текст. Посмотрим, на что способна новая отечественная модель GigaAM-v3, и соберём на её основе расширяемого Telegram-бота.

▁ ▂ ▃ ▅ ▃ ▂ ▁ ▂ ▃ ▅ ▆ ▅ ▃ ▂ ▁

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

Новый open source Java коннектор для Tarantool: практика с примерами кода

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

VK Tech открывает исходный код коннектора Tarantool Java EE и переименовывает его в Tarantool Java SDK. Дистрибутив станет доступен в Maven Central, что упростит интеграцию с Java-приложениями в корпоративных средах. 

Меня зовут Артём Дубинин, я старший программист в VK Tech. Я разрабатываю коннекторы к Tarantool, а также участвую в разработке различных продуктов в VK Tech. Однажды я понял, что материала про совместную работу Java и Tarantool очень мало и из-за этого может казаться, что совмещать их сложно. Но на самом деле это не так — и иногда альтернативы Tarantool могут быть даже сложнее во взаимодействии. Поэтому я и решил написать эту статью. 

Цель статьи — показать через код, что Tarantool реально совместить с Java без больших полотен кода, а итеративно с небольшими сниппетами (не считая java импортов и xml 😄). Мы будем использовать такие, чтобы каждый мог попробовать провести у себя на компьютере эти эксперименты и понять, что Tarantool легок в использовании.

Читать далее

Самодельный датчик движения на Zigbee для Home Assistant и Zigbee2MQTT

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

Всем привет, давно хотелось соорудить свое оконечное устройство на Zigbee, и оказалось это не сильно сложно. Тем более что основа в виде Home Assistant на Raspberry Pi 4 со свистком Zigbee 3 SONOFF USB Dongle Plus-E есть и работает. Правда до этого в нем были только фабричные zigbee устройства, в основном Aqara. Итак погнали.

Что нам нужно кроме вышеуказанного...

Читать далее

Онлайн-таблицы: как ИИ делает аналитику доступной каждому

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

ИИ-ассистенты внедряются в привычные таблицы вроде Google Sheets и Excel. Многие скажут, что такие «игрушки» никому не нужны. Но это приближает электронные таблицы к инструментам бизнес-аналитики, BI-платформам.

Читать далее

построение интеллектуальной системы вопросов и ответов и корпоративной базы знаний на базе StarRocks + DeepSeek

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

Типовые сценарии на базе StarRocks + DeepSeek. DeepSeek: генерация качественных эмбеддингов и ответов, StarRocks: высокоэффективный векторный поиск и хранение.Вместе они образуют основу для точных и масштабируемых AI‑решений.

Читать далее

Инструменты и методы синхронизации данных из распространенных СУБД в StarRocks

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

В статье разберем, как синхронизировать данные из Oracle, MySQL, SQL Server, PostgreSQL, Kafka и MongoDB в StarRocks. Сравним Flink+CDC+SMT, DataX, Routine Load и Python по применимости, ограничениям и удобству эксплуатации, а также дадим рекомендации по выбору под разные сценарии.

Читать далее

Создание и обновление материализованных представлений (MV) в StarRocks: пошаговый разбор

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

В статье — пошаговый разбор создания и обновления материализованных представлений (MV) в StarRocks: от парсинга SQL (ANTLR) и инициализации свойств до сериализации метаданных (edit log, checkpoint, image) и планирования refresh. Разбираем синхронизацию партиций (range‑партиционирование), параметр partition_refresh_number и оптимизацию обновлений. Отдельный блок — поддержка нескольких выражений в UNION ALL и механизм VirtualPartitions из PR #60035, позволяющий корректно обновлять сдвинутые временными функциями (date_add/date_sub) диапазоны без пропусков. Материал будет полезен инженерам данных и тем, кто проектирует OLAP‑модели и MV под высокую нагрузку.

Читать далее

Обучаем ML-модели и запускаем batch-инференс на YTsaurus, как в Яндексе

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

Привет! Меня зовут Алексей Архипенко, я руковожу группой разработки ML‑инфраструктуры в команде YTsaurus. Мы часть Yandex Infrastructure и предоставляем пользователям внутри Яндекса инфраструктурный фундамент для самых разных задач машинного обучения.

YTsaurus — основная платформа для хранения и обработки данных Яндекса, которая доступна на GitHub под лицензией Apache 2.0. Это позволяет всем желающим загрузить систему на свои серверы, а также дорабатывать её под свои нужды. Мы уже писали в прошлых постах про её выход в опенсорс и дальнейшее развитие, а также кейсы использования в рекламе. Сегодня расскажу, как Яндекс запускает в ней почти все ML‑обучения и batch‑инференс.

Читать далее

Вклад авторов