Как стать автором
Обновить
21
0
Дмитрий @pharrell

Пользователь

Отправить сообщение

ВКонтакте вычисляет ваше местоположение по IP

Время на прочтение1 мин
Количество просмотров85K
19 ноября 2018 года социальная сеть vk.com дала пользователям возможность скачать архив со всеми данными о них, имеющихся у соцсети. Скачав свою копию такого архива, помимо данных, которые я там ожидал увидеть, я обнаружил, что вконтакте знает два моих домашних адреса с точностью до 5 метров.

Я никогда в жизни не давал доступ к местоположению ни приложению вконтакте на IOS, ни сайту vk.com в браузере.

image

Один из адресов определился как «Работа/учёба», но по факту это просто моя вторая квартира. Которая, кстати, появилась в моей жизни всего около 3-х месяцев назад.

Мне стало любопытно, где-же я так оплошал, что такие данные утекли у меня из под носа. С этим вопросом я обратился в поддержку vk.com. Оказывается, всё дело в моём IP.

Под катом скрин переписки.
Читать дальше →
Всего голосов 88: ↑77 и ↓11+66
Комментарии219

MVbind — Backbone расширение для data binding между Model и View

Время на прочтение1 мин
Количество просмотров8.4K
image
Недавно очень захотел себе two-way data binding между моделью и представлением в Backbone. Ничего адекватного, к сожалению, я так и не нашел. Пришлось написать своё расширение. Делюсь им с вами.
Читать дальше →
Всего голосов 13: ↑7 и ↓6+1
Комментарии13

Marionette.js. Drag&Drop сортировка моделей в коллекции

Время на прочтение3 мин
Количество просмотров15K


Достаточно распространенная задача — поменять местами элементы в списке. Но как правило эта задача решается жуткими костылями, особенно если это Drag&Drop.
Сейчас я расскажу вам очень простой и гибкий способ сделать это, используя Marionette.js и jQuery UI Sortable.
Читать дальше →
Всего голосов 25: ↑21 и ↓4+17
Комментарии7

Введение в Marionette.js Behaviors

Время на прочтение3 мин
Количество просмотров16K
image

В этом посте вы узнаете о новой фиче Marionette.js — Behaviors.

Очень часто в различных элементах интерфейса у нас встречаются похожие элементы управления (например кнопка «Удалить» может быть и у категорий, и у записей, и в списке зарегистрированных пользователей… да везде), и каждый раз приходится описывать обработчик этой кнопки в каждом View, причем везде одинаково.
Но это уже называется дублирование кода, и не приветствуется в большинстве общества. Поэтому разработчики Marionette.js предоставили нам такую замечательную фичу как Behaviors.

Behaviors предоставляет интерфейс для изолирования описаний взаимодействия DOM с пользователем в отдельные логические куски кода. Behavior может быть применено к любому View любое количество раз.

В этой статье рассмотрим самый тривиальный пример — кнопка «Удалить».
Читать дальше →
Всего голосов 37: ↑36 и ↓1+35
Комментарии1

Информация

В рейтинге
5 695-й
Откуда
Россия
Зарегистрирован
Активность

Специализация

Software Architect, Database Architect
PostgreSQL
TypeScript
Node.js