Size: a a a

2020 February 25

LL

Lama Lover in pro.elixir
Bogdan
Так в чем плюс от этого кроме более короткого синтаксиса? В чем я выиграю еще? Зачем писать Agent если модуль вероятно прийдется расширять до GenServer со временем? Объясни для того кто в танке)
Я не хочу это объяснять, честно. Погугли, кто-то вероятно это уже объяснил до меня более подробно и развёрнуто, чем я в полпервого ночи
источник

P

Pavel in pro.elixir
Bogdan
Так в чем плюс от этого кроме более короткого синтаксиса? В чем я выиграю еще? Зачем писать Agent если модуль вероятно прийдется расширять до GenServer со временем? Объясни для того кто в танке)
Потому, что часто, ты хочешь отделить стейт от его обработки
источник

P

Pavel in pro.elixir
И правильнее держать связку Agent + GenServer или отдельно в супервизоре делать :ets это уж как угодно
источник

LL

Lama Lover in pro.elixir
> связку Agent + GenServer
Если честно, впервые такое слышу
источник

B

Bogdan in pro.elixir
Lama Lover
Я не хочу это объяснять, честно. Погугли, кто-то вероятно это уже объяснил до меня более подробно и развёрнуто, чем я в полпервого ночи
То, что я читал в Elixir in Action,  там была одна глава про Agent,  если коротко то ни чего более короткого синтаксиса по сути он не дает процентов на 20% меньше, однако расширять его сложнее будет в случае чего, я решил просто не забивать голову лишней структурой. Но вы меня не слушайте)))
источник

B

Bogdan in pro.elixir
Я обращу внимания еще раз на агента)
источник

P

Pavel in pro.elixir
Lama Lover
> связку Agent + GenServer
Если честно, впервые такое слышу
Ну самый простой способ отделить стейт от реализации
источник

LL

Lama Lover in pro.elixir
Bogdan
То, что я читал в Elixir in Action,  там была одна глава про Agent,  если коротко то ни чего более короткого синтаксиса по сути он не дает процентов на 20% меньше, однако расширять его сложнее будет в случае чего, я решил просто не забивать голову лишней структурой. Но вы меня не слушайте)))
Ты не понимаешь, это семантическое разделение. Если у твоей программы есть хотя бы какая-нибудь архитектура, то ты сможешь понять что в ней данные, а что в ней функции. Для этого и существует такое разделение

GenServer обрабатывает данные
Agent хранит данные.

Пример, который приходит в голову: есть пулл процессов, которые обрабатывают запросы. Нужно считать сколько запросов обработали. Если запросов не много, то проще всего реализовать Agent, который просто хранит число.
источник

LL

Lama Lover in pro.elixir
Bogdan
То, что я читал в Elixir in Action,  там была одна глава про Agent,  если коротко то ни чего более короткого синтаксиса по сути он не дает процентов на 20% меньше, однако расширять его сложнее будет в случае чего, я решил просто не забивать голову лишней структурой. Но вы меня не слушайте)))
То, что я читал в Elixir in Action,  там была одна глава про иммутабельные переменные,  если коротко то ни чего кроме иммутабельности по сути они не дают, однако изменять их сложнее будет в случае чего, я решил просто не забивать голову лишней структурой. Но вы меня не слушайте)))
источник

B

Bogdan in pro.elixir
Lama Lover
Ты не понимаешь, это семантическое разделение. Если у твоей программы есть хотя бы какая-нибудь архитектура, то ты сможешь понять что в ней данные, а что в ней функции. Для этого и существует такое разделение

GenServer обрабатывает данные
Agent хранит данные.

Пример, который приходит в голову: есть пулл процессов, которые обрабатывают запросы. Нужно считать сколько запросов обработали. Если запросов не много, то проще всего реализовать Agent, который просто хранит число.
А если запросов станет много?
источник

P

Pavel in pro.elixir
:ets
источник

B

Bogdan in pro.elixir
Lama Lover
То, что я читал в Elixir in Action,  там была одна глава про иммутабельные переменные,  если коротко то ни чего кроме иммутабельности по сути они не дают, однако изменять их сложнее будет в случае чего, я решил просто не забивать голову лишней структурой. Но вы меня не слушайте)))
хаха
источник

LL

Lama Lover in pro.elixir
Bogdan
хаха
Ты меня вообще слышишь?
Agent это намеренное ограничение функционала, чтобы другие программисты понимали, что этот процесс просто хранит данные
источник

B

Bogdan in pro.elixir
А документацию нельзя добавить?
источник

LL

Lama Lover in pro.elixir
Bogdan
А документацию нельзя добавить?
Можно, приезжай в Санкт-Петербург, я тебе добавлю
источник

B

Bogdan in pro.elixir
😂
источник

LL

Lama Lover in pro.elixir
источник

LL

Lama Lover in pro.elixir
Bogdan
То, что я читал в Elixir in Action,  там была одна глава про Agent,  если коротко то ни чего более короткого синтаксиса по сути он не дает процентов на 20% меньше, однако расширять его сложнее будет в случае чего, я решил просто не забивать голову лишней структурой. Но вы меня не слушайте)))
То, что я читал в Elixir in Action,  там была одна глава про GenServer,  если коротко то ни чего более короткого синтаксиса по сути он не дает процентов на 20% меньше, однако расширять его сложнее будет в случае чего, я решил просто не забивать голову лишней структурой и пользоваться spawn. Но вы меня не слушайте)))
источник

B

Bogdan in pro.elixir
Однако это были мысли автора а не мои)
источник

LL

Lama Lover in pro.elixir
Мне продолжать?
источник