Обновить
483.59

Open source *

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

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

От минут к секундам, от ClickHouse к StarRocks: путь к real‑time в Hello

Уровень сложностиСредний
Время на прочтение12 мин
Просмотры77

Кейс Hello: миграция 100+ млрд строк с ClickHouse на StarRocks. Как ускорить аналитику в 5 раз, снизить расходы на инфраструктуру на 80% и построить real-time DWH. Разбор архитектуры, самописных инструментов валидации и подводных камней перехода.

Читать далее

Новости

Скрываем данные от стандартного режима exiftool прямо в чанках PNG

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

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

Читать далее

Современный подход к предотвращению CSRF/CORF-атак в Go

Уровень сложностиСредний
Время на прочтение8 мин
Просмотры231

Команда Go for Devs подготовила перевод статьи о новом подходе к защите Go-приложений от CSRF/CORF-атак. Автор разбирает, как связка TLS 1.3, SameSite cookies и http.CrossOriginProtection из стандартной библиотеки позволяют отказаться от токенов — но только если соблюдены важные условия. Насколько безопасен такой подход? Разбираемся.

Читать далее

Advent of Artificial Code

Время на прочтение5 мин
Просмотры308

Надвигается очередной конец очередного года, в связи с чем люди неравнодушные к своей работе — наверняка собираются принимать участие в состязаниях «Advent of Code» в своих стеках. За последние несколько месяцев существенно ожесточились споры на предмет вайбкодинга (даже термин ублюдский придумали). Мне пришла в голову тривиальная мысль: а что, если вовлечь в соревнование ваших любимых стажё^W искусственных помощников?

Я лично собираюсь решать AoC по старинке, но при этом оставляю право AI посостязаться со мной в этом соревновании и даже обойти меня в нем. В комментариях к этому тексту я предлагаю публиковать решения, выполненные лично вами, или вашими раба^W помощниками, на всех возможных языках программирования. В англоязычном интернете — полно форумов, на которых люди делятся решениями и обсуждают их; хабр (ну, как минимум тот, про который мы иногда вспоминаем в кондитерском смысле) — идеальное место для подобных обсуждений на русском языке.

Как это было в AoC 2024

Современные HelpDesk-системы: что мы нашли, пока изучали open source

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

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

Подходящих проектов оказалось немного: часть давно не обновляется, часть сложна в установке, а многие используют лицензии, которые затрудняют коммерческое применение. Анализ десятков репозиториев показал, что современных permissive-лицензированных HelpDesk-платформ почти нет.

Читать далее

Camunda vs n8n: гайд по оркестрации и автоматизации

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

Camunda и n8n — две мощные платформы для автоматизации рабочих процессов, но они решают совершенно разные задачи.

Camunda 8 предназначена для сложных, долгоживущих процессов, которые требуют регламентации, участия человека и интеграции между системами. n8n же оптимизирован для быстрых low-code автоматизаций и задач, ориентированных на работу с API, которые выполняются за секунды или минуты.

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

Если вы выбираете между Camunda и n8n или хотите эффективно использовать оба инструмента — это руководство для вас.

Читать далее

Отображение возраста контактов в Гугл календаре в день их рождения через People API

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

Если вы пользуетесь Гугл календарём, то стандартное напоминание выглядит как «ДР у Петра» и очень хорошо что Гугл теперь отображает и саму дату рождения — ещё несколько лет назад этого не было. Приходилось гадать — сколько лет‑то человеку?

Хотя задача упрощается и дата рождения уже перед глазами, а контакт можно открыть одним кликом, но всё равно приходится считать в уме — это круглая дата или нет?

В 2025 году с отображением даты рождения стало гораздо проще, но проблема стара как сам Google Calendar. В 2019 году я уже писал о попытках решить её разными способами: через громоздкие скрипты и старые методы Calendar API в 2022 году. Но многое из того давно сломалось, а Calendar API устарело.

Поэтому сейчас решил сделать через People API аккуратную автоматизацию, которая будет показывать в календаре не только «ДР у Ивана», но и сколько ему исполняется.

Читать далее

KRepo: Spring Data для Ktor — без Spring и без боли

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

KRepo: Никаких имплементаций или инъекций. Под капотом — динамический прокси, кэширование метаданных и независимость от фреймворков: плагины под Exposed, JDBC или MongoDB реализуются отдельно.

