
Artem
14.03.2018
06:30:00
когда в 2058)

Артем
14.03.2018
06:34:44

Artem
14.03.2018
06:35:02

Google

Alexey
14.03.2018
07:11:14
Надо действительно смотреть шире! В докер не только Elixir укладывать нельзя. Туда вообще ничего нельзя. )
хех

Nikolay
14.03.2018
07:14:20
Если без шуток, то была же где-то стата, что мол только в СНГ все докер юзают, за бугром процент проектов с докером сильно меньше

Alexey
14.03.2018
07:14:43
там в докере еще с epmd запара
имхо, докер вообще для Го придуман )
некоторые концепции докера не очень совпадают с ерланговыми

Vladimir
14.03.2018
07:54:13
например?

Alexey
14.03.2018
08:04:07
например, неизменность контейнера. нужно что-то новое - делается новый контейнер. и горячая перезагрузка кода идет, как бы, по боку

Artem
14.03.2018
08:10:40

Vladimir
14.03.2018
08:11:22

Artem
14.03.2018
08:12:06
это эрланговская фича №1

Alex
14.03.2018
08:26:07
Наверное, правильнее было бы поставить вопрос так: подходит ли Elixir/Erlang для такого-то типа задач. Если это какой то обычный сайт в одну ноду, который можно остановить и перезалить то и хрен с ним, можно закатать в докер и пусть крутится, ну а если это что-то под нагрузкой, более сложное, более распределенное... то тут уже не только докер не пойдет но и VPS, подавай выделенное железо, а то еще и без оси

Артем
14.03.2018
08:28:37

Google

Igor
14.03.2018
08:58:30
Ребят, какой формат времени (timestamp, naive_datetime, iso8601 etc.) предпочитаете для общения между сервером и клиентами и почему?

Dmitry
14.03.2018
09:10:06
Мы тут уже обсуждали «эрланговскую фичу номер 1», которая по сути является наебаловом
Все такие «да да, хоткодредоад»
И ни кто не делал никогда

Raman
14.03.2018
09:11:15

Dmitry
14.03.2018
09:17:23
Я понимаю как мнезию мигрировать на горячую
Как экто - не понимаю

Артем
14.03.2018
09:23:42


Alik
14.03.2018
09:30:43
Не, ты к словам цепляешься. Если бы “нельзя” было, то у тебя бы в принципе не получилось\ты бы сильно страдал от этого. Можно, конечно, ты сам описал минусы которые получишь. Эти минусы не всех затрагивают и если ты пишешь услово стандартное web приложение, то ты не встретишь этих проблем и всё будет хорошо. Просто те чуваки, что придумали Erlang (BEAM) делали это ещё в эпоху мамонтов и они закладывались на то, что у тебя на тачке стоит BEAM и всё. В частности, есть штука, что BEAM сам греет ядра под нагрузкой и если хостить на этой же тачке ещё доп.зависимости, то их будет аффектить. Есть даже реализации, где BEAM идёт по сути без OS (ох, кто вспомнит как называется, напомните плиз) и встаёт как легковестная самодостаточная единица для запуска твоего аппа. Так оно задумывалось для тех же телефоний, где есть жесткая нагрузка, где нужен хот релоад и все вот эти плюшки, что выше обсуждались.
НО! 99% того что мы пишим оно не такое. Поэтому мы юзаем докер, ставим на одну тачку целый зоопарк, юзаем гуёвые версии OS на проде и крутим по несколько разных приложений рядом..да и вобще пишим всё это на Ruby ?
Ок, понял. Про BEAM знаю, но было интересно почему именно нельзя. Оказывается что всё-таки можно ??


Dmitry
14.03.2018
09:31:53
Можно на делфи бэкенд для сайтов писать

foracall
14.03.2018
09:33:05

Dmitry
14.03.2018
09:33:41
но можно != что так стоит делать

Alik
14.03.2018
09:35:09
Иногда это удобнее и проще, особенно когда на VPS уже крутится несколько приложений, уже развернутых через docker, и нужно туда докинуть одно elixir-овское

Alex
14.03.2018
09:36:13
да нет никакой особенной проблемы в докере, все равно 99% из нас не увидят нагрузок, когда докер+beam будут порождать спецэффекты

Nikolay
14.03.2018
09:36:36

Alik
14.03.2018
09:36:58
Согласен. Кому нужен highload тот сам знает что и как разворачивать ))

Alex
14.03.2018
09:37:42
главное - не использовать docker-specific вещи, и я бы рекомендовал держаться в стороне от докеровской сети.

Alik
14.03.2018
09:38:44
То есть пользоваться net: host?

Alex
14.03.2018
09:39:13
ну, я бы стремился к этому.
просто у меня совсем недавно была очень горячая история, когда у нас сгнивала на лету внутренняя сеть докера, а без нее ничего не работало by design, архитектура приложения кривая и убогая потому что

Google

Alex
14.03.2018
09:43:28
у меня нет претензий к докеру по этому поводу, претензии к приложению, но все же пометочку я в памяти оставил
опять же, внутренняя сеть докера это тот же sdn, а в эту тему лезть без наличия специалиста или обилия свободного времени не стоит

Alik
14.03.2018
09:47:20
интересно,я не сталкивался с таким, хотя и видел статьи, где у людей были проблемы и с сетью и с volumes, и вообще советовали не использовать докер. у меня на нём несколько веб-приложений крутится, но ни одно не нагружено достаточно сильно, возможно дело в этом, и если полезет нагрузка, всё начнёт быть интереснее

Alex
14.03.2018
09:48:08
наше падение никак не коррелировало с нагрузкой
ну то есть в дев-окружении вообще без нагрузки оно не воспроизводилось, но и прод нельзя было назвать очень нагруженным

