
Антон
06.06.2018
13:34:04
он нами воспользовался как уточками, расходимся

Car Seat
06.06.2018
13:34:23
Какими ещё уточками..

Антон
06.06.2018
13:35:41
Rubber duck debugging

Car Seat
06.06.2018
13:37:54
А. Ну, наверное, так и было. Извините. Но кое-что из ответов я всё же почерпнул.

Google

Car Seat
06.06.2018
13:38:10
Что мне нужна книжка по проектированию, как минимум.

Dmitry
06.06.2018
13:39:38
Ребят а ктонибудь деплоил рельсовое приложение в контейнере в амазон?
есть какиенибудь бестпрактисы, где хранить переменные итп

Anton
06.06.2018
13:42:03

ojab
06.06.2018
13:47:06
в ecs task'e, то бишь

Dmitry
06.06.2018
13:50:46
т.е. передавать в переменные окружения?
а параметр стор системс менеджера имеет смысл юзать?

ojab
06.06.2018
14:06:26
если потребности нет — незачем, разделение всё равно по IAM идёт и там, и там
в смысле что ты IAM роль на таск повесишь, что на secret'ы — разница небольшая

Sergii
06.06.2018
16:17:14
комрады, а кто что из https://www.ruby-toolbox.com/categories/Active_Record_Versioning использовал?
надо хоронить историю изменений данных

rekero
06.06.2018
16:19:11
Пейпертрейл

Alexey
06.06.2018
17:49:41

Google

Богдан
06.06.2018
19:44:30
Господа, а никто не подскажет, обновил сегодня гемы, и в докере перестал работать sidekiq-cron, Gemfile.lock откатил назад, но все-равно при bundle install устанавливает новые гемы?

mike
06.06.2018
19:45:37
Версии в гемфайле указать?

Богдан
06.06.2018
19:47:23
да я посмотрел, как бы гемы sidekiq и sidekiq-cron вообще не обновлялись и их зависимости тоже
у меня и гемов самих немного, может это какой-то рельсовский гем
вот и лог файд нормальный
вроде погуглил что нужно установить принудительно гем rufus-scheduler 3.4.2

mr_makss
06.06.2018
20:03:19
ну что тут можно попробовать. попробовать вспомнить какие версии стояли раньше гемов и зафиксировать их

Богдан
06.06.2018
20:05:14
а как правильно их зафиксировать, если они из-зависимостей, поправлять Gemfile.lock ?

Nikita
06.06.2018
20:06:37
В локе ты вообще руками ничего не должен править

mr_makss
06.06.2018
20:06:50
это точно

Богдан
06.06.2018
20:07:51
хм ... а как тогда? я посмотрел у меня используется гем rufus-scheduler 3.5.0 а нужен rufus-scheduler 3.4.2
он идет из-завимостей

Nikita
06.06.2018
20:09:50
Ну напиши в гем файле gem 'rufus-scheduler', '~>3.4.2' в чем проблема то

Богдан
06.06.2018
20:13:29

Qwizzy
07.06.2018
06:45:57
Привет! А подскажите по unicorn, как заставить его писать access-логи в stdout вместо stderr?

ojab
07.06.2018
06:59:02

Ilya
07.06.2018
07:00:06
хех и там написано logger Logger.new($stdout)

Google

Ilya
07.06.2018
07:00:35
сила гугла, которая многим почему то недоступна

mr_makss
07.06.2018
07:06:19
кто-нибудь писал автотесты для actioncable в rails?
архитектура следующая
фронтент полностью отделен от бекенда т.е. на разных хостах
интересуют инструменты которыми побыстрому

Qwizzy
07.06.2018
07:07:01
хм, спасибо. Проблема сейчас именно в том, что в stderr пишется и accesslog, и всякие Exceptions. А хочется их разнести по разным файлам. Это поможет или просто всё логирование переедет из stderr в stdout?

mr_makss
07.06.2018
07:08:45
есть тут проектеры стратегии тестирования для такой архитектуры?

ojab
07.06.2018
07:11:36
как вариант — отнаследоваться от Logger и переопределить #add

Qwizzy
07.06.2018
07:14:36
А это не повлияет на логирование в приложении?

ojab
07.06.2018
07:15:57
если рельсы — не повлияет (рельсы пишут в Rails.logger)

Qwizzy
07.06.2018
07:17:20

Vyacheslav
07.06.2018
07:44:22

Evgeny
07.06.2018
07:45:22
Кто-нибудь настраивал капибару совместно с докером и parallel test? Если просто без parallel то, работает ок. https://gist.github.com/EvgenyKungurov/0a750aa0b73a99bef902f4046c5936bf
С варинтом 1 из гиста вылазит ошибка, что пытается забиндинся второй экземпляр капибары на этот же хост и порт. Второй вариант не ренредрит ничего в браузере и ошибки типа что не может найти контент.

Evgeny
07.06.2018
07:47:07
Еще делал 3й вариант. В докер файле указал несколько экземпляров selenium и у кажлого свой порт. Соответсвенно в капибара remote url был с разными контейнерами. Тоже ничего не вышло. Наверное криво делаю.