Читать далее

Мой Maven plugin для IDEA. Часть 3. Заключительная. Easy Maven — запуск тестов, приложения и отладка

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

Всем привет. Ранее яуже публиковал статьи (раз и два), где рассказывал о проблемах IDEA Maven плагина, основная из которых — это импорт проектов. И о своем решении Easy Maven, как получить информацию о проекте с помощью нативного Maven плагина. Теперь я бы хотел поговорить о запуске и отладке проектов в IDEA. С ними на самом деле похожая проблема. Чтобы это все работало, нужно импортировать в IDEA все настройки компилятора из билд файлов, чтобы среда разработки могла сама компилировать и запускать проект. Но это не так то просто — постоянно появляются новые параметры и возможности компиляторов, также для каждого из JVM языка (Java, Kotlin, Groovy, Scala и так далее) есть свой компилятор со своими особенностями, annotation processors — которые надо дополнительно распознавать и загружать как jar‑файлы с их транзитивными зависимостями и импортировать в IDEA. Постоянно нужно за всем этим следить и нам опять приходить играть в догонялки. Только мы всегда находимся на шаг позади в роли отстающих и нужно тратить много ресурсов, чтобы заставить запускаться проект корректно из IDEA. Поэтому я решил и тут пойти другим путем — а зачем нам вообще все это делать и переносить настройки в IDEA, если мы можно просто выполнить Maven таск для соответствующего плагина — запуск теста или приложения? Поэтому я хотел бы остановиться на этом поподробнее и рассказать о своем решении.

Читать далее

SPQR — наше опенсорс-решение для горизонтального масштабирования Postgres

Время на прочтение9 мин
Просмотры6.3K

В современных реалиях объёмы данных постоянно растут и появляются всё более жёсткие требования к производительности. Тут традиционный PostgreSQL сталкивается с фундаментальной проблемой: отсутствие нативной поддержки горизонтального масштабирования. 

Сегодня мы, команда платформы данных в Yandex Cloud, хотим рассказать о SPQR — нашем опенсорс‑инструменте, который который создавался как ответ на боль шардирования и эксплуатации крупных OLTP‑систем. Под катом — история о том, что стало отправной точкой для его создания, какие задачи он помогает решать, на чём основано наше решение и что помогает ему быть довольно простым в эксплуатации.

Читать далее

Собираем OpenWRT прошивку и ImageBuilder для нестандартного оборудования на основе dts

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

Привет Хабр! Меня зовут Алексей и я занимаюсь беспроводными технологиями. Не так давно я рассказывал, как собрать прошивку OpenWRT без image builder. В этой статье мы повысим планку и попробуем собрать и прошивку, и image builder для модели роутера с частичной поддержкой OpenWRT. Под частичной поддержкой я понимаю то, что для данной конкретной модели роутера поддержки нет, но она есть для платформы. Экспериментировать я буду с реальным устройством - это Wi-Fi 7 роутер, полученный от китайского производителя. Вместе с роутером производитель предоставил нам необходимую документацию и DTS файл. Заранее хочу предупредить, что производитель просил не раскрывать название модели и не тиражировать его DTS файл. Поэтому часть информации на скриншотах я заблюрирую.

Читать далее

Мы опубликовали стабильный, быстрый, качественный и доступный синтез для 20 языков России

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

Представляем наш синтез для языков России и СНГ. В этот раз получилось покрыть 20 языков, всего 95 голосов. От старой демки этот релиз отличается следующим:

Модель поддерживает SSML;

Модель стала быстрее ещё на 20-25% (она и так была супер быстрой);

С живыми дикторами были подписаны договоры на запись их голоса;

Запись велась в максимально высоком из практически доступного качестве;

Для ряда языков опубликованы модели простановки ударений и / или словари с ударениями в рамках silero-stress;

К модели синтеза применены все оптимизации, как к нашей прошлой публичной модели;

Для демки мы брали шумные публичные данные низкого качества. В этот раз всё хорошо - как следствие существенно выросло качество синтеза.

Читать далее

Open source-мероприятия в России: предстоящие конференции и встречи

Время на прочтение3 мин
Просмотры855

