Как стать автором
Обновить
439.1

Open source *

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

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

Как делать видеоигры в 2025 году (без движка)

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

На дворе 2025 год, а я всё ещё продолжаю делать видеоигры. Если верить archive.org, я начал заниматься этим двадцать лет назад! Достаточно долгий срок для одного увлечения...

Когда я рассказываю о том, над чем работаю, люди часто спрашивают меня, как я делаю игры, и их часто удивляет (а иногда и тревожит?), когда я говорю, что не пользуюсь коммерческими игровыми движками. Существует какой-то стереотип, что если ты делаешь игры не в популярном инструменте наподобие Unity или Unreal, это значит, что ты чуть ли не вручную пишешь ассемблерный код.

Я искренне считаю, что создание игр без огромного «многофункционального» движка может быть проще и интереснее, а часто и позволяет оптимальнее тратить вычислительные ресурсы. Я не делаю игру, в которой «есть всё», поэтому мне не нужны 90% фич, предоставляемых движками. Все мои игры обладают конкретным стилем и у меня есть конкретные способы работы с моими инструментами. Часто оказывается так, что используемым по умолчанию реализациям фич в крупных движках наподобие Unity не хватает столь многого, что мне всё равно приходится писать их самостоятельно. В конечном итоге, мои проекты по большей мере оказываются моими собственными инструментами и системами, а движок становится необходим лишь для создания удобного UI и части рендеринга...

Тут можно задаться вопросом, а зачем вообще использовать движок? Что он даёт? Зачем я позволяю инструменту потенциально препятствовать моей работе, когда его владельцы внезапно принимают неэтичные и ужасные бизнес-решения? Или выпускают обновление, которое требуется для запуска моей игры на консолях, но ломает всю систему в игре, заставляя переписывать её? Зачем я ежедневно борюсь с этим для работы с движком, пока я постепенно заменяю все его стандартные системы и он постепенно становится только загрузчиком ресурсов и фреймворком UI редактора?

Читать далее

Новости

tenv — универсальный менеджер версий для Terraform-стека

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

Когда в 2023 году появился OpenTofu, его моментально подхватило сообщество: идея полностью открытой альтернативы Terraform на тот момент выглядела свежо и многообещающе. Многие захотели попробовать его в деле — но очень быстро столкнулись с типичной проблемой: а как безболезненно переключаться между OpenTofu и Terraform? 

На первый взгляд всё казалось простым: установи два бинарника через любой пакетный менеджер — и готово. Но уже через пару месяцев активного развития OpenTofu, когда компании начали массово делать внутренние POC по миграции, стало очевидно: различий между OpenTofu и Terraform с каждой версией становится всё больше (часть из них хорошо видна, например, на cani.tf) и управлять разными версиями разных инструментов становиться все сложнее.

Именно тогда мы увидели нишу: менеджер версий, заточенный не просто под Terraform, а под весь Terraform-стек, включая OpenTofu.

Читать далее

Большое обновление DivKit: визуальный редактор, поддержка форм, аниматоры

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

Почти три года назад мы выложили в опенсорс DivKit — наш BDUI‑фреймворк для отрисовки интерфейса приложения из ответа сервера. С его помощью вы можете описать элементы, состояния и анимации на бэкенде. Приложение получит это JSON‑описание и отобразит его.

Мы не перестаём развивать DivKit и за последние месяцы добавили несколько важных функций. О них расскажем в статье.

Читать далее

Миграция с legacy: как werf упростил переезд на Kubernetes и ускорил CI/CD

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

Статья о том, как werf помог упростить переход на Kubernetes, ускорить CI/CD и решить проблемы с кэшированием. Автор поделился опытом внедрения, первыми шагами и преимуществами, которые получила его команда.

Читать далее

Мой вклад в безопасность блокчейна Hyperledger Fabric

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

Решил и я в рамках конкурса рассказать о своём вкладе в развитие open source. Речь про open source блокчейн Hyperledger Fabric. Блокчейн активно используется в разных сферах: цифровые валюты центробанков (БеларусииНигерии), операторами информационных систем цифровых финансовых активов, электронное голосование, энергетика, здравоохранение и др.

В этой статье я расскажу как я:

обнаружил проблему;
создал свой первый open source: смарт-контракт для решения этой проблемы;
повлиял на создание патча для блокчейна Hyperledger Fabric, устраняющего проблему.

Читать далее

Гарантийное обслуживание конечных автоматов

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

