Pull to refresh
8
Алексей Михайлов@lex_coder

Senior Backend Developer / AppSec

3
Subscribers
Send message

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

Reading time36 min
Reach and readers15K

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

Мотивация

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

Читать далее

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

Level of difficultyEasy
Reading time9 min
Reach and readers12K

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

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

Читать далее

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

Level of difficultyMedium
Reading time27 min
Reach and readers12K

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

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

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

Читать далее

Information

Rating
Does not participate
Location
Краснодар, Краснодарский край, Россия
Date of birth
Registered
Activity

Specialization

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