Как стать автором
Поиск
Написать публикацию
Обновить

Бэкенд

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

GRPC в деле: проблемы реального сервиса

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

Привет, Хабр! Я Владислав Кислый, разработчик отказоустойчивых нагруженных сервисов в Т-Банке. Расскажу страшную сказку о том, как в одной компании взялись разрабатывать сервис. 

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

Читать далее

Новости

Просто будь ленивым

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

В новом переводе от команды Spring АйО рассматривается JEP 502, который вносит в Java 25 StableValue. StableValue позволяет легко и эффективно реализовывать производительные ленивые конструкции. Новое API позволяет компилятору JIT заранее сворачивать вычисления (constant folding), повышая производительность. Искали Lazy, но нашли золото: StableValue вычисляется один раз и может быть подготовлен Ahead Of Time.

Читать далее

Технологии единого входа (SSO) для корпоративных ресурсов

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

«С ростом числа внутренних сервисов и платформ в компаниях всё актуальнее становится задача унификации доступа сотрудников к корпоративным ресурсам. HR-системы, CRM, документооборот  — каждый из этих инструментов требует авторизации. В итоге у сотрудников накапливается десятки учётных записей, а у администраторов — необходимость управлять ими. Чтобы сократить избыточные точки входа и упростить контроль доступа, компании всё чаще внедряют механизм единого входа — SSO (Single Sign-On)», — рассказывает моя коллега Екатерина.

Читать далее

От математики к машине: преобразуем функцию в машинный код

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

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

1.       Математика – чистая математика

2.       Haskell – язык для функционального программирования

3.       C – язык для императивного программирования

4.       Ассемблер – сравнительно удобочитаемое представление машинного кода

5.       Машинный код для архитектуры x86-64 – вот это уже интересно

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

Читать далее

Что делать, если ваш слон думает, что он баг?

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

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

Читать далее

Как приручить LLM: подбор инфраструктуры для инференса. Часть 1

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

Привет, Хабр! Меня зовут Антон, и сейчас я активно занимаюсь вопросами инфраструктуры для ML и AI. Когда клиент приходит с запросом в духе «Разверните мне Qwen», невольно задаешься вопросом: «А какая инфраструктура нужна для такой задачи?» Но если запрос становится более конкретным, например, «Разверните Qwen так, чтобы держать 10 RPS с задержкой до пяти секунд», то можно и вовсе растеряться. Как подобрать конфигурацию под такие требования?

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

А еще в последнее время мне нравится тематика викингов и драконов (особенно та часть, которая связана с медовухой). Вместе мы напишем книгу по приручению самых разнообразных драконов или, как в простонародье, open source LLM. В ней рассмотрим разные типы драконов, какие «GPU-седла» подходят под каждого и какие инструменты использовать для приручения. Садитесь поудобнее, заваривайте что-нибудь крепкое и айда в уникальное путешествие на дракаре в волшебную долину драконов!

Читать далее

Делаем аутентификацию без push и SMS: звонок с диктовкой кода роботом

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

Привет, Хабр! Я Катя Саяпина, менеджер продукта МТС Exolve. Сегодня расскажу, как сделать двухфакторную аутентификацию через звонок с применением технологии text-to-speech. Работает просто — пользователь получает код, продиктованный роботом во время голосового вызова. ​​Этот альтернативный SMS и push-уведомлениям способ доставки кода, при этом относительно простой в реализации, дешевле SMS и работает без интернета.

Я покажу, как это работает, на конкретном кейсе.

Читать далее

Состояние Python в 2025 году

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

Команда Python, PyCharm и DevTools подготовила перевод статьи, основанной на 30 000 ответов разработчиков. TL;DR: 50% разработчиков пишут на Python меньше двух лет, Rust тихо становится «вторым пилотом», FastAPI вырывается вперёд, а агентный AI уже меняет то, как мы пишем код.

Читать далее

Observability в мире Интернета вещей

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

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

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

Читать далее

Как я пытался засунуть gRPC в браузер — часть первая

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

Одна из самых основных проблем в работе с gRPC - необходимость наружу вытаскивать отдельно REST API для web клиента, но, надо ли отдельно его писать, или можно как-то унифицировать и эту историю?

И вот начал я копать эту тему, и чем глубже копал, тем больше удивлялся. Оказывается, за последние почти 10 лет было целых ТРИ ЧЕТЫРЕ серьезных попытки затащить gRPC в веб. И знаете что самое смешное? Самая первая попытка, сделанная в 2015 году японкой-одиночкой (в команде с коллегами), до сих пор остается самым адекватным решением. А Google со всеми своими миллиардами и армией разработчиков так и не смог ничего нормального придумать. Но обо всем по порядку.

