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

Если уж есть необходимость скрещивать WebWorker с XMLHttpRequest, то пора бы скрестить его с любой функцией, а заодно разобраться с обещаниями ES6.

Цель — научиться делать вот так:
new PromiseWorker(array => array.sort()).Invoke([3,2,1]).then(result => console.log(result));
(Здесь и далее используются arrow functions для краткости)

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

WebWorker+XMLHttpRequest

HTML5 уже никого не удивляет, но у многих новичков возникает много вопросов. Особенно вопросы связаные с параллельными потоками, а именно с WebWorker. Дальнейшее повествование требует знания JS и HTML — я не буду разжевывать основы html и js.
Сегодня мы рассмотрим как обернуть в WebWorker обычный XMLHttpRequest.Читать полностью »

Про директивы много написано, но мало о том как писать их правильно. Поделюсь опытом.

Хорошо написанная директива должна

  • решать одну задачу
  • легко расширяться
  • не конфликтовать с другими директивами

Разберем каждый пункт на примере поля для ввода пароля (думаю, всем знакомо поле с глазиком)

image

<input ng-model="user.password"
       ng-minlength="6"
       form-password
       form-error="Не менее 6 символов">

Сколько директив используется?Читать полностью »

В этой статье я расскажу вам как внедрял красивые графики в наш сервис учета коммунальных услуг Dom24x7 и с какими проблемами и неудобствами пришлось столкнуться.

Для Vaadin 7 имеется прекрасное официальное дополнение для работы с графиками, но проблема в том, что оно не бесплатное и стоит почти $500! Таких денег мне тратить не хотелось, и я решил поискать альтернативу из бесплатного, но, к сожалению, все что я нашел меня совершенно не удовлетворяло по качеству и тогда я вернул свое внимание на официальное дополнение для работы с графиками и решил изучить его повнимательнее.

Оказалось, что это дополнение всего лишь оболочка для прекрасной javascript библиотеки Highcharts, которую, о чудо, можно было использовать бесплатно в некоммерческих проектах, хотя есть еще прекрасная альтернативная библиотека Amcharts, но все же решил остановиться на предыдущей.

Кстати, разработчики Vaadin объясняют, почему так дорого просят за дополнение по работе с графиками тем, что им приходится приобретать корпоративную лицензию.

Определившись с библиотекой осталось решить вопрос, как же все таки ее подключить к своему проекту?
Статья состоит из двух частей. Первая часть это перевод статьи о том как подключать javascript библиотеки к vaadin проектам, а вторая часть расскажет о там, как я, используя полученные знания, написал библиотеку для отображения графиков.
Итак…
Читать полностью »

в 12:29, , рубрики: javascript

Два дня назад Microsoft представил JavaScript'овую UI-ориентированную библиотеку для кроссплатформеной разработки — WinJS, который, хоть и существует достаточно давно, но как отдельный «сет» вне привязки к Windows, был представлен только 02.04.2014.

http://dailyjs.com/2014/04/03/winjs/
http://blogs.windows.com/windows/b/buildingapps/archive/2014/04/02/extending-platform-commonality-through-universal-windows-apps.aspx
https://github.com/winjs/winjs

И вот что интересно…
Читать полностью »

Бренден Айк был вынужден покинуть пост руководителя (CEO) компании Mozilla. Решение принято в свете травли, устроенной представителями сексуальных меньшинств, недовольных тем, что Бренден Айк был приверженцем традиционных взглядов на семейные отношения. Травля дошла до того, что некоторые подконтрольные ЛГБТ сайты, в том числе один из крупнейших сайтов знакомств (OKCupid), стали блокировать доступ пользователей Firefox, предлагая сменить браузер, так как Бренден Айк шесть лет назад пожертвовал тысячу долларов на продвижение поправки в конституцию штата Калифорнии, определяющей брак только как союз между мужчиной и женщиной.
Читать полностью »

Время от времени я встречаю публикации, где рассказывается о том, какие из значений оператора == эквивалентны (как, например, здесь). Часто при этом оговаривается, что приведённые в таблице данные не очень хорошо организованы.

Я согласен, такие таблицы нужны, чтобы лучше ориентироваться в несовершенствах оператора… вот только несовершенства в организации данных в самих таких таблицах, на мой взгляд ещё больше усложняют ситуацию. Вот, к примеру, таблица из ссылки, приведённой выше:

Не заставляйте (не)равенства в JavaScript выглядеть хуже, чем они есть

Кошмар, товарищи!.. Как по мне, так здесь бóльший беспорядок в очерёдности строк/столбцов.Читать полностью »

в 20:05, , рубрики: javascript

Когда я только-только начал играться с Node.js, для меня существовала лишь одна вещь, которая доставляла мне дискомфорт. Занятно, но я говорю сейчас о module.exports. Говоря занятно, я намекаю на то, что это, всё-таки, одна из фундаментальных частей Node.js и она достаточно проста. Сейчас же, оглядываясь назад, я не могу объяснить почему меня это так стопорило… Просто помню, что этот момент был для меня не очевиден. Ну и, полагаю, что я один из тех многих, кто встретив его разок-другой, сначала только путался, прежде чем написал что-либо применив его.

В Node, все штуки видны друг другу только в рамках одного и того же файла. Под штуками я подразумеваю переменные, функции, классы и их члены. Например у нас есть файл misc.js следующего содержания:

var x = 5;
var addX = function(value) {
  return value + x;
};

Привычный доступ к переменной x и функции addX из другого файла невозможен. Это никак не связано с использованием var. Дело в том, что Node состоит из блоков называемых модулями, и каждый отдельный файл по своей сути — отдельный блок, чья область видимости изолирована от других таких же блоков.Читать полностью »

NanoMMO на Go и Canvas [Сервер]
Каждый программист должен написать свою cms, framework, mmorpg. Именно этим мы и займемся.
ДемоЧитать полностью »

Ngbuild. Собираем Angular приложение без лишних слов Хочу поделиться своим билдером для Angular.js приложения.
Вкратце суть.
Есть файл, в котором объявляется наш главный модуль /app.js:

angular.module('App',['/some_path/my_module.js']);

В качестве требуемого модуля у него указан путь к другому файлу /some_path/my_module.js

angular.module('MyModule',[]);

Обращаемся к билдеру

ngbuild app.js app.build.js

И смотрим в файл /app.build.js

angular.module('MyModule',[]);
angular.module('App',['MyModule']);

Под катом будет еще несколько примеров использования и интеграции с gulp и grunt.

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


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