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

Open source *

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

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

Flutter + Jules (настройка контейнера для background AI Agent)

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

На этом Google IO google показал новый инструмент разработки - https://jules.google.com

В чем плюсы: пока бесплатный, работает на gemini, и это AI Agent.

Что это значит (пример):
Часто бывает проблема, что кол-во модулей в проекте или библиотек которые хотелось бы сделать, превышает кол-во которое можно поддерживать. Особенно если ведешь open source библиотеку.

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

Чтобы начать, обычно можно использовать небольшой промпт чтобы предсоздать план по которому Jules будет частично следовать (на самом деле она пересоздаст план, но имея рефренсы ей будет проще):

Читать далее

Cozypkg: как мы упростили локальную разработку с Helm + Flux

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

Привет! Я Андрей Квапил (или kvaps) и в этой статье я опишу наш путь организации доставки приложений в Kubernetes, объясню недостатки классического GitOps в локальной разработке и покажу, как новая утилита cozypkg решает эти проблемы. Материал рассчитан на разработчиков, знакомых с Helm и Flux.

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

Читать далее

Как привинтить Python к Go

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

Здравствуйте,

Меня зовут Александр Певзнер, и я программирую на Си и Go. Go обычно ассоциируется с бакендом, микросервисами и вот этим вот всем. Но я использую его необычным образом: я пишу на нём системное ПО.

Почему я это делаю именно на Go? Этот язык привлекает меня своей простотой, лаконичностью, ясной семантикой, прекрасной документацией и великолепной стандартной библиотекой.

Одна из моих программ, ipp-usb, написанная на Go, входит во все дистрибутивы Linux и *BSD и делает возможным использование принтеров и сканеров, которые подключаются к USB и поддерживают IPP over USB протокол - т.е., примерно всех современных.

А еще я член OpenPrinting - небольшой, но очень плодотворной группы людей, которая ответственна за печать и, отчасти, сканирование на всех UNIX-like OS и за формирование индустриальных стандартов в этой области.

Это всё начиналось для меня, как хобби, но сейчас это - часть моей оплачиваемой работы.

В силу особенностей моей работы меня не очень интересуют такие вещи, как поддержка миллиона запросов в секунду и прочий high load (это не значит, что мои программы тормозные. Но никто не дёргает системный принтер миллион раз в секунду). Но зато приходится разбираться с некоторыми другими непростыми штуками.

Об одной из таких штук и пойдёт речь в этой статье.

Понадобился мне для одного проекта на Go встроенный скриптинг. Ну т.е., чтобы программа могла всосать в себя скрипт, который определяет некоторые аспекты её поведения.

Размышляя о том, на каком языке программа должна скриптоваться, в выбирал между JS, Lua и Python.

Однако, JS и Lua - слишком нишевые языки. JS ассоциируется у всех с вебом а Lua - с разработкой игр. Таким образом, выбор естественным образом пал на Python. Этот язык знают все, а я испытываю некоторую надежду, что скрипты для моей программы буду писать не только я. Хотя сам я, должен признаться, Python не знаю и не люблю :)

Таким образом, осталось только придумать, как встроить интерпретатор Python-а в программу на Go.

Об этом и пойдёт речь в этой публикации

Как я хотел сделать говорящую банку, а получилось нечто гораздо большее: история RuFA Hub

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

В декабре 2024 года я сел за написание дипломного проекта. Хотелось сделать не просто формальность для зачёта, а что-то реально рабочее, полезное и интересное. Так родилась идея RuFA Станции — по сути, «говорящей банки» с пинами, через которую можно было управлять внешними устройствами. Представьте себе что-то вроде умной колонки, которой можно сказать: «RuFA, подай 5V на пин 13», — и она выполнит.

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

«Слушай, ну это... идея так себе. Ты можешь лучше».

Читать далее

Что будет, если пригласить на свидание OCR и GPT?

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

Привет, Хабр! Снова на связи Кирилл Пронин, разработчик PIX RPA из PIX Robotics, со мной Александр Сулейкин, Founder DUC Technologies и сегодня мы с вами затронем тему «Что будет, если объединить OCR и GPT?».
Признайтесь честно, видели какие ужасные результаты распознавания выдают современные open source решения для кириллицы? Вряд ли из коробки, можно что-то использовать сразу в своих решениях роботизации и автоматизации. Но что же будет, если мы обучим модель не через стандартные методы машинного обучения, а через GPT? Каков будет результат? Стоит ли это исследовать и браться за реализацию? Обо всем подробно в этой статье.

