
Alexander
11.03.2017
15:11:16
я их репу смотрел, они прямо вот в конец упоролись эликсиром.
т.е вообще все на нем написали
это как бы терминальная стадия

Vladimir
11.03.2017
15:11:56
пионеры-первопроходцы)

Google

Vladimir
11.03.2017
15:12:16
Хорошо, что таки люди есть. Всегда можно подождать и понаблюдать за граблями.

Alexander
11.03.2017
15:12:40
они кстати феникс в докере крутят, я у них утянул неплохой докер файл
но тут сразу понятно, что еще фейл мог и от докера исходить.

Vladimir
11.03.2017
15:14:30
мог.
ну и не стоит забывать что докер накладывает небольшое лэтенси на сеть. на WebRTC это было очень заметно)

Alexander
11.03.2017
15:15:21
о! еще одна прохладная история, теперь уже про меня
Вообщем у нас есть свое облако. Все такое сертифицированное, куча железа и сертификатов. Хостим все что связывается с правительственными системами. Но т.к облако выросло из нашей конторы, то мы в нем и живем. Там CoreOS и с пару тысяч контейнеров. Консул для дискавери и стандантный набор Прометея и ФлюентД для логов. И тут наше облако попало под Ддос. Как бы ддосили только пару хостов, но все etcd сошли с ума и скончались, за ними навернулись консулы, за ними развалилось вообще все к хуям
было весело и вообще докер весь такой стабильный

abc
11.03.2017
15:19:39
Странно. А зачем etcd если есть consul?

Alexander
11.03.2017
15:19:56
это как бы основна корос

abc
11.03.2017
15:20:16
Понятно. Костыли coreos

Alexander
11.03.2017
15:20:34
консулы развалились, т.к потерялись

Google

Alexander
11.03.2017
15:20:40
ну и дальше все к хуям
ах, да. Еще хочу заметить, если у вас в конторе сообщили что будут все строить на OpenStack - обновляйте резюме, контора решила себя похоронить

Vladimir
11.03.2017
15:23:25
весело. у нас тоже есть етцд на эрлангонодах, но имеем мысли избавляться от него.

Alexander
11.03.2017
15:23:26
то что я выступал на OpenStackAU - это меня заставили.

Александр
11.03.2017
15:24:11
народ, отвлеку на минутку: как в iex подавить вывод результата выполнения команды?

Alexander
11.03.2017
15:24:34
или даже :error

Александр
11.03.2017
15:25:00
а нелья как в Ruby pry - ; добавить или что-то попроще
?

Alexander
11.03.2017
15:25:07
нет

Александр
11.03.2017
15:25:11
хотя... сойдёт =)

Alexander
11.03.2017
15:25:31
iex цепляется к скомпиленному аппу, т.е ты не властен над ним
хотя, если просто запустить
без аппа, наверное можно настройки iex сделать
в dotfile
но не могу найти нужный аттрибут
типа вот https://github.com/remiprev/dotfiles/blob/master/iex/iex.exs

Александр
11.03.2017
15:29:32
я там что-то про IEx.configure [inspect: [limit: :infinite]] нашёл

Alexander
11.03.2017
15:29:37
но думаю там можно и логгер сконфигурить

Google

Александр
11.03.2017
15:29:43
потыкал всякие значения, но не помогло

Alexander
11.03.2017
15:36:03
есть тут те, кто Mix в релиз вкомиливал?
я просто думаю над этим

Roman
11.03.2017
15:46:54

Dmitry
11.03.2017
16:07:07
Потоки в нет1 то же что и потоки на колбэки в жс на которые настолько я знаю напилили первоначально промисы
Те же потоки что и в жаве на которые напилили футуры
Те же на которые в руби ничего не напилили и есть spawn
Теже которые threading в cpp
А вот каналов нигде нету
И мэилбоксов
Это фишки вм или реализации языка го
И поэтому там "легковесные потоки"

Dmitry
11.03.2017
16:09:52
И поэтому это не то же что промисы
Вот тут кстати по русски написано, чем ПОДпрограмма отличается от СОпрограммы
https://ru.wikipedia.org/wiki/%D0%A1%D0%BE%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B0

Mikhail
11.03.2017
20:41:10
Всем привет. Я пишу на ноде и go. Хотел попробовать elixir.
Стоит ли для лучшего понимания языка сначала выучить (или хотя бы посмотреть) Ruby, ROR и Erlang?

Rumata
11.03.2017
20:41:35
руби и рор не стоит

Taras ?
11.03.2017
20:41:42
erlang - да!
работу с OTP

Rumata
11.03.2017
20:41:46
эреланг посмотри обязательно

عاصم بن حارث
11.03.2017
20:41:57

Google

Mikhail
11.03.2017
20:42:38
Хорошо. Всем большое спасибо!

عاصم بن حارث
11.03.2017
20:42:52

Aldar
12.03.2017
02:03:06

Alexander
12.03.2017
07:10:11

Alexander
12.03.2017
13:44:20
а где можно почитать про preload has_many ассоциаций с кастомным order_by?
в ecto

Admin
ERROR: S client not available

Alexander
12.03.2017
13:47:24
оказывается в официальной документации, забыл про пайп %)

shadowjack
12.03.2017
17:03:19


