Все потоки
Поиск
Написать публикацию
Обновить

Бэкенд

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

Распределённая батчевая обработка данных: как мы решали проблему гонок в продакшене

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

Всем привет! Меня зовут Дмитрий, я руковожу командой государственных интеграций в Ozon Банке. Сегодня я расскажу о том, как мы столкнулись с проблемой гонок при батчевой обработке данных в распределённой системе — и какие решения мы рассматривали, чтобы эту проблему решить. Материал основан на реальном кейсе и будет интересен всем, кто работает с PostgreSQL, батчами, распределёнными системами и борьбой за консистентность в высоконагруженных системах.

Читать далее

Telegram бот управления Docker контейнерами

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

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

оставлю пища для размышлений и задел на развитие бота

Читать далее

Агрегация и парсинг XML RSS ленты на Python

Время на прочтение9 мин
Количество просмотров724

В этой статье рассмотрим, как с помощью Python собирать и обрабатывать новости с сайта, имеющего RSS.

В нашей статье мы создадим скрипт на Python, который за заданный период (например, за последние 4 часа) соберёт все записи из нескольких лент сайта BBC, отфильтрует их по ключевому слову «Трамп» и опубликует итоговый подбор в наш Telegram-канал. Далее рассмотрим код, вы легко сможете адаптировать его под любую другую ленту или ключевое слово.

Читать далее

Вышла GPT-5-Codex: код-ревью, рефакторинг и агентные задачи

Время на прочтение8 мин
Количество просмотров7.2K

Команда AI for Devs подготовила перевод анонса GPT-5-Codex — новой модели, оптимизированной для агентного программирования. Codex умеет писать проекты с нуля, проводить код-ревью, находить критические баги и даже часами самостоятельно выполнять масштабные рефакторинги.

Читать далее

Event Driven Design и ksqlDB

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

На конференции Web 2.0 в 2006 году Marissa Mayer из Google указала на проблему, что дополнительные полсекунды задержки приводили к снижению поискового трафика примерно на 20%. Amazon сообщал о похожем эффекте: каждые дополнительные 100 мс уменьшали продажи примерно на 1%. 

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

Конференция была проведена почти 20 лет назад, компьютерные технологии за это время стали демократичнее, что привело к увеличению количества пользователей и продуктов. Проблема задержек не исчезла — наоборот, она стала острее: чем больше информации накапливают сервисы, тем тяжелее становится её обработка. Чтобы справиться с нагрузкой, приходилось менять архитектурные подходы к хранению и обработке данных. В статье мы разберем один из них – event-driven design.

Читать далее

EU AI Act для IT: что реально изменилось летом 2025 и как публиковать про ИИ без лишних рисков

Время на прочтение3 мин
Количество просмотров240

Скажу по-человечески. Летом 2025 года все немного перегрелись от новостей про регулирование ИИ, но работать нужно уже сегодня. Ни паники, ни бравады. Спокойный разбор, где сроки на месте, а формулировки не подводят.

Читать далее

Возвращение LTS: ты не пройдёшь… мимо новых фич Java 25

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

В одной из моих предыдущих статей я писал о фичах между LTS-версиями Java 17 и 21. Сегодня, два года спустя (Как?! Уже два года?!), выходит новый LTS-релиз — Java 25.

Подавляющее большинство проектов пропускают промежуточные релизы и используют только LTS-версии Java. Так что давайте посмотрим, какие возможности новая LTS-версия (Java 25) приносит по сравнению с предыдущей LTS-версией (Java 21).

Читать далее

Одноразовый вейп в качестве веб-сервера

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

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

Предыстория

Уже пару лет я собираю коллекцию одноразовых вейпов, полученных от друзей и членов семьи. Поначалу я только извлекал аккумуляторы для «будущих» проектов (это точно не синдром Плюшкина), но в последнее время одноразовые вейпы стали гораздо более продвинутыми. Не хотел бы я быть юристом, которому придётся доказывать, что устройство с разъёмом USB C и перезаряжаемым аккумулятором можно классифицировать, как «одноразовое». К счастью, в ближайшее время я не планирую подаваться в юриспруденцию.

В прошлом году я разбирал одну из этих технологичных сосок для взрослых и заметил нечто любопытное: вместо обычной чёрной капли, которой заливают ASIC (Application Specific Integrated Circuit), я увидел небольшую интегральную схему с маркировкой «PUYA». Не буду винить читателей, если это название не вызвало у вас того же восторга, что и у меня — большинство людей никогда его не слышало. Эта компания больше всего знаменита своими флэш-чипами, но впервые я узнал о них из поста Джея Карлсона о самом дешёвом флэш-микроконтроллере. Это довольно мощные крошечные микроконтроллеры ARM Cortex-M0+.

