Новые возможности Angular 14 изменят ваш код

В статье рассмотрели фичи новой версии Angular:

  • Типизированные формы Angular
  • Новые примитивы в Angular CDK
  • Оптимизированный доступ к заголовку страницы
  • Автономные компоненты
  • Расширенная диагностика разработчика

Читать полностью


Перегрузка функций в TypeScript

Перегрузка функций — это та область TS, которая находится в невидимой зоне для разработчиков, которые изучали JS, а потом на работе «на ходу» начали осваивать TS. Особенно, если изучение JS не было связано с университетом или любым другим фундаментальным образованием. Если вы изучали JS на курсах, то вы никогда не услышите там про перегрузку функций, просто потому что в JS этого функционала нет. А когда вы сами начнете изучать TS, то вы не наткнетесь на перегрузку функций, просто потому что даже не подозреваете о ней. Если, прочитав вступление, вы задались вопросом «Что за перегрузка такая?», то эта статья для вас. Читать


10 задач с JavaScript Promise для подготовки к собеседованиям

Promise — это отличительная особенность JavaScript как асинхронного языка программирования. Нравится вам это или нет, понять его в любом случае придется. В этой статье я приводим 10 примеров кода с Promise, начиная от базового уровня заканчивая продвинутым. Читать


Я разработал генератор ASCII-арта в Node JS

ASCII-арт — это метод графического дизайна, который использует компьютеры для презентации и он состоит из изображений, собранных вместе из 95 печатных символов, определенных стандартом ASCII от 1963 года, и ASCII-совместимых наборов символов с проприетарными расширенными символами. В этой статье вы увидите, как сделать генератор ASCII-арта из изображения. Читать


Что такое дженерики в TypeScript?

TypeScript, «надмножество JS», облегчает создание поддерживаемых, понятных и масштабируемых приложений благодаря эффективной возможности проверки типов. Дженерики играют важную роль в TypeScript, поскольку они позволяют нам писать многократно используемый код, принимающий в качестве аргументов как значения, так и типы. Читать далее


__proto__ и prototype

Часто на собеседовании опытный разработчик может спросить у начинающего: «Что такое __proto__ и prototype, и чем они отличаются?». Обычно этот вопрос либо ставит в тупик, либо на него отвечают заученной мантрой из видео «50 вопросов на собеседовании»: « __proto__ — это ссылка на prototype, а prototype — это собственно свойство». И этот ответ правильный, только большинство недавно пришедших в профессию разработчиков не понимают, что это значит на самом деле. Причина проста — они не встречают в разработке ни __proto__, ни prototype, потому что современные стандарты JS прячут от него работу с этими свойствами за синтаксический сахар. Эта статья для разработчиков, которые столкнулись с JS в то время, когда никаких __proto__ и prototype на поверхности уже нет, а желание понять, как это устроено «под капотом» остается. Читать


Фреймворки для тестирования Node: Хорошие, плохие, медленные и ресурсоемкие

В этой статье выясним, как обстоят дела с требованиями к памяти и производительностью Jest в сравнении с его конкурентами: AVA, Mocha и Tap. Читать


Как очистить глобальные слушатели событий, интервалы и сторонние библиотеки в Vue-компонентах

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


Использование потоков для создания высокопроизводительных Node.js приложений

Node.js включает встроенный модуль stream, который позволяет нам работать с потоковыми данными. В данной статье на нескольких простых примерах мы объясним, как можно использовать этот модуль. Мы также опишем, как можно построить пайплайны, склеивая различные потоки вместе, чтобы создавать высокопроизводительные приложения для сложных сценариев использования. Читать далее