
Ro
28.11.2017
06:35:11
если, скажем, юзер нажимает что-то или дергает мышкой, то значит он онлайн. А если приложение просто запущено, то это не онлайн
то же самое и для устройств, т.е. если юзер жмет куда-то, то активируется онлайн на 5 минут
как только перестал проявлять активность - онлайн статус пропал
с помощью джаваскрипта это можно трекать

Google

Ro
28.11.2017
06:36:18
написать трекер активности свой, может готовый есть

Evgeniy
28.11.2017
06:40:30
с помощью джаваскрипта это можно трекать
Но только при условии,что у человека наше окно открыто? верно?
У меня тут ситуация такая, что программа может быть использована при входящем звонке клиента (подтягивает историю взаимоотношения с ним). В этом случае я не могу быть уверен на 100%, что если он не проявляет активности конкретно в моем окне, то он не "онлайн".

Антон
28.11.2017
08:13:20

Evgeniy
28.11.2017
08:13:58

Антон
28.11.2017
08:15:08
Ну так вот. Ты же знаешь под каким клиентом заходил пользователь последний раз. Если оно не оффлайн, то считай, что оно и есть активное на данный момент

Evgeniy
28.11.2017
08:21:43


Fedor
28.11.2017
09:06:19
по умолчанию он у тебя пыается вытащить вообще все, что хоть как-то связано с твоим объектом
mappings(dynamic: false) do
indexes :title, type: 'text', analyzer: 'engram_index', search_analyzer: 'engram_search'
indexes :barcode, type: 'text', analyzer: 'engram_index', search_analyzer: 'engram_search'
indexes :description, type: 'text', analyzer: 'morfology', search_analyzer: 'morfology'
indexes :type, type: 'string', index: 'not_analyzed'
indexes :account_id, type: 'integer', index: 'not_analyzed'
indexes :category_id, type: 'integer', index: 'not_analyzed'
end
примерно такой маппинг в модели показывает что и как надо индексировать, тогда будет вытягиваться только то, что ты тут указал
def search_query(query, options = {})
params = {
must: {
multi_match: {
query: query,
fields: ['title^3', 'sku^5', 'barcode^5', 'description^1'],
fuzziness: 'AUTO'
}
},
filter: [
{
terms: {
type: ['Product', 'Service']
}
}
]
}
if options[:account_id].present?
params[:filter].push(
term: {
account_id: options.delete(:account_id)
}
)
end
if options[:category_id].present?
params[:filter].push(
term: {
category_id: options.delete(:category_id)
}
)
end
{ from: self::EL_FROM, size: self::EL_SIZE, query: { bool: params } }
end
а вот так настраивается запрос, что должно быть, что должно не быть, с какими весами и.т.п.
аналайзеры, указанные выше настраиваются в модели, к которой подключен elasticsearch_model

Google

Fedor
28.11.2017
09:12:22
могу тоже пример кинуть, но там много текста )
в общем эластик это не так, что включил и оно заработало, он гибкий, но эту гибкость надо контролировать множеством настроек
кстати советую посмотреть гем chewy от топтала
он мне больше базового нравится

Alex
28.11.2017
09:15:47
Да, Федор спасибо. Я вчера как раз это настраивал, с большего получилось

Dmitry
28.11.2017
18:11:44
мне на курсах было обещано 8 строчек кода в день
глянул сегодня в свой пулл реквест +221
кругом обман

spartakusQ
28.11.2017
18:16:42

Natalia
28.11.2017
18:18:08
Это же с рефакторингом
Из них потом перепишешь 200

Dmitry
28.11.2017
18:18:54
да не это уже готово все, удалено 2 строки было
когда нибудь может и надо будет менять но там такая вещь которая особо не с чем не связана
вещь в себе

spartakusQ
28.11.2017
18:53:07
https://m.habrahabr.ru/company/mailru/blog/343288/
Интересная статья про аутентификацию.

Ro
28.11.2017
18:55:14
Прикольно, а я об этом не думаю, юзаю devise

Andrey
28.11.2017
19:05:38
Почему кстати девайс ругают?

Fedor
28.11.2017
19:32:00
а у кого-нибудь есть опыт прикручивания jquery плагинов к турболинкам?

Google

Fedor
28.11.2017
19:32:21
я тут пол дня провоевал, и у меня сложилось впечатление, что они абсолютно несовместимы

