
Anton
05.08.2018
11:23:59

Tim
05.08.2018
11:28:17

Google

Anton
05.08.2018
11:29:15

Fedor
05.08.2018
12:32:05

Anton
05.08.2018
12:32:42

Fedor
05.08.2018
12:33:15
Ага, и ради одной парадигмы надо написать лишнюю пару классов?
Логические слои имеют смысл, когда приложение разраслось так, что его тяжело поддерживать, и тривиальная обработка эксепшенов не справляется
А если системы обработки ошибок нет, то и городить лишнего не надо

Anton
05.08.2018
12:35:31

Fedor
05.08.2018
12:40:30
Или же за этот месяц придуют новую ещеболеелучшую систему обработки ошибок и придется переписывать под нее всю платформу

Anton
05.08.2018
12:51:36

Nico
05.08.2018
13:06:02
Покажите, пожалуйства, хороший пример или статью про пространства имен моделей AR. Может у кого-то в закладках есть
Или тут нет особо подводных камней?

Crypt
05.08.2018
14:06:49

Google

Dima
05.08.2018
14:57:09
https://youtu.be/gTNC26BtRFc
Есть такая чтука инвариант это нечно незименное в не зависимости от окружения. Можно назвать краеугольным камнем, можно назвать основами. Как угодно. Вот в web программировании одним из инвариантов является Linux. Все равно все пути идут к нему, или из него. Мне друг подсказал набор лекций. И очень доволен, хочу им поделиться с вами.
они хороши по многим параметрам: для новечков расскзаывают суть, а для тех кто не первый день, собирают во едино.
Красивое, лаконичное, объяснение сути Linux, так называемых инвариантов от Георгия Курячего. Вот тут он расказал про создание нового процесса через fork и exec до этого и в чатах расказывали, и ролики были. Но, атомарные.
А тут вся картина с комметариями и с завязкой на права доступа. Сначала fork создает копию процесса, практическаое отличие только в значение возвращаемом fork и pid. А потом exec запускает новый код. Рекомендую.


Bakhriddin
05.08.2018
17:22:55
Добрый вечер, нужен ментор который поможет с деплоингом, готов платить 5$за час , установил докер , ансибле, терреформ.
Почти на локалке настроил докер
При make app-setup вот эту ошибку выдаёт
В конце

Yevhen Nakonechnyi
05.08.2018
17:24:45
^^^ 0.0.0.0:5432 already in use
у тебя уже какой то инстанс присосался к єтому адресу

Dima
05.08.2018
17:26:42

Bakhriddin
05.08.2018
17:28:36

Dima
05.08.2018
17:29:19

Dmitriy
05.08.2018
18:22:37
спасибо) давно хотел собрать фрагментированные знания unix во что-то целостное

wi11son
05.08.2018
18:27:23
Самый частый ответ на вопрос зачем ментор? - чтобы быстро, и через 2-3 месяца выйти на работу, чтобы получать много
Самый частый ответ на вопрос, почему не можете себе позволить платное обучение - денег едва хватает на ипотеку и семью
самый частый ответ на вопрос, что ожидаешь от ментора — подскажет и пендаля даст

Google

wi11son
05.08.2018
18:39:44
и далее идет "передача опыта"
пытаюсь представить, что значит "передача опыта"...
как именно образом транслируются набитые шишки прямиком в мозг

Nikita
05.08.2018
18:46:52
Это же жиза

rekero
05.08.2018
18:52:05
научите чтобы ничего не делать и все было

Максим
05.08.2018
20:36:34
уже пол часа ебусь
не могу запустить whenever локально
что за х
задача прописана
every 1.minute do
runner 'RateUpdateJob.new.perform', :environment => "development", :output => '/log/rate_update_job.log'
end
в кроне вроде верно отображается
# Begin Whenever generated tasks for: /home/maxim/Projects/Rails/app/config/schedule.rb at: 2018-08-05 23:33:30 +0300
* * * * * /bin/bash -l -c 'cd /home/maxim/Projects/Rails/app && bundle exec bin/rails runner -e development '\''RateUpdateJob.new.perform'\'' >> /log/rate_update_job.log 2>&1'
# End Whenever generated tasks for: /home/maxim/Projects/Rails/app/config/schedule.rb at: 2018-08-05 23:33:30 +0300
сама задача
class RateUpdateJob < ApplicationJob
def perform
p 1
Rails.logger.info("#{Time.now}")
end
end
и ничего тупо не происходит
никакой ошибки
ничего


Максим
05.08.2018
20:38:22
в консоли когда отдельно запускаю всё работает
может кто чё подсказать?
о
понял
every 1.minute do
runner 'RateUpdateJob.new.perform', :environment => "development", :output => '/log/rate_update_job.log'
end
должно быть
every 1.minute do
runner 'RateUpdateJob.new.perform', :environment => "development", :output => 'log/rate_update_job.log'
end
(убрать / перед log)

Roman
05.08.2018
21:02:17

Максим
05.08.2018
21:32:52
так ребят
чт я запутался

Google

Максим
05.08.2018
21:33:03
в чём разница между интерактором и сервисом?

Gleb
05.08.2018
21:39:47
ну типа интерактор это такой небольшой колабле обжект, инкапсулирующий достаточно атомарное и легкотестируемое действие

Максим
05.08.2018
21:40:02
а интерактор

Gleb
05.08.2018
21:40:12
а сервис это еще смотря как использовать ) если широко, то он просто более "ответственный"

Admin
ERROR: S client not available

Максим
05.08.2018
21:40:21
хм

Gleb
05.08.2018
21:40:38
сервис может инкапсулировать, к примеру, всю логику работы с третьей стороной
либо определенный набор действий в рамках одной темы
сопсна интерактор он очевидный, а сервис кто как напишет

Alexey
05.08.2018
21:42:26

Gleb
05.08.2018
21:43:57
таки по факту штуки разные ) просто "сервис" очень широко трактуют

Alexey
05.08.2018
21:50:17
сложилось впечатление, что интерактор - это просто еще одно название для сервиса, придуманное рубистами. вообще, не уверен, что оно существовало до появления одноименного гема )
вот в документации по ханами как-то так и написано:
These are Interactors, also referred to service objects, use-cases or operations

Gleb
05.08.2018
21:52:30
смотря как использовать )

Roman
05.08.2018
21:57:01
сервис-объекты, сервисы, интеракторы, команды - все одно то же

Максим
05.08.2018
22:22:25
блин опять херня какая то
не видит класс в джобе
в джобе в приватном методе зову класс
он говорит в логах мол класс ИмяДжоба::ИмяКласса не существует
сам класс который зову лежит в папке сервисез в папке апп

Google

Максим
05.08.2018
22:23:29
через консоль спокойно класс ИмяКласса видит
вызывается тоже просто
private
def method_name
ClassName.new.call
end
спринг вырубал
вызвать через :: Тоже пробовал
разница в том что ошибка становаится просто класс ИмяКласса не существует
имя вроде раз 5 уже перепроверил
хм
запустил джоб из консоли вручную
всё сработало
и как быть
получается тот пользователь из под которого крон выполняет комманды не видит класс

Иван
05.08.2018
22:31:55
попробуй руками прописать require в джобе нужного тебе файла
мб с автолоудом что то?

Максим
05.08.2018
22:38:48
в консоли опять же зареквайрил и всё ок