Обновить
478.84

Open source *

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

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

Как получить и использовать бесплатную лицензию PVS-Studio на практике. Часть 3: работа с отчётом и разбор срабатываний

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

Продолжаем изучать использование PVS-Studio на практике для бесплатных (и не только) проектов. В этой статье мы рассмотрим основной этап взаимодействия с инструментом — работу с отчётом! Подробно рассмотрим первый опыт разбора срабатываний, изучим интерфейс и посмотрим на ошибки в проекте osu!

Читать далее

Совет по Joomla: несколько значений по умолчанию в XML-формах для стандартных полей типа list

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

При работе над плагином возникла необходимость указать стандартный набор из нескольких элементов стандартного поля списка. И хотелось указать их в стандартном же атрибуте default для полей.

Как это сделать расскажет эта небольшая заметка.

Читать далее

Линус Торвальдс жёстко отверг поддержку big-endian RISC-V

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

Линус Торвальдс в своём классическом стиле категорически высказался против предлагаемой поддержки режима big-endian для архитектуры RISC-V в ядре Linux. Всё началось с вопроса в рассылке о том, смогут ли патчи для RISC-V BE попасть в текущий цикл разработки ядра.

Читать далее

QR-код по запросу: знакомство с QRious

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

Недавно мне понадобилось реализовать автоматическую генерацию QR для личного проекта. Идея простая: пользователь нажимает на кнопку «Пригласить друга», а небольшая функция на JavaScript закидывает в буфер обмена реферальную ссылку.

Все было бы хорошо, но нужно было добавить попап с QR-кодом, который при сканировании перекидывает по ранее полученной ссылке. И так как писать собственное решение было сомнительной идеей, пришлось использовать библиотеку — QRious. В этой статье расскажу, как с ней работать.

Читать далее

Почему Go до сих пор меня раздражает?

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

Команда Go for Devs подготовила перевод статьи о том, почему спустя десять лет автор по-прежнему критикует Go. Ошибки на миллиард долларов, загадочный nil, проблемы с памятью и «магия» defer — по мнению автора, всё это делает язык излишне сложным и болезненным. А стоит ли оно того?

Читать далее

DIY Open Source принтер. Часть 2. Логика управления печатающей головой HP123

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

Привет, Хабровчане!

Это продолжение моего дневника разработки DIY струйного принтера. Предыдущие части:

DIY Open Source принтер. Часть 0
DIY Open Source принтер. Часть 1. Покоряем USB Printer Class и имитируем печать текста

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

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

статья на Hackaday и проект PrintSpider_Arduino от нашего товарища по Хабру @lichnost
— cтатья Magic Printer Cartridge Paintbrush и проект printercart_simple от Spritetm

Речь пойдёт только об отработке логики! Подключение железа пока невозможно — затронем в следующий раз — я работаю в этом направлении.

Читать далее

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

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

Представьте, что вы DevOps-инженер и разработчик просит развернуть новое приложение в Kubernetes. В большинстве случаев в нем будут секреты: логин или пароль от базы данных, ключи для S3-бакета и так далее. Эти секреты желательно спрятать.

Есть несколько способов это сделать. Мы в команде используем HashiCorp Vault. Храним там секреты в формате key-value, откуда они попадают в приложения, развернутые в ArgoCD с помощью ArgoCD Vault Plugin или аналогичных решений. Звучит не очень сложно, но кое-что в такой схеме нам не нравилось: ручное добавление или изменение существующих секретов в Vault, а также необходимость периодически создавать руками новые key-value secrets engine. Еще стоит упомянуть, что Vault используется не только DevOps-инженерами, но и разработчиками, например в их Jenkins-джобах, а у разработчиков нет доступа на запись в Vault, поэтому любой запрос на добавление/изменение секретов с их стороны выполнялся в рамках заведенного на DevOps-инженера Jira-тикета. Тикеты не всегда вовремя замечались в бэклоге, поэтому такая простая задачка, как добавление секретов, могла растянуться на пару дней.

Поэтому процесс взаимодействия с Vault мы в YADRO решили автоматизировать. В статье я расскажу, как можно управлять Vault через подход IaC (Infrastructure as a Code) с использованием OpenTofu — open source-форка Terraform.

Читать далее

AI Review: инструмент для автоматического ревью кода на основе LLM

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

Раньше вас ревьюил злой коллега — теперь это делает AI. AI Review — open-source инструмент, который сам проверяет код прямо в CI/CD. Поддерживает OpenAI, Claude, Gemini, GitLab и GitHub. Быстро, честно и без боли.

Читать далее

NeuVector в современной Kubernetes-инфраструктуре: почему мы не рекомендуем его для production

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

Недавно мы реализовали интеграцию NeuVector с Deckhouse Kubernetes Platform по запросу сообщества. Тем не менее наш практический опыт показывает, что NeuVector нельзя считать надёжным инструментом обеспечения безопасности кластеров и контейнеров в production-средах.

В статье набрасываем на вентилятор приводим аргументы, подтверждающие эту позицию, несмотря на отдельные сценарии, когда использование NeuVector может быть оправдано. А ещё предлагаем современные и надёжные Open Source-альтернативы.

Читать далее

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

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

