16 Фев 2019

Дайджест свежих материалов из мира фронтенда от JSExpert ( 2 февраля — 16 февраля 2019 )

Небольшая подборка с ссылками на интересные материалы из области фронтенда и около него за последних 2 недели ( 2 февраля — 16 февраля 2019)

 

JavaScript

 
Работа с часовыми поясами в JavaScript
Работа с датой в JavaScript всегда была нелёгкой задачей, особенно для новичков. Работа с часовыми поясами является той ещё проблемой.
Автор этой статьи хочет поделиться своим опытом при решении проблемы добавления часовых поясов в JS-библиотеку календаря, которую ведёт его команда и предлагает подробно поговорить об определении и стандартах часовых поясов, а уже потом переходить к JavaScript решениям.

 

Node.js

 

12 странных вещей, которые могут произойти после установки npm пакета
Пару месяцев назад автор этого материала начал заниматься проектом под названием malicious-packages (ака «вредоносные пакеты»). Он следит за обновлениями в npm репозитории, скачивает все новые модули, а затем проверяет их на вшивость — ищет сетевую активность, подозрительные операции с файловой системой и т.д. Даже маленькие проекты на node.js часто имеют большое дерево зависимостей, и у разработчиков физически нет возможности проверить их все. Это даёт злоумышленникам огромный простор для манёвра, и возникает вопрос — сколько же всякой гадости прячется по тёмным углам npm registry? 180000 проверенных пакетов спустя автор получил примерный ответ.

 

Руководство для начинающих по серверной веб-разработке с Node.js

Большую часть своей веб-карьеры автор работал исключительно на стороне клиента. Проектирование адаптивных макетов, создание визуализаций из больших объемов данных, создание инструментальных панелей приложений и т. Д. Но ему никогда не приходилось иметь дело с маршрутизацией или HTTP-запросами напрямую. До не давнего времени. Этот пост представляет собой описание того, как автор узнал больше о веб-разработке на стороне сервера с помощью Node.js, и краткое сравнение написания простого HTTP-сервера с использованием 3 разных сред, Express, Koa.js и Hapi.js.

 

Анализ подходов к связыванию модулей в Node.js
Многие разработчики Node.js для связывания модулей используют исключительно создание жёсткой зависимости с помощью require(), однако существуют и другие подходы, со своими плюсами и минусами. О них в этой статье вы и узнаете. Автор рассматривает четыре подхода: жёсткие зависимости (require()), внедрение зависимостей (Dependency Injection), локаторы служб (Service Locator) и контейнеры внедряемых зависимостей (DI Container).

 

Когда использовать var, let и const в Javascript [перевод статьи Tyler’а McGinnis]
Представляем вашему вниманию перевод статьи «var vs let vs const in JavaScript» автора Tyler McGinnis.
В этой статье вы узнаете 2 новых способа для создания переменных в Javascript (ES6), let и const. На протяжении этой статьи мы рассмотрим разницу между var, let и const, а также смежные темы такие как: “область видимости функции против блочной области видимости“, “поднятие” переменных и иммутабельность.
Но прежде чем мы углубимся в различия между var, let и const, имеются некоторые темы, которые вам следует узнать в первую очередь. Это объявление переменных и их инициализация, область видимости (особая область видимости функции) и “поднятие”.

 

ES6

 
ECMAScript Proposal: Array.prototype.{flat,flatMap}
А вы уже слышали про такую интересную штуку, которая в скором времени появится уже появилась в стандарте ECMAScript?
Она уже доступна почти во всех браузерах и весь функционал тоже. Это нововведение всего лишь сахар-обертка и ее можно решить своими средствами и автор этого материала вам это покажет. Но этот сахар позволит вам писать кода меньше, ведь мы это так любим. Итак, добавляется базовые функции к массиву, в данном случае их 2, которые позволят нам разворачивать многоуровневые массивы в один или более уровней вложенности. Да-да, и все это как говориться из коробки☝️😀