Обновить
487.13

Open source *

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

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

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

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

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

Читать далее

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

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

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

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

Читать далее

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

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

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

Читать далее

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

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

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

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

Читать далее

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

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

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

Читать далее

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

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

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

Это продолжение моего дневника разработки 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 мин
Количество просмотров3.9K

Представьте, что вы 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 мин
Количество просмотров2K

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

Читать далее

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

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

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

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

Читать далее

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

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

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

Читать далее

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

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

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

Читать далее

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

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

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

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

Читать далее

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

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

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

Читать далее

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

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

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

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

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

Читать далее

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

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

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

Читать далее

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

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

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

Читать далее

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

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

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

Читать далее

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

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

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

Читать далее

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

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

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

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

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

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

Читать далее

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

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

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

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

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

Читать далее

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