Читать далее

Почему Rust так мало волнует производительность компилятора

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

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

Кроме того, наряду с обычными жалобами на время компиляции, я начал замечать от раздражённых разработчиков на Rust и подобные заявления: «Почему Rust Project не занимается активнее этой важной и очевидной проблемой? Почему с этим что-нибудь не сделают?». Я участник рабочей группы по производительности компилятора Rust, поэтому воспринимаю такие вопросы очень серьёзно. И, разумеется, у меня есть мнение по этому поводу. В этом посте я приведу свои размышления, способные служить ответами на эти (и похожие) вопросы.

Предупреждение: все выраженные в этом посте мнения исключительно мои и необязательно отражают точку зрения Rust Project (группы контрибьюторов и мейнтейнеров тулчейна Rust).

Читать далее

ScyllaDB: как настраивать метрики в java-драйвере и параметры запросов для измерения их характеристик

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

Привет, Хабр! Это Александр Коваль, я разработчик IoT-сервисов в МТС Web Services. При работе с данными часто возникает вопрос: как быстро система может вернуть результат по определенным параметрам? Не является исключением и ScyllaDB.

Для ответа нужны инструменты измерения и возможность настраивать систему. Java-драйвер для ScyllaDB умеет передавать информацию о своей внутренней работе, и ему можно настроить отдельные компоненты. Звучит как отличный план — в этом материале я поделюсь результатами экспериментов с java-драйвером для ScyllaDB при различных запросах к данным.

Код, ссылки и ресурсы располагаются в GitHub.

Читать далее

Что не так с коробочными админками, и почему стоит протестировать нашу

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

В 2022-м мы окончательно задолбались.

Каждый новый проект все по кругу: таблички, формы, фильтры, CRUD. Всё снова, как в Groundhog Day. Копипастить старое было больно, собирать с нуля – ещё хуже. И главное, ощущение абсурда: 2022 год, а мы продолжаем лепить админки вручную, будто на дворе 2015.

Окей, логичный шаг – найти готовое решение.

Мы правда пытались не изобретать велосипед

Первым делом пошли смотреть на CMS. Попробовали Strapi – мощный зверь, но если вам просто нужно бэку выдать пару CRUD’ов, то тянуть за собой целую экосистему с философией и особым образом жизни, это как стрелять из базуки по воробьям.

Дальше, дизайн-системы вроде Salesforce Lightning, Fluent UI и Fusion Design. Компоненты красивые, но по факту это просто UI-кирпичики. Всю бизнес-логику, связи между сущностями, обработку данных всё равно пишешь сам. Хотели сэкономить время, а получили “ты теперь ещё и архитектурой займись”.

React-Admin показался перспективным. Но мы быстро поняли, что он хочет, чтобы ты делал вещи его способом. А мы хотели делать их по-своему. Онбординг тяжёлый, кастомизация сложная, UI на любителя. Как часто бывает: сначала кажется, что ты взял инструмент, а потом он берёт тебя.

Мы поняли: компромиссы – это медленно

Что было дальше?

Ускорение тестового набора PyPI на 81%

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

Компания Trail of Bits уже несколько лет сотрудничает с репозиторием PyPI, помогая добавлять в проект новые возможности и улучшать стандартные параметры безопасности в экосистеме управления пакетами Python.

Читать далее

Зачем дизайнерам свои open-source проекты

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

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

В этой статье делюсь опытом создания инструментов для дизайнеров, которые можно не просто посмотреть, а сразу использовать в своей работе. Рассказываю о запуске Collected — бесплатного конструктора портфолио, Swarm — платформы для онлайн-выставок, и Everywhere.tools — коллекции open-source ресурсов для дизайнеров.

Читать далее

Управление тестированием без боли: митап о том, как выстраивать и автоматизировать QA-процессы

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

Не только рэп и андеграунд рождаются в Газгольдере — теперь там соберутся и те, кто «качает» процессы тестирования. Как инженерный подход помог создать востребованный инструмент для QA-команд, можно ли с нуля построить автоматизацию оборудования на Bash и почему отчетность — это не про таблицы, а про доверие к процессу? Об этом и не только поговорим 19 июня на QA-митапе от YADRO в Газгольдер Event Hall — живо, с практикой и участием экспертов из Avito, Т-Банка и YADRO. Регистрируйтесь и присоединяйтесь — онлайн или оффлайн.

Читать далее

