
Alexey
26.06.2017
13:56:25

Nikolay
26.06.2017
13:56:58
тут про модное был вопрос

Alexey
26.06.2017
13:57:44
врядли hudson будет более модным ))

Google

Oleg
26.06.2017
13:57:49
Можешь привести пример. Очень интересно. Не слишком ли это overkill для тестов?
Вот такая задача получилась даже без фриманаток, на чистом finally tagless.
Однако если ты вместо врайтера воспользуешься фриманатками для всех сервисов( а они тоже генерятся либератором из коробки) , в качестве результата ты фактически получишь план исполнения, который сможешь очень-очень подробно проверить вручную, если тебе нужно

A
26.06.2017
13:58:34
Alexey у тебя случайно bitbucket-pipelines.yml нет ?

Nikolay
26.06.2017
13:58:36

Oleg
26.06.2017
13:59:27

Alexey
26.06.2017
13:59:34

Vadim
26.06.2017
13:59:36
Здесь Req1, Req2 - сервисы, от которых зависит твоя имплементация.
Теперь ты хочешь проверить, вызываются ли и в каком количестве методы Req1, Req2 в данной реализации.
Вместо всяких грязных мокито, реализующих грязные прокси, ты делаешь монадку Writer[Map[String, Int], ?]
Monoid[Map[String, Int]] на дефолтных инстансах будет работать как счётчик. После чего делаешь интепретаторы для Req1, Req2 ..., которые дописывают в этот счётчик вызов соответствующего метода и возвращают какие-то моковые данные.
Используешь свою реализацию для этой монадки, и она моментально показывает тебе и результат и количество вызовов каждого метода на выходе
Я тебя понял. Если все сервисы написаны с исп-ем free monads, то да, наверное их правильно тестировать фриманатками. Чтобы понять все, что ты написал, надо более плотно заняться фри монадами))

A
26.06.2017
14:03:10
и circle и bitbucket с первого раза завелись
до чего техника дошла!

Vadim
26.06.2017
14:03:29

Pavel
26.06.2017
14:14:55
https://www.youtube.com/watch?v=y4w92G8eZPI последние минут 40 про Free, понравилось

Vadim
26.06.2017
14:39:48

KrivdaTheTriewe
26.06.2017
15:07:02
а сколько COnductoR стоит?

Andrey
26.06.2017
15:24:55
54 000$

Google

Andrey
26.06.2017
15:25:00
минимальная конфигурация
на 10 нод

Grigory
26.06.2017
15:25:34
http://telegra.ph/Kak-aktivirovat-SOCKS-5-v-Telegram-06-26

Yan?
26.06.2017
15:27:12
Делаю маленькое задание, чтобы разобраться с cake pattern-ом. Мой код тут https://github.com/Kabowyad/zaycev
Меня больше волнует инжект в контроллер, правильно ли я его сделал или нет. Делал по этой статье http://www.warski.org/blog/2010/12/di-in-scala-cake-pattern/

Oleg
26.06.2017
15:27:45

Yan?
26.06.2017
15:28:42

Oleg
26.06.2017
15:29:33
Почему?
с 2010 года некоторое количество людей решили это поюзать и пришли к выводу, что это полное говно

A
26.06.2017
15:30:16
?

Oleg
26.06.2017
15:30:32
как правильно делать di здесь в чате постоянно пишут, можно поискать по истории

KrivdaTheTriewe
26.06.2017
15:30:40

Yan?
26.06.2017
15:31:18

Alex
26.06.2017
15:32:47
ридер манатка популярна в определенных кругах

Oleg
26.06.2017
15:33:16

Alex
26.06.2017
15:34:51
http://blog.originate.com/blog/2013/10/21/reader-monad-for-dependency-injection/

Oleg
26.06.2017
15:36:21
ясно, я думал про https://github.com/zalando/grafter
это Reader[YourConfig, X] , дополненный макросами для генерации и rewrite tree
rewrite tree позволяет в diamon-like схеме зависимостей
service A
service B depends on A
service C depends on A
service D depends on B and C
преобразовать Reader[YourConfig, D] так, что функция Reader[YourConfig, D] только один раз запустится

Oleksandr
26.06.2017
15:40:32
интересно, сколько человек здесь считают, что лучший DI — в конструкторе

Nikolay
26.06.2017
16:12:17

Oleksandr
26.06.2017
16:12:30
просто есть некоторые сомнения в том, что подход "навернуть ридер монаду и присыпать макросами" не является оверинжинирингом
ну и мое постоянное нытье о том, что в скале засилье фпшников (при этом против нерадикального фп тоже не против, и даже за)

