
Vyacheslav
07.05.2018
17:51:08
а хэши в Ruby не рандомно возвращают ключи?
это я к тому, что если сделаешь hash.slice(:key1, :key2), а он вернет хэш {:key2=>"Тест2", :key1=>"Tecт1"}
и в результате values получится другой
в Perl например, хэши рандомно возвращают ключи

wi11son
07.05.2018
18:04:44
Values_at
?

Vyacheslav
07.05.2018
18:07:09
Values_at
отлично, спасибо!
$ ruby -e 'h = {a:1, b:2, c:3}; puts h.inspect; puts h.values_at(:a, :c).inspect'
{:a=>1, :b=>2, :c=>3}
[1, 3]

Google

Roman
07.05.2018
18:15:24

Max
07.05.2018
18:27:03
Подскажите, плз, есть какой-нибудь gem типо did you mean? только чтобы использовать свой dataset?

Vyacheslav
07.05.2018
18:27:49

ojab
07.05.2018
18:28:59
а точнее DidYouMean::SpellChecker из него

kvrlk
07.05.2018
18:56:22
ребзя рубя норм для TCP (ти-си-пи) серверов? Пишу микросервер для игры (тупо хождение по игровому полю и смена локаций) и внутриигрового чата. Думаю не писать это на крестах, а написать на рубях, но я немношко сомневаюсь

Alex
07.05.2018
19:00:45
пиши на хрусте ахах

Andrey
07.05.2018
19:00:48
Норм

Max
07.05.2018
19:03:04

Anton
07.05.2018
19:08:41
посоны, а подскажите либы аля рельсовый
ActiveSupport::Notifications?

Danny
07.05.2018
19:37:47
Привет ребята.
Нужна помощь с запросом))
Нужно сделать POST запрос, формат xml.
я так понимаю, что рейсы сами заворачивают параметры? не так ли?
Собственно вопрос, как оформить в параметры такую фразу из xml:
<data>
<payment id="1234567">
<prop name="1" value="123" />
<prop name="2" value="123" />
</payment>
</data>

Alexander
07.05.2018
19:37:59
если да - 100% что-нибудь такое есть в dry.rb )

Google

Danny
07.05.2018
19:39:54
Так будет правильно?
params = {
'data' => {
'payment' => {
'id' => '',
'prop' => {
'name' => '1',
'value' => '123',
}
}
}
}

Anton
07.05.2018
19:40:36

Alexander
07.05.2018
19:40:39

Anton
07.05.2018
19:40:44

Alexander
07.05.2018
19:41:48
https://github.com/dry-rb/dry-events
:D

Anton
07.05.2018
19:43:59

Oleg
07.05.2018
19:43:59
Когда-то я писал огромное приложение где всё было на эвентах, пробросах этих эвентов, эвент пулах и контроллерах эвентов, генерирующих свои эвенты

Anton
07.05.2018
19:44:12

Oleg
07.05.2018
19:44:17
И, как не странно, это было прекрасно

Alexander
07.05.2018
19:44:22

Anton
07.05.2018
19:44:22
я не про архитектуру, скорее про мониторинг

Danny
07.05.2018
19:44:34
Ребята))
Помогите плиз из запросом))

Anton
07.05.2018
19:44:39

Oleg
07.05.2018
19:44:49
Я, кстати, в поисках работы, если кому-нить нужен человек, который умеет в Ruby, но не умеет в рельсы - есть такой ?

Alexander
07.05.2018
19:47:32

Oleg
07.05.2018
19:47:46
Москва, да

Vyacheslav
07.05.2018
19:47:58

Oleg
07.05.2018
19:48:45

Google

Alexander
07.05.2018
19:49:20

Oleg
07.05.2018
19:49:35
В личку думаю тогда лучше

Danny
07.05.2018
19:49:53

Vyacheslav
07.05.2018
19:53:30

Danny
07.05.2018
19:54:08
сервер должен принять xml)
а как луче сделать?

Vyacheslav
07.05.2018
19:57:57
думаю тогда лучше пересылать сам xml
например, с помощью HTTP модуля
https://github.com/httprb/http/wiki/Passing-Parameters
some_xml = "<data>...</data>"
HTTP.post("http://example.com/resource", :body => some_xml)
т.е. получается posting a raw request body

Danny
07.05.2018
20:01:26
Ооо, спасибо большое))
с документацией уже разберусь)))
Не знал просто как гуглить даже(
гуглил по "post request with xml format" но там мало чего есть))

Alex
07.05.2018
20:12:03
тут кто-то про сервис мониторинга нагрузки, но не ньюрелик спрашивал. Нашли?

wi11son
07.05.2018
20:14:49

Anton
07.05.2018
20:15:21
Но вообще, я наверно ничего лучше уже не найду ?

wi11son
07.05.2018
20:16:00
Так ты же сам какие-то эвенты пишешь

Anton
07.05.2018
20:18:23
Да я думаю куда дальше развивать
Это же тупо транспорт

