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

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

FireBase — это облачная NoSQL БД для real-time приложений. То есть, ваши данные хранятся в облаке, которое готово почти к любым нагрузкам. Ваши данные моментально обновляются на всех клиентах, которые подключены к FireBase и подписаны на информацию об обновлениях. Совершенно отпадает необходимость строить сложную систему с использованием веб-сокетов для обмена данными между сервером и клиентами в реальном времени. Вы просто подключаете JS-файл на страницу и настраиваете CallBack на события изменения данных. Все – дальше FireBase будет самостоятельно следить за данными и отдавать их пользователям. Причем, происходит это почти мгновенно! А еще с FireBase можно создавать веб-приложения, для которых вообще не потребуется собственный сервер. При этом для небольших сервисов использование FireBase совершенно бесплатно. Кроме этого, Firebase предоставляет установку прав доступа к частям данных на базе JS-выражений, транзакции (в отличие от MongoDB) и имеет встроенный функционал авторизации пользователей по электронной почте и паролю, а также авторизации с помощью сторонних поставщиков (OAuth), таких как Facebook, Twitter, GitHub, и Google.

Взглянув, как это работает, появилось желание переписать тьюториал на Dart.
Читать полностью »

В этой статье я хочу рассказать о связке AngularJS и Firebas в качестве хранилища данных.

Про AngularJS на Хабре написано много, а вот про Firebase совсем чуть чуть. По этому я решил заполнить этот пробел. Что же такое Firebase?

Firebas — это мощный сервис, предоставляющий API для хранения и синхронизации данных в реальном времени, сервер, на котором эти данные хранятся. Также из коробки мы имеем аутентификацию пользователей и поддержку различных платформ и фреймворков. Более подробную информацию можно получить на официальном сайте.

Также Firebase предоставляет замечательную библиотек для AngularJS — AngularFire.

Используя AngularJS и его прекрасный двусторонний дата биндинг вместе с Firebase, мы можем получить трехстороннюю синхронизацию данных. Однако, обо всем по порядку.
Читать полностью »

В ходе работы над веб-картой в рамках проекта возникла задача отображения линий метрополитена на карте. Казалось бы, что в этом сложного? По сути — ничего, пока вам не требуется визуализировать различные маршруты, физически проходящие по одному месту. С такой ситуацией мы столкнулись при попытке отобразить линии амстердамского метрополитена.

Построение параллельных кривых в картографических веб-приложениях - 1
Читать полностью »

Содержание

Вы властны над своим разумом, но не над внешними событиями. Когда вы поймёте это, вы обретёте силу.
Марк Аврелий, «Медитации».

Некоторые программы работают с вводом пользователя, мышью и клавиатурой. Время возникновения такого ввода и последовательность данных нельзя предсказать заранее. Это требует иного подхода к контролю над порядком выполнения программы, чем уже привычный нам.

Обработчики событий

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

в 7:22, , рубрики: AngularJS, javascript

Предлагаю перевод публикации «AngularJs $parse hacks».

В недрах AngularJs прячется одна маленькая и замечательная функция: $parse. Обычно она используется внутри фрэймворка для интерполяции значений, например при двусторонней провязке данных (two way data binding):
Читать полностью »

Предлагаем вашему вниманию подборку с ссылками на полезные ресурсы, интересные материалы и IT-новости

Дайджест интересных материалов из мира веб-разработки и IT за последнюю неделю №135 (17 — 23 ноября 2014) - 1
Читать полностью »

Незакрываемая вкладка в Chrome - 1
Простой трюк позволяет создать страницу, которую нельзя будет закрыть в Google Chrome.

Пруф: zhovner.com/tmp/chrome-trap.html (внимание страница со звуком)

Зловредный код выглядит крайне просто:

     onbeforeunload=function(){
         location.reload();
            return "ВАШ КОМПЬЮТЕР ЗАБЛОКИРОВАН ...";
      };
      onload=function(){
         location.reload();
      }

В приведенном примере из-за музыки страница перезагружается чуть дольше, и ее можно успеть закрыть.
Читать полностью »

Мы создаем новое поколение веб-приложения Netflix.com, использующего node.js. Вы можете узнать больше о нашем походе из презентации, которую мы представили на NodeConf.eu несколько месяцев назад. Сегодня я хочу поделиться накопленным опытом в настройке производительности нового стека нашего приложения.

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

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

На днях меня пропустили на хабр с моей статьёй про небольшую библиотеку PrettyForms для клиент-серверной валидации форм. Большое спасибо за внимание и за пропуск в сообщество. Честно, мне было очень приятно наконец попасть сюда)

Во второй статье, также отчасти посвященной той библиотеке, я бы хотел рассказать всем об одном простом способе разработки динамичных приложений, на основе которого я создал ранее несколько проектов. Сразу прошу проявить терпение всех, кто использует в своих проектах AngularJS и подобные прекрасные библиотеки для написания качественных и современных веб-приложений. Я нисколько не против подобных подходов к разработке и лишь хочу показать один из, так сказать, небольших лайвхаков, с помощью которого можно делать подобные приложения)

Итак, представим, что нам нужно разработать блок комментировариев к статье на каком-то сайте. Примерно с таким же функционалом, как на хабре: есть комментарии, их можно писать, редактировать и удалять, а также голосовать за них, кликая по стрелочкам рядом с ними.

Кому хочется сразу увидеть результат работы, прошу заглянуть под спойлер. Небольшое замечание к скринкасту: сообщения об ошибках в примере отображаются с помощью простой JS-функции alert(), но данное поведение можно легко изменить. В примере же целью было лишь доказать то, что всё работает как надо.

Скринкаст работы приложения

Динамичное веб-приложение на основе Laravel, PrettyForms и Backbone.js - 1

Так каким образом можно всё это сделать? Присаживайтесь поудобнее, мы уже начинаем наш рассказ)
Читать полностью »

Screeps запущена в режиме симуляции + кампания на Indiegogo - 1
Для тех, кто пропустил предыдущий пост, Screeps — это первая стратегическая MMO-песочница для программистов. В ней вы пишете настоящий автономный javascript-код, который управляет игровыми юнитами на сервере в режиме 24/7, независимо от вашего присутствия.

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


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