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

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

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

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

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

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.

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

Сегодня мы выпускаем новую версию нашего продукта. COLT 2.0.
Данный релиз будет интересен JavaScript разработчикам.

Главные новости. Коротко

Поддержка node-webkit, поддержка работы с удаленными или локальными серверами (live-proxy). Консольная версия COLT (запуск без UI на сервере). Поддержка Angular. Новый механизм HTML доставки. Улучшение работы с Sublime Text (JSDocs и другое). Улучшение производительности. Новый интерфейс на node-webkit. Улучшена поддержка Linux. Новый демо режим (как в Sublime). Значительное уменьшение размера дистрибьютива.Читать полностью »

Новый хаб «Chrome Extensions»В классификаторе расширений браузеров произошло изменение. Все многочисленные статьи про расширения Хрома теперь можно пометить этим хабом, что призываю сделать авторов ранее написанных статей. Кроме этого, по случаю праздника, хотел бы написать обзор о расширениях и юзерскриптах Хрома, о том, как они сформировались и к какому виду пришли.

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


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