Dmitry
14.03.2018
09:52:32
Да, я имел ввиду неприменимо в контексте разработки веб приложений на эликсире и тем более на фениксе
Ну возможно как-то применимо
Но на практике никто так не делает, даже из тех кто умеет, но вообще - никто не умеет

Alik
14.03.2018
09:56:00
Насколько я знаю, эрланг был нужен не для простых веб-приложений, которые можно убить и перезапустить, а для высоконагруженых сложных систем, которые нельзя было останавливать практически совсем, поэтому и существуют эти сложные системы с hot reload. Кому надо, тот знает и умеет, а нам можно и убить-перезапустить, и ничгео страшного не случится

Gennady
14.03.2018
10:11:11
Всем привет. Кто-нибудь это читал? Есть мнения? http://www.r-5.org/files/books/computers/languages/ruby/rb-way/Wolfgang_Loder-Erlang_and_Elixir_for_Imperative_Programmers-EN.pdf

Marsel
14.03.2018
11:13:39
ребята, а как подключать в phoenix plug с атрибутами и when?
типа сейчас вот так
plug(MyappWeb.Plugs.Auth when action in [:show])
а надо еще добавить opts
mykey: "my_value"
без when plug(MyappWeb.Plugs.Auth, mykey: "my_value") работает, но вместе с when по всякому пробовал, но все не то

Dmitriy
14.03.2018
11:19:23
Привет! А как указывать port подключения к БД в конфигах? Просто port? В доках не могу найти

Marsel
14.03.2018
11:24:23

Dmitriy
14.03.2018
11:24:34
спасибо!

Alex
14.03.2018
13:16:36
слушайте, а кто-нибудь пробовал делать conditional compilation? простой пример - в Mix.env == :dev вызвается заглушка, в :prod - реальная функция из зависимости
есть кошерный общепринятый способ?

Dmitry
14.03.2018
13:17:21
if Mix.env

Alex
14.03.2018
13:19:45
его в релизе нет(будь они еще раз прокляты). зато можно в таком if выставить атрибут модуля и это должно сработать как надо.

Dmitry
14.03.2018
13:23:02
Можно так хоть целые функции подменять

Google

Dmitry
14.03.2018
13:23:36
if Mix.env == ... do
def ...
else
def ...
end

Alex
14.03.2018
13:25:20
надо будет на досуге написать compile-time-only if

Marsel
14.03.2018
14:05:22

Artem
14.03.2018
15:42:43

foracall
14.03.2018
15:54:33
Ну дык, специфика сайта такая)

Александр
14.03.2018
16:24:01
очень меткое замечание

Alex
14.03.2018
17:03:05
кто-нибудь помнит, как однострочный try-catch пишется?
iex(11)> try(do: :erlang.throw(:a), catch: (:throw, t -> t; x, y -> {x, y}))
:a
или
try do :erlang.throw(:a); catch :throw, t -> t; x, y -> {x, y} end

Vladimir
14.03.2018
17:16:35
Обычно условия это keyword list
if true, do: "this", else: "that"
хотя про try-catch не уверен

Zwei
14.03.2018
17:20:14
Второй вариант

Azat
14.03.2018
17:22:06
mix format не одобряется однострочные трай-кетчи

Alex
14.03.2018
17:23:03
оба моих варианта работают
а про mix format очередной раз псить мне лень

Artem
14.03.2018
18:49:17

Alister
14.03.2018
18:56:28
Два?

Artem
14.03.2018
18:57:46
как вариант

Taras ?
14.03.2018
19:01:39
какой-то, извините, хуевый рейтинг
как это можно эрланг и не любить?))

Artem
14.03.2018
19:03:42
@TTaraskin, мой друг, когда ты услышешь в следующий раз, что математика точная наука, знай, тебе лукавят, точная наука - это статистика, а это только раздел математики((

Sergey
14.03.2018
19:04:49

Google

Alister
14.03.2018
19:17:05
Мидлионы мух не могут ошибаться

Сергей
14.03.2018
19:39:37

Taras ?
14.03.2018
19:40:09

Alexey
14.03.2018
19:40:12
если Го так хорош. миллионное сообщество не может ошибаться. и то, что он мне ненравится - наверное просто мое заблуждение просто.

Сергей
14.03.2018
19:41:20

Sergey
14.03.2018
19:54:14

Artem
14.03.2018
19:57:29
https://m.habrahabr.ru/post/217545/
у вас подмена понятий, есть понятие вещи, и понятие суждения об этой вещи
суждения могут быть обманными, вещи всегда правдивы, статистика не может лгать), она всегда правдива)
Докер приди))
https://github.com/obmarg/kazan

Сергей
14.03.2018
19:58:27

Artem
14.03.2018
20:00:18
вопрос количества данных, это вопрос как вы смотрите на мир, или через глазок или через окно, или стоя посреди этого мира
но даже смотря на мир собственными глазами непосредствинно, его картину искажает ваш глаз и мозг
статистика не может лгать, лгут выводы по статистическим данным((

Taras ?
14.03.2018
20:05:23

Artem
14.03.2018
20:09:31
@TTaraskin, если бы вы жили в начале прошлого века, то думаю были бы авиатором, там тоже отчаяные ребята все на себе испытывали ))

ⰿⰰⰾⱏ
15.03.2018
06:40:51
Как вопрос стоял?
у вас подмена понятий, есть понятие вещи, и понятие суждения об этой вещи
суждения могут быть обманными, вещи всегда правдивы, статистика не может лгать), она всегда правдива)
Вполне себе может , как раз например подменой суждения, то есть выдаётся скажем одно за цель опроса, а вопрос стоял так, чтобы ответить на него можно было достаточно определённо по желанию вопрошающего, прямой лжи не будет, будет недоговор