Обновить

Бэкенд

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

Coroutines в C++20

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

В С++ 20 появились coroutines (далее буду называть их корутинами, по‑русски). Если кратко — они позволяют писать асинхронный код также как мы пишем синхронный. При этом асинхронный код это не обязательно должен работать с несколькими потоками. Асинхронным может быть код исполняемый в одном потоке.

Под капотом компилятора корутины — это просто синтактический сахар (syntax sugar). Т.е. корутины не создадут дополнительных потоков. Компилятор заменит корутины вызовом нескольких функций и не более того. Но давайте посмотрим как корутины выглядят в коде.

В этой статье я буду делать простейший таймер на основе корутин. При этом напишу классы, для Awaitable и Promise, которые необходимы для работы корутин.

Читать далее

Архитектура Laravel: 7 ловушек и практичные решения

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

Laravel завоевал авторитет у бизнеса и программистов за эффективность решения задач. Автор не раз встречал суждение среди коллег, что опыт разработки на Symfony и Laravel равнозначны. Это миф. Ниже — 7 ловушек Laravel и практичных решений без отказа от фреймворка.

Читать далее

Ультимативный Spring-бульдозер на базе GigaIDE

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

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

Читать далее

Как мы обеспечиваем self-service разработки и деплоя витрин, обрабатывая 30000 тасок в сутки

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

Привет! Меня зовут Николай Огоров, я Big Data-инженер в Авито. В этой статье я и мой коллега Айк Оганесян расскажем, как обеспечили пользователей инструментами, которые дают им возможность самим создавать витрины в хранилище Авито без привлечения специалистов. Эта история больше про подходы, решения и философию, которые позволяют жить в парадигме, когда потребностей на создание объектов DWH стало сильно больше, чем возможностей Data-инженеров.

Читать далее

Работа с файлами в СУБД PostgreSQL и Postgres Pro Enterprise: барьеры и варианты их преодоления

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

Упереться в лимит 4 миллиарда строк в TOAST-таблице или поймать OidGen lock при массовой заливке документов — страшный сон администратора PostgreSQL. Хотя архитекторы советуют выносить файлы в S3, реальность часто диктует хранение внутри БД. Руководитель группы по оптимизации приложений Александр Попов разбирает, как работают стандартные механизмы bytea и pg_largeobject, где находятся их «бутылочные горлышки» и как эти ограничения обходятся в Postgres Pro Enterprise.

Читать далее

Многие сложные задачи на LeetCode — это простые задачи на ограничения

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

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

Разбираем, как привычные «найди максимум при таких-то условиях» превращаются в компактные декларативные модели, зачем вообще нужны такие упражнения, что они говорят о собеседованиях и о нашем отношении к алгоритмам — и где у подхода с MiniZinc/constraint solving проходят естественные границы.

Смотреть подход

Как оптимизировать и поднять эффективность AI-Кодинга от 2 до 8 раз используя стек MCP серверов

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

От красивых демок к законченным проектам: что я понял за полтора года работы с Claude Code

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

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

Проблема была не в промптах и не в архитектуре. Просто процесс разработки с ИИ постоянно буксовал: Claude выдавал код с API прошлого года, поиск нужной функции занимал по 15 минут, после третьего рефакторинга я терял нить и бросал проект, начинал терять что было сделано, сколько не суй ему to-do листы.

Потом я нашёл свой стек из MCP-серверов, которые действительно повысили эффективность в разных случаях от 2 до 8 раз, позволили экономить до 80% токенов, не терять контекст и совершать на 8 из 10 ошибок меньше.

Читать далее

Чтобы тебя не вычислили рекламщики, нужно быть параноиком

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

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

К сожалению, хотя дистанцирование от Google и его сервисов действительно будет необходимым первым шагом по защите своей приватности, он окажется далеко не последним. Потребуются и другие меры, предпринимать которые становится всё сложнее из-за браузерного фингерпринтинга.

