С чем сталкивался и как решал
Каждый разбор устроен одинаково: проблема с конкретными цифрами, ход мысли вместе с тупиками, решение и вывод. Я показываю не только то, что сработало, но и то, где я ошибся — так честнее и полезнее.
Одна синхронная строка остановила весь Telegram-бот
Бот на asyncio переставал отвечать всем, стоило одному человеку запросить отчёт за год.
→ Асинхронность ломается тихо. Одна блокирующая строка среди сотни асинхронных останавливае…
Красивые анимации, которые убивали телефоны
Частицы, параллакс, неон. На ноутбуке — плавно. На среднем Android — слайд-шоу и горячий корпус.
→ Плотный визуал и производительность не конфликтуют — конфликтуют визуал и невнимательност…
Права доступа только на фронтенде — это не права доступа
Роли в трекере задач я сделал на клиенте. Пока не открыл вкладку сети и не посмотрел на это глазами постороннего.
→ Всё, что проверяется только в браузере, не проверяется вообще. Клиент — это удобство, сер…
Доска для команды разваливалась на плохом Wi-Fi
Прототип работал идеально — на моём компьютере. У первого же тестировщика рисунок исчезал при каждом обрыве связи.
→ Сеть — это не «просто отправить данные». Пока не протестируешь на плохом соединении, ты н…
90 SQL-запросов на одной странице каталога
Каталог открывался почти две секунды. Я был уверен, что виноваты картинки, и потратил вечер не туда.
→ Сначала измеряй, потом оптимизируй. Час с профайлером экономит день догадок — узкое место…