
Vasilij
12.04.2016
09:41:11
> А если нужна промо-страничка - то хватит синатры за глаза.
ты в слове jekyll сделал ошибку :)

Vlad
12.04.2016
09:41:42
А что плохого в рельсах? Если мне нужен MVC, AR, AC. Все кроме вьюх. rails-api

Vasilij
12.04.2016
09:42:08
> eventmachine/celluloid
> это все в один поток правда
м?

Google

Stanislav
12.04.2016
09:42:20

Vasilij
12.04.2016
09:42:31
ас вообще никому не нужен
если нужен - учи руби, ты его плохо знаешь
ар да но нет. На ар мир клином не сошелся

Vlad
12.04.2016
09:43:30
Причем тут знание руби и нужность/ненужность контроллеров в MVC?

Vasilij
12.04.2016
09:43:47
што
> ас вообще никому не нужен
> если нужен - учи руби, ты его плохо знаешь
> ас
>ActiveSupport

Vlad
12.04.2016
09:44:28
AC - ActionController

Vasilij
12.04.2016
09:44:36
ясно
я думал ты о саппорте)

Vlad
12.04.2016
09:44:46
не)

Silent Bob
12.04.2016
09:44:48

Vasilij
12.04.2016
09:44:57
ну в ботах тебе и этого не надо

Google

Vlad
12.04.2016
09:45:19
> зашел в чат о руби
> тебе объяснили какой ты мудак и почему тебе не нужен руби и рельсы

Плюшка
12.04.2016
09:45:34
в линуксоконфе так же

Vasilij
12.04.2016
09:45:59
везде так)
не везде
в пхп конфах не так. Там таких банят

Alexander
12.04.2016
09:46:22

Vasilij
12.04.2016
09:46:26
и дальше месят свое говно в своём манямирке)

@proDOT
12.04.2016
09:47:18

Vasilij
12.04.2016
09:47:30
ActionCable? :)
и это не нужно) Если надо вебсокеты это лучше идти в эрланг или эликсир

Roman
12.04.2016
09:48:25
@frfrfrfrr боты - это чаще всего high IO в чистом виде. Более того, общение с ботом скорее похоже на stateful, чем на stateless процесс. Тут просто напрашивается что-то вроде акторов, например. А асинхронщина и параллелизм в ruby - слабые места.

Vasilij
12.04.2016
09:52:27

Roman
12.04.2016
10:02:43
@sqrel да, если не будут пользоваться - тогда и требования ниже.
stateful/stateless - на мой взгляд здесь хранить состояние диалога с юзером в базе и выгружать его каждый раз (stateless как в рельсе) - костыльно.
Вообще мой комментарий актуален если хочется нормального бота. Если для нескольких сотен не очень активных юзеров - то можно и stateless, и в один поток.

Vasilij
12.04.2016
10:12:44


Roman
12.04.2016
10:19:45
@sqrel в терминах акторов:
- актор-балансировщик обрабатывает webhook или long pulling к телеграму.
- по актору на каждый диалог. Соответсвенно в него делегируется на основе chat.id. Эти акторы не тащат из базы каждый раз состояние.
Итого если балансировщик в отдельном потоке - то мы получаем максимально производительную схему.
Подобное на ruby писать не очень.
с “маскимально” я погорячился, конечно)

Vasilij
12.04.2016
10:28:22
Какие именно данные надо держать и зачем? Постгрес выдержит огромную нагрузку + любая орм на любом языке возмет на себя кеширование. Если не будет база справлятся можно впереди поставить носиквел. Я думаю это решение лучше чем держать всю инфу, нужную по чату в памяти.
+ есть языки в которых не надо держать процесс, ибо его очень дёшево можно поднять снова
это я про эрланг

Roman
12.04.2016
10:40:02
@sqrel какие данные: ну это зависит от задачи. Для большинства случаев ты, действительно, прав. Можно заводить одноразовый актор на лету и пусть тащит из БД. Но это не отменяет выгодность балансировщика в отдельном потоке.
И да, я неявно имел в виду elixir/erlang + OTP для всей этой шняги)

Denis
12.04.2016
14:04:24
Здесь еще не появились те, кто работал с message bus? Третий час не могу разбораться, как отправить сообщение конкретному пользователю, а не сразу всем

Google

Zon
12.04.2016
17:17:03
Рубичатик, по кристалу чат есть?

Roman
12.04.2016
17:21:12
@zon_orti а ты его используешь?
любопытно просто
я вот в упор не могу понять зачем он нужен

Alex
12.04.2016
17:24:29
OMG
Давайте дальше уже не дробить
Кристал, эликсир - давайте все это сюда
Кристал ваш очень смешно бустрапится
Я пытался это сделать сам на SmartOS
Ржал как подорванный

Stanislav
12.04.2016
17:25:46
а что там не так?