Sergey
28.11.2017
19:38:52
если 5 рельса

Fedor
28.11.2017
19:39:02
пробовал
это известный хак

Sergey
28.11.2017
19:39:20
если 4 $(document).on('ready page:load', function () {

Fedor
28.11.2017
19:39:20
но нет

Sergey
28.11.2017
19:39:33
а в чем именно проблема?

Fedor
28.11.2017
19:39:40
а хрен его знает
я пытался прикрутить простенький плагин jquery countdown
все что получается получить так это countdown is not a function
а вот на каком этапе оно ломается...

Sergey
28.11.2017
19:40:25
вообще я турболинки просто отключаю на проектах)
попробуй на странице где он отключить турболинки

Fedor
28.11.2017
19:42:57
так в том и проблема, то если дебагер воткнуть, то он вроде вызывается
а метода все равно нет

Sergey
28.11.2017
19:43:55
и если поставить один в инициализацию другой в вызов, то первый будет тот, что в инициализации?
тогда внимательно доки почитай, уверен что правильно вызываешь плагин?

Fedor
28.11.2017
19:48:18
ну судя по докам его подключить достаточно

Google

Fedor
28.11.2017
19:48:23
даже через гем пробовал )
ненавижу яваскрипт...

Vladimir
28.11.2017
19:50:03
...между строчек - ребят, кто что может сказать про #AptanaRadRails http://www.aptana.com/products/radrails в сравнении с другими IDE большинство дышит в сторону RubyMine?

Vlad
28.11.2017
19:53:12
А какой именно плагин? Я все события ткрболинкс использую для костылей. За год делал все проекты с турболинками, лень было выпиливать, проблемы есть с каждым, но на всё есть решения. Кинь плагин попробую)

Admin
ERROR: S client not available

Fedor
28.11.2017
19:53:44
https://github.com/mauriciopasquier/jquery-countdown-rails
ну или просто jquery_countdown как либу скачать можно
и и так и так пробовал

Vlad
28.11.2017
19:56:18
Щас домой доеду к ночи попробую. За вчерашний совет спасибо, не знал, что есть внутренняя очередь у постгреса. Почитал. 20 скриптов шлют по 30+ инсерту раз в 10 сек и нормально постгрес живет. На небольшом количестве работает) но думаю если я в ансибле запедалю на 100 серверов скрипт то постгрес загнётся)

Fedor
28.11.2017
19:57:34
не за что
вообще постгрес очень устойчивый
хотя завалить его конечно можно
а если у тебя еще и блокировки будут не на таблицу, а на строку, то он в параллель их выполнять будет )

Andrey
28.11.2017
19:59:15
А тяжёлые запросы мы на работе в sidekiq пихаем и в очередь по одному по пять

Evgeniy
29.11.2017
05:01:45
коллеги, на статью натолкнулся.
актуально для тех, у кого Mac OS High Sierra
https://habrahabr.ru/post/343452/

Andrey
29.11.2017
05:15:53
В соседнем чатике воспроизвести не смогли

Dmitry
29.11.2017
05:55:49

Andrey
29.11.2017
06:57:35

Антон
29.11.2017
07:56:14
у меня не работает

Google

Dmitry
29.11.2017
11:59:50
https://paste2.org/HZdm99ZW вот такая миграция
вопрос как найти максимальные sort_form по обоих проектов одним запросом

Kim
29.11.2017
12:01:13
работает

Aura
29.11.2017
12:02:16
https://objective-see.com/blog/blog_0x24.html

Dmitry
29.11.2017
12:03:54
@FedorKoshel бен это данила ай нид хелп
Question.group('project').pluck('project, max(sort_form)')
разобрался

Fedor
29.11.2017
13:31:56
Чего?

Dmitry
29.11.2017
13:41:50

Fedor
29.11.2017
13:41:58
а, хорошо

Dmitrii
30.11.2017
07:56:17
привет может кто помочь с решением
Дана папка с изображениями, кол-во файлов изображений не ограничено.
Необходимо вывести в массив хешей, где содержится информация о названии файла и количестве его повторений(одинаковые по содержанию изображения).
Пример результата:
result = [{filename: 'file1.png', count: 10}, {filename: 'file3.png', count: 9}]

Marat
30.11.2017
08:08:26
В сегодняшнем апдейте рубимайна регрешн баг: ругается на &.. Кого бесит - не обновляйтесь пока.