Когда-то я написал очень простую функцию, которая казалась мне костылем в том уже не помню каком проекте. Но она хорошо выполняла свою обязанность. Тогда я называл ее ожидающей функцией, а JavaScript называл ее fnDelay. Дело в том, что в приложении может быть функционал, который срабатывает после изменения какого-нибудь состояния. Но это изменение происходит (или может гипотетически происходить) так часто, что функционал будет срабатывать очень много раз, хотя на самом деле нам необходимо выполнить его только для уже измененного состояния (или еще для нескольких промежуточных). Иначе может быть чувствительная проблема в производительности вашего приложения. Ну ладно, достаточно пустых слов, разберем конкретный пример.
Читать полностью »
Рубрика «javascript» - 417
Ожидающая функция fnDelay
2014-07-01 в 18:32, admin, рубрики: javascript, optimization, patterns, метки: javascript, optimization, patternsRibs.js — вложенные атрибуты, вычисляемые поля и биндинги для Backbone.js
2014-07-01 в 9:45, admin, рубрики: backbone, backbone.js, javascript, Блог компании Mail.Ru Group, Веб-разработка, метки: backbone, backbone.js, javascriptПривет! Меня зовут Валерий Зайцев, я клиентсайд-разработчик проекта Таргет Mail.ru. В нашем проекте мы используем небезызвестную библиотеку Backbone.js, и, конечно же, нам стало чего-то не хватать. Поразмыслив над возможными решениями наших проблем, я решил написать свое дополнение к Backbone.js, как говорится с блэкджеком и… О нем я и хочу рассказать в этой статье.
Ribs.js — библиотека, расширяющая возможности Backbone. И прелесть в том, что именно расширяет, а не изменяет. Вы можете использовать ваш любимый Backbone, как и прежде, но по необходимости задействовать новые возможности:
- вложенные атрибуты: работа с атрибутами модели любой вложенности;
- вычисляемые атрибуты: добавление в модель атрибутов, которые автоматически пересчитываются при изменении зависимостей (других атрибутов модели);
- биндинги: динамическая связь между атрибутами модели и DOM-элементами.
Рассмотрим эти возможности подробнее.
Читать полностью »
CrowdCafe — мобильная краудсорсинг платформа
2014-07-01 в 6:38, admin, рубрики: crowdsourcing, django, javascript, open source, Учебный процесс в IT, метки: crowdsourcing, open source
CrowdCafe.io — это краудсорсинг платформа, где люди на мобильном устройстве выполняют микро-задания в обмен на небольшие вознаграждения.
Введение
Краудсорсинг является темой моей работы в аспирантуре Университета Тренто (Италия). В настоящее время подобные термины: краудсорсинг, интернет вещей, нанотехнологии — стали означать одновременно все и ничего. Краудсорсинг включает в себя несколько отдельных направлений: микро-задачи, макро-задачи, конкурсы и краудфандинг. Есть и другие классификации: resultsfromcrowds, crowdsourcing landscape. Конкретно моя работа больше связана с микро-задачами (иногда называется crowd-labour).
Читать полностью »
Astrobench: тестирование производительности JavaScript кода
2014-07-01 в 2:35, admin, рубрики: javascript, performance, performance tests, Веб-разработка, тестирование
Речь пойдёт о Astrobench, библиотеке, которая поможет сделать ваш код лучше.
Без перформанс тестов зачастую невозможно сделать качественный проект, будь то библиотека, или полноценное веб приложение. Скорость выполнения нашего кода важна. В конечном счёте, именно она влияет на положительный опыт использования вашего продукта.
Читать полностью »
Как я писал бота для аукциона AliExpress
2014-06-30 в 21:29, admin, рубрики: aliexpress, captcha, chrome extensions, javascript, аукцион, метки: aliexpress, bot, captcha, аукционЗнаете, на aliexpress есть такие аукционы — Gaga Deals, сейчас там помойка, но когда-то были очень интересные предложения. Их идея заключалась в том, что:
- Продажи стартуют каждый час
- Число товаров ограничено
- Кто первый встал того и тапки
Были очень вкусные лоты со скидкой 90%, топовые смартфоны этого года за 200-300 долларов, прошлогодние по 100 долларов. Разыгрывалось всего по 5 штук каждой позиции. Попробовал выиграть вручную, разумеется ничего не получилось. Ну и решил я написать бота…
Читать полностью »
Несколько интересностей и полезностей для веб-разработчика #20
2014-06-28 в 17:49, admin, рубрики: css, html, javascript, веб-дизайн, Веб-разработкаДоброго времени суток уважаемые читатели. За последнее время я увидел несколько интересных и полезных инструментов/библиотек/событий, которыми хочу поделиться с Хабром.
Awesome Sysadmin
Мега популярный репозиторий на GitHub, который за несколько дней собрал более 4000 звезд. Это огромной живой список всех самых полезных инструментов с открытым исходным кодом для сисадмина по категориям: Backups, Cloning, Cloud Computing, Cloud Orchestration, Cloud Storage, Collaborative Software, Distributed Filesystems, DNS, VPN и др. Автор проекта упомянул также Awesome PHP, по образу и подобию которого он опубликовал свой список.
NodeBB
Многие уже из названия поняли, что это форум-движок на NodeJS и на самом деле это очень крутой проект. Я бы даже сказал, что это в какой то мере переосмысление сложившегося представления о форумах. Ну сколько уже времени прошло с тех пор… Сколько социальных сетей появилось и «социальности» в целом, сколько рассуждений о дизайне с интуитивно понятным UI и продуманным UX, сколько стремления разработчиков превратить веб в «среду для приложений», где все быстро и асинхронно словно нативный софт. С виду NodeBB обычный форум, но современный веб-разработчик просто не в состоянии сделать по старому и поэтому это совершенно новый продукт, где присутствуют веяния всех этих сегодняшних тенденций. Простой в использовании и кастомизации, очень гибкий и модульный, адаптивный для различных типов устройств.
Начинаем работать с browserify
2014-06-28 в 8:44, admin, рубрики: browserify, javascript, node.js, web, Веб-разработка
Введение
Решения, написанные на JavaScript становятся сложнее из года в год. Это, несомненно, обусловлено разрастанием такого прекрасного зверя, как веб. Многие из нас сейчас работают с JavaScript модулями — независимыми функциональными компонентами, которые собираются вместе и работают как единое целое. Так же такой подход позволяет нам реализовать взаимозаменяемость компонентов, не прикончив попутно код. Многие из нас использовали для этого паттерн AMD и его реализацию в RequireJS.
Читать полностью »
OpenUI5 – новый javascript фреймворк от SAP
2014-06-27 в 16:13, admin, рубрики: javascript, javascript framework, sap, SAPUI5, метки: javascript, javascript framework, sap, SAPUI5
Недавно произошло событие, которое незаслуженно осталось без внимания на Хабре. Компания SAP прислушалась к просьбам разработчиков и открыла код своего коммерческого фреймворка для создания веб приложений. Хотелось бы исправить это досадное упущение.
Читать полностью »
Простой сбор статистики используя Counter
2014-06-26 в 21:07, admin, рубрики: bash, curl, javascript, аналитика проекта, веб-аналитика, ит-инфраструктура, Программирование, прототипирование, статистика, метки: bash, curl, javascript, monitoring, аналитика проекта, прототипирование, статистикаЭта статья может быть вам интересна, если вы ищите простой способ мониторинга состояния вашего небольшого проекта и известные средства сбора статистики не очень подходят.
Итак, у вас есть небольшой проект. Обычно у проекта есть некоторые характеристики, которые можно измерить. Помимо измерения часто бывает полезно посмотреть изменение характеристики за некоторое время. Это может помочь выявить проблемы на начальной стадии. Например, наблюдая за остатком свободного места на сервере можно прогрозировать аварийную остановку сервисов. Аналогично можно мониторить другие ресурсы — наличие свободной памяти, загрузку процессоров.
(попробуйте догадаться, что это за график — ответ находится в конце статьи)