@proelixir

Страница 395 из 1045
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

Roman
10.03.2017
21:19:13
в ml были pipe?
|> да. Еще в 97 году

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

Roman
10.03.2017
21:22:43
это в какой реализации?
Это в стандартной же.

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

Roman
10.03.2017
21:23:24
какая из них стандартная? я нигде такого не видел
Просто любой код на окамлe возьми.

На f#

Max
10.03.2017
21:23:58
да, точно

нагуглил

либо не знал, либо забыл

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
да, действидельно отличная, а что там?
там внутри описаные валидаторы с обходом enum и тупли, обернутые в модули

по факту ничего нового, но это одна из тех либ, что помогает шорткатить и уменьшить количество костылей/бойлерплейта

к примеру у меня для экто уже довольно большая либа собралась, т.к заебало каждый раз одно и то же писать

здесь хороший валидатор получился тем, что если ошибка, то не валит апп, а дает возможность смапить

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
> @cannotbe как так вышло что в эликсире работают аннотации через @ почитай код https://github.com/arjan/decorator ;-)
я поглядел, там парень зашел через стандартный before_compile и расширил модуль пересобрав аттрибуты в методы. Не уверен что это хорошо

т.е 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
Кто что может сказать по поводу поддержки систем на динамических языках?

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

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

Alexander
11.03.2017
11:39:21
ну тут проблема не языка

хоть на пхп напиши

проблема поддержки растет прямо из либ/фреймворков

к примеру феникс. Написали апп год назад. Сейчас хоть переписывай

и проблема не типизации, а именно развитости языка/фреймворка.

На ноде переписывать можно хоть каждую неделю, там слишком быстрый прогресс

на Cи один раз написал и все

libev уже лет 20 как написана и последнее обновление было, когда я еще пешком под стол ходил

и работает

тот же телеграм на ней базируется

как пример что типизация и проблема поддержки не свзяана - Elm

были сигналы

чтобы jquery прицепить, родить надо было на столе

сейчас создатель сказал - в жопу сигналы

Страница 395 из 1045