Обновить
8
Алексей Михайлов@lex_coder

Senior Backend Developer / AppSec

3
Подписчики
Отправить сообщение

Живая вода для ESP32: рукописный шрифт и морфинг

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

Часы на ESP32 с экраном 320x240. Время, температура и название города написаны рукописным шрифтом на кривых Безье: цифры времени перетекают одна в другую, температура и город пишутся штрих за штрихом. Значок погоды собран из точек и плавно перетекает из одного в другой.

Мотивация

Часы показывают время, и воспринимается оно мгновенно: взглянул и знаешь. Оформление делает его заметнее, анимация — живее. Обязательна ли она? Нет. Это штрих, как в искусстве: без него всё работает, с ним на вещь приятно смотреть. Статья о том, как такой штрих сделать на микроконтроллере.

Читать далее

Настоящий андеграунд: современные BBS

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

За окном ночь и огни большого города, в кружке горячий кофе, а на экране монитора медленно грузится стильная ASCII-заставка. Наконец появляется приглашение: Welcome to Vortex BBS. Press a key.

Нет, это не очередная история времен бурной молодости автора и на дворе все также 2026 год, а не начало 90-х. Но даже в 21 веке с ИИ, роботами и Илоном Маском в сети еще остались удивительные места, где время остановилось.

Читать далее

Как мы ускорили расчёт факторов ранжирования в поиске Ozon с помощью динамической компиляции

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

Всем привет! Меня зовут Петя Портнов, я работаю в Ozon ведущим разработчиком в команде среднего поиска — слоя, который ранжирует поисковую выдачу.

Представьте, что вы вводите запрос в поисковую строку маркетплейса. За этим простым действием скрывается сложный поисковый пайплайн: миллионы товаров фильтруются, ранжируются и сортируются по релевантности. Но как именно система решает, что показать первым? В основе этого решения лежат вычисления, среди которых — сотни разнообразных формул, учитывающих цену, рейтинг, популярность, персонализацию и другие факторы. По мере развития системы таких формул становится всё больше, а сами они усложняются. В какой-то момент вычисления превращаются в узкое место: начинают потреблять значительную долю CPU, создают множество промежуточных объектов — и так для каждого поискового запроса. Возникает вопрос: как снизить стоимость таких вычислений в JVM?

В этой статье я расскажу, что сделали мы, чтобы снизить нагрузку на систему: как заменили интерпретирующий движок формул на динамический компилятор, выполняющий построение эффективного байт-кода, отлично векторизующегося JIT-компилятором. Это текстовая версия доклада с Joker 2025 с дополнениями, которые не вошли в выступление или появились в проекте уже после конференции.

Читать далее

Информация

В рейтинге
Не участвует
Откуда
Краснодар, Краснодарский край, Россия
Дата рождения
Зарегистрирован
Активность

Специализация

Бэкенд разработчик, Архитектор информационной безопасности
PostgreSQL
Linux
Python
CI/CD
Grafana
Perl