Обновить
461.93

Open source *

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

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

Почему GitHub звёзды лучшая метрика вклада разработчика

Время на прочтение2 мин
Количество просмотров2.9K

Внутри компании ваши усилия часто теряются в процессах, бюрократии и субъективных оценках. А на GitHub ваш вклад получает отклик напрямую от тех, кому он действительно помог. Это не просто метрика, это признание. Объясняю, почему звёзды важнее, чем кажется.

Читать далее

Fleet&Osquery — швейцарский нож для ИБ, или Как мы сами себя успешно ддосили

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

Всем привет, меня зовут Денис, и я старший инженер инфраструктурной безопасности в Ozon. Эта статья — продолжение цикла про osquery и Fleet.
Предыдущие статьи вы можете почитать здесь и здесь.

В статье хочу поделиться радостью и «болью» опыта эксплуатации связки Fleet и osquery в масштабе e-commerce/highload.
Этот опыт будет полезен тем, кто ещё только думает об этой связке и планирует её внедрять, а также тем, кто уже внедрил и эксплуатирует.
Osquery мы эксплуатируем на рабочих станциях и серверах под управлением операционных систем MacOS, Windows и Linux.
Для начала стоит напомнить, что такое osquery и Fleet и почему они так классно друг друга дополняют.

Osquery — opensource, написанный на С++, представляет собой агента, запущенного на хостовой (и не только) ОС, который может предоставить большое количество информации о вашей системе и событиях в виде СУБД.

Также osquery имеет два вида запросов:

Читать далее

Эффективный инференс множества LoRA адаптеров

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

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

MultiLoRA решает эту проблему, позволяя одновременно выполнять инференс с несколькими адаптерами на основе одной базовой модели.

В статье мы сравним производительность MultiLoRA-инференса в двух популярных фреймворках — vLLM и TensorRT-LLM. Тесты проведём на готовых релизных Docker-образах, оценивая, какой фреймворк эффективнее обрабатывает батчи запросов в сценариях, близких к офлайн и асинхронному инференсу.

Читать далее

Разрабатываем полноценную игру целиком при помощи ИИ (LLMDD, часть 1)

Уровень сложностиПростой
Время на прочтение52 мин
Количество просмотров9.2K

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

Читать далее

VictoriaMetrics, разделяй и агрегируй! Оптимизация хранения метрик

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

Так ли нужно хранить 3 ТБ метрик за 180 дней? Устали от компромисса между детализацией мониторинга и размером storage?
В статье разберём, как разделить метрики на два независимых потока без Multi Retention из Enterprise-версии. Solution inside: простое, но эффективное решение с сохранением детализации для оперативного мониторинга и разумным использованием дискового пространства. Идём организовывать хранение сырых метрик на 30 дней и агрегированных — на 180!

Интересно? Переходите под кат!

Cборка Java-проектов в GitFlic Kubernetes-агентом

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

В последнее время, многие общепризнанные в мире сервисы оказались недоступны для разработчиков из России и им приходится искать аналоги. Одной из таких альтернатив для GitHub является сервис GitFlic. Это такой же хостинг исходных кодов, который, кроме того, предоставляет возможность использовать в работе реестры артефактов и пакетов для различных технологий. В нашем случае это можно засчитать за УТП (Уникальное торговое предложение), ведь не многие разработчики знают о сторонних registry-сервисах продолжая пользоваться DockerHub, который работает “по умолчанию”. Кроме того, развертывание собственного такого сервиса, соответствующего всем требованиям корпоративной безопасности, может потребовать немалых ресурсов.  

Чтобы исходный код стал артефактом, т. е. ресурсом, готовым к развертыванию в тестовых или продуктивных средах без лишней ручной работы желательно иметь некоторый пайплайн, т. е. сборочный конвейер, который выполнит все преобразования. GitFlic не предоставляет агентов пригодных для сборки контейнерных образов, но позволяет подключать собственные. В данной статье мы настроим сборочный пайплайн для Java разработки на фреймворке Jmix с использованием агента, работающего в кластере Kubernetes.  

Читать далее

Visopsys — ОС, которую написал один человек

Время на прочтение5 мин
Количество просмотров18K

На Хабре частенько говорят о дистрибутивах, так или иначе основанных на ядрах Linux или BSD. Но есть и совсем уникальные операционные системы, которые разрабатывались с нуля и полностью самодостаточны. Порой такие проекты создаются лишь одним человеком, яркий пример — TempleOS. Сегодня хочу рассказать о Visopsys, проекте визуальной операционной системы, которая уже 23 года разрабатывается Энди Маклафлином (Andy McLaughlin) в качестве хобби.

Читать далее

Как я масштабировал систему уведомлений трекера ошибок Хоук

Уровень сложностиСредний
Время на прочтение6 мин
Количество просмотров1K

Я — Web разработчик в команде CodeX @e11sy

Я работал над переписыванием системы уведомлений open-source трекера ошибок Хоук. Он отлавливает ошибки в ПО и присылает уведомления разработчикам. Исходная реализация была простой и не масштабируемой, что приводило к задержкам получения уведомлений.

Читать далее

Rattle: узнаём об ошибках в Docker раньше, чем сообщит клиент

Уровень сложностиСредний
Время на прочтение6 мин
Количество просмотров3.2K

Контейнеры падают, а вы узнаёте об этом постфактум? Ошибки в логах проходят мимо?

Собрал Rattle за три дня — простой self-hosted инструмент, который отправляет события из Docker в Telegram. Без лишних панелей, без сложной настройки — просто работает и сообщает о самом важном.

