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

Бэкенд

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

Парсинг сайтов с Selenium на Python

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

Многие начинающие разработчики сталкиваются с задачей, где нужно получить данные с сайта, а открытого API у него нет или его использование по каким-либо причинам невыгодно.

Самый очевидный из вариантов — парсинг HTML, но здесь часто возникает проблема: часть данных подгружается через JavaScript. В такие моменты использование условного requests и BeautifulSoup бесполезно.

Здесь на помощь приходит Selenium — инструмент для автоматизации браузера. С его помощью можно открывать страницы, имитируя действия настоящего пользователя, выполнять JavaScript и забирать данные в правильном виде.

Читать далее

Новости

MAX изменил правила: публиковать ботов и мини-приложения можно только через верифицированные юрлица РФ

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

С августа MAX официально перевёл публикацию ботов и мини-приложений в бизнес-режим: подключаться к платформе, создавать и выводить в прод можно только через верифицированные организации — юрлица РФ. ИП, самозанятые, физлица и нерезиденты сейчас не допускаются. Узнали мы об этом совсем недавно, после уведомления о деактивации наших ботов и отправке запросов в поддержку MAX по email. Параллельно API переехал на platform-api.max.ru, а токен теперь передаётся исключительно в заголовке Authorization.

В статье — что именно поменялось, как пройти модерацию и не завалиться на комплаенсе.

Читать далее

Дача-like кодинг

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

В последнее время идут баталии между сторонниками vibe-кодинга (использование ИИ инструментов без понимания в коде) и сторонниками классического программирования. В зависимости от того к группе менеджеров или программистов относятся первые, их мотивация отличается, но она по сути про одно - менеджерам кажется, что наконец у них появился священный грааль с помощью которого они избавятся от зависимости в "зажравшихся" программистах, на любой проект можно будет посадить несколько человек с улицы. Главное, чтобы могли уметь писать или хотя бы голосом в микрофон излагать связанно мысли.

Читать далее

CPython — Сборка мусора изнутри, ч.2

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

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

Итак, продолжим.

GitOps для начинающих: от открытых материалов для чтения с примерами — к open source-инструментам по теме

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

GitOps — широко известен и востребован, поэтому по теме регулярно появляются новые материалы для начинающих, а также специализированные инструменты. Мы в Beeline Cloud подобрали примечательные вводные статьи, гайды и open source-решения, которые интересно изучить и потестировать: от управления DNS-зонами и секретами до GitOps-инструментов от энтузиастов и крупных фирм-разработчиков.

Читать далее

PostgreSQL 18: новый асинхронный I/O ускоряет запросы до 3-х раз. Что происходит?

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

В мире баз данных, где каждая миллисекунда на счету, а объемы информации растут как на дрожжах, выход PostgreSQL 18 стал настоящим подарком для разработчиков и администраторов. Это не просто косметический апгрейд, а глубокая перестройка подкапотных механизмов, от облачных хранилищ до высоконагруженных OLAP-систем. Давайте разберемся, что там в этом релизе появилось и/или изменилось.

Читать далее

Как генерировать изображения на Rust в 100 строчек кода с Yandex ART?

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

Если в вашем Rust-проекте возникает необходимость генерировать изображения, то расскажите зачем) А о том, как это сделать — в этой статье. В качестве источника самих картинок я выбрал Yandex ART из-за того, что с ним не нужно возиться со всякими трехбуквенными сервисами, реклама которых в России запрещена.

Читать далее

Как Netflix сделал главную страницу по-настоящему динамичной с помощью GraphQL и триггеров

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

Когда вы открываете Netflix, кажется, что всё уже готово — но на самом деле под капотом разворачивается сложная архитектура, которая адаптирует главную страницу в реальном времени. Команда Netflix перешла от статичной генерации страниц к умной системе, основанной на GraphQL-мутaциях, клиентской нормализации кэша и триггерах обновлений. Благодаря этому подходу, пользовательский опыт становится глубоко персонализированным, отзывчивым и масштабируемым.