Alexey
12.03.2017
17:04:38
"А вот каналов нигде нету. И мэилбоксов. Это фишки вм или реализации языка го"
Да я бы вот не стал прямо сравнивать гошные корутины и процессы в erlangVM. в гошный слак я приходил узнать подробности на этот счет и вообще предполагал, что у них там какой-то встроенный легкий VM получается, в котором они именно что интерпретируют свои функции и получаются корутины. огорочение пришло, когда выяснили, что нормальной системы переключения там нет. если в ерл процессу разрешено заданное время (редукции), после чего он будет прерван (после операции, которую можно прервать), то в Го переключение просиходит при вызове внешних процедур. т.е. если сделать какой-то длительный или бесконечный цикл, то программа на ГО этим системным thread'ом из нее никогда не выйдет. и если го запускать в один thread вообще, то другие команды после запуска такой горутины никогда не заработают.
про каналы, после концепции ерланга, процессов, сообщений и бейлбоксов, мне вообще непонятно, зачем они нужны. лишняя сущность. тут надо больше упарываться по го, чтобы суметь как-то более убедительно объяснить, что они не хуже


Roman
12.03.2017
17:08:23
> @bolshakov_av
> если го запускать в один thread вообще
а как его так запустить? iirc его можно запустить в режиме одно ядро, но это не то же самое, что один thread
но в целом да, изоляция го-рутин никакая по сравнению с BEAM

Alexey
12.03.2017
17:09:17
да как-то можно. ключ какой-то есть на запуск

anton
12.03.2017
17:10:23
вы только гоферам это не говорите... а то у них там бомбануть может
они верят что у них все хорошо
чем меньше они понимают, тем больше верят.

Roman
12.03.2017
17:10:55
ok, хотя странный кейс.. обычно go берут, когда хотят конкурентности, а в режиме 1 thread это event-loop какой-то получится в лучшем случае.

anton
12.03.2017
17:11:10

Roman
12.03.2017
17:13:57
GOMAXPROCS - кол-во доступных ядер задаёт.. кол-во потоков он не ограничивает, просто они будут в случае с тяжёлыми го-рутинами похожи на классические threads, как в Java
но это так, чисто для справки.. я Go пробовал - не понравилось )))

anton
12.03.2017
17:16:36

Google

Alexey
12.03.2017
17:17:08
GOMAXPROCS да они вроде. но суть в том, что это я сам назвал. просто предположил, что это скорее threads, чем ядра. потому что, если это действительно от ядер, то на одноядерной машине это совсем умрет. и это вообще бред. и я не думал, что такое реально такой тупняк.

Roman
12.03.2017
17:17:38
тут главное слово "simultaneously", т.е. когда останется одно ядро, многопоточность будет вытесняющей, как раньше было, когда компьютеры были одноядерными.

shadowjack
12.03.2017
17:17:50
Go берут когда хочется скорости. А конкурентность у BEAM все же вне конкуренции.

anton
12.03.2017
17:18:38
ну я когда ковырял - я понял такую вещь, что если горутина блочится на каком-то системном вызове, то жди следующую горутину в новом треде..
соответственно 1М горутин в 10 тредах - это как бы да, можно.. в вакууме
но 100 горутин при записи в какой-то один файл, наплодят на самом деле 100 тредов

Alexey
12.03.2017
17:22:29
я не про то, что она блочится на системном. а про то, когда она блочится сама на себе. зациклена там или еще что. то есть, много задачность на уровне win 95
GOMAXPROCS, кстати, по умолчанию не равен единице никогда ))) это уж мне гошники сами подсказали так сделать, чтобы доказать, что зацикленная горутина завесит все приложение и не будет прервана. и последующие команды никогда не выполнятся.

shadowjack
12.03.2017
17:24:39
А вот скажите, кто-нибудь эликсир в продакшене использовал? Что использовать для деплоя?

Alexey
12.03.2017
17:25:02
в пятницу я попробовал на Го в лоб сделать http страничку. и натравил на нее wrk. потом попробовал в лоб же страничку на фениксе. натравил его же... и приуныл, конечно.

anton
12.03.2017
17:25:28

shadowjack
12.03.2017
17:26:20

Alexey
12.03.2017
17:27:02
но факт тот же. ГО сколько бы не было коннектов и тредов в тестере. упирается в какой-то потолок в rps. после которого уже начинаются socket errors - коннекты на которые так никто и не ответил. а вот феникс медленнее, но на все ответил. ту же картину видел и несколько лет назат, когда на хабре была другая пискомерка. суть была та же. ерланг был не первым, но коннектов не терял.
Какие результаты-то?
в том смысле, что пробовал сделать веб сервер со статической веб страничкой. одной.
по честному то надо тоже не феникса брать, а что-то такое же "более в лоб". но руки не дошли за выходные. дойдут - может статью запилю на хобр.

anton
12.03.2017
17:29:00

Alexey
12.03.2017
17:29:04
потому что знаю вот минимум 3 разных способа о том, как можно отрабатывать входящие tcp/ip соединения.
да. там текст го был такой, что статичный путь / и к нему хендлер. можно чтоб была аналогия из кофбоя бы подошла. у него там plug так же натравить на /

Roman
12.03.2017
17:30:42