Я много и часто говорю о том, что есть принципиальное различие между конечным автоматом и полем «state» в базе данных. Я даже уже отчасти писал про это, но акценты в том тексте были на другом, поэтому я решил посвятить целые полчаса собственной жизни кристаллизации тезисов о правильных конечных автоматах и их реализации в CS.

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

Подписаться, чтобы посмотреть код

$mol: 10 лет спустя

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

Здравствуйте, меня зовут Дмитрий Карловский и я... всю жизнь занимаюсь открытием исходников. Позвольте немного рассказать о ней. Кого-то эта история вдохновит, кого-то наоборот, но надеюсь никого не оставит равнодушным. Рид будет лонгим. Уж простите, но из реквиема по мечте нот не выкинешь.

Сесть и прочитать

Почему Apache Spark становится ядром аналитических платформ в России: тренды, особенности и прогнозы для бизнеса

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

Эксперты компании «Криптонит» проанализировали главные тренды использования Apache Spark в бизнесе, выделили особенности его применения в России и спрогнозировали дальнейшее развитие на основе выявленных тенденций.

Растущая востребованность Spark объясняется не только открытым исходным кодом и гибкостью, но и лёгкостью интеграции с современными технологиями — от машинного обучения до облачных платформ.

«В России Apache Spark становится не просто популярным фреймворком для обработки данных, а частью экосистемы отечественных решений в сфере Big Data. Особенно это касается объектов критической инфраструктуры, где всегда отдаётся предпочтение только самым надёжным и проверенным решениям», — пояснил Иван Попович, руководитель направления обработки данных компании «Криптонит».

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

«Открытый исходный код здесь играет ключевую роль, так как обеспечивает прозрачность и возможность тщательной верификации. Также он даёт уникальную возможность адаптировать решение под конкретные требования проекта. Хотя само по себе наличие открытого кода не является гарантией безопасности, Apache Spark за 15 лет своего развития доказал эффективность и надёжность в самых различных областях применения», — добавил эксперт.

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

Читать далее

Как новичок пытался написать свой «терминал»

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

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

Для этого, на языке программирования Python я начал писать своё CLI‑приложение, которое упрощает работу с консолью. И что из этого вышло?

Узнать продолжение

Как Армия и open-source помогли мне стартануть карьеру

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

Грандиозная история вокруг микро open-source проекта который неожиданно выстрелил и вытащил меня из ямы

Читать

Торговый робот без QUIK и Windows: мой путь к Raspberry Pi и Backtrader на Московской бирже

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

В предыдущих статьях я рассказывал, как пришёл к идее создания собственного торгового робота. Мотивация проста:

✓ Автоматизация - алгоритм не спит, не нервничает и не занят своими делами.
✓ Дисциплина - робот исключает эмоции, следуя правилам.
✓ Тестирование - любую идею можно проверить на исторических данных, прежде чем рисковать деньгами.

Я всегда разделял два этапа: разработку торговых идей (логика стратегии) и реализацию механизма исполнения (отправка заявок, автотрейдинг). Сначала - бэктестинг и базовая оптимизация, и только потом - реальная торговля.

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

Разбираемся с 🤖

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

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

Всем привет

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

Быть может кто-то найдет что-то полезное или новое для себя.

Найти что-то полезное или новое для себя

От Docs as Code к Everything as Code: как Gramax меняет работу с документацией

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

Привет, Хабр! Меня зовут Катя, я лидирую Gramax, open-source платформу для управления технической документацией. Однажды мы с коллегами утонули в хаосе рабочих документов: без версий, без согласований, без истории принятых решений. Это подтолкнуло нас к созданию Gramax — инструмента, который интегрирует документацию в процесс разработки, делая его прозрачным и управляемым.

В этой статье расскажу, как Gramax помогает на каждом этапе разработки ПО. Как перейти к документированию в подходе Docs as Code и шагнуть дальше — к Everything as Code.

Интересно, давай!

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

Как я пытался спасти аккаунт разработчика в Google Play и в итоге сделал крипто-приложение

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

Недавно я получил неожиданное письмо от Google, после которого пришлось срочно писать криптоприложение. Спойлер: там пончики. Много пончиков.

Внимание! Возможен контакт с пончиками

SQL-линтер на Rust, HTML-минификатор для .NET и эмулятор DOS в браузере: кто получил гранты Yandex Open Source

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

В конце октября мы анонсировали продление программы грантов от Yandex Open Source для поддержки проектов независимых разработчиков. Пришло время подвести итоги и рассказать о победителях.

