Блог и полезные материалы

Комментарии в коде

30 сентября 2022

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

Читать далее

Возврат undefined из функции

30 сентября 2022

Давайте разберём как правильно вернуть отрицательный ответ из функции. Например, мы хотим найти пользователя, которого может не быть. И я видел как минимум 3 разных подхода, где мы возвращаем null, undefined или ошибку. Какой лучше?

Читать далее

Next.js 12 - Измеряем скорость сборки

30 сентября 2022

И снова большой релиз у Next.js. Новая версия принесла нам пару действительно полезных нововведений, среди которых - новый компилятор. Проверим на реальном проекте, какой прирост мы получим.

Читать далее

Валидация данных из внешнего API

30 сентября 2022

Как на frontend, так и на backend нам приходится работать с внешним API. Особенную боль доставляют внешние API, которые не привязаны к вашему релизному циклу и могут меняться как бог на душу положит. Поэтому хорошо иметь способ из валидировать без лапши кода.

Читать далее

Версионирование пакетов

30 сентября 2022

Этот пост мне навеяла библиотека `axios`, которую я конечно люблю, но ломать совместимость в версии 0.22.0 по сравнению с 0.21.0 - неприемлемо. Да и вообще иметь 0 в начале так себе...

Читать далее

TypeScript 4.4 - Обработка ошибок

30 сентября 2022

Если вы давно пишете на TypeScript, скорее всего взвели у себя в tsconfig.json флаг "strict": true, который включает сразу несколько проверок. Как это повлияло на try / catch в TypeScript 4.4?

Читать далее

Фильтрация undefined в typescript

30 сентября 2022

Типизация, после того как мы с вами применили `filter` иногда бывает не такой однозначной как хотелось бы. Этот пост мне навеяло одно ревью. Итак, представим, что мы продаём чашки для кофе ☕. Не обычные, а какие-нибудь многоразовые, имеющие штрихкод. Попробуем разобраться в неоднозначности работы TypeScript.

Читать далее

Тип never в Typescript

30 сентября 2022

Типизация - это то, почему многие выбирают писать на TypeScript, а не на чистом JavaScript. Хотя на конференциях можно услышать доклады "Почему вам не нужен TS", в больших проектах без него просто не обойтись. Потому важно понимать все особенности типизации. Разберём тип `never`, который многим, кто знакомится с TypeScript непонятен.

Читать далее

Next.js не работает revalidate?

30 сентября 2022

Одной из важных возможностей Next.js является ревалидация статических страниц после того, как мы их закэшировали на этапе сборки. Именно движок next обеспечивает нам ревалидацию наших страниц в фоне, незаметно для пользователя. Но почему она может не работать?

Читать далее

Когда использовать return await?

30 сентября 2022

Разберёмся, что даёт нам запись return await и когда она действительно нужна, а когда создаёт дополнительную сложность в коде. Я очень часто во время ревью встречаю такую конструкцию...

Читать далее