Все потоки
Поиск
Написать публикацию
Обновить
368.66

Open source *

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

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

Чёрная дыра в продукте: Как назначенный профи создал вакуум управления

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

Эта история - не о плохом менеджере. Это вскрытие системы, где формальный статус победил реальную работу.
Представьте продукт, где вместо лидера - чёрная дыра. Где решения зависают в вакууме, потому что "профи" с опытом лишь оформляет присутствие. Где энергия команды бесследно исчезает, но организационные схемы показывают полную укомплектованность.

Вы узнаете:

Как благое намерение "усилить команду" превратилось в механизм самоуничтожения;

Почему пассивность квалифицированного специалиста опаснее открытого саботажа;

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

Этот текст - антидот против управленческой иллюзии. Если вы хоть раз чувствовали, что "процесс работает, а результат умирает" - вы уже в эпицентре.

Читать далее

Все о блокировках VPN за последние две недели

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

Всем привет!

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

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

Если интересно только то, что сейчас работает - перейдите в конец статьи.

Читать далее

I always come back: Анонс AsmX G3 — Новый этап в программировании

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

Привет, читатель! Ты видишь это лицо и надпись "I ALWAYS COME BACK"? Это не просто мем для хайпа — это моё обещание. И я его сдержал.

Я вернулся, чтобы анонсировать AsmX G3 — новое поколение моего проекта, которое вот-вот перевернёт твоё представление о низкоуровневом программировании. Это событие, частью которого я хочу тебя видеть.

🚀 Прыгнуть в будущее

Чем заняться в выходные? Как я собрал домашнюю виртуализацию в контейнерах за 34 500 рублей

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

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

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

Читать далее

Что нового в Wayland 1.24 и почему это важно для пользователей Linux

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

Wayland — не просто очередной протокол, а попытка заново выстроить графическую систему Linux: проще, безопаснее и с учетом современных требований. 7 июля 2025 года вышел стабильный релиз Wayland 1.24 — результат 13 месяцев разработки и еще один шаг к зрелой альтернативе X11. Он включает важные улучшения, усиливающие позиции Wayland как преемника X11.

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

Читать далее

Как «взломать» сайт Мосбиржи и получать лучшие BID и OFFER в Excel — без подписок, с помощью Python и API брокера

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

Excel - главный рабочий инструмент многих частных инвесторов. Здесь ведут портфели, стратегии и мониторинг котировок. Но получить от Московской биржи лучшие цены на покупку (BID) и продажу (OFFER) из стакана прямо в таблицу - задача не из простых. Даже платная подписка на сайт биржи не даёт получать котировки в Excel напрямую.

Но слово «взлом» в названии статьи - это художественное преувеличение. Мы не будем нарушать никаких законов или пытаться обойти защиту биржи и вообще даже не дышим в сторону серверов Мосбиржи. Однако голь на выдумки хитра - построим элегантное решение с помощью официального API от любого брокера.

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

Фактически по такой схеме можно получать любые параметры с биржи и видеть их в своём локальном Microsoft Excel или его свободном аналоге LibreOffice Calc.

Весь код представлен на GitHub.

Читать далее

А был ли патчик? Как долго живут уязвимости в Рунете

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

Привет, Хабр! Меня зовут Максим Пушкин, я работаю в компании СайберОК. В этой статье речь пойдет о простом вопросе, который мы исследовали в течение года: сколько дней/недель/месяцев в среднем живёт уязвимость в реальном мире? Посмотрим живые цифры и обсудим, какие категории ПО остаются наиболее уязвимыми.

Читать далее

200 тысяч единиц уже готовы, еще миллион — на подходе: разворачиваем контуры в один клик

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

Представьте, что вас каждый день просят «быстренько развернуть стенд» — с OpenSearch, PPO и десятком доработанных инструментов, «ну чтобы все работало». Сначала вы автоматизируете то, что делали руками. Потом автоматизируете автоматизацию. А потом в какой-то момент понимаете: нужно не писать скрипты, а строить полноценный продукт. Так у нас в Orion soft появился HyperDrive — наш способ развернуть Kubernetes-контуры по-настоящему по кнопке. И в этой статье я расскажу, как мы это сделали: от боли и хаоса — к параллелизму, GitOps и здравой инженерной оркестрации.

Привет, Хабр! меня зовут Даниил Рахновский, я — ведущий архитектор в Orion soft. В индустрии DevOps — шесть лет, три из которых веду проекты по HighLoad-инфраструктуре. Основную часть этого времени работал на стороне заказчика, потом перешёл на «тёмную сторону» и теперь работаю на стороне вендора. Занимаюсь сложным проектированием в направлении Professional Services.

Orion soft — это вендор. Мы разрабатываем инфраструктурное программное обеспечение, в портфель которого входит целая экосистема продуктов, а именно zVirt, Nova и другие. В Professional Services мы занимаемся аудитом ИТ-процессов, построением программно-определяемых ЦОДов на собственных технологиях. А еще предоставляем экспертизу вендора и поддержку для пользователей, чтобы наши продукты и технологии правильно и эффективно использовались.

В этой статье по мотивам моего доклада для DevOpsConf 2025 расскажу, как мы решали задачи массового деплоя сложных K8s-окружений. Для этого собрали лучшие практики и применили Open-Source-инструменты, а что-то — дописали с командой самостоятельно. Благодаря этой истории вы убедитесь, что DevOps-инструменты при правильном подходе и оркестрации помогают решать задачи по клику на единственную кнопку.

Читать далее

Пеликаны, сарказм и логические игры — забавные LLM-бенчмарки

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

Новые нейронки появляются чуть ли не еженедельно и каждая борется за первенство в лидербордах. Но есть и другой способ оценить их — например, с помощью необычных тестов. Мы в beeline cloud подобрали креативные бенчмарки: от рисования птиц на велосипедах до игр в духе логических загадок.

