Обновить

Бэкенд

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

Аргументы воркеров в Node.js и на что они влияют

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

Подробное описание аргументов, доступных при создании воркеров в Node.js и как их можно использовать для многопоточки в серверном JavaScript

Чё ещё за аргументы?

Ставка на GenAI: генеративные модели меняют правила игры в автономном транспорте

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

Автономный транспорт давно вышел за пределы закрытых полигонов и футуристичных историй. Он уже работает и приносит пользу бизнесу и людям. В России тягачи Navio два года возят реальные грузы коммерческих клиентов по трассе М-11 «Нева». А в США, Китае или Европе можно совершить поездку на роботакси. Тем не менее, восприятие технологии остается противоречивым. Видео, где автомобиль без водителя в салоне не может выехать с кольцевого перекрестка или воспринимает человека в майке с надписью STOP как команду к действию, усиливают скепсис и снижают доверие к результатам разработчиков. Почему компании, которые работают над технологией с 2009 года [больше 15 лет], не смогли добиться ее стабильной работы.

Классический подход в разработке автономного транспорта

Алгоритмический подход признан классическим в разработке автономного транспорта. Логическая архитектура построена на основе последовательности действий водителя за рулем:

восприятие окружающего мира — набор сенсоров (радары, лидары, камеры);

определение местоположения — карты, модуль позиционирования, сенсоры;

предсказывание действий других объектов вокруг — алгоритмы на базе кинематической составляющей и модели динамики объектов;

планирования пути — руководство к действию или свод правил, основанный на правилах дорожного движения (ПДД);

управление — модуль внутри автомобиля приводит его в движение. 

Этот код пишется 15 лет и никогда не будет завершен 

Несовершенность классического подхода обнаружилась на этапе планирования пути. При алгоритмическом подходе условия прописываются вручную (what-if сценарии). Автономное транспортное средство принимает решение на основе типа объекта (автомобиль, пешеход, др.), дальше добавляются такие условия, как состояние дорожного покрытия, погода, светофоры, другие объекты. Все это ведет к экспоненциальному росту проверок вложенных условий. Обладая достаточным парком автомобилей, за несколько лет разработчик может закрыть самые часто встречающиеся сценарии на дороге. Следующие несколько лет проездов выловят более редкие случаи и укрепят базу. Но остается открытым вопрос, что делать с уникальными ситуациями, как человек в футболке с надписью STOP или объездом препятствия в месте, где обгон запрещен разметкой. Невозможно вручную прописать все условия заранее, мир сегодня слишком непредсказуем. Такой подход не позволит масштабировать технологию и обеспечить ее стабильность на 100%, особенно в условиях города. Такая бесконечность сценариев называется Long Tail.

Читать далее

Интервью с автором книги «Архитектура бэкенда. API для надёжных корпоративных приложений»

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

Здравствуйте, уважаемые читатели. Сегодня мы предлагаем вашему вниманию текст, который приоткрывает некоторые аспекты нашей авторской кухни. Пост получился благодаря тому, что своим авторским опытом с нами поделился уважаемый Владислав Светлаков из Минска, выпустивший у нас книгу "Архитектура бэкенда. API для надёжных корпоративных приложений". Книга отлично продаётся у нас чуть менее трёх месяцев и продолжает разработку большой темы проектирования API. Ранее мы выпустили другие подобные книги, большинство из которых ориентировано на поддержку и доработку бэкенда. Важнейшие из них:

Читать далее

Cursor 2.0 и модель Composer: как изменился популярный AI-редактор кода

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

Вчера компания Anysphere выпустила Cursor 2.0 - крупнейшее обновление своего AI-редактора кода. Новая версия представляет собой не просто набор улучшений, а концептуальный переход к агентному программированию, где искусственный интеллект берёт на себя выполнение сложных многошаговых задач.

Читать далее

5 библиотек Python, которые выведут вас на новый уровень. Часть 2

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

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

Читать далее

Автодополнение кода на примере YQL в YDB CLI

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

Привет, Хабр! Меня зовут Виктор Смирнов. В Yandex Infrastructure я c недавнего времени занимаюсь фронтендом YQL: транслятором и инструментами разработки.

В этом посте я расскажу про новый модуль автодополнения запросов на YQL, а также продемонстрирую, как он преобразил консольный клиент YDB CLI.

Читать далее

Безопасный доступ к внутренним сервисам: Keycloak, OAuth2 и немного Nginx‑магии

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

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

Изначально решение виделось простым — настроить Nginx и прописать правила маршрутизации. Ключевые трудности скрывались в деталях: тонкой настройке редиректов, работе с access token и интеграции с бэкенд-сервисами, потребовавших значительного внимания.

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

Читать далее

Итоги открытого бета-тестирования ОС «МСВСфера» 10

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

Ровно три месяца назад мы объявили о начале открытого бета-тестирования российской операционной системы "МСВСфера" 10. За это время установочный образ был скачан более 700 раз, и участники тестирования дали нам хорошую обратную связь.

В процессе тестирования система показала себя достаточно стабильной и удобной для пользователей.  Приведу некоторые отзывы:

Читать далее

«Автопилот» для HeadHunter — как я потратил 100 часов на бота- чтобы сэкономить тысячи часов айтишникам на поиске работы

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

Привет- Хабр!

Поиск работы – это... боль. Нет- не так. Это – ад.

Это бесконечный скроллинг- десятки открытых вкладок.

Читать далее

Установка и настройка Doctrine ORM в Laravel

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