Ах, да, меня зовут Эдгар Сипки, я все также евангелист gRPC && OpenSource :) Кстати, мой канал, там я гораздо чаще пишу (а скоро еще и начну снимать очень много крутого контента про gRPC и Go), ну и конечно один из основателей инструмента EasyP

Ссылка на полный доклад, если хочется посмотреть - YouTube

Читать далее

Примеры применения EPLAN API для создания собственного модуля Add In

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

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

Если вы когда-нибудь чувствовали, что стандартных инструментов EPLAN не хватает, значит пора взглянуть на его API. В статье я покажу, как написать свой первый Add-In на C#, добавить кнопку на Ribbon и заставить её выполнять полезные действия. Всё на примерах — от простого «Hello World» до работы с объектами и настройками EPLAN.

Читать далее

RegExp с флагом /v: наборы, пересечения и юникод-свойства

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

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

Сегодня рассмотрим флаг регулярных выражений v в JavaScript. Флаг поддержан в современных движках и Node 20+, а для старых окружений есть транспиляция через Babel. Начнём с краткой ориентации где это уже работает и почему синтаксис отличается, а потом пойдём в практику.

Читать далее

Заканчивайте трястись и нанимайте тех, кто сильнее вас. Иначе станете динозаврами

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

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

Казалось бы, всё хорошо: кандидат может бустануть команду, и самого Петю позиция устраивает. Он открывает почту, а там: «Sorry, you’re overqualified».

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

Читать далее

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

RAG и векторные БД: НЕ Сизифов LLM на Java и Spring Ai

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

Привет! Меня зовут Бромбин Андрей, и сегодня я разберу на практике, что такое RAG-системы и как они помогают улучшать поиск. Покажу, как использовать Spring AI, векторные базы данных и LLM. Ты получишь теорию и пример реализации на Java и Spring Boot – от идеи до работающего сервиса. Без сложных формул – только чёткие объяснения и код.

Обновить резюме

Разбираемся с ReplacingMergeTree в ClickHouse

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

В мире систем обработки данных редко встречаются инструменты, которые одновременно просты в использовании и решают болезненные задачи архитекторов и инженеров. ReplacingMergeTree в ClickHouse — один из таких случаев. Этот движок берёт на себя рутину по дедупликации и обновлению строк, позволяя хранить только актуальные версии данных без лишних костылей. Как он работает на практике, зачем нужен ORDER BY, чем помогает столбец version и какие подводные камни могут ждать при проектировании — разбираем в статье.

Читать далее

Поддержка Spring 7, Reactive Debugger, работа с БД и HTTP прямо в IDE: это и много другое в Amplicode 2025.2

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

Amplicode 2025.2 — это релиз, в котором мы закрыли десятки мелких раздражающих моментов, и усилили поддержку ключевых технологий — от Spring и Spring Data JDBC до Docker, Kubernetes и Terraform. А также сделали интеграцию с базами и HTTP-сервисами ещё более бесшовной.

Читать далее

Единый дистрибутив, JSpecify, Java 25 и новый Spring Debugger: это и многое другое в IntelliJ IDEA 2025.2

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

IntelliJ IDEA 2025.2 — это релиз, который уже вызывает горячие обсуждения в комьюнити. JetBrains сделали первые шаги в сторону единого дистрибутива, добавили поддержку свежих технологий вроде JSpecify и Java 25, а ещё представили инструмент, который может изменить подход к отладке Spring-приложений.

Читать далее

Жмых-жмых и в продакшен: как быстро написать админку

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

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

Сделать красиво

Как успешно мигрировать с Oracle на Postgres Pro Enterprise

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

Миграция с Oracle в «ванильный» PostgreSQL ломается на пакетах, автономных транзакциях и коллекциях — там их просто нет. Разбираем, почему ora2pg спотыкается, что дает нативная реализация этих механизмов в Postgres Pro Enterprise и как ora2pgpro переводит PL/SQL семантически точно, без костылей и регулярок.

Читать далее

eBPF & Security: возможности, угрозы и способы защиты

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

Технология eBPF не нова. Её используют повсеместно, ведь она упрощает написание кода для ядра ОС. классно и удобно, а главное безопасно! Но, как оказывается на практике, не все так гладко… Это не только удобное средство для написания кода, но и новые потенциальные векторы для атак. Поэтому давайте подробно разберём, как она работает, и как можно избежать потенциальных проблем. Для меня как безопасника интереснее всего использование eBPF сервисами и инструментами в продакшене. Именно там открываются возможные пути обхода для злоумышленников. 

Меня зовут Лев Хакимов, я DevOps и Kubernetes Security Lead в MWS Cloud Platform, а ещё преподаю в ИТМО. Занимаюсь обеспечением и построением процессов безопасности платформ Kubernetes в облаке MWS, организую CTF-соревнования по всей стране для школьников, студентов и действующих специалистов.

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