@rubylang

Страница 943 из 1684
ojab
17.03.2017
17:35:15
А что есть корректная сортировка при сравнении строки и nil?

если падает с undefined method []' for nil:NilClass` — есть Hash#dig для таких случаев

Google
Vasiliy
17.03.2017
17:42:38
Хэш.диг только в 2.4 же

Dmitry
17.03.2017
17:43:00
Ребята, кто нибудь использовал Cell + Slim в rails? Как ему вьюшки с html.slim скармливать?

ojab
17.03.2017
17:43:13
Vasiliy
17.03.2017
17:43:58
Да, сорян, ну т.е. я имел ввиду что версию надо учитывать

Alexander
17.03.2017
18:39:06
Может кто сталкивался: есть три таблицы (ну и модели соотвественно) categories, subcategories, dishes. Мне надо выбрать все categories с subcategories и dishes. В контроллере все просто categories.includes(:subcategories, :dishes) - и оно работает!. Но выполянется очень долго ~ 3 секнуд для 5000 записей. Смотрю sql запрос, там старный join: LEFT OUTER JOIN "subcategories" "subcategories_categories_join" ON "subcategories_categories_join"."category_id" = "categories"."id" - у меня нет такой таблицы, wtf? Это какая-то временная таблица создается?

ojab
17.03.2017
18:42:06
А полный запрос как выглядит?

ну и 5000 записей — это Category.count? С join'aми будет больше.

Alexander
17.03.2017
18:46:38
https://gist.github.com/kunashir/d22181e658e0abefab8545d9b3a372b1

ojab
17.03.2017
18:47:51
ну собственно в третьей снизу строке объявлена временная таблица "subcategories_categories_join", да

Alexander
17.03.2017
18:48:20
а нахрена она нужно, без какбы быстрей получается

ojab
17.03.2017
18:49:11
чтобы заджойнить subcategories и dishes, очевидно

Alexander
17.03.2017
18:50:45
а почему просто нельзя LEFT OUTER JOIN "dishes" ON "dishes"."subcategory_id" = "subcategories"."id"

ojab
17.03.2017
18:52:30
прозреваю что у тебя с ассоциациями что-то не то и/или ты хочешь categories.includes(subcategories: :dishes)

Google
Alexander
17.03.2017
18:52:50
видимо потому-то в категория есть: has_many :subcategories, -> { order(:position) }, dependent: :destroy has_many :dishes, class_name: '::Dish', through: :subcategories

ojab
17.03.2017
18:54:09
Ещё, вероятно, -> { order(:position) } всё тормозит и без него будет сильно быстрее

если хочешь чтобы по-умолчанию был order — лучше его перенести в default_scope, например, чтобы при джойнах его не было

Alexander
17.03.2017
19:02:43
Убрал пряму связь и все стало намного быстрей!

ojab
17.03.2017
19:06:13
не надо её убирать, надо делать categories.includes(subcategories: :dishes)

Alexander
17.03.2017
19:07:32
угу... в таком виде она не мешает

спс!

Aldar
17.03.2017
19:35:30
https://www.youtube.com/watch?v=CQ4YpkeG3mQ

Антон
18.03.2017
09:32:13
зачем это здесь?

Eugene
18.03.2017
09:36:08
Та не понятно

ojab
18.03.2017
09:36:31
Я тоже задавался этим вопросом.

Aldar
18.03.2017
09:44:24
ну окей, удалите раз мешает

Demyan
18.03.2017
10:18:23
вдруг кто-то решил заняться программированием но сидит на окошках

ок

для не совсем умных :D

или лучше, для особенных :D

Денис
18.03.2017
11:00:53
а подскажите

чем оповещать, если сокет за nginx упал и не работает

но сервак пингуется

то есть приложение не запустилось, по сути

Google
Александр
18.03.2017
11:01:55
так 502я будет

Денис
18.03.2017
11:02:09
ну это пользователи увидят

а я то не узнаю об этом

Александр
18.03.2017
11:02:18
а надо какой результат?

ааа

