Найти в Дзене
Разбор худшего пул-реквеста в моей карьере
За годы код-ревью я видел всякое, но один пул-реквест от мидла заставил меня проверить, не взломали ли наш гит. Задача была простой. Починить падение внешней интеграции в корзине. буквально 20 строк кода. Вместо этого автор принёс полторы тысячи строк изменений в десяти модулях. Он решил, что раз уж залез в код, то заодно перепишет всю логику оформления заказа, обновит старые библиотеки и внедрит модный паттерн, о котором только утром прочитал в интернете. Внутри этого хаоса творился настоящий ад. Вместо аккуратного перехвата ошибок там красовалась конструкция из пяти вложенных try-catch, которая просто глушила любые исключения, а в логи выводила лаконичное «Ой»...
6 дней назад
Почему люди устали от постоянных обновлений интерфейсов
Недавно поймал себя на странной мысли. Я открываю приложение, которым пользовался лет пять подряд, и вдруг не понимаю, где находится кнопка, которой пользовался каждый день. Не потому что я устал или отвлёкся. Просто разработчики снова «улучшили пользовательский опыт». И вот это чувство, оно стало каким-то массовым. Раньше обновление приложения означало исправление багов или добавление полезной функции. Сейчас же после каждого апдейта ощущение, будто тебе переставили мебель в квартире ночью. Заходишь утром на кухню, а холодильник почему-то стоит в ванной. Формально всё работает. Но раздражает дико...
1 неделю назад
Почему железо развивается медленнее, чем софт
Я в IT уже не первый год, и чем дольше наблюдаю за индустрией, тем сильнее бросается в глаза один парадокс: софт улетает вперёд с космической скоростью, а железо будто бежит по лестнице, пока программное обеспечение уже давно летит на реактивном двигателе. И у этого разрыва есть вполне приземлённые причины не магия, не заговор, а экономика, физика и сама природа технологий. Начнём с самого очевидного. Любое железо ограничено законами физики. Транзисторы нельзя бесконечно уменьшать: на уровне нанометров начинаются квантовые эффекты, утечки тока, перегрев. Мы уже подошли к тому моменту, когда классический закон чем меньше, тем лучше перестал работать так линейно, как в 2000-х...
2 недели назад
Почему крупные IT-гиганты начинают копировать друг друга
Если посмотреть на последние 10–15 лет в IT-индустрии, легко заметить странную вещь: компании, которые раньше гордились своей уникальностью, сегодня всё чаще делают почти одно и то же. Один запускает короткие видео второй тут же делает аналог. Один добавляет ИИ в поиск через пару месяцев это уже у всех. Возникает ощущение, что крупные IT-гиганты перестали изобретать и начали… копировать друг друга. На самом деле это не лень и не отсутствие идей. Это логика рынка, где ставка слишком высока, чтобы позволить себе экспериментировать в одиночку. В мире больших технологий ошибка стоит миллиарды. Когда ты маленький стартап, ты можешь рискнуть: не взлетело, закрылся и попробовал снова...
3 недели назад
Зачем реально нужен Docker и почему его не понимают новички
Я часто замечаю одну интересную вещь: Docker у новичков почти всегда вызывает одинаковую реакцию смесь недоумения и лёгкого раздражения. Типа зачем так усложнять, если можно просто запустить проект локально?. И в этом месте обычно и проходит граница между теми, кто пока пишет код для себя, и теми, кто начинает понимать, как этот код вообще живёт в реальном мире. Проблема в том, что Docker невозможно нормально понять, пока ты не столкнулся с хаосом окружений. Пока ты работаешь один, на одном ноутбуке, всё кажется простым: установил зависимости, запустил проект, и он вроде бы работает. Но как только...
4 недели назад
Как на самом деле работают современные веб-приложения (и почему всё сложнее, чем кажется)
Современные веб-приложения снаружи выглядят максимально просто: открыл сайт, зашёл в аккаунт, нажал пару кнопок и получил результат. Но внутри это давно уже не сайт в классическом смысле. Это сложная распределённая система, где браузер, серверы, базы данных и десятки промежуточных сервисов работают вместе, чтобы создать ощущение мгновенной и простой реакции. И чем проще всё выглядит для пользователя, тем сложнее инженерная конструкция под капотом. Если начать с самого начала, браузер сегодня это уже не просто программа для просмотра страниц. Это полноценная платформа, внутри которой есть движок...
1 месяц назад
Как я перешел с фронтенда на бэкэнд за пол года
Я пришёл во фронтенд не случайно. Это был нормальный инженерный этап: React, архитектура SPA, работа с состоянием, оптимизация рендера, сборки, взаимодействие с API всё это было частью ежедневной рутины. Со временем я перестал воспринимать фронтенд как верстку интерфейс это уже была полноценная инженерия на клиенте. Но спустя несколько лет стало очевидно, что я всё больше упираюсь в ограничения именно клиентской части. Не в смысле мне стало сложно, а в смысле стало интересно, что происходит дальше. Где именно принимаются архитектурные решения, как живёт бизнес-логика без привязки к UI, как строятся системы, которые обслуживают десятки клиентов одновременно...
1 месяц назад