Обновить

Бэкенд

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

Почему ваш проект не замечают: разбор репозитория на практике

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

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

Сегодня я хочу разобрать проект Tgin (инфраструктурная прослойка для Telegram-ботов на Rust). На его примере я покажу, какие элементы репозитория реально влияют на интерес к проекту, где чаще всего теряются пользователи и контрибьюторы.

Читать далее

Langium — инструмент для языкового моделирования

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

Разработка собственных языков и языковых серверов может быть сложной и рутинной задачей. Langium — инструмент на TypeScript, который упрощает создание предметно‑ориентированных языков (DSL) с готовым LSP‑сервером.

Меня зовут Денис Маматин, я работаю в R&D‑отделе СберТеха. В ходе разработки одного из наших проектов мы столкнулись с необходимостью создания собственного DSL, и в этом нам существенно помог Langium. В этой статье я рассмотрю, как устроена грамматика Langium, как создать первый проект и какие преимущества он даёт разработчику.

Читать далее

От потребностей команд к требованиям: выбор движка бизнес процессов после EOL Camunda 7

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

Привет, Хабр! Мы — бизнес-линия разработки кредитных продуктов для физических лиц в Т. Нам крайне важно использовать актуальное, безопасное и предсказуемое решение в проектировании бизнес-процессов. Для автоматизации выдачи кредитных продуктов мы используем движок бизнес-процессов Camunda.

В прошлом году компания объявила о завершении бесплатной поддержки Camunda 7. Платформа больше не будет получать обновления, включая критические исправления безопасности и уязвимостей. Для нас, как для финансовой организации, где безопасность, стабильность и соответствие стандартам играют ключевую роль, такой поворот стал серьезным сигналом.

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

Читать далее

База данных как ресурс в микросервисной архитектуре

Уровень сложностиСложный
Время на прочтение17 мин
Охват и читатели6.8K

Многие опытные разработчики недооценивают мощь инструментария БД при работе с микросервисами. По каким-то причинам в IT-сообществе приняты эмпирические правила - сервис маленький, значит и база маленькая. Но это не совсем так.

Скорее всего, при проектировании архитектуры у нас в голове чаще всего возникает паттерн database-per-service. И когда мы начинаем рисовать схемы, то возникает соблазн покрутить кирпичики модулей так, чтобы красиво их соединить стрелочками с цилиндриками, обозначающими БД.

С другой стороны, все знают, что много микросервисов, взаимодействующих через одну общую монструозную базу как Oracle, ElasticSearch и другие - это антипаттерн.

Поэтому выбирают маленькие(!) Postgres или MySQL.

Читать далее

Реализация гексагональной архитектуры на Java

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

В данной статье рассматривается архитектура проекта, позволяющая модульным образом интегрировать инфраструктурные фреймворки, такие как Spring, Quarkus и Micronaut, без необходимости модификации ядра предметной области (domain) или внешних API.

Читать далее

Как мы измеряем качество в VK Видео

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

Привет, Хабр. Меня зовут Павел Муханов. Я руководитель лаборатории качества видеоплатформы VK.

ВКонтакте, ОК, VK Клипы, VK Видео и другие сервисы VK, предоставляющие возможность просмотра видео, используют в качестве core-технологии видеоплатформу VK. Она объединяет видеохостинг, стриминг и облачное хранилище и предоставляет аудитории бесшовный доступ к огромной библиотеке контента. Чтобы гарантировать стабильную работу видеоплатформы — предсказуемое качество видео и корректную работу плеера, — мы в лаборатории качества внимательно следим за метриками.

В статье на примере VK Видео расскажу, как мы оцениваем качество и какие результаты получили, когда ввели регулярный мониторинг качества видео и перформанса.

Читать далее

Флаг вам в руки: внедряем feature flags в Django

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

Привет, Хабр!

Сегодня поговорим о том, как включать и выключать функциональность в Django, не разворачивая каждый раз новый деплой. В больших проектах эту задачу решают через feature flags, такие условные флажки , которые позволяют запускать скрытые возможности лишь для части пользователей или откатывать фичи, не выкатывая заново весь код. Если вы хотите поэтапно раскатать новую функцию, сделать A/B тест или просто спрятать недоделанный модуль за переключателем, вам сюда.

Читать далее

Как компании провести внутренний мультиагентный AI-хакатон

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

Год назад мы провели первый внутренний AI-хакатон. После некоторые проекты были разработаны и реализованы в течение года. В этом году мы повторили опыт, но усложнили задачу — сместили фокус на мультиагентные системы. Делимся опытом организации, выводами и результатами. Наш опыт будет полезен тем, кто планирует подобное мероприятие.

Читать далее

std::move ничего никуда не двигает: подробный рассказ о категориях значений в C++

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

Проблема: когда из-за «оптимизации» код замедляется

Начнём с ситуации, в которой могут спотыкаться даже опытные разработчики. Допустим, вы написали на C++ следующий код, который выглядит совершенно нормальным:

Читать далее

Ненормальные непотребства, трюки, хаки и алгоритмы на C

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

Доброго времени суток, господа и дамы! Иногда у некоторых людей возникает желание заняться откровенным непотребством в программировании — то, что не несет практической пользы напрямую, но помогает развлечься. И я — не исключение. В этой статье я хочу рассказать вам о лайфхаках, трюках (магических и не очень), алгоритмах на языке C!

