
Alexander
10.03.2017
11:33:09
Причем на палках сэкономили

Alexey
10.03.2017
11:35:27
чтобы вот такие проблемы не вылазили
использовать либы - это норм. либо ты по сути пишеь свой костыль. который в конечном итоге все равно, как либа. так лучше пользуй готовую. а если в ней что-то не так - участвуй в ее развитии!

Max
10.03.2017
11:35:30
там как правило пул соединений, обработка редиректов, прокси, и ещё куча всего

Google

Alexey
10.03.2017
11:36:09
я не понимаю задачу твою

Max
10.03.2017
11:36:17
ок
недавно просто патчил hackney под свои нужды
накипело

Alexander
10.03.2017
11:37:15

Max
10.03.2017
11:37:27
как будто в ерланге лучше

Alexander
10.03.2017
11:37:39
Я вообще перед тем как начать кодить лист стали под жопу подкладываю
А то горит
Но тут надо понять, все молодо

Alexey
10.03.2017
11:38:16
лист стали )

Alexander
10.03.2017
11:38:55
Ну да. Высокая степень температура плавления

Alexey
10.03.2017
11:40:57
накипело
ну так все исправил? стало хорошо?

Max
10.03.2017
11:41:41
исправил, чтобы лично мне было хорошо

Google

Alexey
10.03.2017
11:44:06
это уже не мало, я считаю.

anton
10.03.2017
20:57:09
мужчины, кто из чатика на митап в мск то пойдет?

Alexey
10.03.2017
21:01:48
думаем пока. потому что 2.5 часа митап. а ехать до москвы 6 часов в одну сторону. два дня получится ни туды ни сюды.

Roman
10.03.2017
21:14:12
Расскажите а всякие монады факторы комонады опшн хуепшн, reader, railway oriented programming в еликисре поддерживаются?
В f# с этим всё понятно, а эликсир взял из ml pipe functions а остальное?

Alexander
10.03.2017
21:15:20
with, если мне не изменяет память

Max
10.03.2017
21:15:55
в ml были pipe?

Alexander
10.03.2017
21:17:16
How to use the "with" keyword in Elixir and what is it for?
http://stackoverflow.com/q/34210281/1894560

anton
10.03.2017
21:17:33

Roman
10.03.2017
21:19:13

Max
10.03.2017
21:19:25
это в какой реализации?

Alexey
10.03.2017
21:22:16

Roman
10.03.2017
21:22:43

Max
10.03.2017
21:23:08
какая из них стандартная? я нигде такого не видел

Roman
10.03.2017
21:23:24
На f#

Max
10.03.2017
21:23:58
да, точно
нагуглил
либо не знал, либо забыл

Roman
10.03.2017
21:25:25

Google

Alexander
10.03.2017
21:40:37
Вообще наверное можно нормальные монады сделать с эликсирными протоколами
Наподобие Enum

anton
10.03.2017
21:41:13
а есть какие то реализации.. ExMonad видел как-то

Alexander
10.03.2017
21:41:20
Monad.pure, Monad.lift, Monad.bind
Для бинарей, списков и {:error, err}|{:ok, term}
И аппликативы... Даешь хаскель для BEAM!

Roman
10.03.2017
22:01:54

Roman
10.03.2017
22:13:35
для railway oriented programming есть https://hexdocs.pm/rop/readme.html
монады юзать можно, но неудобно по сравнению с Haskell
do-нотацию ещё можно похожую сделать, а всё остальное сильно будет отличаться
в частности protocols, которые в Elixir вместо type classes, диспатчатся только по первому атрибуту функции

Roman
10.03.2017
22:28:31

Can
11.03.2017
00:14:50
пацаны
просвятите
как так вышло
что в эликсире работают аннотации через @
# Timing a function. The metric name will be [:timed, :function]
# Key will be: prefix.dev.timers.timed.function
@timed(key: "timed.function")
def function_that_is_timed do
OtherModule.slow_method
end
это же атрибуты класса
или прям аннотации где-то в доках языка указаны?

Alexander
11.03.2017
05:31:50

Google

Alexander
11.03.2017
05:33:09
связано это с тем что в языке просто зарезервированы имена для аттрибутов типа *doc*
странно что твоя аннотация пашет, т.к есть список зарезервированных слов
так же, как @*doc* дают право писать доки прямо инлайн и парсить их уже exdocом или к примеру apidocjs, так же можно рулить и настройками VM. Вообще тема аттрибутов интересна тем, что по сути нет одной доки. Что-то я на сайте эликсира почерпнул, что-то в ченджлогах языка
кстати, я тут случайно нашел https://github.com/whatyouhide/saul
отличная идея

zk
11.03.2017
06:19:53
да, действидельно отличная, а что там?

Alexander
11.03.2017
06:22:18
по факту ничего нового, но это одна из тех либ, что помогает шорткатить и уменьшить количество костылей/бойлерплейта
к примеру у меня для экто уже довольно большая либа собралась, т.к заебало каждый раз одно и то же писать
здесь хороший валидатор получился тем, что если ошибка, то не валит апп, а дает возможность смапить

Admin
ERROR: S client not available

Alexander
11.03.2017
06:27:34
у меня просто жопа полыхала, когда ecto-enum рейзит ошибку без возможности ее ловить

Roman
11.03.2017
07:43:00
> @cannotbe
как так вышло что в эликсире работают аннотации через @
почитай код https://github.com/arjan/decorator ;-)

Alexander
11.03.2017
07:49:11
т.е before_compile, on_definition позволяют колбэки зарегистрировать, но вот потом там у него немного ад

Dmitry
11.03.2017
07:50:56
Я ниразу не пользовался ничем таким. Вы уверены что это в принципе необходимо? Я имею ввиду аннотации?
Ну реально 2 кейса - доки и спеки.
Но они уже есть. А как это сделано - вообще все равно...

Alexander
11.03.2017
07:52:06
я доки пишу ими
пользуюсь apidocjs потом для сборки статического сайта
удобно
ну собственно и все )

Google

Roman
11.03.2017
08:00:21
я не утверждаю, что это необходимо.. я ответил на вопрос как так получилось
вообще этот пакет создавался для appsignal-elixir
в принципе в подобных кейсах это может быть удобно

Victor
11.03.2017
10:31:39
В шарпах на аннотациях много чего делают

zk
11.03.2017
10:33:47
Кто что может сказать по поводу поддержки систем на динамических языках?
Согласен, не аргумент.
Остается возможность, что нода тормозит. Если не тормозит, то скорее всего переписывать не надо.
Есть еще третий фактор: сложность развития и поддержки продукта. На динамических языках большой продукт развивать в среднем сложнее. Но тут, все-таки, больше зависит от опыта и культуры имеющихся программистов.

Alexander
11.03.2017
11:37:16
память кушает, да, течет - да. Но кластеризация решает проблему на корню

zk
11.03.2017
11:39:01
А что насчет сложности и динамических языков?

Alexander
11.03.2017
11:39:21
ну тут проблема не языка
хоть на пхп напиши
проблема поддержки растет прямо из либ/фреймворков
к примеру феникс. Написали апп год назад. Сейчас хоть переписывай
и проблема не типизации, а именно развитости языка/фреймворка.
На ноде переписывать можно хоть каждую неделю, там слишком быстрый прогресс
на Cи один раз написал и все
libev уже лет 20 как написана и последнее обновление было, когда я еще пешком под стол ходил
и работает
тот же телеграм на ней базируется
как пример что типизация и проблема поддержки не свзяана - Elm
были сигналы
чтобы jquery прицепить, родить надо было на столе
сейчас создатель сказал - в жопу сигналы