Блог Makeomatic: разработка сайтов и мобильных приложений

Доставка за границу - лучше, чем когда-либо!

Сервис международной доставки без головных болей

| Категории: Node.js, AngularJS, ElasticSearch, ItProjects
Анна Аминева

Иллюстрация блокнота

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

Nodeconfeu 2013

Путешествие компании Makeomatic

| Категории: Node.js, Жизнь компании
Виталий Аминев

Высадка на остров Nodeland

В прошлом году, когда нашей компании было чуть больше года от роду, мы приняли решение
поощрять наших лучших сотрудников поездками на профильные конференции. Первой
конференцией в нашем списке стала nodeconfeu.com.

Почему Ирландия?

Во-первых, отличный состав спикеров и увлекательные доклады на повестке. Чего только стоит послушать Айзека (Isaac Schlueter), Шо (Daniel Shaw) и Тревора (Trevor Norris).

Во-вторых, мы никогда не были в Ирландии.

Итак, визы получены, чемоданы запакованы. Небольшой перелет с пересадкой в Нидерландах и мы на месте.
Смотрите как это было.

Лучший способ обрезания картинок на клиенте с AngularJS

Обзор модуля

| Категории: Javascript, AngularJS
Анна Аминева

Иллюстрация блокнота

За выходные я попытался сделать самодостаточную AngularJS Директиву, которая позволит вам обрезать картинку перед тем, как она загрузится на сервер. Моей целью было создать ее хорошо работающей на мобильных устройствах, быстрой и интуитивно понятной.
Традиционные обрезатели картинок включают в себя рисование прямоугольных границ с помощью подвижной рамки, но я захотел, чтобы ее было проще перетаскивать именно с помощью жестов.

Создаем директиву AngularJS из существующих плагинов/скриптов

Концепции и практическое применение

| Категории: Javascript, AngularJS
Анна Аминева

Иллюстрация блокнота

Написание скриптов для ваших веб-сайтов или веб-приложений часто довольно простой процесс: вы пишите скрипт, приклеиваете файл к основному скрипту и подвязываете этот файл к DOM. Плевое дело, но когда доходит до Ангуляра, здесь все совершенно иначе…

Все о пользовательских фильтрах в AngularJS

| Категории: Javascript, AngularJS
Анна Аминева

Иллюстрация блокнота
Фильтры Ангуляра - одни из самых концептуально сложных элементов в нем. Они немного неправильно поняты и от них мой мозг практически вскипал, пока я изучал их. Фильтры безумно классные, они очень мощны для легкой трансформации наших данных в повторно используемые и масштабируемые кусочки.

Масштабируем Elasticsearch

оптимизация реального кластера с индексами в несколько терабайт

| Категории: ElasticSearch
Виталий Аминев

Иллюстрация блокнота

Медленные запросы в Elaticsearch

Итак, работая над поисковым движком по социальной информации, мы остановили свой выбор на Elasticsearch, так как по отзывам он был очень легок в настройке и использование, имел огромные поисковые возможности и, в целом, выглядел как манна небесная. Все в целом так и было до тех пор, пока наш индекс не вырос до более-менее приличных- миллиарда (1 млрд) документов.

Как использовать ngMessages в AngularJS

| Категории: Javascript, AngularJS
Анна Аминева

Иллюстрация блокнота

##Что за ngMessage?

ngMessages - новая возможность в AngularJS 1.3 для отображения сообщений об ошибках в формах. Работа с формами в Ангуляре является сказкой, так как она основана на взаимодействии с базовыми формами HTML, и их органичном расширении. Директива ngModel без проблем работает со всеми полями ввода, а состояние формы может быть получено в любой момент времени, используя имя формы или конкретного поля ввода данных.

Data service для работы с API в AngularJS

| Категории: Javascript, AngularJS
Анна Аминева

Иллюстрация локального сайта

Я много думал о службах для работы с данными и этот аспект Ангуляра, вызывает у меня наибольшее беспокойство. С тех пор я понял, что мое беспокойство было вызвано всего-лишь тем, что Angular.js не диктует и даже не советует как лучше управлять вашей работой с данными.

Последовательная асинхронная инициализация Angular.JS приложений с использованием промисов

| Категории: Javascript, AngularJS
Анна Аминева

Иллюстрация блокнота

AngularJS помогает загружать ваше приложение путем внедрения зависимостей, основываясь на упорядоченном создании экземпляров классов. Тем не менее, иногда вам нужно знать завершился ли один из текущих запросов или вызовов функций для того, чтобы инициализировать ваши контроллеры, $scope или сервисы. Эта статья описывает наше решение, которое разбивает жизненный цикл приложения на несколько фраз, названных “instantiation” (начальное создание экземпляров классов), “initialization” (их инициализация) и “running” (работающий режим). Вы можете найти в GitHub загрузочный код и работающую в jsfiddle демо версию.

Ускоряем $digest цикл в AngularJS

| Категории: Javascript, AngularJS
Анна Аминева

Иллюстрация блокнота

Магическая связь HTML/JS в AngularJS зависит от очень эффективного dirty checking. Тем не менее, когда вы все-таки достигаете его лимита, ваше приложение обречено быть медленным. Но когда все остальные решения провалились, мы все-таки можем найти решение.