All streams
Search
Write a publication
Pull to refresh
7
0
Send message
О спасибо, а то я от лени просто рандомом высоту наращивал — не просто каждой точке, а какой-то случайной точке на карте с указанным разбросом по X и Y, и таких точек 50 штук на карте. Каждый раз когда на точку выпадает кон — её высота увеличивается на 5, начальная высота -100. Рандом не простой а Гауссовый из библиотеки d3js — он больше ближе к середине выдаёт (с простым квадраты получались). Чёрные — это гоные пики типа. Примерно так выходило (10 сек для карты 150х150, AthX2 1.9G, Linux, Chrome).
image
Весьма удобно по сравнению с <%= ... %>-вставками, тем более, что не нужно переименовывать файл в *.js.erb — а значит никаких проблем с подсветкой синтаксиса. Единственное неудобство (для development окружения) — это при изменении в дереве ассетов, необходимо удалять tmp/cache/assets (чтобы новые, добавленные, файлы добавились и в хэш window.project_assets) — но не думаю, что существует решение, по этому вопросу очень мало информации в интернете (как-то приходилось искать).
О, прошу прощения, мой коммент выше вероятно пример неправильного использования lazy.
Не могу взять в толк, как же тогда вот этот бенчь? Причём проверенный мной уже на Ruby 2.1.2p95. От приведённого в ссылке мой результат отличается не сильно. Выполнение .select{ |i| i%2 == 0 }.map{ |i| i*2 } на миллионном массиве
Результат (real):
0.423104 # без lazy
1.065144 # с lazy

А вот результат увеличенной в два раза цепочке .select{ |i| i%2 == 0 }.map{ |i| i*2 }.select{ |i| i%4 == 0 }.map{ |i| i + 1 } и 50-ти миллионного массива:
52.351417 # без lazy
92.194890 # с lazy

Если увеличить цепочку ещё — то результат аналогичен. Идея хороша, но с реализацией уже где-то не сошлось.
Напомнила Ruby Warrior [веб|консоль] — похожая для рубистов. О, эти игры в которых нельзя в тупую клацать — побольше бы таких.
Я просто представляю веб-страницу у которой есть отметка — сколько пользователей сейчас онлайн. Т.е. каждый запрос каждого пользователя — это и запрос количества онлайн пользователей. В этом случае что-то вроде User.where("last_online_time > ?", 10.minutes.ago) вряд ли окажется быстрее аналогичной операции в Redis.
+. Срочно переделываю статью. И ещё плюс от бенча (65k записей):

       user     system      total        real
   7.540000   2.870000  10.410000 ( 11.532065)  # .set key, val, ex: timout
  13.110000   4.450000  17.560000 ( 19.195621) # .pipelined{ .set + .expire }
Весьма интересное предложение. В принципе если использовать отдельную базу — то и с пустыми ключами проблем не будет. Как нибудь на недельке найду время протестировать Ваш подход — и сравнить размер базы и производительность, сейчас увы занят. Не до конца понял Вашей идеи — идея интересна если только Вы предлагаете не для каждого пользователя использовать свой сет, а всего иметь 10 сетов — на каждую минуту (в принципе можно и на каждые 10 секунд свой сет) — и в текущий (текущей минуты) сет добавлять вошедших. Надеюсь я хотя б чуть понятен. Вообще говоря у меня под подозрением скорость поиска по сету при его большой длине.
Сюда же — реализация <input type=image ... />
Ну да — или ещё проще использовать встроенный в Rails метод assets_data_uri. И не нужен никакой inline() и rails-sass-images не нужен. Только зачем делать всё это «руками»?
data URI хэш в итоговый HTML не идёт, эта магия только для того, чтобы облегчить внедрение псевдоизображений на страницу + автоматическая генерация необходимых стилей. Взгляните на вышеприведённую демку — в ней подробно расписано: что имеется во вьюхе, что идёт в html, а что в стили.
Как раз и предлагаю хранить картинку в CSS. Пожалуйста укажите где в тексте выше возникает иное понимание — я переделаю, что бы было яснее.
Статья оптимизирована для Rails разработчиков, как и предоставляемые демки, как и Rails gem — написан для Rails.

Information

Rating
Does not participate
Registered
Activity