В новом переводе от команды Spring АйО подробно рассказывается, как устроен API, как работают обновления, и почему Netflix выбрал именно мутации вместо подписок или обычных запросов.

Читать далее

Создание умных AI-агентов: полный курс по LangGraph от А до Я. Часть 3. Даём ИИ руки: работа с инструментами и MCP

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

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

Учим агентов самостоятельно работать с файлами, базами данных, API и внешними системами. Больше никаких просьб «пришлите мне файл» — агенты сами найдут данные, проанализируют их и создадут отчёт.

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

От простых файловых операций до комплексных систем с оркестратором, которые автоматически исследуют темы в интернете, структурируют данные и создают профессиональные отчёты.

Плюс разбираем Model Context Protocol (MCP) — универсальный стандарт для подключения любых инструментов.

Читать далее

Redis работает быстро — я буду кэшировать данные в Postgres

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

В интернете есть книги и множество статей, таких как эта, в которых авторы приводят аргументы в пользу использования Postgres для всего. Я решил рассмотреть один из вариантов использования — применение Postgres вместо Redis для кэширования. Я довольно часто работаю с API, поэтому я создал очень простой HTTP-сервер, который отвечает данными из этого кэша. Я начал с Redis, так как часто сталкиваюсь с этим на работе, а затем переключился на Postgres с использованием нежурналируемых таблиц и посмотрел, есть ли разница.

Читать далее

Орел или решка. C++ Edition

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

Джон Эдмунд Керрич известен, как человек, подкинувший монетку 10 000 раз, чтобы проверить закон больших чисел на практике. Достоверно неизвестно, сколько времени у него занял подобный утомительный эксперимент, но обстоятельства ему так или иначе помогли: он был в немецком плену, и — как иронично или издевательски это не прозвучит — у него было много свободного времени. К тому же у Джона был помощник Эрик Кристенсен, который, вероятно, удвоил скорость проведения эксперимента.

Эта история заставила меня задуматься о том, какой тяжелой ценой и какими временными затратами в докомпьютерную эпоху ученым давались некоторые эксперименты. Этой статьей я хочу отдать дань уважения таким упорным мужам, как Керрич, и показать, насколько далеко мы продвинулись в прогрессе. И как это можно круто замесить с C++, оптимизацией, многопоточностью и щепоткой ненормального программирования.

Подкинуть монетку

Я упаковал 10 веб-фреймворков в Docker, чтобы вы могли запустить любой из них одной командой

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

Каждый раз, когда речь заходит о новом проекте, начинается вечный спор: какой фреймворк выбрать? Go или Rust для производительности? Python для скорости разработки? А может, стоит попробовать что-то на Elixir? Муки выбора знакомы многим. Вместо того чтобы в очередной раз теоретизировать, я решил пойти другим путем: взять и протестировать их все.

Так родилась идея проекта Framework DevBox — универсальной песочницы, где десять популярных фреймворков на разных языках упакованы в Docker-контейнеры и готовы к запуску одной командой.

Читать далее

Внедрение API Gateway: проблемы, решения, практические рекомендации

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

В мире микросервисов десятки, а то и сотни сервисов живут своей жизнью. Каждый со своим адресом, своими правилами, своей аутентификацией. Для внешнего клиента это выглядит как город без улиц и указателей. API Gateway — это попытка навести порядок. Он становится единым фасадом, центральным КПП для всего вашего бэкенда.

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

Читать далее

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

История о том, как я расследовала проблему зависаний VSCode и нашла причину

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

VSCode начал зависать: курсор не двигается, GitLens тормозит, Copilot не подсказывает.
Я решила подойти системно: измерения, анализ, инструменты диагностики VSCode.
И вот что получилось...

Читать далее

Как мы собрали ML-платформу в Купере

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

