Почему вам следует время от времени избегать использования фреймворков и библиотек: Руководство для бунтаря

Почему вам следует время от времени избегать использования фреймворков и библиотек: Руководство для бунтаря

Признаюсь честно: однажды я построил рабочий API, используя только основные модули Node.js. Когда коллеги это увидели, их реакции варьировались от «Ты просто маньяк!» до «Погоди… это и правда работает?». Спойлер: всё работало. Хотя такие фреймворки, как Express или NestJS, — это замечательная страховка, иногда только отказ от них помогает понять, как всё работает на самом деле. Скрытые издержки удобства фреймворков Потеря производительности Фреймворки включают в себя всё, что только можно представить....

24 июня 2025 06:00 · 3 минуты · 499 слов · Maxim Zhirnov
Создание распределенного хранилища сеансов в Go: Когда ваши сеансы нуждаются в переносе

Создание распределенного хранилища сеансов в Go: Когда ваши сеансы нуждаются в переносе

Представьте: пользователь входит в систему, берёт цифровую корзину для покупок, и внезапно его перенаправляют на другой сервер, который ничего не знает о его сеансе. Это похоже на попытку продолжить путешествие после того, как кто-то поменял вашу машину в середине пути. Давайте построим распределённую систему сеансов, которая не допустит брошенных корзин или выхода пользователей из системы! Почему сеансы выходят из-под контроля в распределённых системах Традиционное хранилище сеансов обладает всеми навыками координации, как у малышей, играющих в футбол — все гонятся за одним мячом....

16 июня 2025 14:00 · 4 минуты · 694 слова · Maxim Zhirnov
Укрощение Firefox: Путешествие разработчика в веб-расширения

Укрощение Firefox: Путешествие разработчика в веб-расширения

Представьте: вы смотрите видео с кошками на любимом сайте, и вдруг — БАМ! — появляется безумная идея. А что, если бы Firefox мог приносить кофе, пока вы смотрите видео? Хотя наши веб-расширения пока не могут доставлять кофеин, они могут превратить ваш браузер в швейцарский армейский нож для повышения продуктивности. Давайте создадим немного магии для браузера! Анатомия веб-расширения Каждое великое расширение начинается с трёх основных компонентов: manifest.json (ДНК расширения). Контент-скрипты (шептуны DOM)....

12 июня 2025 14:00 · 3 минуты · 484 слова · Maxim Zhirnov
Django против Flask: Веб-разборка на Python с кодом, кофе и долей драматизма

Django против Flask: Веб-разборка на Python с кодом, кофе и долей драматизма

Представьте: вы стоите на распутье для разработчиков. На одном пути — Django, размахивающий своим знаменем «батарейки в комплекте». На другом — Flask, небрежно прислонившийся к указателю «микрофреймворк». Куда пойти? Возьмите свой любимый напиток с кофеином и давайте препарируем этих титанов веб-разработки на Python с хирургической точностью (и, может быть, парой папиных шуток). Претенденты: философия фреймворков Django — это чересчур подготовленный друг, который берёт с собой походную плитку на пикник. Появившись в 2005 году для работы со сроками выпуска газет, это фреймворк, который говорит: «Зачем создавать панель администратора, когда я уже испёк её для тебя?...

2 мая 2025 14:00 · 3 минуты · 557 слов · Maxim Zhirnov
Проносясь по Сети: прагматичное путешествие к секретному оружию Flutter

Проносясь по Сети: прагматичное путешествие к секретному оружию Flutter

Итак, вы хотите создавать веб-приложения, которые не просто работают, а летят в браузерах? Позвольте мне познакомить вас с Dart — это «братом по кофеину» JavaScript, который Flutter Web использует для создания более плавного взаимодействия, чем искусство латте бариста. Мы пропустим теоретические рассуждения и сразу перейдём к практическим аспектам. В конце концов, вы будете собирать веб-приложения быстрее, чем я выпиваю чашку кофе во время сеансов отладки. От новичка до героя Dart за 3 акта Акт I: сверхспособности Dart (которые хотелось бы иметь JavaScript) Dart подобен более крутому кузену TypeScript, который занимается паркуром....

11 апреля 2025 14:00 · 4 минуты · 667 слов · Maxim Zhirnov