Читать далее

Как я пришёл в open source в 2025-м (с утилитой для бекапа PostgreSQL), чуть не потеряв проект на ~$1500\мес в 2023-м

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

Однажды я столкнулся с проблемой, когда почти потерял коммерчески успешный пет-проект из-за устаревших резервных копий БД (ещё до того, как он стал коммерчески неуспешным). При этом, даже после частичного восстановления, все-таки потерял ~30% прибыли от проекта, много нервов и времени.

Это подтолкнуло меня на разработку своего открытого инструмента для бекапа PostgreSQL. С разными хранилищами, уведомлениями при сбоях и health check'ом. Собственно, о том, как я потерял деньги и затем разработал проект — хочу рассказать в статье ниже.

Читать далее

Шифрование на основе хешей

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

Пишем свой алгоритм шифрования с помощью хеш-функции xxHash со скоростью 6.4 Гбит/с и обгоняем AES и DES (почти).

Читать далее

Без(д)воз(д)мездно, то есть даром

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

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

Читать далее

Маленькое приключение в поиске ошибок. The Battle for Wesnoth

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

В этой статье мы расскажем вам о том, как путешествовали по землям Ирдии. Нас ждали приключения, полные славных сражений, побед и редких наград в виде могущественных артефактов! "Что же это за артефакты такие?" — спросите вы. Конечно же, это ошибки, найденные в коде довольно известной и крайне увлекательной игры "The Battle for Wesnoth".

Читать далее

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

Профилирование php приложений с помощью Excimer

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

Привет, Хабр. Хочу рассказать историю, как я некоторое время назад занялся профилированием php приложения и как из этого получился мой первый open source пакет.

Читать далее

CoreBus: Часть 5 — попытка использования Native AOT

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

CoreBus (старое название «Терминальная программа») — кроссплатформенный терминал для работы с COM-портами и TCP-сокетами с поддержкой протоколов Modbus TCP / RTU / ASCII.

Ребрендинг, новые фичи и Native AOT (+ боль и разочарование).

Читать далее

Миграция с Firebird на PostgreSQL. Что может пойти не так? Часть 3

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

Третья часть статьи посвященной трудностям миграции с Firebird на PostgreSQL. (1ая часть, 2я часть).

Читать далее

Explyt Spring Plugin: поддержка Quarkus

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

Всем привет! На связи команда Explyt Spring. На этот раз как следует из названия будем говорить о поддержке Quarkus. На первый взгляд может показаться странным, причем тут Spring плагин и Quarkus. Но если разобраться более детально, то Spring также имеет поддержку Java EE аннотаций и к тому же поддержка Dependency Injection является одной из сильной сторон нашего плагина. Да и логика DI в Quarkus сильно проще чем в Spring, можно убедиться в этом прочитав официальную документацию, поэтому можно легко переиспользовать все наши текущие наработки и добавить поддержку Quarkus DI в наш плагин. И это также позволило переиспользовать для него многие другие наши «фичи», о чем будет рассказано ниже.

Читать далее

Веб-агенты, которые действительно понимают веб-сайты: как слой восприятия Notte решает проблему DOM

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

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

Читать далее

QapGen: Создаём мощные парсеры на C++

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

QapDSLv2 — это язык который транслируется в обычный C++ код. Он позволяет удобно и компактно задавать грамматики/правила разбора кода программ, значительно упрощая разработку компиляторов/анализаторов/трансляторов.

QapGen — это генератор дерева_лексеров/парсеров описанных на QapDSLv2. Сама грамматика QapDSLv2 описана на QapDSLv2 на 100%. Поэтому QapGen как основной читатель этой грамматики сам генерирует часть своего кода(весь парсер QapDSLv2).

Основные фишки QapDSLv2 + QapGen — это:

1) Отсутствие этапа токенизации — дерево лексеров разбивает входной поток на лексемы и сохраняет их в строго типизированных древовидных С++ структурах пропуская этап токенизации.

2) Генерация оптимизированного кода полиморфных лексеров.

3) Полное сохранение всех лексем(даже разделители сохраняются, такие как пробелы/переходы на новую строку и комментарии) в результирующем дереве.

4) Возможность сохранить как оригинальное дерево, так и модифицированное обратно в код/текст без потери разделителей/комментариев.

5) Автоматическая генерация кода посетителей(это такой паттерн проектирования).

А теперь пример самой сочной части(рекурсивно самоописывающийся код):

structt_target_struct:i_target_item{
structt_keyword{
stringkw=any_str_from_vec(split("struct,class",","));
" "? // optional separator
};
structt_body_semicolon:i_struct_impl{";"};
structt_body_impl:i_struct_impl{
"{" // жрём скобочку
vector<TAutoPtr<i_target_item>>nested?; //рекурсия!
" "?
vector<TAutoPtr<i_struct_field>>arr?; // парсим поля
" "?
TAutoPtr<t_cpp_code>c?; // остальной С++ код
" "?
"}"
};
structt_parent{
stringa_or_c=any_str_from_vec(split("=>,:",","));
" "?
t_namename;
};
//точка входа в парсер:
TAutoPtr<t_keyword>kw?; //парсимstruct/class
t_namename; //парсим имя
" "?
TAutoPtr<t_parent>parent?;
" "?
TAutoPtr<i_struct_impl>body;
};

Читать далее

Разворачивая свой WAF: открытые инструменты

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

Ранее в блоге beeline cloud мы рассказывали про веб-приложения компаний: почему они часто становятся целями злоумышленников и что способны им противопоставить решения WAF — Web Application Firewall. Сегодня рассмотрим несколько инструментов такого класса от разработчиков из Китая, Франции и Италии.

Читать далее

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