Всем привет! Меня зовут Роза и я MLOps-инженер в Купере. Пока одни учат модели, а другие пытаются их запустить, наша команда строит «мост» между этими мирами — и сегодня под катом расскажу, как мы создавали нашу ML-платформу: от тренировочных стендов до продакшн-инференса, который не падает в пятницу вечером.

Отдельное внимание мы уделим тому, как выстраивать взаимодействие между разными стейкхолдерами платформы — от собственно ML-инженеров до DataOps и Security-инженеров. 

Погнали!

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

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

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

Читать далее

Заказ звонка из email-рассылки с умным определением времени и задачей в CRM в один клик

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

Привет. Сегодня мы создадим полноценный инструмент повышения конверсии в звонок для email- и CRM-маркетологов. Речь пойдет о системе заказа обратного звонка прямо из письма.

Пользователь получает письмо с кликабельным календарем для выбора даты. Нажав на подходящий день, мы самостоятельно определяем время звонка и автоматически ставим задачу менеджеру в amoCRM.

Читать далее

Как мы победили «сковородочный апокалипсис» — буферизация резервации товаров в Ozon

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

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

Всем привет!
Меня зовут Александр Исай, я тимлид в Ozon Tech. Сегодня я расскажу историю о том, как мы спасали нашу систему резервации товаров от краха в самый горячий момент года.

Читать далее

Чистовики патриарха. О трёх последних книгах Олега Цилюрика

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

Привет, Хабр! На связи Олег Сивченко @OlegSivchenko редактор направления «Компьютерная литература».

Наша первая статья в корпоративном блоге вызвала ваш огромный интерес (+122) и оживлённое обсуждение с участием 30 пользователей (считая нас). На наш взгляд, вас заинтересовал вопрос авторских черновиков и доработки их до полноценных рукописей. Развивая тему, связанную со свободным ПО, хочу рассказать вам сразу о трёх наших знаковых книгах, посвящённых операционной системе Linux. Эти книги написал легендарный харьковский программист Олег Иванович Цилюрик (1951 — 2024), к сожалению, не дождавшийся выхода в свет 2-го издания своей книги «Linux и Go. Эффективное низкоуровневое программирование» (оглавление).  Opus Magnum, принадлежащий его перу и вышедший у нас в марте 2023 года, называется «Расширения ядра Linux. Драйверы и модули» (оглавление). Кроме того, мы выпустили экзотический и по-своему незаменимый труд Олега Ивановича, который называется «Сети Linux. Модели и приложения» (оглавление), посвящённый настройке, эксплуатации и внутренней организации оверлейной сети Yggdrasil (октябрь 2023).  Эта книга очень хорошо вписалась по духу и уровню в разрабатываемую нишу кибербезопасности, и, судя по отзывам на маркетплейсах, незаменима в нашу эпоху не столь свободного Интернета. Наконец, Олег Иванович самоотверженно справился с переводом одной книги O’Reilly —«Изучаем eBPF: программирование ядра Linux для улучшения безопасности, сетевых функций и наблюдаемости», вышедшей у нас в июле 2024 года. Давайте расскажу о двух из этих книг немного подробнее.

Читать далее

Тестирование процессов: как подружить Camunda и Cucumber

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

Всем привет! Меня зовут Елена Пилюгина, я ведущий разработчик отдела автоматизации бизнес процессов складской логистики в Magnit Tech.

В этой статье я расскажу про свой опыт покрытия тестами процессов в приложении на Spring Boot с Camunda 7. Покажу, как можно создать конструктор для тестирования процессов, варианты тестирования процессов в динамике и статике, поделюсь конкретными примерами кода, покажу преимущества BDD тестирования. Конечно, в рамках одной статьи невозможно охватить все технические аспекты, но я постараюсь показать выбранный мной подход к тестированию. Также буду рада, если заодно получится показать, что создание тестов может быть увлекательным и творческим процессом.

Читать далее
1
23 ...