Строки кода должны помещаться на экране

О вечном — о разумной длине строк кода. Мы недавно встретили ошибку, которая одновременно демонстрирует, чем плох "код-колбаса", "эффект последний строки" и последствия неудачного copy-paste.

О вечном — о разумной длине строк кода. Мы недавно встретили ошибку, которая одновременно демонстрирует, чем плох "код-колбаса", "эффект последний строки" и последствия неудачного copy-paste.

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

Бесплатная ежегодная онлайн-конференция ЮMoney Day состоится 5 и 6 декабря. Это уже седьмая конференция, где представители ЮMoney делятся опытом работы в финтехе. Вас ждёт более 20 докладов по разным направлениям: бэкенд, фронтенд, архитектура, тестирование, SQL и другие.
Привет, Хабр. Я из тех людей, у кого аллергия на словосочетание "искусственный интеллект" в маркетинге. Обычно за этим скрывается пара if-else и API OpenAI, прикрученное синей изолентой.
Недавно наткнулся на пост ребят, которые пилят карьерного бота Аврора. Обещали, что он сам ищет вакансии, сам пишет письма и вообще молодец.
Я решил, что это отличный повод поразвлечься: зайти в бету, положить им базу нагрузкой и написать разгромный баг-репорт.
Спойлер: базу я им действительно чуть не положил (и помог починить), но в процессе тестирования бот унизил мое резюме, переписал его и устроил меня на собес туда, куда я сам боялся подаваться.
Ниже - история про технические костыли, asyncio и то, как бездушный скрипт продает инженера лучше, чем сам инженер.

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

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

Привет, Хабр! Меня зовут Сергей Сорокин, я .NET-разработчик с 12-летним стажем. Занимаюсь бэкендом, архитектурой и высокими нагрузками.
Знаю, о чем вы подумали, прочитав заголовок: "О боже, еще одна ORM? В 2025 году? Зачем, если есть Dapper и EF Core?".
Я тоже так думал. Но когда ты работаешь в Enterprise-системах, где производительность критична, а база данных — это не просто хранилище, а мощный инструмент обработки данных, стандартные решения начинают показывать свои слабые места.
Сегодня я хочу рассказать о Visor — ORM, которую мы создали, чтобы превратить работу с базой данных в вызов типизированного API, убрать оверхед рефлексии и решить извечную боль с передачей списков (TVP) в SQL Server. А заодно показать, как Source Generators позволяют писать код, который работает быстрее, чем то, что вы пишете руками.

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

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

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

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

Мне всегда была интересна тема антихрупкости и работы Нассима Талеба — особенно в контексте их применения в IT.
Книга «Антихрупкость в IT» попала в мой список рекомендаций больше года назад, после одной конференций в Казахстане.
Книга показалась мне интересно, по этому ниже обзор основных тем, и в каком случае вам стоит ее прочесть.
А так же ответим на вопросы: как продать микросервисы бизнесу? Почему у книги такая обложка? А есть ли что-то от антихрупкости Талеба в книги с таким название?

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

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

Привет Хабр! Я Иван, QA в Хайстекс. Уже несколько лет занимаюсь тестированием и внедрением решения Акура.
Этот материал родился из практики. Внутри компании мы регулярно поднимаем решения в OpenStack для тестов, пилотов и внедрений, и часто сталкиваемся с одними и теми же вопросами. Где-то не тот порт, где-то нестандартный эндпоинт, где-то сеть устроена чуть иначе, чем ожидаешь. Мелочи, которые на старте могут съедать часы.
Под катом – полное, пошаговое руководство по подготовке OpenStack и развертыванию контроллера Акуры. Это не документация в классическом смысле, а рабочий конспект. Поэтому по ходу статьи разберем процесс подготовки OpenStack и покажу, на что стоит обращать внимание при развертывании решений в этом окружении. Попутно затронем особенности платформы, которая остается одним из самых популярных open source облаков.

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

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

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

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