Lavrushchik
07.06.2018
08:16:03
ребят, вопрос.
есть такой код:
array = ['ololo', 'azaza', 'ezeze', 'izizi', 'qzqzq', 'wzwzw', 'rzrzr', 'tztzt']
threads=[]
for element in array
threads << Thread.new(element) do |argument|
somefunction(argument)
end
end
threads.each { |thr| thr.join }
в array висят переменные, которые нужно пульнуть в функцию.
как мне в do запихнуть их так, чтобы обрабатывало не сразу все переменные, а по две штуки?

Egor
07.06.2018
08:17:24
https://ruby-doc.org/core-2.2.0/Enumerable.html#method-i-each_cons

Lavrushchik
07.06.2018
08:18:56
а each_slice не лучше?

Nikita
07.06.2018
08:21:19
а не, херню сказал
короче тоже самое ?

Egor
07.06.2018
08:22:59
нене, не тоже самое

Nikita
07.06.2018
08:23:10
а нет, нифига не тоже самое

Google

Egor
07.06.2018
08:23:21
cons берёт N элементов со сдвигом в 1 элемент

Nikita
07.06.2018
08:23:27
угу

Admin
ERROR: S client not available

Egor
07.06.2018
08:23:28
а slice N со сдвигом N

Nikita
07.06.2018
08:23:31
я уже посмотрел

Egor
07.06.2018
08:23:54
так что #each_slice

Lavrushchik
07.06.2018
08:28:41
окей, про each_slice понял.
не совсем понимаю как пульнуть это в свой код
с потоками вообще беда

Vyacheslav
07.06.2018
08:30:59
ребят, вопрос.
есть такой код:
array = ['ololo', 'azaza', 'ezeze', 'izizi', 'qzqzq', 'wzwzw', 'rzrzr', 'tztzt']
threads=[]
for element in array
threads << Thread.new(element) do |argument|
somefunction(argument)
end
end
threads.each { |thr| thr.join }
в array висят переменные, которые нужно пульнуть в функцию.
как мне в do запихнуть их так, чтобы обрабатывало не сразу все переменные, а по две штуки?
можно еще модуль Parallel взять https://github.com/grosser/parallel

Lavrushchik
07.06.2018
08:32:17
о, судя по доке, хорошая штука

Aleksey
07.06.2018
08:32:21
параллелизм/concurrency в руби вещь очень специфическая

Lavrushchik
07.06.2018
08:32:46
мне просто время джобы надо как-то скоротить

Aleksey
07.06.2018
08:33:48
TLDR:
треды - для оперций input/output/read/write
процессы - для всего остального, но надо помнить что при этом на каждый процесс будет спавнится копия памяти основного процесса - он же форк
если это джоба, я бы ее разбил на несколько джоб в каждой по 2 элемента например. сайдкик это лучше умеет распараллеливать чем самому писать
будет небольшой оверхед конечно на запись/чтение из очереди, но это не критично

Lavrushchik
07.06.2018
08:38:21
блин, я так и не понял ещё как джобу по расписанию с сайдкиком и сайдкик-крон настроить. есть у кого норм мануал? а то не нагуглил

Артур
07.06.2018
08:38:36
как пробовал ? :)

Lavrushchik
07.06.2018
08:41:04
один мануал чисто по кику кидал сюда, а по крону и кику чёт не могу найти
http://derekbarber.ca/blog/2015/09/10/scheduling-background-jobs-in-rails-using-sidekiq/
вот по этому мануалу

Sergii
07.06.2018
09:59:49
точно нужна джоба с сайдкиком?

Google

Sergii
07.06.2018
10:06:40
сайдкик - для очередей джобов, имеет смысл, если задача с многими обьеками
если так и надо, в шедуле прописываешь воркер, в нужное время, который накидывает в очередь задач.
Его можно тоже сделать воркером, и добавлять в сайдкик в более приоритетную очередь например )

biert
07.06.2018
12:09:10
Приветствую, подскажите пожалуйста, есть страничка html.erb во view которая нуждается в обилии jqery, javascript, ajax. Я бы хотел разделить код на файлы, и дело в том что некоторые используют переменные из контролера, как это все лучше организовать, спасибо

Lavrushchik
07.06.2018
12:47:20
вопрос. перетянул из одной репы в другую проект, пытаюсь капистрано деплоить и выдаёт ошибку WARN Rails assets manifest file not found.
что делать?

Ilya
07.06.2018
12:49:10

Артур
07.06.2018
12:50:26

Lavrushchik
07.06.2018
12:51:01
не помогло
ни sprockets в гем-файл, ни его версия, ни в shared создать

Смерть
07.06.2018
12:51:50
Приветствую, подскажите пожалуйста, есть страничка html.erb во view которая нуждается в обилии jqery, javascript, ajax. Я бы хотел разделить код на файлы, и дело в том что некоторые используют переменные из контролера, как это все лучше организовать, спасибо
Есть подход создавать .js.erb файл, но это плохо, потому что и языки смешиваешь, и статику на продакшне не посервить. Более правильно запрашивать все данные с сервера ajax.

Roman
07.06.2018
12:53:45
Всем привет. Если парсер, который дёргает некую апи и данные складывает в бд. Как это лучше распараллелить: через треды или сайдкик?

Артур
07.06.2018
12:55:02
чего добиться-то хочешь?

Vyacheslav
07.06.2018
12:57:21