Pull to refresh
15
0
Махаев Владимир @vmakhaev

Веб-разработчик

Send message
При желании по моему нику можно нагуглить ФИО, город, день рожденья, фото и много другой информации за пару минут. Везде указываю настоящие данные. Не понимаю, почему это должно меня тревожить? Кто-то может объяснить?
Недавно перешел с browserify на webpack. Hot module replacement очень радует. В остальном, в моём случае, разницы особо нету. А, ну еще, gulp выпилился за ненадобностью.

Посмотрел на webpack как раз после доклада moscowjs.
С табами нужно что-то делать.
Можно попробовать сделать их полупрозрачными, а текущий — не прозрачным.
Может быть сделать, чтобы они были спрятаны. И показывались только когда пользователь переключает на другой таб (или мышкой подводит).
Может быть имеет смысл дать пользователю решать, где их разместить: снизу, сверху, сбоку.

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

В целом, направление правильное, уже пользуюсь.
Роскосмос опроверг. Интересно кто вбросил?
Я даю вам $100 и мы не открываем черный ящик.
Да, в ShareJS это сделано в виде адаптеров к разным бд, например, Mongo.

Спасибо за ответы. Появилось некоторое понимание. Желаю вам и проекту успехов!
В DerbyJS тоже изоморфный шаблонизатор. Это хорошо по трём причинам:
1) SEO
2) Скорость загрузки приложения. Клиент сразу видит html, а не ждёт пока загрузится весь js и сгенерирует html.
3) Удобно использовать тот же шаблонизатор на сервере для рендеринга html для писем, документов и тп.
Я правильно понимаю, что нету такого понятия как подписка на коллекцию или запрос к коллекции? Например, могу ли я подписаться на документы коллекции users, где user.age > 20, отсортированные по user.name, при этом skip = 20, limit = 10?
Как я понял в таком случае разрешение конфликтов с помощью timestamp (CRDT) имеет преимущество над версией документа (OT). Ну а в LWW-решениях — кто последний вышел в онлайн, тот и затер всё что было до него. Правильно?

Вот еще вопрос. В ShareJS атомарность на уровне документа. То есть (по крайней мере для JSON-типа) можно подписаться на документ, коллекцию или запрос к коллекции (в том числе отсортированный). Нельзя подписаться на часть документа. Как это в SwarmJS?
Очень интересный проект. Был на вашем докладе на MoscowJS в июле. Мы там с вами в лифте ехали :-)

Сам использую DerbyJS/ShareJS, а в CRDT всё никак не доходят руки покопаться. Если можно как-то сравнить на пальцах OT и CRDT, ShareJS и SwarmJS. Не помешала бы статья по CRDT для чайников.

Чего мне не хватает в ShareJS — так это кэша на клиенте. В принципе это можно добавить, но изначально не было заложенно и нужно немного менять и ShareJS, и RacerJS, и DerbyJS. Тут есть противоречие, потому что Derby в данный момент при первом запросе считывает данные из бд на сервере, рисует html, сериализует эти данные, отправляет на клиент вместе с html, там десериализует и восстанавливает такое же состояние, как было на сервере. Как мне представляется, если мы хотим кэшировать данные на клиенте и каждый раз их не тягать с сервера (а только разницу), то приложение должно сначала загрузиться, потом посмотреть в кэш, какие данные есть и уже потом отправить на сервер запрос, чтобы тот прислал разницу данных. Я полагаю, что у вас так и сделано.

Вот еще такой вопрос: есть ли поддержка подписки на запросы (и на отсортированные запросы)?
Хорошая статья. Если вам не нужен Realtime, то, пожалуй, Meteor и Derby не будут иметь каких-то весомых преимуществ перед остальными фреймворками.

Для Derby можно написать адаптер для любой бд, но использование реляционных баз с ней не даст каких-то преимуществ, потому что ShareJS сама по себе документо-ориентированная. Как вариант, если вам нужны транзакции, можно использовать параллельно Mongo и Sql базу, при этом можно смотреть на данные в Mongo, как на исходящие (которые мы хотим показать пользователю), а на данные в SQL базу, как на входящие. Другой вариант — использование FoundationDB, что само по себе может решить еще и некоторые другие проблемы.
Я тоже жил в Шеньчжене год. Через пару дней после влажной уборки всё покрывается темной пылью. Думаю, что связанно с обилием угольных ТЭС. Воду из под крана пить не рекомендуют. От речек воняет канализацией. В пределах города нету пляжей, потому что море грязное. В остальном с экологией, вроде, всё ок. :-) А в целом — красивый город, конечно. Рай для электронщиков.
Новый модуль авторизации для Derby 0.6 с проекциями и на чистом js.
github.com/vmakhaev/derby-login

Версия derby-starter с авторизацией: github.com/vmakhaev/derby-starter/tree/auth
Пример приложения: github.com/vmakhaev/auth-example
Не стреляйте в пианиста, играет как умеет.
Не думаю, что Министерство Связи это одобрит
Доки ждёмс от Нэйта, боюсь не осилю. После этого туториалы и faq наваяю. Так же хочу всякие модули, примеры на 0.6 переписать. Stay tuned.

Information

Rating
Does not participate
Location
Москва, Москва и Московская обл., Россия
Date of birth
Registered
Activity