Google

KrivdaTheTriewe
26.06.2017
16:14:58

Needle
26.06.2017
16:15:54
я использую скалу как более емкую java, с легким налетом фп, без уклона в её академичность, я грешу? :)

KrivdaTheTriewe
26.06.2017
16:16:38

Oleksandr
26.06.2017
16:17:46
я лично считаю единственно необходимым (и то, с исключениями) отсутствие сайд-эффектов, и код типа
def sum = { var i = 0; while ...; i } вполне ОК

KrivdaTheTriewe
26.06.2017
16:20:05

Bulat
26.06.2017
16:20:47
тем более, что это делается за счет работодателя)

Oleksandr
26.06.2017
16:21:38

Alex
26.06.2017
16:23:00
бойлерплейт генерить же
декодеры всякие

Mikhail
26.06.2017
16:23:15

Nikolay
26.06.2017
16:23:47

Nikolay
26.06.2017
16:24:07
https://github.com/sbt/sbt-slash

Oleksandr
26.06.2017
16:24:10

Nikolay
26.06.2017
16:24:31
как плагин сделали / синтаксис в sbt
неплохо

KrivdaTheTriewe
26.06.2017
16:24:41

Oleksandr
26.06.2017
16:24:47
сбт — кусок тормознутого говна, его ничем уже не испортить

Mikhail
26.06.2017
16:24:57

Nikolay
26.06.2017
16:25:06
стоит попробовать

Google

Mikhail
26.06.2017
16:25:40

Nikolay
26.06.2017
16:25:44

KrivdaTheTriewe
26.06.2017
16:26:57

Alex
26.06.2017
16:27:51
метапрограммирование конечно по большому счету показатель недостатка в языке
не хватает где то выразительности

Mikhail
26.06.2017
16:28:01

A
26.06.2017
16:32:45
метапрограммирование конечно по большому счету показатель недостатка в языке. --- чоо?
Как это?
Вроде как программирование уровнем выше, наоборот круто

Mikhail
26.06.2017
16:34:17

Admin
ERROR: S client not available

A
26.06.2017
16:34:45
А, ну в скале я их не трогал пока
А так все эти ништяки, о которых все мечтают, вроде генерация кода и легкие дсли - всё из макросов же
Все эти идрисы и коки, всё это программирование уровнем выше, это то место, о котором все мечтают, но хз как туда попасть

Alexandr
26.06.2017
16:37:31
Учить их?

Mikhail
26.06.2017
16:37:47

A
26.06.2017
16:38:34
Недорос пока, наверно
Не дорос
Хотя и недорос тоже ?

Alex
26.06.2017
16:39:05
для начала надо определиться - Идрис или кок :)

Google

Alex
26.06.2017
16:39:14
или вообще какая нибудь изабелла

A
26.06.2017
16:39:18
Идрис конечно
Что такое изобелла?

Alex
26.06.2017
16:39:39
ну тогда книжку и вперёд, там все разжевано очень доступно

Oleksandr
26.06.2017
16:39:41
ну у макросов есть "хорошие" использования, кроме как борьба с языком — например, разнообразные компайлтайм проверки (валидация схемы дб, допустим)

Alexandr
26.06.2017
16:39:44

Alex
26.06.2017
16:40:22

A
26.06.2017
16:40:27
Я насаркозмировал, нет аргументов, я и там и там нуб

Alex
26.06.2017
16:41:03
Изабелла хороша интеграцией со скалой

A
26.06.2017
16:41:40
Хм

Alex
26.06.2017
16:41:47
из нее можно генерить скалу и наоборот вызывать из скалы через https://github.com/larsrh/libisabelle

A
26.06.2017
16:43:38
Идрисня говорят наиболее практична из этого всего
Щас начнётся?

Alex
26.06.2017
16:44:01
потенциально да, но до реального юзабилити там ещё пилить и пилить
говорю как админ идрисочата :)

Oleg
26.06.2017
16:44:29
И где-то есть даже чат, в котором можно об этом почитать

A
26.06.2017
16:44:48
Ну примитивный веб сервер нагенерировать смогу?

Oleg
26.06.2017
16:44:51

Alex
26.06.2017
16:45:15
совсем примитивный да, есть примеры

Grigory
26.06.2017
16:46:10
а можно ссылку на идрисочат?

Alex
26.06.2017
16:46:54
https://t.me/joinchat/AAAAAD9SWO_tLd7rJ9S7Ig

Mikhail
26.06.2017
16:47:47