Читать далее

Невидимая рука предубеждений в архитектуре ПО: размышление о влиянии когнитивных искажений на вектор развития компаний

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

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

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

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

Читать далее

Object Pool коротко: экономим память в C# без лишнего мусора

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

Уверен, многие замечали: стоит программе активно выделять объекты в куче, как сборщик мусора тут как тут. Пара лишних мегабайт и ваше приложение уже тратит время на паузы GC, вместо того чтобы радовать пользователей скоростью.

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

Читать далее

Почему агенты НЕ пишут основную часть нашего кода

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

Наша компания Octomind занимается созданием ИИ-агентов, но её кодовая база по-прежнему в основном пишется людьми. Мы любим LLM и используем их везде, где можем, от нашего продукта до внутренних рабочих процессов. Но, несмотря на весь хайп, ситуация далека от того, чтобы агенты писали большую часть нашего кода.

У нас есть веские причины на то, чтобы пока не присоединяться к таким компаниям, как Anthropic (генерируется 80%)Microsoft (30%) и Google (25%).  

‍‍Пока нам недостаёт в них некоторых жизненно важных элементов. В статье мы расскажем, почему это важно, и что нужно, чтобы закрыть эту нехватку.‍‍

Читать далее

10 приёмов профессионала для ускорения кода на Python

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

Команда Python for Devs подготовила перевод статьи о том, как делать код на Python быстрее без переписывания проектов с нуля. В статье 10 практичных приёмов — от sets и bisect до локальных функций и предвыделения памяти — которые дают реальный прирост скорости в типовых сценариях.

Читать далее

Оптимизация через партицирование

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

Привет, Хабр! Меня зовут Виталий Сушков, я .NET-разработчик и техлид в Т-Банке. 

На конференции DotNext в 2024 году я выступал с докладом о применении механизма декларативного партицирования таблиц в PostgreSQL. 

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

Читать далее

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

Знакомство с командой стрима «Уведомления»

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

За каждым push-уведомлением и всплывающим окном в Иви стоит целая экосистема решений, технологий и — что важнее — людей. В новом интервью из нашей IT-серии Елена Еше, технический менеджер, проведет нас за кулисы своей команды. Узнаем не только о технологическом стеке и проектах, но и о том, как рождаются идеи, празднуют успехи и создают атмосферу, в которую хочется возвращаться каждый день.

Читать далее

«Это какой-то Оруэлл»: как LaLiga в 2025 году сломала интернет в Испании, а Cloudflare пожаловались на нее Трампу

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

Испанская футбольная лига LaLiga известна в сети уже несколько лет довольно своеобразной «борьбой с пиратством», от которой страдают все окружающие. 

В 2025 году это дошло до пика — LaLiga удалось получить официальное разрешение суда на «динамические блокировки пиратских сайтов» — после чего они немедленно забанили в Испании инфраструктуру Cloudflare, и начался полный хаос. 

Рассказываем об основных моментах этой знаковой истории про схватку технологий со здравым смыслом — а наш эксперт Дмитрий Никонов анализирует техническую сторону дела и прогнозирует развитие таких кейсов в будущем. 

Читать далее

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

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

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

Читать далее

Почему LLM врут настолько убедительно?

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

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

Читать далее

Pydantic V2: Почему dataclasses вам больше не нужны

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

Вы пишите age: int, а Python спокойно пропускает туда строку. Программа падает, но не сразу, а в самый неподходящий момент.

Я расскажу, почему пора переходить на Pydantic V2. Он теперь работает на Rust (очень быстро), сам исправляет типы и спасает от глупых ошибок. Внутри: сравнение кода, работа с .env и немного практики.

Читать далее

Создаём DSL на C#

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

Создаю собственный DSL на C#: рассказываю о том, как закладывается фундамент языка и как подойти к проекту подобного масштаба.

Читать далее

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

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

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

Читать далее