Обо мне Проект Контакты
Открыт к предложениям

Николай Леонов

Python / Django разработчик
Python • Django • PostgreSQL • Redis • Docker • Nginx • Linux • JavaScript

С 2019 года веду портал национального информационного агентства Кыргызстана: шесть языковых версий, от моделей данных до боевого сервера. Параллельно преподаю программирование школьникам.

Скачать резюме (PDF, одна страница)
Николай Леонов

Кратко

Основное: Python и Django. Проект закрываю целиком: модели и запросы, PostgreSQL и Redis, вёрстка и JavaScript, Docker, Nginx, деплой и дальнейшая эксплуатация.

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

Одинаково спокойно берусь и за проект с нуля, и за чужой legacy: разобраться в незнакомой кодовой базе, аккуратно достроить и не сломать то, что уже работает.

Из инструментов использую Claude Code: рутина и типовые задачи закрываются заметно быстрее.

КНИА «Кабар»
Инженер-программист
с 2019

Мультиязычный портал национального информагентства: Django и Wagtail, фронтенд, базы данных, серверы

Skysmart
Преподаватель программирования
с 2021

Веб-разработка и Python для школьников: от первых страниц до собственных проектов. Объясняю сложные вещи простым языком

КНИА «Кабар»

Национальное информационное агентство Кыргызстана: шесть языковых версий, свыше 100 тысяч материалов, не считая архива. Единственный разработчик проекта: бэкенд и инфраструктура целиком на мне, фронтенд дорабатываю поверх вёрстки подрядчика.

01

Одна система, шесть языков

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

У каждой версии своя база и свой кэш, поэтому отказ одной не задевает остальные, а обновление кода приезжает на все шесть одной командой.

02

Редакционная система

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

Материалы «Кабара» встраиваются на площадку китайского агентства «Синьхуа», его виджет стоит на главной русской и английской версий.

04

Производительность

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

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

Core Web Vitals по данным реальных пользователей зелёные: на мобильных LCP 1,1 с, INP 83 мс, CLS 0.

05

Локализация

Интерфейс переведён через gettext: единый набор строк в шаблонах и коде и шесть каталогов перевода, по одному на язык. Ни одна подпись не зашита в разметку, поэтому новая формулировка правится в одном месте, а не разъезжается по шести копиям шаблона.

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

06

SEO и доступность

Структурированные данные (статья, хлебные крошки, издание, видео), новостная и общая карты сайта, ленты для агрегаторов, мгновенное уведомление поисковых систем о публикации и межъязыковая разметка шести версий.

Сайт работает с клавиатуры и со скринридером: видимый фокус на интерактивных элементах, корректная семантика заголовков и навигации, диалоги с перехватом фокуса, осмысленные описания изображений.

07

Эксплуатация и защита

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

Защита от злоупотреблений собрана слоями: ограничение частоты запросов, автоматические блокировки по поведению, ограничение числа соединений, белые списки типов загружаемых файлов.

Помимо работы есть собственные проекты на Django, код в GitHub.

Связаться

Пишите на почту или в телеграм, отвечаю в течение дня

Скачать резюме
Ищу работу
Локация Ставрополь, Россия
Часовой пояс UTC+3 (МСК)
Формат работы Удалённо
Занятость Постоянная
Направление Бэкенд, вёрстка
Гражданство Кыргызстан · ЕАЭС