Денис
18.03.2017
11:02:31
чтобы на почту оповещение пришло

newrelic умеет пинговать и о рейте ошибок, а вот нерабочесть заметить не может

Александр
18.03.2017
11:03:02
про мониторинг можно часами общаться могу тее предложить самый быстрый и бесплатный вариант - https://uptimerobot.com/

а там уже сам определишься насколько оперативно и детально ты хочешь узнавать о проблеме

любой мониторинг может

Денис
18.03.2017
11:03:44
вот спасибо, а он там статус код может проверять?

focusshifter
18.03.2017
11:03:48
Да

Александр
18.03.2017
11:03:51
обращаешься на главную страницу, если не 200, то уведомляет

да, аптаймробот статус проверяет

Денис
18.03.2017
11:04:19
во, то что надо, спасибо большое

Александр
18.03.2017
11:05:59
а платным я пользуюсь serverdensity.io

там 10 баксов за сервер/сервис

графики красивые ну и минималистично всё и понятно для клиентов

а для рубистов есть https://airbrake.io/

вот такой сервис

Google
I
18.03.2017
11:07:37
да, мы часто им пользуемся

но там ограничения есть на дешевых акках вроде

Денис
18.03.2017
11:08:32
спасибо)

Dmitry
18.03.2017
16:13:18
кстати если мне не изменяет память вроде yandex метрика умеет присылать уведомление на почту если сайт лежит

ну если она вдруг на сайте интегрирована

Александр
18.03.2017
16:15:01
она умеет, но обычно присылает позже всех и неточно время простоя меряет

Admin
ERROR: S client not available

Dmitry
18.03.2017
16:21:16
как там говориться, лево руля ;)

Demyan
18.03.2017
17:07:01
Если мне не изменяет память это можно сделать при помощи заббикс

Заббикс лучшее средство мониторинга серверов, проверьте я много уже разворачивал

Александр
18.03.2017
17:08:00
а с чем вы сравнивали?

Demyan
18.03.2017
17:08:09
И вроде с рельсой можно

Ну например нагиос

Нетхмс

Какти

Александр
18.03.2017
17:09:30
опять же, если у человека сайты на сервере, то заббикс надо разворачивать на отдельном, чтобы знать о проблемах со связью

Demyan
18.03.2017
17:09:39
Ну конечно

Либо на резервном канале

У меня тестовый стенд с заббиксом на малине крутится

Александр
18.03.2017
17:10:46
предлагаю попробовать prometheus + grafana, лично у меня в разы быстрее получилось развернуть чем заббикс

Google
Александр
18.03.2017
17:10:59
ну и настраивать и смотреть потом приятнее визуализацию

Demyan
18.03.2017
17:11:29
Заббикс несложный

Там и доки норм

Александр
18.03.2017
17:12:26
заббикс у меня был, но коллеги не хотели им пользоваться из-за неудобного интерфейса, а когда мы туда вгружали наши сотни сайтов коллега больше дня потратил доки там приличные - факт

Demyan
18.03.2017
17:12:45
Хотя зависит от скилла

Коллеги

Александр
18.03.2017
17:13:11
кстати, расширять заббикс просто как нагиос, мне что запомнилось

Demyan
18.03.2017
17:13:29
У нагиоса свои минусы

Александр
18.03.2017
17:13:34
но если человек не понимает вообще как мониторить на базовом уровне, мне кажется заббикс сложновато зайдёт

Demyan
18.03.2017
17:14:04
Ну да

Заббикс быстрее

Просто

И все из коробки работает здраво

Широкий спектр выбора бд, легко плагины сделать, ну и он на пацанском си написан

Как у прометея с нетфлоу?

Александр
18.03.2017
17:23:00
ну это совсем редкая задача =) я не пробовал, но какие-то решения есть https://github.com/paihu/netflow_exporter

я много лет назад чтобы траффик анализировать вообще такую штуку использовал - http://www.ntop.org/

выяснили много интересного про трафик в сети и нагрузку раз в 10 снизили во всём холдинге (там много офисов было)

Страница 943 из 1684