@haskellru

Страница 1472 из 1551
Alexander
19.09.2018
06:03:56
сервант даёт автогенерацию кода, даёт автотесты, даёт swagger, даёт проверки сериализации всех данных

Dmitry
19.09.2018
06:04:05
все что Тим писал жутковато
Что за Тим и можно пример кода?

Alexander
19.09.2018
06:04:23
притаскивает servant-quickchek

Что за Тим и можно пример кода?
Tim Watson он половину distributed-process-platform писал

Google
Alexander
19.09.2018
06:04:58
все эти супервизоры, клиент-серверы и прочее

очень много кода, но очень странного

Dmitry
19.09.2018
06:05:42
копировать эрланг - это не тупиковая ли идея вообще?

Dmitry
19.09.2018
06:06:00
лучше б до ума довели transient

Александр
19.09.2018
06:06:59
Мы работаем над этим.
Могу поревьюить, как буду более-менее свободен

что, если не сервант? на чем вебсервисы-то писать?
Сервисы - писать на Haskell. Сервант нужен не более, чем для серверного кода

Dmitry
19.09.2018
06:10:05
что значит, на хаскелл

Alexander
19.09.2018
06:10:06
у них там целый FP Complete ревьювит код

Александр
19.09.2018
06:10:22
В смысле - кода, который сервит

Dmitry
19.09.2018
06:10:31
ну короче - сервант ок, код его - не ок, т.к. для слишком умных людей написан

Alexander
19.09.2018
06:10:31
тупиковая

Google
Alexander
19.09.2018
06:10:44
ну патчить сервант сложновато

но как часто вы это делали?

Denis
19.09.2018
06:11:01
у них там целый FP Complete ревьювит код
FPC уже давно с нами не работают.

Dmitry
19.09.2018
06:11:01
да блин через раз

Александр
19.09.2018
06:11:02
у них там целый FP Complete ревьювит код
Западные ревьюеры все такие толерантные, как бы чего лишнего не сказать, засудят

Denis
19.09.2018
06:11:41
Ничего подобного.

Александр
19.09.2018
06:11:42
что значит, на хаскелл
Вам концепция деления на слои понятна?

Dmitry
19.09.2018
06:12:05
и?

Denis
19.09.2018
06:12:35
Когда Джон Хьюз (который из Quviq) посмотрел наши тесты - он прямым текстом сказал, что многие из этих тестов "just suck".

так что никакой излишней толерантности.

Alexander
19.09.2018
06:13:05
FPC уже давно с нами не работают.
а что же тогда делает Kirill

Александр
19.09.2018
06:13:10
и?
Сервант - лишь небольшой слой взаимодействия с внешним миром. "Писать сервисы" == "писать бизнес-логику", и это никак не Сервант

Kirill
19.09.2018
06:13:50
Alexander
19.09.2018
06:13:57
да, если ваш сервис не генерит свою спецификацию и не тестирует ее автоматом, то он не очень

Denis
19.09.2018
06:13:58
Alexander
19.09.2018
06:14:11
как время-то бежит

Kirill
19.09.2018
06:14:22
но вообще Денис вроде когда-то уже говорил, что у FPCo контракт с Cardano Foundation

не с IOHK

Alexander
19.09.2018
06:14:36
а да точно

Denis
19.09.2018
06:14:47
именно

Google
Alexander
19.09.2018
06:15:00
но ты же ревьювил какой-то код?

Dmitry
19.09.2018
06:15:04
Alexander
19.09.2018
06:15:04
не так давно

Dmitry
19.09.2018
06:15:17
остальное вполне понятно, слои там и т.п.

Alexander
19.09.2018
06:15:37
в другом случае сервант начинаешь переизобретатт

очень рано

Kirill
19.09.2018
06:16:36
но ты же ревьювил какой-то код?
не по контракту с IOHK, репорты пишутся, что IOHK с ними делает (получая от CF) вопрос к IOHK

Alexander
19.09.2018
06:16:52
я ничего не говорил про контракт с IOHK

а про то, что вы ревьювите тот код

Kirill
19.09.2018
06:17:33
ок

Александр
19.09.2018
06:17:52
ну т.е если убрать увиливания - то это означает - смириться с сервантом
Я же уже обозначил свою позицию. Если не ожидается сложной логики сервера, Servant можно использовать, он хотя бы ориентирован, чтобы его использовали. В предыдущем проекте я его использовал и писал на нем RPC. Если же ожидается что-то сложное, выбор Серванта рискован.

Kirill
19.09.2018
06:17:59
поправка только, что совсем далеко не ценлый FP Complete :)

Alexander
19.09.2018
06:18:39
договор с компанией значит что она выделяет достатое кол-во ресурсов на решение проблемы и имеет shared knowledge

Kirill
19.09.2018
06:19:05
в каком смысле shared?

Alexander
19.09.2018
06:19:14
между сотрудниками

т.е. если что-то странное или наоборот видишь то можешь обсуждать и получать знания других людей

Alexander
19.09.2018
06:19:57
и.е. ревью сильной командой часто сильнее ревью сильного человека

учитывая, любое безумие там возможно с помощью Raw

Google
Kirill
19.09.2018
06:20:49
ядро OS? :)

Александр
19.09.2018
06:20:57
по мнению многих - если ожидается что-то сложное, или, тем более, Промышленное - то выбор хаскелла это даже не риск, а чистое безумие.
Так и есть. Выбор Haskell сейчас - это риск более высокий, чем выбор любого распространенного языка. Но мы-то уже находимся в системе координат Haskell. Хотя можно пообсуждать, да

