Обновить

Бэкенд

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

Scala Digest. Выпуск 35

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

Привет, Хабр! Мы — НастяЭвелина и Михаил — бэкенд-разработчики Т-Банка, пишем код на Scala и горим желанием его популяризировать.

Приветствуем любую обратную связь! (づ ◕‿◕ )づ

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

AOT в Spring Data: минус магия, плюс скорость

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

Команда Spring АйО подготовила перевод статьи о том, как Spring Data тихо, но уверенно избавляется от «магии рантайма» и учит репозитории работать через AOT. Меньше скрытых прокси, больше прозрачного кода, быстрее старт сервисов. Кажется, это одно из самых крутых обновлений Spring за последние годы.

Читать далее

Приглашаем на двухдневную онлайн-конференцию для IT-специалистов в финтехе

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

Бесплатная ежегодная онлайн-конференция ЮMoney Day состоится 5 и 6 декабря. Это уже седьмая конференция, где представители ЮMoney делятся опытом работы в финтехе. Вас ждёт более 20 докладов по разным направлениям: бэкенд, фронтенд, архитектура, тестирование, SQL и другие.

Читать далее

Я пришел потестить бота, чтобы найти баги, а в итоге нашел работу в BigTech

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

Привет, Хабр. Я из тех людей, у кого аллергия на словосочетание "искусственный интеллект" в маркетинге. Обычно за этим скрывается пара if-else и API OpenAI, прикрученное синей изолентой.

Недавно наткнулся на пост ребят, которые пилят карьерного бота Аврора. Обещали, что он сам ищет вакансии, сам пишет письма и вообще молодец.

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

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

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

Читать далее

Доработка распределения косвенных расходов в 1С: Бухгалтерии предприятия

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

В 1С:Бухгалтерии базой для распределения косвенных расходов могут быть:

В типовой 1С:Бухгалтерии предприятия базой для распределения косвенных расходов могут служить объёмы выпуска, прямые затраты, выручка и другие показатели. Однако на практике предприятия нередко используют собственные динамичные базы — например, машино-часы или другие отраслевые коэффициенты, которые меняются ежемесячно и не ведутся в бухгалтерском учёте. Стандартный механизм «Собственная база распределения» не подходит, поскольку значения фиксируются в учётной политике и не рассчитаны на регулярное обновление.

В статье показываю, как доработать конфигурацию 1С:Бухгалтерия предприятия (КОРП 3.0) так, чтобы использовать произвольную динамичную базу распределения без изменения учетной политики и без расширения прав сотрудников. Разбираем добавление нового значения перечисления, корректировку представлений, создание пользовательского документа для ежемесячного ввода базы, интеграцию с подсистемой распределения расходов и реализацию запроса для автоматического получения данных.

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

Читать далее

Claude Code: держите контекст чистым, а контроль — под задачу

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

Контекстное окно — главный ресурс AI-агента. Засорите его — и агент начнёт тупить. Рассказываю, как держать контекст чистым и выбирать уровень контроля под задачу. Практические советы после нескольких месяцев ежедневной работы с Claude Code.

/read

«База данных как API»: Почему я написал свою ORM на Source Generators и обогнал Dapper в 800 раз

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

Привет, Хабр! Меня зовут Сергей Сорокин, я .NET-разработчик с 12-летним стажем. Занимаюсь бэкендом, архитектурой и высокими нагрузками.

Знаю, о чем вы подумали, прочитав заголовок: "О боже, еще одна ORM? В 2025 году? Зачем, если есть Dapper и EF Core?".

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

Сегодня я хочу рассказать о Visor — ORM, которую мы создали, чтобы превратить работу с базой данных в вызов типизированного API, убрать оверхед рефлексии и решить извечную боль с передачей списков (TVP) в SQL Server. А заодно показать, как Source Generators позволяют писать код, который работает быстрее, чем то, что вы пишете руками.

Читать далее

Создание плагина для Clang для поиска Singleton

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

Сейчас репутация Singleton давно не та, что была ранее. В последние годы он признается антипаттерном, который следует избегать в новом коде, но что делать с legacy кодом? Ловить косые взгляды современников? В данной статье мы напишем плагин для поиска этого паттерна в коде на C++, разберем аспекты разработки плагина с помощью Clang API и протестируем плагин на реальных проектах.

Читать далее

Симуляция воды для игр на Go: простая физика частиц

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

Команда Go for Devs подготовила перевод статьи о том, как на Go и raylib-go построить лёгкую симуляцию воды на клеточном автомате. Автор шаг за шагом добавляет гравитацию, боковой поток, диагональное давление и препятствия — и в итоге получает частичную физику, больше похожую на «песочный» движок для 2D-игр.

Читать далее

Бэкап PostgreSQL на независимый сервер по расписанию

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

Потеря данных, одно из самых неприятных происшествий. В статье я дам инструкцию, как сохранять дампы PostgreSQL на независимый сервер.

Мы разберём как подключиться к СУБД PostgreSQL, снять дамп с помощью pg_dump, сохранить его в стороннее облако, отправить статус в сообщении в Telegram с информацией о последнем бэкапе и сделать все это без лишних трат.

Читать далее