Идея написать эту статью зародилась из моего поста, после него я начал серию статей, которая раскрывала много интересных моментов — от математических алгоритмов и оптимизации до ГПСЧ.

Если вы видите на экране эту шестую часть нашей бесконечной саги о ненормальном программировании на C, значит, мы с вами прошли уже немало: от конвертации миль в километры через Фибоначчи до ГПСЧ и быстрых вычислений.

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

Добро пожаловать в шестую часть. Прошу под кат — там будет жарко, быстро и очень, очень интересно.

Читать далее

ИИ-статьи: спасение для автора или смерть интернета? Разбираемся без хайпа

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

Мы наблюдаем инфляцию текста. Стоимость создания связных предложений упала до нуля. Ленты забиты рерайтами рерайтов. В таких условиях роль автора кардинально меняется: из создателя контента мы превращаемся в Product Owner'ов смыслов.

В этой статье я пробую ответить на главные вопросы 2026 года: нужно ли ставить плашку «Написано с ИИ»? Убивает ли ИИ экспертность или, наоборот, делает настоящий опыт премиальным продуктом?

Читать далее

Рецензия на книгу «Принципы модернизации программных архитектур»

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

«Принципы модернизации программных архитектур»— это действительно полезное руководство по современной архитектуре ПО, ориентированное на реальные случаи миграции монолитных систем в микросервисы и обратно. В одной книге собраны и объяснены все ключевые знания, включая решение архитектурных антипаттернов и советы по повышению качества инженерных решений. Книга подходит как для практикующих архитекторов, так и для разработчиков, стремящихся понять, почему архитектуры ломаются, Что делать? и Кто виноват? (и как это исправить). 

Читать далее

Black-White Array: новая структура данных с O(log N) аллокаций

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

Black-White Array (BWA) — это упорядоченная структура данных с амортизированным временем операций вставки/поиска/удаления O(\log N) и O(\log N) используемых участков памяти. Преимущества:

• Амортизированное время вставки/удаления/поиска сравнимое с реализацией BTree от Google;
• Низкое количество аллокаций памяти при операциях вставки O(\log N) - меньше давления на сборщик мусора, ниже фрагментация памяти;
• Массивы под капотом: данные лежат рядом, что улучшает кэшируемость процессором и скорость обхода/доступа к данным;
• Позволяет хранить элементы с одинаковыми ключами - не нужно использовать дополнительные структуры для группировки таких элементов;
• Низкий оверхед на хранение служебной информации - экономия памяти по сравнению с другими структурами данных;
• Удобен для вставки батчами;
• Простая сериализация и десериализация;

Подробности

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

CTE (Common Table Expression) / Django CTE

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

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

Поэтому в этой статье я расскажу:

1. что такое CTE

2. зачем оно нужно 

3. что такое рекурсивные СТЕ

4. чем СТЕ отличается от временных таблиц, представлений и подзапросов

5. как СТЕ может плохо сказаться на производительности 

6. как использовать СTE в самом народном фреймворке Django

Использует SELECT со звёздочкой Макс - Lead Backend и автор YouTube-канала PyLounge. Поехали! 

Читать далее

И снова про алгоритмы и структуры данных…

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

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

Читать далее

Админ vs студент: разбор тестового задания — сервис консультаций на Laravel за неделю

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

Эта статья — подробный разбор тестового задания на позицию PHP-разработчика, которое мне пришлось выполнить в краткие сроки из-за приближающей сессии. Я расскажу, с какими трудностями столкнулся, будучи студентом и новичком в веб-разработке, как построил архитектуру проекта «Школьные консультации» и что из этого вышло. Если вам интересен взгляд «с первоначального этапа» на классическую задачу или вы хотите узнать, чем всё кончилось, или у вас был похожий опыт (о котором вы хотели рассказать), то добро пожаловать.

Читать далее

Kafka для начинающих: работа с Kafka транзакциями на практике — когда они нужны, а когда только вредят?

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

Как работать с Kafka транзакциями из Spring Boot? Когда они нужны, а когда бесполезны или даже вредны?

Простым языком и с примерами кода о Kafka транзакциях.

Читать далее

Скрытая цена словарей Python и три более безопасные альтернативы

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

Команда Python for Devs подготовила перевод статьи о том, почему словари Python могут незаметно подводить в продакшне и какие альтернативы помогают ловить ошибки раньше. В тексте разбираются dict, NamedTuple, dataclass и Pydantic — от быстрого прототипирования до строгой валидации данных.

Читать далее

Чпоньк! — как сделать разработку в 1С такой же быстрой, как Ctrl+S в VS Code

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

Привет всем! Меня зовут Ростислав, я программист 1С в ТехВилле.
И если Вы разрабатываете под 1С, то знаете главное правило: хочешь протестировать мелкое исправление — готовься перезапускать режим предприятия, снова открывать нужный документ, снова восстанавливать контекст и снова проходить длинный бизнес-процесс ради
одной кнопки.

В какой-то момент я понял: я не готов так жить дальше.
И сделал инструмент, который позволяет писать код в файле, сохранять и мгновенно видеть результат в режиме предприятия, без перезапуска и без боли!

Так появился Чпоньк! Название говорит само за себя: нажал Ctrl+С = чпоньк! и изменения уже применены.

Хочу рассказать, как он работает, чем помогает и почему возвращаться к старому циклу «правка → перезапуск → проверка» совсем не хочется.

Читать далее

Миграция проекта с Node.js на Java-стек с помощью ИИ

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

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

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

Читать далее