Кто быстрее? Тестируем скорость языков программирования на Эльбрусе

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

Приветствую! Я разработчик в компании НИЦ ЦТ. Мы разрабатываем операционную систему, адаптированную под российские процессоры Эльбрус. Процессоры Эльбрус работают на своей оригинальной архитектуре, которая имеет свои преимущества и недостатки. В частности, интерпретируемые языки программирования не блещут производительностью. Вот мы и решили провести сравнительное тестирование различных языков, компиляторов и интерпретаторов чтобы выяснить, что лучше использовать для разработки под Эльбрус.

В статье представлены результаты бенчмарка Programming language benchmark, основанного на решении набора задач идентичными алгоритмами, реализованными на разных языках. Это позволяет оценить эффективность генерируемого компиляторами (или интерпретаторами) кода для выбранной архитектуры, поскольку скорость выполнения напрямую зависит от архитектурных особенностей процессора. Учитывая использование одного ядра процессора в тестах, результаты отражают потенциал оптимизации кода на низком уровне для каждого языка программирования в рамках заданной аппаратной платформы. Полученные данные позволят разработчикам делать более обоснованный выбор языка программирования для задач, критичных к производительности, с учетом специфики целевой архитектуры.

Читать далее

TUI-интерфейсы не обязаны быть болью. Я написал свой с мышкой

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

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

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

Читать далее

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

От первого коммита до опережения времени: как прошёл сезон Open source на Хабре

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

Этой весной, с 8 апреля по 23 мая, Хабр совместно с GitVerse запустил сезон Open source. Идея была простой: предложить IT-сообществу поделиться своими историями работы с открытым кодом. 

За время сезона было опубликовано 80 статей, которые в совокупности набрали около полумиллиона просмотров, 2000 плюсов и 1500 комментариев. Авторы делились опытом — от первых робких коммитов в популярные репозитории до создания собственных проектов, изменивших жизнь тысяч разработчиков. А читатели, в свою очередь, поддерживали, хвалили, критиковали и даже рассказывали, как тот или иной проект изменил их работу или жизнь.

Узнать итоги сезона

Готовность RISC-V для мобильных устройств: чекап середины 2025 года

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

У вас есть мобильное устройство с процессором RISC-V? Вопрос странноватый, но ответ может быть сложнее, чем кажется. Например, архитектуру RISC-V использует чип безопасности в Google Pixel 6. Конечно, процессоры смартфонов в основном задействуют архитектуру ARM — созданную, кстати, по принципам архитектуры сокращенного набора команд (RISC, Reduced Instruction Set Computer). Зачем же здесь RISC-V? Далее мы рассмотрим этот вопрос и оценим, насколько сама архитектура готова к такому применению.

Читать далее

Сравнительный обзор: Shodan, ZoomEye, Netlas, Censys, FOFA и Criminal IP. Часть 2

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

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

Читать далее

Виртуализация, которую можно трогать руками

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

После первой статьи про стандарты разработки и зарождение Open vAIR остался резонный вопрос: «А что там под капотом?». Отвечаем.

Эта платформа виртуализации создана для тех, кто хочет развернуть систему быстро, понять архитектуру без боли и не зависеть от чёрных ящиков с лицензией.

Внутри — модульный backend, изоляция через RabbitMQ, REST API и документация, которая обновляется вместе с кодом, а не спустя квартал.

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

Читать далее

Яркие моменты из истории проекта WebMarkupMin

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

За 13,5 лет я создал 12 опенсорс-проектов для платформы .NET и особое место среди них для меня занимает проект WebMarkupMin. Я не могу точно сказать, что мне больше всего нравится в нем: интересная исследовательская работа, лавры первопроходца на платформе .NET или не уходящая с годами актуальность.

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

Читать далее

Что нужно знать про использование werf при развёртывании гибридного приложения: личный опыт

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

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

Читать далее

Экспорт из Yandex Wiki в Markdown. Не стали дожидаться и сделали сами

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

Всем привет! Меня зовут Катя, я развиваю Gramax, open source-платформу для управления технической документацией.

В нашем чате и у пользователей регулярно встает вопрос переезда в Gramax c других платформ. Переезд с Confluence и Notion мы сделали прямо в интерфейсе приложения, а с Yandex Wiki — отдельной утилитой. Нет, мы не поленились, просто заметили, что сообщество Yandex Wiki такое давно просит: пример №1 (367 голосов), пример №2 (874 голоса).

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

Поехали!

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