Alex
12.04.2016
17:25:59
А ты попробуй
С мастер ветки не забустрапиться никак
Потому что кристал новой версии бутстрапится кристалом старой версии
И где-то посередине есть коммит тех времен, когда кристал был еще джемом
И руби был еще тоже какой-то средней версии
И надо это все найти байсектом
И попытаться запустить
Я вот чот устал раньше, чем смог этот процесс отстроить

Stanislav
12.04.2016
17:27:29
я пробовал кристал который еще руби был забутстрапить на винде, не вышло :D

Alex
12.04.2016
17:27:52
Кто кристал юзает - намекните там авторам, что за пределами макбуков тоже есть жизнь

Google

Alex
12.04.2016
17:28:06
И что повторяемость бинарных сборок is a must

Roman
12.04.2016
17:29:31
ну а кто-нибудь понимает зачем он нужен в принципе?
например, если бы бутстрапился хорошо)
Я не впервые интересуюсь - и так никто и не смог внятно ответить
мне все это дело напоминает этих ребят: http://pascalabc.net/en/
прикольно, да. Но зачем - непонятно.

Zon
12.04.2016
17:35:25
Ну - рубишный синтаксис с golike бинарником, насколько я успел посмотреть. Про смартось не скажу, но на линуксах бутстрапится

Vasilij
12.04.2016
17:35:36
mruby?

Zon
12.04.2016
17:38:02
Статическая типизация? статический анализ кода?
Я не евангелист их, просто интересно

Roman
12.04.2016
17:39:45
@zon_orti а чем go не устраивает? Ок, не хватает мощи OOP - есть scala. Вот там OOP такое, что на всех хватит и еще останется. Хочется, чтобы мало по памяти и без JVM? Вон - rust народ пилит и более успешно чем кристалл.

Zon
12.04.2016
17:40:16
Вот ещё на https://github.com/kostya/benchmarks можно посмотреть, тут кристал явно ближе к плюсам, чем к руби

Roman
12.04.2016
17:40:37
Синтаксис ruby - не аргумент. Настоящему инженеру не западло полезный язык выучить.

Vasilij
12.04.2016
17:40:46
rust выше

Zon
12.04.2016
17:40:58
Одно дело выучить, другое дело потом эффективно писать

Vasilij
12.04.2016
17:41:43
зная один язык эффективно писать не получится

Roman
12.04.2016
17:43:51
То же самое можно и про crystal сказать. Хоть синтаксис и похож - это _другой_ язык с другими особенностями.

Alex
12.04.2016
17:44:21

Zon
12.04.2016
17:44:46
Я понимаю, я не против других языков. Мне хотелось посмотреть на тех, кто на нём пишет :)

Alex
12.04.2016
17:44:50

Google

Alex
12.04.2016
17:45:06
Я вот сейчас банду сисадминов обучаю
И они, надо сказать, далеко не тупые ребята
Но времени смотреть лекции у них катастрофически нет
От слова “вообще"
К шестой лекции у некоторых отставание в 4 лекции

Roman
12.04.2016
17:47:19
@demeliorator да, грубыми. Не грубыми это писать статью целую про “сравнительный дизайн языков”. И то субъективно получится.
Если нет времени учиться новому - это плохо, m’okay? Да, такое бывает, но не симптом ли это болезни со стороны менеджмента?

Alex
12.04.2016
17:47:25
Я собирался руби изучить в течение нескольких лет
В итоге, я на нем пишу
Но до сих пор не знаю семантику половины того, что там есть
(Я не рассматриваю процесс формальной сертификации всяких CCNA как процесс обучения - сетевой инженер это личинка человека, он даже как хэшмэп устроен рассказать не сможет, скорее всего)
Собственно, почему многие программисты тащат в проект новые фреймворки, чтобы научиться за счет работодателя
Да потому, что а за чей же еще счет?


Roman
12.04.2016
17:52:17
@demeliorator ну что значит капитализма. Это зависит от конторы и ее целей. Вот мне кажется, что, например, в Evil Martians с этим неплохо. На одной из прошлых работ мне оплатили brainwashing по rails.
На текущей работе такого в явном виде нет, но в проекте часто появляются новые технологии работа с которыми прокачивает. При этом технологии не просто для бобаловаться, а которые реально работают и позволяют делать задачи быстрее в итоге.
*побаловаться

Zon
12.04.2016
17:53:11
В общем - пишешь на руби, компилишь быстро, деплоишь бинарь, который работает быстро. Что ещё нужно?

Roman
12.04.2016
17:53:43
@zon_orti Ты. Не. Пишешь. На. Ruby.

Alex
12.04.2016
17:54:23
Ну, я ж не знаком с содержанием курса брейнвошинга

Roman
12.04.2016
17:54:23
Это другой язык. У него другая система типов. Другое метапрограммирование (не runtime, а compiletime макросы, как я понял).

Alex
12.04.2016
17:54:30
Может, оно бесполезне

Zon
12.04.2016
17:54:33

Alex
12.04.2016
17:54:46