Size: a a a

2019 December 30

NK

ID:998744756 in pro.elixir
How are you getting along with...?
источник

m

madeinussr in pro.elixir
в Фениксе есть контексты, они нужны для того-то, и они не имеют НИКАКОГО ОТНОШЕНИЯ к DDD и Bounded Contexts

согласен
почему-то все решили, что это DDD из коробки, по факту: это просто другая организация кода немного;
у меня возникло ощущение после введения контекстов в фениксе, что авторы сказали, мол, “ребята, мы тут придумали контексты, для hello world их можно использовать вот так, как быть дальше - думайте сами, курите книги, пробуйте”

в целом, согласен, потому как, даже перечитав все книги по DDD, этот самый DDD можно делать по-разному, получится всегда +/- субъективно
источник

m

madeinussr in pro.elixir
Źmićer Rubinštejn
Например стандартный контекст Sessions - к какому домену отнесём? Да хз, бизнесу вообще насрать на такие вещи, сессий нету в терминологии ни одного «operation» отдела вашей организации
точно, из той же серии User куда идет? и прочее, и прочее, в большом приложинии таких сущностей будет много
в целом, код будет организован, но даже ты сам, как автор, открыв после пары месяцев свой же код, будешь думать: куда я юзера запихнул, где его искать?
источник

ЕР

Евгений Ромашкан in pro.elixir
madeinussr
точно, из той же серии User куда идет? и прочее, и прочее, в большом приложинии таких сущностей будет много
в целом, код будет организован, но даже ты сам, как автор, открыв после пары месяцев свой же код, будешь думать: куда я юзера запихнул, где его искать?
Понятий "User" может быть несколько в разных контекстах
источник

m

madeinussr in pro.elixir
это относится к любой сущности
источник

m

madeinussr in pro.elixir
ранее была мысль, с которой я согласен, что феникс контексты и DDD вещи разные, но не противоречащие друг другу
источник

ЕР

Евгений Ромашкан in pro.elixir
Да, так, просто по началу люди думают что если username, данные для авторизации, идентификаторы рекламные и т.п. относятся к одному реальному пользователю, нужно класть их рядом
источник

ŹR

Źmićer Rubinštejn in pro.elixir
Данные можно класть рядом, а вот логику работы с ними надо разделять
источник

AU

Alexander Uljev in pro.elixir
Так или иначе, это шаг в нужном направлении
источник

AU

Alexander Uljev in pro.elixir
Дополнительный слой позволит абстрагироваться от деталей и проектировать на приятном для этого уровне
источник

AU

Alexander Uljev in pro.elixir
И как по мне это более естественный способ мыслить о системе как о наборе приложений
источник

AU

Alexander Uljev in pro.elixir
Точнее инструмент для достижения этого
источник

YT

Yauheni Tsiarokhin in pro.elixir
привет парни подскажите пожалуйста почему я не могу обработать экзит из Process.exit но могу обработать прсотой exit
источник

YT

Yauheni Tsiarokhin in pro.elixir
iex(1)> try do
...(1)> exit(:jopa)
...(1)> catch :exit, _ -> IO.inspect("JOPA")
...(1)> end
"JOPA"
"JOPA"
iex(2)> try do                              
...(2)> Process.exit(self, :jopa)          
...(2)> catch :exit, _ -> IO.inspect("JOPA")
...(2)> end                                
** (EXIT from #PID<0.132.0>) shell process exited with reason: :jopa

Interactive Elixir (1.9.4) - press Ctrl+C to exit (type h() ENTER for help)
источник

YT

Yauheni Tsiarokhin in pro.elixir
уже всю голову сломал
источник

VP

Vladimir Potapev in pro.elixir
Yauheni Tsiarokhin
уже всю голову сломал
https://hexdocs.pm/elixir/Process.html#exit/2
...
The following behaviour applies if reason is any term except :normal or :kill:
1. If pid is not trapping exits, pid will exit with the given reason.
2. If pid is trapping exits, the exit signal is transformed into a message {:EXIT, from, reason} and delivered to the message queue of pid.

Вроде оно. Номер 1.
источник

YT

Yauheni Tsiarokhin in pro.elixir
Vladimir Potapev
https://hexdocs.pm/elixir/Process.html#exit/2
...
The following behaviour applies if reason is any term except :normal or :kill:
1. If pid is not trapping exits, pid will exit with the given reason.
2. If pid is trapping exits, the exit signal is transformed into a message {:EXIT, from, reason} and delivered to the message queue of pid.

Вроде оно. Номер 1.
ну так я же в трай кетч оборачиваю и экзиты ловлю
источник

YT

Yauheni Tsiarokhin in pro.elixir
почему эрланговый exit/1 тогда ловится?
источник

VS

Vladimir Sekisov in pro.elixir
exit/1 - синхронное прерывание, внутри процесса
exit/2 - асинхронное, приходит извне
try/catch ловят только синхронные
источник

YT

Yauheni Tsiarokhin in pro.elixir
Vladimir Sekisov
exit/1 - синхронное прерывание, внутри процесса
exit/2 - асинхронное, приходит извне
try/catch ловят только синхронные
ага вот оно что
спасибо
есть способ кроме как trap_exit словить экзит?
источник