Delayed Keypress или создаем свои хуки событий на jQuery

Иногда возникает необходимость расширить стандартное событие JavaScript/jQuery, добавить определенную специфику, например: мы хотим выводить авто-дополнение для текстового поля при вводе, при этом мы не хотим чтобы запрос отправлялся на сервер при каждом нажатии клавиши(будет очень много ненужных запросов). Зададимся целью посылать запрос через 500 миллисекунд (полсекунды) после того, как пользователь прекратит набирать(либо остановился в ожидании подсказки авто-дополнения).

Continue reading

Разворачиваем базу проекта на JavaScript

Растут JavaScript проекты и соответственно становятся лучше инструменты сборки. Самое время задуматься о разворачивании базы своего проекта на JavaScript. А ведь и правда: если проект написан 100% на одной технологии (да, и сервер тоже), зачем думать о другой технологии для разворачивания базы?

Вот с такими мыслями я и начал исследовать данный вопрос с целью найти удобное решение для своего пэт-проектика (стек: JavaScript/AngularJs – JavaScript/Express – MySql). JavaScript сообщество (а точнее Андрей Листочкин), посоветовало обратить внимание на модуль для ноды db-migrate и плагин для гранта grunt-db-migrate. Пост является набором заметок по ходу внедрения модуля в проект.

Continue reading

Очень быстрый старт с Ember.js

Да, я не просто назвал пост Очень быстрый, потому что все найденные мной статьи “быстрый старт” оказывались каким-то болотом, которое уж точно не давало быстрого старта.

Continue reading

Примеры интерсепторов AngularJS

Насколько вам известно:  $http-сервис AngularJs позволяет общаться с сервером и делать HTTP-запросы. В некоторых случаях необходимо перехватывать запрос и обрабатывать его до отправки на сервер, или наоборот: мы хотим перехватить ответ и модифицировать его. Также хорошим примером может послужить глобальная обработка http-ошибок. Именно для таких случаев в AngularJS и созданы интерсепторы(interceptors).

Пост написан на основе переведенной/переработанной статьи Naor Yehudaey “Interceptors in AngularJS and Useful Examples

Continue reading