За последний год у меня скопилось довольно много таких одноразок с PY32; это были разные модели вейпов одного производителя. Я не буду бесплатно рекламировать табачный бренд, но выражу благодарность проектировщику за маркировку на отладочных контактах!

Читать далее

Облачные вычисления в 2025 году: рост ИИ приводит к революции на рынке объемом $723 млрд

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

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

Индустрия облачных вычислений переживает свой самый трансформационный период: интеграция искусственного интеллекта стимулирует беспрецедентный рост и меняет то, как компании подходят к цифровой инфраструктуре.

Новые данные показывают, что глобальные расходы на публичные облачные сервисы достигнут $723,4 млрд в 2025 году, что составляет рост на 21% по сравнению с $595,7 млрд в 2024 году.

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

Читать далее

Как устроены массивы в PHP и как код влияет на скорость работы с ними

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

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

Читать далее

Бенджамин Вуттон «Микросервисы — не бесплатный сыр!»

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

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

Читать далее

Непостижимая эффективность современных алгоритмов сортировки

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

Предупреждение о возможном конфликте интересов: автор этого документа также является соавтором реализаций ipnsort и driftsort, используемых в стандартной библиотеке Rust.

Сценарий

Компоненту ПО передаются данные для сортировки. Известно, что значения могут иметь низкую кардинальность. Несмотря на тип u64, способный хранить 264 уникальных значений, в данных наблюдается всего четыре уникальных значения. Учитывая такие серьёзные ограничения, разработчик может разумно решить использовать специализированную реализацию сортировки, а не ту, которая есть в библиотеке, потому что он знает о данных больше, чем способна знать обобщённая реализация.

Читать далее

Emoji PHP — смайлики в вашем проекте

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

Столкнулись с необходимостью работать со смайликами как в Telegram: группировать, искать и хранить в базе? — Готовых решений на PHP не нашлось.

Рассказываю, как я создал библиотеку Emoji PHP для решения этих задач

Читать далее

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

Как получить и использовать бесплатную лицензию PVS-Studio на практике. Часть 1: подготовка и начало работы

Время на прочтение6 мин
Количество просмотров2.1K

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

Читать далее

Создаём личную систему VoIP

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

Я всегда был активным сторонником самохостинга, но ни разу не пробовал ничего, связанного с VoIP. Недавно я приобрёл несколько IP-телефонов и создал личную домашнюю телефонную сеть на основе Asterisk. Это руководство поможет вам настроить собственную телефонную систему при помощи опенсорсных инструментов.

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

Читать далее

Clean Fury: эволюция одного Node.js сервиса

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

Эта статья — история эволюции. Она о том, как простое желание купить билеты в театр прошло путь от однофайлового скрипта на несколько строк до полноценного сервиса с Clean Architecture, CI/CD и деплоем на VPS. Я не стану показывать пошаговый гайд по программированию, а разберу на примерах, какие боли на каждом этапе заставляли меня усложнять архитектуру, и какие архитектурные решения эти боли закрывали. Это практический гайд по принятию решений для ваших пет-проектов.

Читать далее

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

Время на прочтение4 мин
Количество просмотров1.5K

Привет! На связи Сергей Скирдин, технический директор ИТ-интегратора «Белый код». Последние полтора года я активно исследовал российский рынок интеграционных решений (ESB). За это время успел встретиться с 20+ вендорами, погрузиться в сотни страниц документации и даже провести батл между разработчиками. В результате получился большой обзор рынка. В статье расскажу, что удалось выяснить и какие советы могу дать тем, кто сейчас выбирает платформу. 

Читать далее

Создаём CLI-приложение прогноза погоды на Go: пошаговое руководство для новичков

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

Команда Go for Devs подготовила перевод пошагового руководства: как написать собственное CLI-приложение прогноза погоды на Go. Проект охватывает всё — от HTTP-запросов и парсинга JSON до удобного интерфейса командной строки. Отличная практика для новичков и хороший повод освежить базовые навыки тем, кто уже работает с Go.

Читать далее

Ваш AI-ассистент уже слил ключи в облако?

Уровень сложностиПростой
Время на прочтение5 мин
Количество просмотров930

Команда AI for Devs подготовила перевод статьи о том, как AI-ассистенты для написания кода одновременно ускоряют разработку и умножают риски. Исследование Apiiro показало: 4-кратный рост скорости сопровождается 10-кратным ростом уязвимостей. Вопрос открытый — готовы ли компании масштабировать не только продуктивность, но и риски?

Читать далее

Меньше магии, больше кода: мой способ писать Django views

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

Команда Python for Devs подготовила перевод статьи о том, как автор выбирает способ написания представлений в Django. Он считает, что обобщённые классовые представления (CBV) скрывают слишком много магии, усложняют чтение кода и отладку. Вместо них он использует базовый View, чтобы сохранять контроль, но при этом избегать громоздких if в функциях.

Читать далее