Привет, Хабр! Я — Ксюша, младший специалист по ИБ в Selectel. 22 сентября 2012 года в России появилась первая программа багбаунти. Сегодня в индустрии уже работают несколько отечественных платформ, которые объединяют тысячи исследователей и десятки компаний. С каждым годом интерес к багбаунти увеличивается: все больше людей принимают в этом участие, а бизнес активнее разрабатывает собственные программы. Если впервые слышите об этих программах или хотите узнать, как они появились, вы обратились по адресу. В статье поделюсь историей возникновения и расскажу, как уже сегодня можно зарабатывать (и учиться) на чужих ошибках.

Читать далее

Что нового в PostgreSQL 18? Взгляд разработчика

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

Команда Go for Devs подготовила перевод обзора PostgreSQL 18. Новый релиз не ограничился громкой подсистемой асинхронного ввода-вывода — он принёс ряд функций, заметных именно в повседневной разработке. Нативная поддержка UUID v7, виртуальные генерируемые столбцы, расширенные возможности RETURNING и новые средства диагностики делают жизнь разработчиков проще и продуктивнее.

Читать далее

CyberOffice.pro: «Зачем?» и «Почему?»

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

Известно, CyberOffice.pro создан на основе Apache OpenOffice с малыми доработками «для себя и для друзей».

Далее по тексту ответы на вопросы: «Зачем?» и «Почему?».

Читать далее

Flight Recorder в Go 1.25 – точечная диагностика без лишних трассировок

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

Команда Go for Devs подготовила перевод статьи о новом инструменте диагностики в Go 1.25 — flight recorder. Он позволяет заглянуть в последние секунды работы приложения уже после того, как произошла проблема, и точно понять, что случилось «под капотом». Отличный способ находить тонкие баги и задержки в долгоживущих сервисах без гигабайтов бесполезных трассировок.

Читать далее

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

Полезный проект — ещё полдела: инструменты для оформления README и документации

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

База знаний помогает пользователям быстро понять, какие возможности есть у облачных сервисов — так же, как качественный README объясняет назначение open source‑проекта. 

В этом материале мы собрали несколько интересных бесплатных инструментов для подготовки README.

Читать далее

GitOps для начинающих: от открытых материалов для чтения с примерами — к open source-инструментам по теме

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

GitOps — широко известен и востребован, поэтому по теме регулярно появляются новые материалы для начинающих, а также специализированные инструменты. Мы в Beeline Cloud подобрали примечательные вводные статьи, гайды и open source-решения, которые интересно изучить и потестировать: от управления DNS-зонами и секретами до GitOps-инструментов от энтузиастов и крупных фирм-разработчиков.

Читать далее

Как генерировать изображения на Rust в 100 строчек кода с Yandex ART?

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

Если в вашем Rust-проекте возникает необходимость генерировать изображения, то расскажите зачем) А о том, как это сделать — в этой статье. В качестве источника самих картинок я выбрал Yandex ART из-за того, что с ним не нужно возиться со всякими трехбуквенными сервисами, реклама которых в России запрещена.

Читать далее

Как получить и использовать бесплатную лицензию PVS-Studio на практике. Часть 2: первый запуск и настройка

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

Продолжаем изучать использование PVS-Studio для бесплатных (и не только) проектов. В этой статье мы разберём основные настройки анализатора и их важность, а также с чего стоит начать знакомство при первом запуске анализа на новом проекте.

Читать далее

Кэширование в Go: ускоряем API без Redis

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

Команда Go for Devs подготовила перевод статьи о том, как кэширование помогает ускорить API на Go и снизить нагрузку на базу данных. В статье разбираются основные стратегии кэширования — от Write-Through до Write-Back — и показан пример реализации кэша с TTL на чистом Go. Отличный материал, если хотите ускорить свой сервис без перехода на Redis.

Читать далее

T-ECD — синтетический кросс-доменный датасет для исследований в области рекомендательных систем

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

Всем привет! На связи команда RecSys R&D Т-Банка. В экосистеме Т мы развиваем рекомендации практически во всех сервисах — от инвестиций до доставки продуктов и кэшбэка.

Представляем  открытый синтетический датасет T-ECD — T-Tech E-commerce Cross-Domain Dataset. Он создан на основе реальных данных Т-Банка и предназначен для исследований в области рекомендательных систем. 

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

Рассказываем, как T-ECD устроен и что внутри. Полный датасет и его уменьшенная версия T-ECD-Small уже доступны на Hugging Face.

Читать далее

Как убрать жёлтый оттенок у картинок, сгенерированных в ChatGPT

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

Открытый в конце ноября 2022 года ChatGPT вскоре перестал быть сервисом только для создания текстов. Ещё 19 октября 2023 в платные тарифы добавили DALL·E 3. 8 августа 2024 года OpenAI расщедрилась: отныне можно было создавать до двух картинок в сутки на бесплатном тарифе ChatGPT. Важно, что это был просто союз с большой языковой моделью: БЯМ переводит нестройную человеческую просьбу в детальный бриф промпта для графического бэкэнда — генеративной нейросети на диффузионных декодерах.

25 марта компания OpenAI объявила, что отныне модель GPT-4o может генерировать картинки. БЯМ способна не только создать новое изображение с нуля по текстовому описанию, но и принять на входе другую картинку с текстовым промптом и сгенерировать что-то на этой основе. Теперь картинки рисовала не чистая диффузия, а авторегрессионный трансформер в связке с мощным декодером, качество поднялось, практическая польза резко выросла.

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

Читать далее

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