Не делайте рефакторинг как дядя Боб. Я вас умоляю

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

Несмотря на то, что книга «Чистый код» привнесла в наш лексикон прекрасный термин, она также снискала и дурную славу. Это руководство от 2008 года представляет собой сборник принципов и исследований, которые «дядя Боб» (Uncle Bob, то есть Роберт Мартин) выработал за годы программирования.

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

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

Можно подумать...

Читать далее

Обзор и рецензия на книгу «Антихрупкость в IT»

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

Мне всегда была интересна тема антихрупкости и работы Нассима Талеба — особенно в контексте их применения в IT.

Книга «Антихрупкость в IT» попала в мой список рекомендаций больше года назад, после одной конференций в Казахстане.

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

А так же ответим на вопросы: как продать микросервисы бизнесу? Почему у книги такая обложка? А есть ли что-то от антихрупкости Талеба в книги с таким название?

Читать далее

Экстренный патч или как не получить «RCE по утрам»

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

Внимание, внимание, внимание!

Вышли экстренные патчи безопасности в релизах Axiom JDK 25.0.1, 21.0.9, 17.0.17, 11.0.29 и 8u472. Мы устранили четыре критические уязвимости в OpenJFX, уровень опасности которых — высокий и средний.

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

Читать далее

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

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

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

Команда Python for Devs подготовила перевод статьи Клауса Вилке о том, почему Python, несмотря на статус языка №1 в data science, вовсе не идеален для анализа данных. Автор показывает на реальных примерах из лабораторной практики, что многие операции в Python оказываются куда более громоздкими, чем в R, — и это не вина программистов, а архитектурные особенности инструментов.

Читать далее

Рецепт фирменного стека: аккуратный деплой в OpenStack на примере Акуры

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

Привет Хабр! Я Иван, QA в Хайстекс. Уже несколько лет занимаюсь тестированием и внедрением решения Акура.

Этот материал родился из практики. Внутри компании мы регулярно поднимаем решения в OpenStack для тестов, пилотов и внедрений, и часто сталкиваемся с одними и теми же вопросами. Где-то не тот порт, где-то нестандартный эндпоинт, где-то сеть устроена чуть иначе, чем ожидаешь. Мелочи, которые на старте могут съедать часы.

Под катом – полное, пошаговое руководство по подготовке OpenStack и развертыванию контроллера Акуры. Это не документация в классическом смысле, а рабочий конспект. Поэтому по ходу статьи разберем процесс подготовки OpenStack и покажу, на что стоит обращать внимание при развертывании решений в этом окружении. Попутно затронем особенности платформы, которая остается одним из самых популярных open source облаков.

Читать далее

Мультиагентная разработка в Cursor: как заставить субагентов работать на большие проекты

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

Как можно Cursor IDE превратить в полноценную мультиагентную среду разработки, где каждый AI‑агент выполняет роль члена команды: аналитика, архитектора, планировщика или разработчика?

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

Как добиться сходимости к стабильному результату в ходе длительной самостоятельной работы команды ИИ-агентов?

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

Читать далее

ИИ-ассистенты: как AI делит рынок разработки

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

Команда AI for Devs подготовила перевод статьи о том, как быстро растущие AI-ассистенты меняют саму природу разработки. Их код выглядит безупречно — но всё чаще решает не ту задачу, что стоит перед нами. Где проходит граница между ускорением и самообманом, и какую новую ответственность это накладывает на инженеров?

Читать далее

Магия Python: Почему a = 256 и b = 256 — это один объект, а с 257 это уже не работает?

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

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

Сегодня поговорим о том, как CPython управляет памятью для малых целых чисел (почему диапазон выбран именно от -5 до 256?), как работает паттерн Flyweight на уровне ядра языка и почему две одинаковые строки могут иметь разные id. А также разберем неочевидную разницу работы компилятора в интерактивной оболочке (REPL) и при запуске скриптов.

Читать далее

Миссия выполнима: как мы добились актуальности двух тысяч кешей

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

Привет! Меня зовут Влад, и я разрабатываю сердце витрины Ozon — сервис product-facade. Пару лет назад мы уже делились нашим опытом в этой статье, но с тех пор многое изменилось: выросли нагрузки, появились новые фичи и оптимизации, система стала сложнее и надёжнее.

Прежде чем перейти непосредственно к актуальности кешей, давайте разберёмся, почему это так важно. Представьте: вы добавляете товар в корзину, но что-то пошло не так, и покупку совершить не удаётся — склад больше не возит в ваш ПВЗ. Даже 0.1% таких ошибок — это тысячи недовольных пользователей каждую секунду. А когда что-то массово меняется, разработчики вынуждены расследовать инцидент, чтобы понять, что проблема была всего лишь в устаревших кешах.

Читать далее

Выбор между RabbitMQ и Apache Kafka

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

Если вы задаётесь вопросом, что лучше — Apache Kafka или RabbitMQ, или думаете, что RabbitMQ надёжнее Apache Kafka, хочу сразу остановить вас. Эта статья рассматривает обе системы с более широкой точки зрения и сосредоточится на функциональности, которую они предоставляют. Это поможет вам принять обоснованное решение о том, какую систему использовать и в каких случаях.

Kafka vs RabbitMQ