Обновить

Бэкенд

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

HistoryHelper — плагин для DBeaver. Часть 2

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

Приветствие

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

Читать далее

Новости

glinq: LINQ для Go с ленивыми вычислениями

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

Привет, Хабр! Я бэкенд-разработчик в спортивном медиа Спортс”. В этой статье расскажу о glinq – LINQ-подобном API для работы с коллекциями в Go. После появления дженериков в Go 1.18 стало возможным реализовать type-safe функциональные операции без рефлексии и дорогостоящих приведений типов.

Читать далее

StingrayTV Alice: теперь «почти stable»

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

В этой статье я снова расскажу о StingrayTV Alice - гейтвее для управления ресиверами Триколора через "Дом с Алисой". Теперь проект почти готов, соблюдает лучшие практики, и имеет кучу исправлений.

Читать далее

joerl :: привычная акторная модель из эрланга в расте

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

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

Ладно. В кои-то веки обойдусь без ёрничанья. Официально заявляю: я написал свою первую библиотеку на расте и мне понравилось. Раст — несомненно местами красивый и приятный для работы язык. Написание кода укладывается в зелёный диапазон плотности wtf/sec, а инструментарий заслуживает всяческих похвал (кроме кросс-публикации документации на https://docs.rs/, которая в 2025 году занимает час — хоть донаты шли, её-богу).

Итак, я написал библиотеку, которая позволит эрлангистам проще вкатываться в раст. Акторная модель притворяется краденой из эрланга, с примитивами GenServer и GenStatem, с деревьями супервизоров, с боксированными сообщениями, мэйлбоксами, и привычной терминологией. Библиотека названа joerl, светлой памяти Джо Армстронга, с которым мне посчастливилось быть знакомым, и который сильнейшим образом повлиял на менталитет разработчика во мне.

Хватит болтовни, покажи код!

Java Digest #31

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

Всем привет! 👋👋👋👋👋 Мы — Java-разработчики Т-Банка: Андрей, Арсений, Роман, Константин и Константин. Собираем интересные новости, статьи, туториалы и другие материалы из мира Java-разработки и делимся со всем сообществом.

Этот месяц в мире Java выдался насыщенным. В JDK 26 готовят превью Lazy Constants и Structured Concurrency, собираются убрать режим строк только UTF‑16, а стандартный HttpClient получает более гибкую поддержку TLS.

Главное событие — GA‑релизы Spring Framework 7 и Spring Boot 4: модульная автоконфигурация, новый HTTP‑клиент, версионирование REST API, переход на Jackson 3 и множество других улучшений.

Из практики: разбор пагинации в Spring Data JPA, подводные камни MapStruct и заметка о балансе между чтением и написанием кода. Приятного чтения!

Читать тридацать первый выпуск

Не делайте рефакторинг как Дядя Боб (вторая редакция)

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

Когда я в прошлом году услышал, что дядя Боб планирует выпустить вторую редакцию «Чистого кода», то был восхищён, а это для меня редкость. Я считал, что и первый выпуск был хорош, хотя сам читаю редко.

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

Или же меня обнадёжило данное Мартином обещание доработать руководства из предыдущей книги. Знаете, то удовольствие, когда читаешь заметки к долгожданным патчам для рабочего ПО.

А может, это была глубинная надежда, что кто-то, наконец, пересмотрел его идеи и осознал необходимость изменения подхода Мартина к написанию «чистого кода». Всё же это была самая жестокая критика первой редакции книги с момента её публикации более 17 лет назад.

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

Так что представьте, каково было моё разочарование, когда я потратил $60 на электронную версию этой книги, в которой Боб не просто не изменил своей позиции по большинству спорных практик, но и продолжил топить за них ещё круче!

Невероятно!

Но я забегаю вперёд…

Читать далее

SQL HowTo: от частностей к рекурсии (Advent of Code 2025, Day 3: Lobby)

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

Осторожно, спойлеры! Не читайте, пока хотите решить задачу самостоятельно.

В этой челлендж-серии статей, начатой с прошлогоднего эвента, попробуем использовать PostgreSQL как среду для решения задач Advent of Code 2025.

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

Читать далее

Миграция высоконагруженной инфраструктуры без даунтайма: технические детали переезда Дзена на видеоплатформу VK

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

Привет, Хабр! Меня зовут Влад Почернин, я разработчик в команде видеоформатов Дзена. Сегодня я расскажу, как мы мигрировали контент Дзена на видеоплатформу VK — инфраструктуру, обслуживающую видеоконтент соцплатформ ВКонтакте и Одноклассники, а также видеосервисов VK Видео и VK Клипы.

Читать далее

etcd-walker: TUI-проводник по etcd для ленивых (и не только?)

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

Привет Хабр! Если вам тоже доводилось разбирать незнакомый проект, сопровождать прод или помогать QA, вы знаете, как быстро начинаешь ненавидеть однообразные команды etcdctl: копировать ключ, вбивать get, ловить в терминале многострочные значения, скроллить историю… Особенно если ключей сотни, а половина из них — конфиги или JSON’ы на несколько экранов.

Мне хотелось чего-то попроще: запустил один бинарь в терминале и спокойно ходишь по дереву ключей etcd, как по файловой системе, подобно mc.

Без браузера, без копипаста, с нормальным просмотром и редактированием многострочных значений. Так появился etcd-walker.

Под катом расскажу, как он устроен, почему в etcd v2 внезапно пропадают ключи, которые начинаются с подчеркивания, как их всё-таки увидеть, зачем понадобилась “инъекция” узлов, и как решить боль с большими многострочными ключами, например JSON или yaml. А также покажу, как этот инструмент помогает разбираться с локами, которые создает python библиотека для работы c etcd.

Если вы хоть раз пробовали разгрести чужое хранилище в etcd, то поймёте, почему без подобного инструмента жить уже не хочется.

Читать далее

Пишем свой кодек для JSON с фиксированной схемой: опыт разработчика и сравнение производительности

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

Привет, Хабр! Я Никита Пешаков, ведущий инженер-программист в компании YADRO. Шесть лет работаю в телеком-направлении, а прямо сейчас разрабатываю ядро опорной сети 5G. Хочу поделиться, как в нашем продукте мы кодируем и декодируем JSON, и сравнить бенчмарки нашего кодека с библиотекой Glaze.

Читать далее

GraphQL и REST: что и для чего выбирать

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

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

Сегодня мы разберём GraphQL — что это за инструмент, как он работает, какие задачи решает, где оказывается удобнее REST и почему многие компании выбирают его для новых проектов.

Читать далее

ИИ чат для API или «Co-Pilot» своими руками

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

Мой опыт «Как с минимальными трудозатратами за "пару часов" создать рабочий прототип умного агента для существующего классического Web-приложения на стеке Microsoft с инфраструктурой на Azure». Основой служит Semantic Kernel, добавленный как отдельный сервис к существующему ASP.NET API.

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

Читать далее

Теперь Хабр может объяснить, что это за код

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

Мы встроили SourceCraft во все кодовые сниппеты в публикациях на Хабре. Он объяснит, что делает код. Как это работает, кому нужно и как использовать — читайте под катом.

Узнать о фиче

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

Зачем вообще использовать ORM?

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

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

В большинстве случаев скорость разработки важнее, чем производительность и потребление памяти.

ORM — это как раз инструмент, экономящий время разработки. Но за счёт чего?

Читать далее

Лучше, чем JSON: почему я перешёл на Protobuf

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

Команда Go for Devs подготовила перевод статьи о том, почему автор почти десять лет не использует JSON в своих API и предпочитает Protobuf. Он объясняет, как строгая типизация, компактная бинарная сериализация и генерация кода дают разработчикам больше надёжности и скорости.

Читать далее

Почему Python — не лучший язык для data science. Часть 2 — Python против R

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

Команда Python for Devs подготовила перевод статьи о том, почему Python — несмотря на свою популярность — не всегда идеален для Data Science. Автор показывает, как отсутствие нестандартной оценки выражений усложняет анализ данных, и сравнивает Python с R, где такие задачи решаются куда элегантнее.

Читать далее

Публичные разборы ваших Open Source проектов

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

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

Не стесняйтесь, и присылайте свой проект на конструктивный разбор!

Читать далее

Деплой через AI — есть ли в этом смысл?

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

Хочу понять, есть ли потребность в решении которое я проектирую.

Деплой через AI — есть ли в этом смысл?

Читать далее

Почему интуиция вас подводит: 5 ловушек теории вероятностей в IT

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

Вы смотрите на дашборд: Average Response Time = 200ms. Клиенты довольны? Скорее всего, нет. Вы видите, что сервер загружен на 50%, и думаете, что выдержите рост нагрузки в 2 раза? Математика говорит, что вы упадете гораздо раньше.
Теория вероятностей в вузе казалась скучной абстракцией, но в Highload-системах пренебрежение ей стоит денег.

Читать далее

Rust vs Go: управление памятью

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

Давайте рассмотрим как управляют памятью два популярных языка программирования — Rust и Go.

Когда запускается программа, создается процесс с собственным адресным пространством и потоками, выполняющимися на ядрах. Процессор работает с виртуальной памятью — абстракцией, которой управляет операционная система.
Например в Go, когда мы создаем массив

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