За прошедшие месяцы мы изучили 120 проектов в трёх категориях: обработка и хранение данных, машинное обучение и разработка. Кстати, одну из заявок мы получили 15 марта в 23:59 — в последнюю минуту подачи. Этот проект тоже есть среди победителей.

Так мы выбрали 12 проектов, которые показались нам самыми интересными, полезными и перспективными. Мы попросили победителей рассказать про свои проекты чуть подробнее. Кто знает, возможно, в этой статье вы найдёте для себя новые инструменты, которые будут полезны в вашем проекте.

Читать далее

Понимающий робот: голосовой интерфейс на ESP32 и OpenAI

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

«Развернись на 180 градусов, проедь вперёд и включи фары»,
«Подъедь ближе к свету»,
«Если рядом ничего нет — проедь вперёд, потом поверни направо».

Хочется, чтобы даже игрушечные роботы понимали такие команды с полуслова. Без заученных фраз, без кнопок, без пульта. Нас к этому приучают голосовые ассистенты — Siri, Alexa, Алиса, но в DIY-проектах или любительской робототехнике такие интерфейсы встречаются редко, особенно когда речь идёт о чём-то более сложном, чем «вперёд» и «назад».

Готовых решений с распознаванием речи для различных устройств в продаже не нашёл, поэтому решил собрать всё самостоятельно. Получился контроллер для робота, который не просто «слушает», а действительно понимает команды.  

Читать далее

Open Source и C++: делай что должен и свершится, чему суждено

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

Syn ack, Хабр!

С++ - это тяжелый выбор для кросс-платформенного open source проекта. Если вы выбрали С++, то вам нужно пройти следующие этапы:

Сборочка. В С++ нет устоявшихся паттернов сборки. Разные платформы и ОС имеют разные требования для сборки. Если вы хотите показать миру ваше ПО, придется разработать сборочку, которая адаптирована под многообразие платформ и легко поддерживается мейнтейнерами эти

Архитектура. В С++ нет устоявшихся паттернов архитектуры ПО, которая бы подходила для большинства разработчиков. Существуют множество библиотек для решения одних и тех же задач, но с разными архитектурными паттернами. Если вы хотите сделать библиотеку или чтобы ваше ПО могло расширяться другими разработчиками, придется продумать расширяемую архитектуру ПО.

Распространение. В С++ нет устоявшихся паттернов для распространения вашего по. Даже вопрос, а куда выкладывать релизы является открытым и не имеет полностью рабочего решения. Вам придется продумать и разработать методы доставки вашего ПО до ваших пользователей.

Хабр и GitVerse обьявили конкурс, в котором попросили поделится своим опытом участия в open source проекте:

“Твои «грабли» — это уже отловленные баги для тех, кто идёт следом”

Я наткнулся на “грабли” в процессе разработки open source проекта на С++: Daggy - Data Aggregation Utility and C/C++ developer library for data streams catching. Чтобы вы могли отловить мои баги, стоит разобраться, откуда возникла идея еще одного open source проекта.

Читать далее

Мой любимый векторный редактор PowerPoint или как я создал python библиотеку для добавления фигур в презентации

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

Если бы меня спросили, какой мой любимый векторный редактор, я бы, не задумываясь, ответил: PowerPoint.

Это началось с желания делать презентации, которые приятно смотреть. Меня всегда огорчало, как часто даже в хороших докладах используются мыльные, шакальные картинки – особенно там, где вполне можно обойтись аккуратными векторными схемами. В какой-то момент я решил: буду рисовать всё сам – фигурами прямо в PowerPoint.

Так я и жил, пока однажды мне не понадобилось вставить тысячу точек scatter-графика и нарисовать пару нейросетей. PNG не хотелось, руками – слишком лениво. Тогда я создал pptx-shapes – библиотеку, которая позволяет добавлять фигуры на слайды презентации.

Читать далее

Что нового в vite-plugin-create v1.0.1 или как я ещё на шаг приблизился к идеальному генератору

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

После выхода первой версии плагина я решил сразу сесть за реализацию roadmap

Новая версия vite-plugin-create — это не просто багфиксы, а большой шаг в сторону реальной кастомизации. Теперь ты сам определяешь, что ты хочешь генерировать, как называть, какие шаблоны использовать — и всё это максимально просто.

Читать далее

О том как я писал компилятор Си

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

Сегодня вы узнаете мой опыт писания компилятора си на python.

Пробуйте тоже так! (если захотите)

Данная статья в две части.

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