В статье рассказываю, зачем он мне понадобился, как устроен внутри и как можно быстро развернуть его у себя. Покажу Telegram Mini App, через которую удобно управлять уведомлениями.

📎 Ссылка на репозиторий: github.com/rattle-bot/rattle

Читать далее

Карты, Java, 2 null'а. XMage edition

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

Компьютерная игра на Java — вещь довольно редкая, но всегда интересная. Поэтому мы не упустили возможность проверить статическим анализатором проект XMage и поделиться результатами. Посмотрим, что нашёл PVS-Studio в исходном коде проекта.

Читать далее

Проверка документации без боли: наш путь к автоматическому спелл-чеку через CI/CD (обзор и видео доклада)

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

В статье рассматривается опыт команды технических писателей Deckhouse по внедрению автоматизированной проверки орфографии в документации. Описываются причины, по которым проверка текста является важной частью работы с документацией, а также анализируются различные подходы к решению этой задачи: от ручной проверки до автоматизации. Подробно разбираются этапы выбора и интеграции инструмента Hunspell в пайплайн CI/CD, особенности работы с различными форматами файлов (Markdown, HTML, YAML), настройка контейнерной среды и создание кастомного словаря терминов. Приводятся практические примеры реализации и результаты автоматической проверки в процессе работы с документацией.

Читать далее

Open Source: Галерея готовых решений + Telegram-бот для брифов

Уровень сложностиПростой
Время на прочтение2 мин
Количество просмотров1.6K

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

Если объяснить просто — это некий аналог WordPress, но не для сайтов, а для готовых решений и данных, которые можно устанавливать и разворачивать буквально за пару минут.

Первое опубликованное решение — Telegram-бот для автоматического сбора брифов от клиентов.

Читать далее

Удаление брошенных файлов в Greengage DB

Уровень сложностиСредний
Время на прочтение29 мин
Количество просмотров928

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

Читать далее

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

Наблюдаемость “по-взрослому”: опыт внедрения OpenTelemetry

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

Когда микросервисов становится столько, что в них легко запутаться, а Prometheus уже не справляется с единой картиной мира, пора переходить на новый уровень observability.

Расскажу как именно я внедрял OpenTelemetry в своей инфраструктуре, с какими сложностями столкнулся и какие возможности открывает такой подход.

Спойлер: вышло хорошо

Узнать больше

15 минут — и у тебя бесплатная ИИ-модель для генерации кода, текста, чтения иллюстраций

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

Я устал платить за GPT и думать, куда уходят данные. Нашёл Gemma 3 12B от Google и LM Studio — установил всё за 15 минут. В статье — подробная инструкция и советы, как запустить свою Gemma даже без опыта в ML.

Читать далее

Ansible для людей: автоматизировал и выдохнул

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

Одна команда — и сервер настроен. Я больше не лезу вручную и не повторяю одно и то же десятки раз. Внутри рассказано о том, как Ansible помогает автоматизировать задачи, от настроек до деплоя.

Читать далее

Мета-акторы, готовый скелет микросервиса

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

Я ненавижу руками создавать бойлерплейты. Любые. Нет, LLM-ки тут тоже не помогут: им надо писать промпты (а потом ещё проверять, что оно там нагенерировало). Мне всегда хотелось, чтобы остов приложения задавался конфигурацией, а я бы только добавлял бизнес-логику. Буквально, в уже сгенерированные для неё места.

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

Так родилась библиотека (пока не опубликована, доступна только в исходниках) persistomata.

Даже не библиотека, а (простите) фреймворк

Telegram AI Companion: веселый проект на Rust, Telegram и локальном ИИ

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

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

Недавно я собрал небольшой, но бодрый pet-проект — Telegram AI Companion. Это Telegram-бот, который умеет болтать с вами, используя локальную языковую модель через LocalAI. Без OpenAI, без облаков — всё на своём железе.

Цель проекта — не революция в AI, а именно учебное и увлекательное погружение в Rust, асинхронность, Telegram API и локальные LLM-модели. Такой себе “бот-компаньон”, но больше для разработчика, чем пользователя :)

Если вам интересно:

Читать далее

Мультиконтейнерные поды в Kubernetes: новые возможности и лучшие практики использования сайдкаров

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

В Kubernetes 1.28 появилось новое поведение: init-контейнеры теперь могут иметь поле restartPolicy (KEP 753). Это позволяет явно указать kubelet’у, что такой контейнер следует считать сайдкаром, а не классическим init-контейнером. В Kubernetes 1.33 эта долгожданная фича наконец получила стабильный статус. Разбираемся, что такое сайдкар-контейнеры и когда их лучше использовать.

Читать далее

Загадочный параметр $live_site в configuration.php Joomla. Зачем он нужен?

Время на прочтение2 мин
Количество просмотров786

Давным-давно, когда Joomla ещё была маленькой, в неё внедрили параметр $live_site. В ней хранился домен текущего сайта на случай, если Joomla не могла его определить из-за неверной настройки сервера. Нужно это было для разных SEO-компонентов, для использования редиректов и т.д.

Со временем для работы собственно сайта этот параметр перестал быть нужным. Уже в начале 2010-х стали встречаться рекомендации оставлять этот параметр пустым, дабы оный не привёл к лишним проблемам и путанице. Тем более, в web-админке нет места, где его можно указать или посмотреть его значение. Только в configuration.php, а туда смотрят не часто.

Однако, параметр всё же остался в ядре Joomla. Зачем он нужен?

Читать далее

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