Обновить

Бэкенд

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

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

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

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

Читать далее

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

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

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

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

Читать далее

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

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

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

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

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

Читать далее

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

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

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

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

Читать далее

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

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

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

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

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

Читать далее

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

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

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

Читать далее

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

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

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

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

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

Читать далее

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

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

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

Читать далее

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

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

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

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

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

Читать далее

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

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

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

Читать далее

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

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

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

Читать далее

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

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

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

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

Читать далее

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

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

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

Читать далее

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

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

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

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

Читать далее

Итоги встречи ISO C++ на Гавайях: начинаем полировку стандарта С++26

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

Привет! На связи Антон Полухин из Техплатформы Городских сервисов Яндекса. Сегодня я расскажу о ноябрьской встрече Международного комитета по стандартизации языка программирования C++, в которой принимал активное участие. Это была первая из встреч, связанных с «полировкой» C++26. Другими словами, новые фичи C++ пока не появятся — комитет должен только проработать замечания всех стран-участников, включая наши замечания от России.

Однако от плана немного отступили и втащили некоторые новинки как ответы на пожелания участников комитета: std::integer_sequence оброс новой функциональностью, а std::format научился в constexpr.

Помимо этого, поправили множество багов, перековыряли связку Hardening + Contracts, внесли улучшения во многие части стандартной библиотеки.

Читать далее

Fil-C: реализация C с безопасной работой с памятью

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

В последние годы язык Rust активно продвигается в качестве инструмента для системного программирования. Самый яркий символ этого процесса - официальное добавление Rust в исходный код ядра Linux, одного из ранее неприступных бастионов языка C. Это событие встряхнуло сообщество разработчиков на C, где десятилетиями царила уверенность: «да, C небезопасен, но так всегда было и всегда будет».

Но то, что десятилетиями казалось незыблемым, теперь вызывает вопросы. Возможно ли, чтобы сам C стал безопасным, не меняясь?

Проект Fil-C - одна из самых необычных и смелых попыток ответить «да».

Читать далее

Почему все ненавидят 1С, но продолжают на нём работать?

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

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

Сегодня поговорим о феномене: странной, почти мазохистской привязанности 1С-разработчиков к своему инструменту. Это как брак, в котором ты ежедневно угрожаешь разводом, но остаёшься — потому что «а куда деваться?».

Читать далее

Забавный парадокс отправки в канал в Go

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

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

(UPD - нет не единственный, смотри примечание в конце - код более похожий на то что можно встретить в жизни)

Читать далее

Превращаем C# в Python, JavaScript и F#

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

В С# 14 появился новый синтаксис расширений (extension members), позволяющий добавлять методы, свойства и даже перегружать операторы для существующих типов без создания врапперов и без изменения исходных типов.

Благодаря этому, стал возможен код как на обложке.

Выглядит, мягко говоря, необычно. Давайте разберёмся, что тут вообще происходит…

Читать далее

Разработка peer-to-peer мессенджера на Rust

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

История о том, как написать свой P2P-мессенджер, когда Discord и Telegram перестали устраивать. В статье разбирается устройство транспортного протокола с ECDH и ротацией ключей, решение проблем с NAT traversal, реализация голосовых звонков и работа с аудиоустройствами. Бонусом — откровенный опыт использования LLM для написания кода: что работает из коробки, а какие модули пришлось полностью переписывать.

Читать далее