Для современных веб-приложений на PHP выбор ORM играет ключевую роль в организации работы с базой данных. В Laravel по умолчанию используется Eloquent — простой и удобный инструмент, идеально подходящий для большинства задач. Однако при сложных проектах, требующих гибкости, расширяемости и мощных возможностей работы с объектно-реляционным отображением — стоит обратить внимание на Doctrine ORM.

Читать далее

CPython простыми словами: всё, что нужно знать начинающему

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

Привет, Хабр!

Сегодня вместе заглянем за дверки Python и разберемся, что же там внутри. Оказывается, под привычным синтаксисом Python скрывается целая машина – интерпретатор CPython, написанный на языке C.

Это самая популярная и каноничная реализация Python. Существует и другие реализации (PyPy, Jython, IronPython и т.д.), но 99% времени, говоря Python, имеют в виду именно CPython – оригинальный и наиболее поддерживаемый интерпретатор. Без строгой формальной спецификации языка Python, именно поведение CPython во многом определяет, что такое Python.

Изучить внутреннее устройство

Ошибки, которые инженеры совершают при код-ревью

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

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

В новом переводе от команды Spring АйО эксперты сообщества подробно и на собственном опыте рассказали про нюансы код-ревью.

Читать далее

ИТ-архитектура: что читать и чему учиться в ноябре

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

Привет, Хабр. Это дайджест по ИТ-архитектуре: системный дизайн и практики от Kafka/gRPC и RabbitMQ до наблюдаемости на Prometheus/Grafana, PostgreSQL HA (Patroni+etcd), TOGAF 10/ArchiMate, CQRS/Event Sourcing, Cassandra и Kubernetes/Nomad. Внутри — актуальные программы повышения квалификации и приглашения на бесплатные открытые уроки от действующих практиков.

Читать далее

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

Работа с аудио в Rust: от записи до сжатия

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

🦀 Практическое руководство по работе с аудио в Rust: от захвата с микрофона через CPAL до эффективного сжатия в Opus. Реализация системы с задержкой <50 мс и сжатием 42:1. Исходный код, тесты и метрики производительности.

Материал отлично подходит для использования AI-агентами: поставил задачу ИИ-ассистенту и он написал работающий диктофон всего с одной правкой.

Читать далее

WebREPL и uPyLoader: Выбираем способ беспроводного управления ESP

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

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

 uPyLoader — файловый менеджер и редактор в одном флаконе, как блокнот с закладками: и файлы видно, и поправить можно.

 WebREPL — удаленное управление по Wi-Fi без проводов, как пульт управления по воздуху: управляй устройством, изменяй, корректируй и добавляй инструкции (файлы), вообщем, проводи отладку без подключения кабеля.

Разберем:

 - Как работать с файлами на устройстве с помощью uPyLoader.

- Как настроить беспроводное управление через WebREPL.

- Как настроить Wi-Fi в двух режимах: точка доступа и клиент.

 Только практические шаги с объяснением, которые вы сможете повторить.

Приступаем

Кен Томпсон о взломе замков и рождении Unix

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

У 82-летнего Кена Томпсона сохранились потрясающие воспоминания о первых днях операционной системы Unix и о буйной команде её разработчиков-гиков.

В этом месяце Музей компьютерной истории Кремниевой долины в партнёрстве с Ассоциацией вычислительной техники выпустил специальный выпуск на четыре с половиной часа, записанный полтора года назад историком технологий Дэвидом Броком. В этом выпуске Томпсон подробно перечислил многие из важных моментов своей карьеры — от работы над языком программирования C и Unix до операционной системы «Plan 9 from Bell Labs» и языка программирования Go.

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

Также по ходу дела Томпсон рассказывает историю о маленьком аллигаторе, которого друг отправил его в офис в Bell Labs. («Его просто принесли, как почту… Не самый лучший из питомцев»).

Читать далее

Первый опыт использования новой IDE для ROS2

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

Добрый день! В этой статье я расскажу о своём первом опыте использования новой IDE для ROS2. Кому интересно прошу под кат.

https://medium.com/p/593fcf9a22eb/edithttps://medium.com/p/593fcf9a22eb/edit

There was a thread with announcement of new IDE for ROS2 developers on Reddit.

Download it: https://github.com/rovium/rovium-beta

Установка

Читать далее

Как работает Docker под капотом

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

Всем привет, меня зовут Дмитрий Желудков, я архитектор по эксплуатации в одной корпорации, а ещё один из авторов курса учебного центра Слёрм «Docker для админов и разработчиков». Сегодня мы заглянем под капот и разберёмся, на каких китах держится вся эта магия.

Читать далее

Fullstack monorepo: как перестать дублировать код между фронтом и бэком

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

Сколько раз вы меняли поле в API, обновляли тип на бэкенде, а потом вспоминали, что надо поправить ещё и фронтенд? А если есть мобилка? А если схемы валидации тоже дублируются? Я устал от этого и создал шаблон монорепозитория, где TypeScript типы, Zod схемы и константы живут в одном месте и используются везде.

Читать далее

Как сделать идемпотентные API в Go: Idempotency-Key, дедуп в Redis/БД и защита от гонок

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

Привет, Хабр!

Представьте: клиент отправил важный POST-запрос (например, создание заказа или списание денег), но из-за сетевого сбоя не получил ответ. Не зная, что на сервере операция уже выполнилась, клиент пробует повторить запрос. Если бэкенд не подготовлен к таким дублям, итог может быть печальным: мы создадим две одинаковые записи вместо одной или, хуже того, спишем деньги с пользователя два раза. Как этого избежать? Правильный ответ — реализовать идемпотентность в API.

Смотреть реализацию