Рубрика «javascript» - 269

Эволюция модульного JavaScript - 1

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

Не будем лукавить: JavaScript никогда не был идеальным языком программирования. Одним из слабых мест в JS была модульность, а точнее её отсутствие. Действительно, зачем в скриптовом языке, который анимирует падающие на странице снежинки и валидирует форму, заботиться об изоляции кода и зависимостях? Ведь всё может прекрасно жить и общаться между собой в одной глобальной области — window.

С течением времени JavaScript трансформировался в язык общего назначения, так его начали использовать для построения сложных приложений в различных средах (браузер, сервер). При этом нельзя было положиться на старые подходы взаимодействия компонентов программы через глобальную область: с ростом объёма кода приложение становилось очень хрупким. Как результат для упрощения процесса разработки создавались различные реализации модульности.

Эта статья появилась в результате общения с участниками TC39 и разработчиками фреймворков, а также чтения исходных кодов, блогов и книг. Мы рассмотрим следующие подходы/форматы: Namespace, Module, Detached Dependency Definitions, Sandbox, Dependency Injection, CommonJS, AMD, UMD, Labeled Modules, YModules и ES2015 Modules. Кроме того, мы восстановим исторический контекст их появления и развития.
Читать полностью »

Я — самозванец - 1
Писать об этом очень тяжело, даже тяжелее, чем признаться себе в этом. Я писал заявления об увольнении с любимых мест работы, заканчивал отношения, много в чем не преуспел и портил свою репутацию. Но чувства, которые я из-за этого испытывал, были временными: поначалу бывало очень плохо, но через пару месяцев я оставлял это позади и жил дальше. И все же есть одно чувство, от которого мне так и не удалось избавиться за всю свою карьеру: синдром самозванца.

Переведено в Alconost

«Самозванец» — сильное слово, но именно так я чувствую себя на протяжении всей своей карьеры профессионального веб-разработчика. Мне кажется, что я, хоть и не прекращаю учиться каждый день, все равно отстаю. Мне кажется, что меня воспринимают как эксперта там, где я считаю себя затаившейся катастрофой. Я полный самозванец. Мошенник.
Читать полностью »

image
Задача авторизации возникает практически в каждом Node.js проекте, однако, чтобы ее правильно настроить, необходимо подключить большое количество модулей и собрать кучу информации из разных источников.

В этой статье я опишу полноценное решение по авторизации на основе JSON Web Token (JWT) для Node.js и Koa с хранением хэшей паролей в MongoDB. От читателя ожидаются базовые знания Node.js и принципов работы с MongoDB через Mongoose.
Читать полностью »

В этом небольшом посте я хочу рассказать об одном интересном предложении (англ. proposal) в стандарт EcmaScript. Речь пойдёт об асинхронных итераторах, о том, что это такое, как ими пользоваться и зачем они вообще нужны простому разработчику.

Асинхронные итераторы, это расширение возможностей обычных итераторов, которые с помощью цикла for-of/for-await-of позволяют пробежать по всем элементам коллекции.

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

Я думаю с вопросом адаптивных изображений все верстальщики часто встречались. Большинство статей, которые я прочитал, мне не подошли. В каждом случае были свои минусы. Приходилось писать дополнительные стили css или загружать разные изображения на определенных разрешениях. Почему-то универсального метода я не нашел. Это было похоже на то, как сделать блоки одинаковой высоты. Вроде бы можно сделать это несколькими способами, но лучший способ — это js.

Да, изображения. С панели администратора постоянно заливались изображения не той ширины или высоты. И в на страницах смотрелось очень криво. А если одно и тоже изображение будет на разных страницах и в разных блоках.

image

В общем я решил эту задачу с помощью доброго старого js.
Читать полностью »

Я думаю с вопросом адаптивных изображений все верстальщики часто встречались. Большинство статей, которые я прочитал, мне не подошли. В каждом случае были свои минусы. Приходилось писать дополнительные стили css или загружать разные изображения на определенных разрешениях. Почему-то универсального метода я не нашел. Это было похоже на то, как сделать блоки одинаковой высоты. Вроде бы можно сделать это несколькими способами, но лучший способ — это js.

Да, изображения. С панели администратора постоянно заливались изображения не той ширины или высоты. И в на страницах смотрелось очень криво. А если одно и тоже изображение будет на разных страницах и в разных блоках.

image

В общем я решил эту задачу с помощью доброго старого js.
Читать полностью »

Скриншаринг на сайте по WebRTC из браузера Mozilla Firefox - 1

Недавно мы писали статью о том, как сделать расширение скриншаринга для браузера Google Chrome. В результате мы создали собственное расширение для скриншаринга, опубликовали его в Chrome Store и протестировали трансляцию экрана через Web Call Server в режиме один-ко-многим.

В этой статье мы проделаем тоже самое с браузером Firefox. Подход остается прежним и снова потребуется упаковка и публикация расширения, на этот раз в Mozilla Add-ons. В результате мы сможем делать скринкасты видеопотоков из FF без установки внешнего дополнительного ПО.Читать полностью »

var nodes = arrayThatLeaks( linklist )
  .leakMap( xhrLoad )
  .leakFilter( responseNotEmpty )
  .leakMap( insertInDocument );

Подобная запись встретилась как-то в комментариях, и то сподвигло на эксперимент – упражнение для мозгов. Асинхронные операции над массивами в форме записи цепочкой.
Читать полностью »

Третья ежегодная конференция JavaScript-разработчиков в Одессе — JS Lab - 1

25 марта в Одессе пройдет третья ежегодная конференция JavaScript-разработчиков — JSLab.Наша команда FlyElephant помогает с организацией этой конференции и приглашает всех принять участие в ней.

Хочешь расширить свой кругозор и выйти за пределы своих ежедневных JavaScript задач? У тебя есть эта возможность. В этом году на JS Lab тебя ждет: 200 front-end и back-end JS-разработчиков из Украины и ближнего зарубежья; два потока состоящие из 12 докладов по 45 минут и 8 блиц-докладов по 10 минут; темы затрагивающие фронтенд, бекенд, виртуальную реальность, разработку игр, тестирование и все это на JavaScript.

Среди докладов, можно отметить следующие:
Читать полностью »

Good news everyone!
Futurama

Следующего большого языка программирования не предвидится. По крайней мере, на то нет причин с точки зрения теории эволюции.

Эволюция работает не только в животном мире, но и в любой подходящей среде. Впервые эта идея получила широкое распространение с выходом книги Ричарда Докинза «Эгоистичный ген» в 1976 году. В ней был введен знакомый каждому термин «мем», как пример эволюции в социальной и культурной среде. Языки программирования тоже эволюционируют. А значит их развитие подчиняется принципам эволюции, на основании которых можно сделать предположение о будущем их развитии.

image

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


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js