Oleg
07.05.2018
20:22:36
Да я думаю куда дальше развивать
Контейнеры, как виртуальные микросервисы, общающиеся по этому транспорту, при этом со слабой связанностью, чтобы если что-то куда-то не дошло - не падало. Ну и drb как вариант разрезания этого на реальные микросервисы.
Но это так, мысли под ночь ?

Anton
07.05.2018
20:23:13

Oleg
07.05.2018
20:23:20
А, ну тогда вот

Anton
07.05.2018
20:23:29
У меня домены так общаются в общей памяти
Те легко вынести домен, поменять транспорт на редис или реббит и все

Google

Anton
07.05.2018
20:23:54
Никакой запары

Oleg
07.05.2018
20:27:36
Эвент-домены тогда, которые могут собирать такие внутренние микросервисы по одному апи, но без необходимости писать дополнительный код, мол указал откуда что и что наружу-внутрь ходит, с конвертацией данных при необходимости
Если этого уже нет конечно ?

Anton
07.05.2018
20:28:39
Да не, это как раз и есть лол

Oleg
07.05.2018
20:28:50
Ммм, а почему?

Anton
07.05.2018
20:28:52
Прсто сабскрайбер написал и все
Ну, весь транспорт - это пара сабскрайберов на событие и просто из приложения дергай их и все

Oleg
07.05.2018
20:29:25
Просто когда много таких вот модулей/сервисов - они могут превратится в паттерн "Равиолли"
В итоге надо укрупнять по более крупным модулям, чтобы в кашу запутанную не превращалось

Admin
ERROR: S client not available

Oleg
07.05.2018
20:30:02
Но это если реально их так много
И если есть логическое разделение такое
То есть штук 10 таких сервисов, перед ними домен как фасад/интерфейс, и групп 5 таких, общающихся между собой через единые гейты, а внутри группы уже между собой как угодно

Anton
07.05.2018
20:31:43
Ну у меня один домен - один «микросервис» который делает какие-то команды
И для каждого можно свой транспорт описать (сабскрайберы замапить на команды)
вот так описываешь
https://github.com/davydovanton/cookie_box/blob/master/lib/issues/handlers.rb#L3-L5

Oleg
07.05.2018
20:33:54
Я просто писал такое приложение, где всё один огромный монолит, но внутри оно на самом деле делится на такие кусочки и не умирает, хотя там 2 ляма кода. А ещё для легаси обертка с виртуализацие вызовов... короче всё сложно, но оно выживало ?

Anton
07.05.2018
20:34:19
вот так вызывается
https://github.com/davydovanton/cookie_box/blob/f3b9c0d3ffb04062b23a06bc8c3a28707bc402a3/lib/decks/operations/show.rb#L12

Oleg
07.05.2018
20:34:41

Google

Anton
07.05.2018
20:34:56
грязновато, но почему бы и нет

?
07.05.2018
20:39:53
Здравствуйте, позвольте задать глупый вопрос, над которым ломаю голову два дня. Очень глупый
Я настроил elastcsearch, и из консоли он ищет то что нужно. вопрос, а как сделать это чтобы через вьюху можно было найти?
то есть, на 1 странице поиск и вывод ней же, только ниже.
я пробовал сделать нечто такое:
view
<%= form_tag(controller: 'catalog', action: 'search_ajax', method: "get") do %>
<input class="form-control" id="search-text" type="text" name="search" placeholder="Поиск по ..." data-search>
<button class="btn btn-default btn-search">Искать</button>
<% end %>
controller
def search_ajax
@article = Article.search(params[:search]).results.to_a
end

Dima
07.05.2018
20:40:01
Скорее всего классы.
но вот такой запрос мне не дал их определения: https://github.com/davydovanton/cookie_box/search?p=1&q=Success&type=&utf8=%E2%9C%93

Anton
07.05.2018
20:43:24

Dima
07.05.2018
20:44:22
красота.

Lupsick
07.05.2018
21:30:07
я сделал dsl в интеракторах типа
context_schema
еще я впилил преобразование типов по дефолту
context_schema do
required(:bot, Types::Class).filled
optional(:search, Types::String)
optional(:filter_with_access, Types::Bool)
end

Anton
07.05.2018
21:36:57
Я простив дсл магии ради двух строчек

Lupsick
07.05.2018
21:37:46
так у тебя постоянно эти две строчки возникают
это дублирование кода так-то

Anton
07.05.2018
21:38:26
Так и что в этом плохого?
От дублирования двух строчек у меня бизнес логика работать не будет? :)

Lupsick
07.05.2018
21:39:28
на скейле это может повлечь проблемы

Anton
07.05.2018
21:39:52
Не, я не спорю. Можно метод добавить, но:
1. Это лишний код, который тестировать надо
2. Добавит абстракцию, которую придётся в голове держать

Lupsick
07.05.2018
21:40:20
4 скрипта vs 40 скриптов