Alexander
19.09.2018
06:21:03
ну мы вроде про веб сервисы?

Александр
19.09.2018
06:21:57
например, что сложное сложно сделать на серванте?
Если память меня не подводит, ты сам в этом чате рассказывал о стриминге, который пытался туда прикрутить.

Alexander
19.09.2018
06:22:07
я патчил там две вещи: 1. авторизацию (уже в апстриме) 2. streaming который был кривой

Dmitry
19.09.2018
06:22:08
Так и есть. Выбор Haskell сейчас - это риск более высокий, чем выбор любого распространенного языка. Но мы-то уже находимся в системе координат Haskell. Хотя можно пообсуждать, да
а я считаю, что нет, например. как по мне - так выбор Java это гарантированно сработавший бюджетный риск, и с высокой вероятностью - риски человеческого фактора

Alexander
19.09.2018
06:22:20
ну не смотря на мою ругань я сделал его за пару часов

при этом всегда можно написать Raw и получить чистый Wai

Александр
19.09.2018
06:23:35
ну не смотря на мою ругань я сделал его за пару часов
Я опирался именно на твои слова. Тогда, видимо, Servant - нормальный выбор

Dmitry
19.09.2018
06:23:51
ну т.е зачисление серванта в группу риска означает, что ему есть какая-то общепринятая, зарекомендовавшая себя мейнстримная альтернатива

Admin
ERROR: S client not available

Dmitry
19.09.2018
06:24:02
в нашем-то хаскелле. ну-ка ну-ка что это

Alexander
19.09.2018
06:24:05
вот аж вчера мне нужно было переделать парсинг параметров, т.к. ingress или CDN перед сервисом неожиданно начал сам urldecode делать и это не тестировали

пришлось заменить endpoint на raw

Александр
19.09.2018
06:24:28
ну т.е зачисление серванта в группу риска означает, что ему есть какая-то общепринятая, зарекомендовавшая себя мейнстримная альтернатива
В мире Хаскеля говорить о мейнстримных альтернативах можно лишь в ряде ограниченных случаев

Alexander
19.09.2018
06:24:32
учитывая что это заметили в 11 вечера люди сидевшие в офисе

да сервант внутри сложный и плохо документировар

но лазить туда надо не часто, ещё там неплохой апстрим

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

чаще бесплатно

Google
Dmitry
19.09.2018
06:26:54
короче, кода меньше = код лучше. но если код работает - то он уже хороший.

Александр
19.09.2018
06:27:21
но лазить туда надо не часто, ещё там неплохой апстрим
Это очень хорошее качество. Когда есть понятный интерфейс и есть куча примеров, как его использовать так, чтобы его уши не протыкали собой все другие слои. А вот с vinyl-рекордами (у меня на прошлом проекте) так не получилось. Поэтому мы коллегиальным решением загнали эти рекорды только в одну небольшую нишу, чтобы они не лезли в бизнес-логику. Автору (который еще, к слову, навертел поверх своей магии на типах) пришлось с этим смириться

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

Dmitry
19.09.2018
06:29:21
ну конечно, ведь лучше хороший, но не работающий код

во, в твиттере про понятность заговорили

Александр
19.09.2018
06:30:47
ну конечно, ведь лучше хороший, но не работающий код
Я не утверждал этого. На мой взгляд, здесь нет черно-белой оценки. Если код хорошо написан, но не работает, то там, возможно, есть какой-то простой баг, который очень легко найти и пофиксать. И все заработает

Dmitry
19.09.2018
06:31:37
да все фигуранты здесь сидят, и в общем ничего нового нет. хорошо/плохо понятно/непонятно много loc/мало loc

всё как всегда

отлично может выглядеть спор хаскеллиста, который за понятный код с адептом понятности кода, но питонистом или плюсовиком

т.е вроде точки зрения у них будут одинаковые, но есть нюанс!

Александр
19.09.2018
06:33:46
Я могу выступать в роли того самого плюсовика, который за понятность кода и там тоже. И немного за питониста тоже.

Точнее, так: за поддерживаемость. Понятность - это другая характеристика

Dmitry
19.09.2018
06:34:29
поддерживаемость можно как-то определить?

Yuriy
19.09.2018
06:34:42
отлично может выглядеть спор хаскеллиста, который за понятный код с адептом понятности кода, но питонистом или плюсовиком
если они все смогут отделить ясность самого кода от знакомости, то это может быть продуктивно. хотя это вряд ли возможно

Dmitry
19.09.2018
06:34:54
да как это вообще возможно?

Александр
19.09.2018
06:35:01
поддерживаемость можно как-то определить?
Как-то можно, но сейчас я не готов составлять определения. Можно взять откуда-нибудь

Yura
19.09.2018
06:35:21
Dmitry
19.09.2018
06:35:24
т.е тут по моему только два варианта - 1) я самый умный, если я чего-то не понимаю - то оно плохое 2) я не самый умный, если я чего-то не понимаю - надо разобраться

русскоязычные обычно самые умные

Александр
19.09.2018
06:36:10
В поддерживаемость входит тестируемость, понятность, легкий рефакторинг, легкий поиск ошибок, уменьшенное количество ошибок, баланс лаконичности и функциональности, документированность, покрытость тестами, а также другие характеристики.

Dmitry
19.09.2018
06:36:42
тестируемость как определяется? можно пример теструемого и нетеструемого (это как?) кода?

понятность - кому понятность?

Страница 1472 из 1551