@proRuby

Страница 1445 из 1594
Tim
18.09.2018
14:15:04
(а поножовщина в центральной азии)

ок, интересно

Nikita
18.09.2018
14:49:24
Очень руби ага
Начинается, посоны

Google
Dima
18.09.2018
15:03:57
хахаха)

Tim
18.09.2018
15:05:32
ура, как раньше

Alex
18.09.2018
15:57:02
Помогите объеденить запрос в один большой, ну или по граммотному чтобы по каждой компании находились все dot applications у которых .where(current_stage_event: {event: "prospect"}).joins('LEFT JOIN tasks on tasks.subject_id = dot_applications.id').where(tasks: {id: nil}) Вот 2 отдельно работающие строки запроса. Спасибо. DotApplication.all.joins(:current_stage_event).where(current_stage_event: {event: "prospect"}).joins('LEFT JOIN tasks on tasks.subject_id = dot_applications.id').where(tasks: {id: nil}) Company.all.joins(:users).where(users: { notification_for_active_prospects: true})

Damir
18.09.2018
21:15:52
А из инстамарта будет кто-нибудь вещать на rubyrussia? Может тут есть кто-нибудь из instamart?)

Alex
18.09.2018
21:17:50
А к чему такой интерес?
может он там работает )

Damir
18.09.2018
21:20:06
не, я просто задаюсь вопросом не отпиздят ли меня ребята оттуда, узнав что гавнище которое они разгребали было написано человеком который находится рядом с ними в одном помещении ?

Спасибо за информацию



Google
Damir
18.09.2018
21:22:52
Бля, это ты писал?
ну, было дело)

Anton
18.09.2018
21:22:54
(Я в этом повозиться успел немношк)

Damir
18.09.2018
22:11:54
Tim
19.09.2018
07:13:20
бесподобный преподобный егорушка бугаенко, да благославится имя его, да приидет мудрость его, тоже критикует DI

даже в джаве

Anton
19.09.2018
07:13:36
Так дхх против юнит тестов

Tim
19.09.2018
07:14:14
дхх ещё против длинных рабочих недель и опенспейсов

Anton
19.09.2018
07:15:19
(а почему?)
Потому что он верит, что интеграционные тесты покроют все что можно (поведенчиские)

Tim
19.09.2018
07:15:49
в той статье которую ты кидал нормальное сравнение было

если эдж кейсы обрабатывать

то юнит тестов надо 4 + 5 + 3 + 4

а интеграционных 4 * 5 * 3 * 4

Anton
19.09.2018
07:16:22
Ну как бы я о чем

Это к тому, что слушать дхх достаточно опасно

Особенно, когда юн и горяч

Tim
19.09.2018
07:16:52
ну зато у него есть ламбик а у нас нет

Это к тому, что слушать дхх достаточно опасно
типа надо слушать, но часть отфильтровывать?

Anton
19.09.2018
07:17:40
типа надо слушать, но часть отфильтровывать?
Скорее надо сомнениям подвергать все

Google
Anton
19.09.2018
07:18:01
Вообще всех надо подвергать сомнениям, даже тексты из моего канала

Tim
19.09.2018
07:18:17
ну, по дефолту нужно любую инфу подвергать сомнениям

но так чокнуться можно

чему-то приходится верить, потому что время и силы не безграничны

Aleksey
19.09.2018
07:18:43
ну зато у него есть ламбик а у нас нет
ну это говорит только о том, что с предпренимательской жилкой у него все ок)))))

Tim
19.09.2018
07:18:47
а известная информация в любой момент времени всегда неполная и недостаточная

да их просто амазон в своё время купил вот и все

насколько я знаю

Aleksey
19.09.2018
07:20:03
ну я в истории зарабатывания денег дхх не силен, но если заработал - то молодец и он молодец и его партнеры тоже)))

Tim
19.09.2018
07:21:05
ну не всегда работает правило заработал – молодец, особенно в реалиях той страны, в которой нам всем посчастливилось жить

