
Rumata
08.11.2016
14:33:18
корпорация спиритуал ворлд

Dmitry
08.11.2016
14:43:21
Ладн.
Шерлок модэ офф, эликсир модэ он

Nick
08.11.2016
15:12:52
Объясните пожалуйста, в чем прикол stream. Вот у нас например stream.filter. Я не понимаю в чем профит

Dmitry ?
08.11.2016
15:13:29
Методы стрима применяются к коллекции одновременно

Google

Dmitry ?
08.11.2016
15:13:38
Делается один проход по коллекции

Andrey
08.11.2016
15:14:08

Dmitry ?
08.11.2016
15:14:51
enum.filter |> enum.filter → два прохода, две новых коллекции
stream.filter |> stream.filter → один проход, одна новая коллекция

Nick
08.11.2016
15:16:13
Т.е если сначала мап потом филтер, то он эти функции выполнит за один проход?
По идее профита никого если только одна функция?

Dmitry ?
08.11.2016
15:16:37
Ну да. Элемент будет помаплен и потом пофильтрован
Если одна — никакого

Nick
08.11.2016
15:16:51
Ок, спасибо
А если стртим, потом енум, потом стртим, то три коллекции все равно?

Dmitry ?
08.11.2016
15:19:35
Причем стрим работает в lazy режиме, то есть по факту процессинг будет выполнен только в момент, когда коллекцию захочешь получить
stream_ref = Stream.filter(collection) |> Stream.filter()
collection = Enum.to_list(stream_ref)

Nick
08.11.2016
15:20:29
Понятно, спасибо

Evgeny
08.11.2016
15:38:54
stream полезен при ленивых вычислениях

Google

Evgeny
08.11.2016
15:39:04
например с бесконечными списками
Infinite Streams
Because streams are lazy, there’s no need for the whole collection to be available up front. For example, if I write
iex> Enum.map(1..10_000_000, &(&1+1)) |> Enum.take(5)
[2, 3, 4, 5, 6]
it takes about 8 seconds before I see the result. Elixir is creating a 10-million-element list, then taking the first five elements from it. If instead I write
iex> Stream.map(1..10_000_000, &(&1+1)) |> Enum.take(5)
[2, 3, 4, 5, 6]
the result comes back instantaneously. The take call just needs five values, which it gets from the stream. Once it has them, there’s no more processing.

Dmitry
08.11.2016
16:20:58
А ещё можно сделать стрим в виде генератора
Бесконечный стрим
Я с помощью стрима брал массивы данных из ets

Aldar
08.11.2016
19:46:56
стрим он обрабатывает данные по мере поступления

Andrey
08.11.2016
19:51:36
?

Nick
09.11.2016
11:40:00
Еще не понял протоколы. Ну объявляешь протокол потом реализации. Но зачем это если можно функции в модуле реализовать

Andrey
09.11.2016
11:48:15
Протокол - это что-то вроде интерфейса из мира ООП

Dmitry
09.11.2016
11:51:37
Протокол накладывает ограничения на тип данных
По сути эта единственная штука, которая что-то ограничивает в языке с нестрогой типизацией
А функции в модуле - это функции а не данные
Статью что-ли на Хабр накатать...

Andrey
09.11.2016
11:54:31
Как-то очень абстрактно, не могу сейчас написать простыню текста
Да, хорошая идпя
Причём было бы круто в сравнении с интерфейсами ООП, классами из хаскеля и ещё чего-нибудь
Вы тут как-то уже обсуждали это

Dmitry
09.11.2016
11:56:29
Я не знаю хаскель
Так что могу сравнить только с интерфейсами, утиной типизацией и с behaviour
Могу ещё с трейтами в расте

Google

Dmitry
09.11.2016
11:58:10
Вот на трейты похоже больше всего из всего что я знаю

Nick
09.11.2016
12:12:47
Я бы почитал

[Anonymous]
09.11.2016
15:24:42
Irina и тут ты!

Irina
09.11.2016
15:25:56

Alexey
09.11.2016
15:44:02
фигасе - Ирочка пришла :) Ирина

ⰿⰰⰾⱏ
09.11.2016
16:02:49

Anna
09.11.2016
16:05:06

ⰿⰰⰾⱏ
09.11.2016
16:07:52

Anna
09.11.2016
16:08:32
просто назавания комнат перечислила, где ейчеров не было еще

Dmitry
09.11.2016
16:32:25
Боже мой!! Ты спалила последние оплоты сопротивления!!!

ⰿⰰⰾⱏ
09.11.2016
16:33:08

Anna
09.11.2016
16:33:38
ну вот хаеры в соседнем чате сидят
кого пригласить?
давай тебя приглашу

ⰿⰰⰾⱏ
09.11.2016
16:34:07

Dmitry
09.11.2016
16:35:25
Давай

Can
09.11.2016
16:36:32
хаеры должны работать в симбиозе с чатом
Типа инфу полезную тоже вбрасывать

Google

Can
09.11.2016
16:36:55
Куда че как что ща активно что нет
Если время от времени вкидывать вакансии - то чет не оч

ⰿⰰⰾⱏ
09.11.2016
16:49:06
Давай
Ну впарь им там про гербалайф)

Can
09.11.2016
16:49:32
ico - новый гербалайф

Dmitry
09.11.2016
17:02:35
Ви хотите поговорить за это??

Admin
ERROR: S client not available

Aldar
09.11.2016
18:57:37
https://leanpub.com/deployingelixir
https://leanpub.com/web-development-using-elixir

Евгений
09.11.2016
19:00:30

Aldar
09.11.2016
19:00:51
Читал?

Евгений
09.11.2016
20:00:58
нет, просто парадирую блог-посты

Can
10.11.2016
09:18:41
это кстати не бог посты
https://leanpub.com/deployingelixir
это ссылка на книгу)
Наверн это стоит указывать)

Евгений
10.11.2016
09:25:15
да, я видел, что это книга, и да, я прочел ее содержание, но от шЮтки не удержался.

Aldar
10.11.2016
09:25:38
Видимо автор ее забросил)

Dmitry
10.11.2016
09:26:17
Видимо автор понял, что деплой в эликсире порочен
И сжёг как Гоголь все нахер
Зачем нужен конфиг, который компилируется вместе с приложением - я не пойму никогда

Google

Rumata
10.11.2016
09:49:25
Бум ?

Can
10.11.2016
09:50:44
Если бы бог был
Он бы сделал супервизор рестартящимся

Dmitry
10.11.2016
09:52:52
Если сделать супервизор, который рестартит падающий супервизор, то ему приходится это делать реже чем первому супервизору
Поэтому надо хреначить цепь супервизоров

ⰿⰰⰾⱏ
10.11.2016
09:54:08

Rumata
10.11.2016
09:55:32
все нормалды

ⰿⰰⰾⱏ
10.11.2016
10:00:56

Rumata
10.11.2016
10:02:16

ⰿⰰⰾⱏ
10.11.2016
10:02:55
почему)))
ну потому что религиозный оффтоп и провокация к голивару, потому и сказал, про обострение религиозного чувства..юу вас =)

Rumata
10.11.2016
10:03:06
аминь

Can
10.11.2016
11:46:47
Пацаны
Как наследовать генсервер