Предлагаю вашему вниманию подборку ближайших событий по open source. Фокус на открытых, бесплатных тематических мероприятиях различного формата (очных, онлайн и гибридных), в том числе с научным и управленческим уклоном.

Если вы планируете подобное событие (или проводите личный доклад по теме open source, который можно послушать бесплатно) в начале следующего года, присылайте посмотреть ссылки для потенциального включения в новую подборку.

Читать далее

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

Менеджер Python проектов на Python

Время на прочтение2 мин
Просмотры2.2K

Была у меня папка на диске C под названием Python. В ней я держал свои проекты. Со временем надоело каждый раз вручную создавать папку для нового проекта, потом вручную создавать стартовый файл app.py. Это одно и то же действие снова и снова. В какой то момент я зае***ся сильно устал, хотелось просто нажать одну кнопку и получить готовую структуру без рутины. Решил автоматизировать

Здарова Хабровчане, на связи King Triton. Ловите мое очередное бесполезное творение PythonProjectManager (далее PPM)

PPM это небольшое приложение на Python. Сделано на PyQt6. Задача простая. Создавать проекты быстро, без лишних движений, с удобным доступом к ним

Читать далее

Cure :: Завтипы и формальная верификация для BEAM

Уровень сложностиСредний
Время на прочтение9 мин
Просмотры1K

TL;DR: Cure — это функциональный язык программирования для виртуальной машины BEAM (Erlang/Elixir/Gleam/LFE), который привносит математические доказательства корректности кода прямо во время компиляции. Используя SMT-солверы (Z3/CVC5), Cure проверяет типы зависимые от значений, верифицирует конечные автоматы и гарантирует отсутствие целых классов ошибок ещё до запуска программы.

Проект выходит из стадии «наколенная поделка» и переходит в разряд «MVP».

Зачем я стал писать свой язык

Мы добавили поддержку ещё 19 языков России и СНГ в проект silero-stress

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

Мы недавно писали на Хабр о нашей библиотеке silero-stress для простановки ударения в обычных словах и омографах. Теперь у нашего проекта silero-stress вышла версия v1.2, в которую вошло следующее:

Что вошло?

Кому принадлежит ваша CMS?

Время на прочтение5 мин
Просмотры1.8K

Несколько адаптированный перевод статьи одного из основателей Joomla - Брайана Тимена. Сохранён tone of voice автора.

Читать далее

Marathon OS: экспериментальная мобильная ОС на Qt6 и Wayland с фокусом на производительность

Время на прочтение4 мин
Просмотры5.3K

Разработчик Патрик Куинн недавно запустил проект Marathon OS. Это мобильная ОС на базе postmarketOS с полностью переработанным интерфейсом под Qt6, QML и собственным Wayland-композитором. Основная идея заключается в полном отказе от виртуальных кнопок в пользу жестового управления, вдохновленного BlackBerry 10, где все действия выполняются свайпами от краев экрана.

Сейчас система тестируется на базе OnePlus 6 и 6T, показывая стабильные 60 кадров в секунду, загрузку за 20–25 секунд и задержку ввода в пределах 10–15 миллисекунд. На устройствах со Snapdragon 845 приложения запускаются за 200–250 миллисекунд, что для чистого Linux выглядит весьма убедительно без каких-либо Android-подложек.

Читать далее

Cloud Native LVM: как автоматизировать поиск и разметку локальных дисков в Kubernetes

Уровень сложностиПростой
Время на прочтение13 мин
Просмотры538

Всем привет, меня зовут Александр Зимин, я руковожу разработкой подсистемы хранения данных в Deckhouse. Сегодня хочу поговорить о хранении данных на локальных дисках в Kubernetes и поделиться тем, как мы автоматизируем их поиск и разметку для администраторов и пользователей.

Читать далее

Меня позвали в крутой проект, спасибо, Хабр

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

Но я облажался...

Блин я даже в школе столько правил по русскому не читал, какой же наш язык сложный, а что бы реализовать все проверки, что бы правила корректно отрабатывали, проще застрелиться... Пришлось гуглить информацию по ЕГЭ 2025 года и ковыряться на НКРЯ. Много нового узнал =)

В общей сложности потратили неделю, на реализацию концепта, функционал, перенос правил русского языка.

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

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