но в целом да

Anton
19.09.2018
07:22:27
Tim
19.09.2018
07:25:15
Антон, я такой вкус сформировал в последнее время: # fetches govno from third party API class FetchGovno EXPECTED_EXCEPTIONS = [Govno::AuthorizationError, NetworkError].freeze def initialize(govno_id) @govno_id = govno_id end def perform fetch_govno! rescue *EXPECTED_EXCEPTIONS raise CouldNotFetchGovnoError rescue StandardError => e NewRelic.log(e, govno_id: @govno_id) raise CouldNotFetchGovnoError end private def fetch_govno! ... end ... end

Что скажешь?

Anton
19.09.2018
07:27:07
Да хз, выглядит крипово

Tim
19.09.2018
07:27:31
?

Зато: только один эксепшен выкидывается чтобы показать, что что-то пошло не так, а не эксепшены из кишков методов. Если внутренний эксепшен нужен будет при обработке, его можно будет достать через cause.

Если обнаружился непредусмотренный эксепшен, тогда он логируется в ньюрелик

Google
Anton
19.09.2018
07:32:23
На самом деле, мне вот интересно стало, почему люди так не хотят использовать result объект и делают все, что бы юзать что угодно, но не его

Tim
19.09.2018
07:32:52
юзание: begin FetchGovno.new('asdasd').perform rescue CouldNotFetchGovnoError => e respond('Third party API fetch error') end

Dmitriy
19.09.2018
07:39:33
ксати да, где лучше реагировать на экспшен - внутри интерактора или при обработке его резалта?

Tim
19.09.2018
07:40:08
(суть нашего того спора)

Admin
ERROR: S client not available

Dmitriy
19.09.2018
07:40:08
по идее снаружи

Tim
19.09.2018
07:40:20
из класса не должны просачиваться эксепшены из кишок

во всяком случае просто так

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

где приходит смска и надо понять что делать

Nikita
19.09.2018
07:42:18
зачем вообще перехватаывать эксепшены там где их не должно быть?

Nikita
19.09.2018
07:42:53
ну да, у тебя там целая куча непонятных перехватов

Tim
19.09.2018
07:43:15
два перехвата

один для ожидаемых эксепшенов

другой для тех о которых наперёд не знаешь

Nikita
19.09.2018
07:43:39
а второй для всех остальных

ну и зачем? ну т.е зачем это перехватывать в том месте где не должно никак падать

Tim
19.09.2018
07:44:01
да, это для того чтобы наружу эксепшены из кишок класса не вываливались

Google
Nikita
19.09.2018
07:44:15
ну логично что если они вывалились

Tim
19.09.2018
07:44:21
ну и зачем? ну т.е зачем это перехватывать в том месте где не должно никак падать
ну ты не можешь знать заранее со 100% уверенностью где какие могут свалиться

Nikita
19.09.2018
07:44:38
значит должна прилететь ошибка в роллбар и нуплохо было бы об этом узнать и среагировать

тогда у тебя весь код будет из rescue состоять, а это булщит полный

Tim
19.09.2018
07:45:04
можешь посмотреть получше, я для неожиданных эксепшенов отправляю лог в ньюрелик

мой класс 1 эксепшен выводит, всё

Alex
19.09.2018
07:45:34
сервис должен ловить только ожидаемые ошибки

Tim
19.09.2018
07:45:35
больше ничего

rekero
19.09.2018
07:45:38
мы все эксепшны отправляем в ньюрелик

Alex
19.09.2018
07:45:52
если там что то еще произошло - это непредвиденная ситуация и мы хотим это быстро увидеть поэтому он начисто весь запрос положить должен

Nikita
19.09.2018
07:46:17
+

Tim
19.09.2018
07:46:18
сервис должен ловить только ожидаемые ошибки
ну ты заливаешь фичу, а на проде новый эксепшен появляется после эдж кейса. хотфикс будешь делать?

Nikita
19.09.2018
07:46:24
да

а как еще

Страница 1445 из 1594