Предлагаем вашему вниманию подборку с ссылками на новые материалы из области фронтенда и около него.
Рубрика «javascript» - 78
Дайджест свежих материалов из мира фронтенда за последнюю неделю №388 (4 — 10 ноября 2019)
2019-11-10 в 21:17, admin, рубрики: angular, css, ES6, html, html5, javascript, JS, React, vue, браузеры, дайджест, Разработка веб-сайтов, ссылки, фронтендРазница между асинхронной функцией и функцией, возвращающей промис
2019-11-10 в 21:11, admin, рубрики: async/await, Catch, javascript, promises, webdevСуществует небольшая, но довольно важная разница между функцией, которая просто возвращает промис, и функцией, которая была объявлена с помощью ключевого слова async
.
Взгляните на следующий фрагмент кода: Читать полностью »
Пишем redux по SOLID
2019-11-10 в 9:33, admin, рубрики: javascript, React, ReactJS, redux, solid, ооп, полиморфизмВ данном посте мы коснемся написания action'ов и reducer'а. Для начала рассмотрим типичный 'flow', в котором мы выполняем следующие операции (далее переработаем все так, чтобы наш код отвечал принципам SOLID).
Читать полностью »
Проблемы основных паттернов создания data-driven apps на React.JS
2019-11-09 в 19:20, admin, рубрики: javascript, React, react.js, ReactJS, slots, SPA, TypeScriptДля создания интерфейсов React рекомендует использовать композицию и библиотеки по управлению состоянием (state management libraries) для построения иерархий компонентов. Однако при сложных паттернах композиции появляются проблемы:
- Нужно излишне структурировать дочерние элементы
- Или передавать их в качестве пропсов, что усложняет читабельность, семантичность и структуру кода
Для большинства разработчиков проблема может быть неочевидна, и они перекидывают ее на уровень управления состоянием. Это обсуждается и в документации React:
Функциональное программирование с точки зрения EcmaScript. Чистые функции, лямбды, имутабельность
2019-11-09 в 10:22, admin, рубрики: javascript, функциональное программированиеПривет!
Сегодня мы начнём говорить на очень важную тему — функциональное программирование. Значение ФП в современной веб-разработке трудно переоценить. Архитектура любого крупного современного проекта включает в себя пользовательские библиотеки функций и на собеседовании любого уровня в обязательном порядке будут вопросы по ФП.
Введение в функциональное программирование
Функциональное программирование(ФП) — способ организации кода через написание набора функций.
EcmaScript, являясь мультипарадигменным языком программирования, реализует наряду с прочими и функциональную парадигму. Это означает, что функции в ES являются данными и могут быть переданы в функции, возвращены из функций и могут сами принимать функции. Т.е. функции в ES являются функциями первого класса.
Отсюда следуют следующие определения:
Функциональный агрумент(Functional argument, фунарг) — аргумент, значением которого является функция.
Функция высшего порядка(ФВП, higher-order-funtion, hof) — функция, которая принимает функции в качестве аргументов.
Функции с функциональным значением(Function valued functions) — функция, которая возвращает функцию.
Все эти типы функций условно объединяют в функции первого класса, и, как следует из определения выше, в ES все функции являются объектами первого класса.
Читать полностью »
Лексическое окружение (LexicalEnvironment) и Замыкание (Closures) в EcmaScript
2019-11-09 в 9:23, admin, рубрики: closures, javascript, LexicalEnvironmentПривет!
Давно ничего не писал, большая загруженность на проекте крайние несколько недель, но сейчас появилось свободное время, поэтому решил представить вашему вниманию новую статью.
Сегодня мы продолжим разбирать ключевые концепции EcmaScript, поговорим о Лексическом окружении и Замыкании. Понимание концепции Лексического окружения очень важно для понимания замыкания, а замыкание это основа очень многих хороших техник и технологий в мире JS (который основан на спецификации EcmaScript).
Итак, начнём.
Лексическое окружение (LexicalEnvironment, ЛО, LE)
Официальная спецификация ES6 определяет этот термин как:
Lexical Environment — это тип спецификации, используемый для разрешения имён идентификаторов при поиске конкретных переменных и функций на основе лексической структуры вложенности кода ECMAScript. Лексическая окружение (Lexical Environment) состоит из записи среды и, возможно, нулевой ссылки на внешнюю Лексическую среду.
Разберёмся подробнее.
Я представлю себе лексическое окружение как некую структуру, которая хранит связь идентификаторов контекста с их значением. Это своего рода хранилище переменных, функций, классов, объявленных в области видимости данного контекста.
Технически ЛО представляет собой объект с двумя свойствами:
- запись окружения (именно тут хранятся все объявления)
- ссылка на ЛО порождающего контекста.
Moscow Node.js Meetup 10: Архитектура Node.js-приложений, Hot Reload в Node.js и секретный доклад
2019-11-09 в 1:03, admin, рубрики: architecture, backend, community, Conference, fullstack, javascript, meetup, node.js, nodejsДрузья, это становится доброй традицией. Мы не встречались почти 11 месяцев – прошлая наша встреча была накануне Нового года и у самого Кремля. А в этом году Node.js исполнилось 10 лет, а это значит время провести юбилейный 10-й митап Msocow Node.js Meetup!
В то время, как наш чат в Telegram ( t.me/nodejs_ru ), посвященный разработке на Node.js уже перерос 5 000 (пять тысяч!) участников, всё больше компаний, как международных, так и российских, продолжают успешно разрабатывать решения на базе Node.js, наращивать экспертизу на production-проектах.
Крупные корпорации, банки, финансовые сервисы, e-Commerce, клиентские сервисы – все здесь. Масштаб и спектр задач, которые успешно решаются с помощью Node.js продолжает расти, а новые вызовы продолжают подогревать нам не только мозги!
Эта встреча станет ещё более интересной и на этот раз пройдет при сильной поддержки от команды Leroy Merlin, известной своими развитыми архитектурными практиками и решениями в Node.js.
Совсем недавно вышла уже счастливая 13-я версия, а 12-я “улетела” в LTS. Что это значит? Поговорим при встрече.;) А заодно обсудим, что произошло у каждого из нас за год – у кого-какие успехи, боли, челленджи, а затем копнем проблему создания единой архитектуры приложения, способы её решения, посмотрим на проблемы изолированных площадок и hot-reloading модулей в Node.js.
КОГДА: 20 ноября 2019, 19:00
ГДЕ: Москва, Шаболовка, в офисе компании Leroy Merlin.
ПРОГРАММА:
Читать полностью »
Типизация REST API для фронтенд разработчика
2019-11-08 в 15:14, admin, рубрики: javascript, nswag, ReactJS, TypeScriptСегодня широкое распространение имеют следующие подходы для описания взаимодействия браузера и сервера, такие как OpenApi & GraphQL.
В этой статье я расскажу о нашей попытке сделать статически типизированное REST API и избавить фронтенд команду от написания кода по написания запросов данных, упростить тестирование и уменьшить количество возможных ошибок.
Программирование для детей. Пять самых крутых игр на HTML и JavaScript
2019-11-07 в 12:56, admin, рубрики: html, javascript, javascript html5, Блог компании Издательский дом «Питер» Привет, Хаброжители! Хотите сделать отличный подарок ребёнку, желающему научиться программировать, или научить взрослого, далёкого от мира кодов? Тогда книга-героиня нашего поста Вам подойдет. Эта книга научит писать код веб-игр на языках HTML и JavaScript и даже поможет читателю написать несколько увлекательных игр. Под катом — отрывок из книги.
Читать полностью »
«Никто не говорит другим, что им нужно делать»: Nicolò Ribaudo о разработке Babel и многом другом
2019-11-07 в 9:31, admin, рубрики: holyjs, javascriptNicolò Ribaudo — один из ключевых разработчиков Babel, приглашённый эксперт TC39 и при этом ещё и студент-математик.
Nicolò выступит завтра на HolyJS 2019 Moscow. И в преддверии этого участники программного комитета HolyJS Евгений Кот (bunopus) и Дмитрий Махнёв (DmitryMakhnev) поговорили с ним о разработке Babel, задачах приглашённого эксперта, учёбе, предстоящем докладе на HolyJS… и о том, как при всём при этом можно умудряться высыпаться.
Читать полностью »