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

В наших прошлых постах мы писали про PhoneJS, HTML5-фреймворк для мобильных приложений, и ChartJS, JavaScript библиотеку визуализации данных. Если вы читали эти посты, то наверняка помните TipCalculator, простейшее демо-приложение, на примере которого мы рассказывали, с чего начать работу с PhoneJS.

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

DXWorkout — мобильное HTML5 приложение на PhoneJS и ChartJS

Многие сотрудники нашей компании регулярно посещают тренажерные залы, причем одни ведут лог результатов в бумажных блокнотах, а другие эти результаты вообще не записывают, полагаясь на свою память. Поэтому мы постарались решить сразу две задачи — написать демо-приложение, раскрывающее возможности PhoneJS и ChartJS, и помочь нашим сотрудникам, создав для них удобный инструмент ведения лога тренировок.

Сохранить баланс между демкой и реальным приложением было непросто, но у нас получилось.
Читать полностью »

Коллеги, использующие Backbone.js! Вы задумывались, как работает наследование в этой библиотеке?
Знаете, как себя ведет Backbone.Model.extend({})?
И наверняка знаете и помните, что у extend два опциональных параметра: proto props и static props.
Если хотя бы на один выше заданный вопрос вы ответили отрицательно — прошу под кат.
Постараюсь порадовать пошаговым исследованием, схемками, табличками и примерами.
Читать полностью »

CoffeeScript принёс в JS неплохую абстракцию классов, основанную на прототипах.
Реализовав известную модель наследования и дополнив её наследованием методов касса,
он позволяет легко строить иерархии классов, даже не зная о цепочках прототипов.
Но и эта модель может быть улучшена.
Читать полностью »

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

Реализация выборки, кэширования и отрисовки фотографий на карте

Так как сейчас фотографий на нашем сервисе очень много и посылать запросы к БД при каждом изменении окна просмотра слишком ресурсозатратно, логично было разбить карту на участки, в которых хранилась бы информация об уже извлеченных данных. Эти участки по вполне понятным причинам имеют прямоугольную форму (хотя вариант с гексагональной сеткой тоже рассматривался).

Итак, в данной статье будут затронуты следующие проблемы:

  1. Хранение и выборка фотографий из БД и помещение их в серверный кэш (SQL, C#, ASP.NET).
  2. Загрузка необходимых фотографий на стороне клиента и помещение их в клиентский кэш (JavaScript).
  3. Перерасчет фотографий, которые нужно скрыть или отобразить при каждом изменении окна просмотра (JavaScript).

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

Часто приходится работать с примитивными списками, поэтому, чтобы не писать одни и те же методы, собрал их в одном сервисе. Немного расскажу о нем, как о примере вынесения функциональности из контроллеров.

Демка, песочница (с демкой играются многие, так что данные могут скакать)

Как видно из примера, у нас проблема: куча списков со схожей функциональностью (добавление, удаление, сортировка элементов — что еще может быть у списков :-).Читать полностью »

Так уж вышло, что по работе, мне приходится редактировать файлы, к которым я имею доступ только через файловый менеджер CMS Bitrix, что влечёт за собой открытие множества вкладок в браузере и огромное количество ненужных телодвижений необходимых лишь для того, чтобы отредактировать несколько файлов.
Ниже я расскажу как решил эту проблему с помощью Node.js и свободного времени.
Читать полностью »

Добрый день хабр.
Вчера вышла версия 1.1.0 test.it — фреймворка для тестирования js кода.
Он, наконец, обзавёлся функционалом, отсутствие которого делало его неполноценным:

  • Асинхронные тесты/группы
  • Запуск отдельных тестов/групп

А так же прочими мелочами.

картинка для привлечения внимания
Кто не любит много слов — Сайт на котором можно увидеть код в действии, GitHub, WikiЧитать полностью »

Одной из ключевых составляющих практически любого веб-приложения является взаимодействие с сервером. В больших приложениях это далеко не один запрос. При этом запросы часто необходимо объединять для последовательного или параллельного выполнения, а часто сочетать и то и другое. Кроме того, большие приложения обычно имеют многослойную архитектуру — обертка над RESTFul API => бизнес-сущности => более комплексная бизнес-логика (разбиение условно для примера). И на каждом слое необходимо принять данные в одном формате и передать на следующий слой уже в другом.

Вот со всеми этими задачами могут помочь справиться Promise-ы.

За подробностями добро пожаловать под кат.
Читать полностью »

Всем доброго времени суток. Как-то так получилось, за последнее время я увидел много интересных и полезных инструментов/библиотек/событий, которыми я хотел поделиться на Хабре. Все эти темы по отдельности, на мой взгляд, не заслуживали целой статьи. Но каждая из них достойна внимания и может кому нибудь пригодиться. В итоге получился небольшой дайджест:

Prepros

9 интересностей и полезностей для веб разработчика
Великолепное приложение препроцессор для CSS, JS. Компилирует файлы следующих типов: LESS, Sass, SCSS, Stylus, Jade, Slim, Coffeescript, LiveScript, Haml. Минифицирует JS на лету, при каждом изменении файла. Оптимизирует изображения. Доступен для Windows и Mac, а также как расширение для Chrome. Плюс ко всему создает HTTP сервер, для тестирования сайта на разный устройствах. Бесплатная замена CodeKit'у и Ghostlab'у вместе взятых, что в сумме позволит Вам сэкономить $75.

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

в 8:49, , рубрики: javascript, Meteor, node.js, nodejs, метки: , , ,

На хабре неоднократно упоминался Meteor (тут, тут и тут) — высокоуровневый JavaScript-фреймворк для быстрого создания одностраничных web-приложений.

Сегодня вышла версия 0.6.5., основные изменения:
Читать полностью »


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