22 июля случилось небольшое, но знаментаельное событие: был принят пулл-реквест, что добавлял поддержку передачи произвольных аргументов в ваши npm script'ы. Уже появился альфа-релиз npm весрии 2.0.0, что включает эту возможность.
Читать полностью »
Рубрика «javascript» - 411
NPM 2.0.0 & передача аргументов в run-script
2014-07-23 в 11:45, admin, рубрики: github, javascript, node.js, npmНемного о npm-scripts
2014-07-23 в 10:48, admin, рубрики: github, javascript, node.js, nodejs, npm, вы наверное шутите мистер Шлютер, пасхальные яйцаЕсли кто не знаком с предметной областью, то NPM — node package manager (аналог bundler/composer/easy_install/nuget) – средство для управления зависимостями в вашем Node.js проекте, что по совместительсву может выполнять некоторое количество полезных функций. Написан Айзеком Шлютером, что его достаточно радикальным образом продвигал в начале своей истории (рассылая всем существующим Node.js проектам пулл-реквесты с добавлением package.json — манифестом зависимостей).
Все нижеприведенные вещи известны многим, но для некоторых это может стать приятным открытием, что сэкономит некоторое количество набираемых в символов.
Читать полностью »
С большой силой приходит и большая ответственность — техника безопасности в AngularJS
2014-07-22 в 20:27, admin, рубрики: AngularJS, javascript, советы
Несомненно, ангуляр даёт вам силу. Но пользоваться ей нужно с умом. Я постарался сформулировать три простых правила, которые я много раз нарушал и страдал от этого.
Читать полностью »
Функциональный Javascript. Пишем свои линзы, часть 1
2014-07-22 в 7:43, admin, рубрики: javascript, линзы, неизменяемые структуры, функциональное программирование Привет.
В данной статье мы познакомимся с линзами, узнаем для чего они нужны, а также реализуем их на JavaScript.
Зачем нужны линзы
Начнем, пожалуй, с ответа на вопрос, зачем же нужны линзы.
В функциональном программировании широко используются неизменяемые структуры данных. Работа с ними значительно отличается по сравнению с изменяемыми данными.
В основе этого лежит тот факт, что при изменении какой-либо части неизменяемой структуры данных создается ее копия, отличающаяся от оригинала этой самой измененной частью. Полное копирование всей исходной структуры не эффективно, поэтому новая структура как правило использует ссылки на неизмененные части из оригинала.
Читать полностью »
Просмотр DOM-событий в Firefox Developer Tools
2014-07-21 в 23:13, admin, рубрики: Firefox, javascript, отладка
Совсем скоро вместе с обновлением ночной версии Firefox появится возможность легко и просто смотреть все DOM-события на странице.
Читать полностью »
18 неожиданностей при чтении исходного кода jQuery
2014-07-20 в 14:13, admin, рубрики: javascript, jquery, open source, web-разработка, Веб-разработка, исходный кодПеревод статьи «18 Surprises From Reading jQuery's Source Code», David Aragon
Я люблю jQuery, и хотя я считаю себя продвинутым JavaScript разработчиком, я никогда, до сих пор, не читал исходники jQuery с начала и до конца. Вот несколько вещей, которые я при этом узнал:
Читать полностью »
Построение надежных веб-приложений на React: Часть 4, серверная генерация
2014-07-19 в 23:08, admin, рубрики: javascript, node.js, nodejs, React, server-side, web-разработка, Веб-разработкаПеревод статьи «Building robust web apps with React: Part 4, server-side rendering», Matt Hinchliffe
От переводчика: это перевод четвертой части цикла статей «Building robust web apps with React»
Переводы:
- Построение надежных веб-приложений на React: Часть 1, браузерные прототипы
- Построение надежных веб-приложений на React: Часть 2, оптимизация с Browserify
- Построение надежных веб-приложений на React: Часть 3, тестирование с Jasmine
- Построение надежных веб-приложений на React: Часть 4, серверная генерация
Несколько месяцев назад я написал первую часть этой серии, я очень заинтересовался возможностями использования React'а для создания разумных приложений, которые могут избежать слабостей, существующих во многих современных JavaScript приложениях. Наконец, я собираюсь сделать так, чтобы мое приложение запускалось сначала на сервере, а потом запускало тот же код в браузере, завершая цикл изоморфного или адаптивно-гибридного приложения.
В предыдущей части этой серии я блуждал в поисках стратегии тестирования, и эта часть не сильно отличается. И хотя здесь есть примеры и базовые демо изоморфного JavaScript, здесь не так много опенсорс реализаций для изучения. В сторону детали реализации, для меня, самое большое отличие, от написания клиентского JavaScript, это то, что e меня изначально есть данные.
Читать полностью »
JQuery Deferred — примеры использования
2014-07-19 в 21:58, admin, рубрики: deferred, javascript, jquery, Блог компании Bankrot-pro В этой статье я не буду говорить о том зачем в javascript нужны промисы и в частности JQuery.Deferred. Также не буду приводить справочную информацию, ее достаточно в интернете. Например тут или тут или вот тут.
Эта статья для тек кто уже немного знаком с объектом Deferred из библиотеки JQuery, но не имеет опыта написания сложных цепочек (очередей).
Подготовка
Все примеры кода, рассмотренные здесь, используют асинхронный метод $.ajax(), который возвращает так называемый jqXHR в котором реализованы промис-методы (done, fail, always, then). Нам нужны будут только они, поэтому будем считать что $.ajax возвращает промис (promise).
В некоторых примерах используются методы $.map() и $.each(), которые входят в состав библиотеки JQuery.
Последовательное выполнение
Простейшее использование промисов — это последовательное выполнение асинхронных операций. То есть следующая операция не начинается пока текущая не закончится.
$.ajax('http://echo.jsontest.com/id/1') .then(function(result){ console.log(JSON.stringify(result)); return $.ajax('http://echo.jsontest.com/id/2') }).then(function(result){ console.log(JSON.stringify(result)); return $.ajax('http://echo.jsontest.com/id/3') }).then(function(result){ console.log(JSON.stringify(result)); });
Живой пример тут.
Читать полностью »
Несколько интересностей и полезностей для веб-разработчика #23
2014-07-19 в 14:35, admin, рубрики: css, html, html5, javascript, веб-дизайн, Веб-разработкаДоброго времени суток уважаемые читатели. За последнее время я увидел несколько интересных и полезных инструментов/библиотек/событий, которыми хочу поделиться с Хабром.
Basket.js
Basket немного похож на RequireJS, только с его помощью все подключаемые скрипты и стили кешируются в localStorage. Тесты Google и Bing демонстрируют улучшение производительности при использовании локального хранилища по сравнению с обычным браузерным кешем. Проект изначально появился как эксперимент, который полностью оправдал результаты этих тестов.
basket
.require({ url: 'missing.js' })
.then(function () {
// Success
}, function (error) {
// There was an error fetching the script
console.log(error);
});
Особенности разработки WebGL игры Digital Trip
2014-07-18 в 9:49, admin, рубрики: deviceorientation, javascript, webaudio api, WebGL, websockets, Блог компании Hot Dot Production, Веб-разработка
Привет! В этой статье я хочу поделиться собственным опытом разработки WebGL игры Digital Trip. Помимо WebGL, в игре использованы такие технологии, как WebAudio API, WebSockets, getUserMedia, Vibration API, DeviceOrientation, а также библиотеки three.js, hedtrackr.js, sicket.io и пр. В статье будут описаны наиболее интересные детали реализации. Я расскажу о движке игры, управлении при помощи мобильного, управлении веб-камерой, скажу пару слов о back-end’e на node.js, работающем в связке с dogecoin демоном.
В конце статьи приведены ссылки на использованные библиотеки, исходный код на GitHub, описание игры и саму игру.
Всех, кому интересно, прошу под кат.
Читать полностью »