@scala_ru

Страница 767 из 1499
Alexey
26.06.2017
13:56:25
а какой CI в скале модно использовать?
если на гитлабе или битбакете - можно использовать их CI

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
Можешь привести пример. Очень интересно. Не слишком ли это overkill для тестов?
Если этот рассказ тебя заинтриговал, могу попробовать раскатать это на хабре подробнее с кусками кода. Если нет - то нет

Alexey
26.06.2017
13:59:34
Alexey у тебя случайно bitbucket-pipelines.yml нет ?
сорри... нету. я на гитлабе джавовский проект пробовал на их CI

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, понравилось

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/

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
Alex
26.06.2017
15:32:47
ридер манатка популярна в определенных кругах

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 — в конструкторе

Oleksandr
26.06.2017
16:12:30
Как будто это что-то плохое
так я сам так считаю :)

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

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

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

Oleksandr
26.06.2017
16:17:46
фп это хорошо, хорошо бы объяснил как правильно только его делать
у всех свое понимание "правильного" кто-то двигает программирование на типах как единственно верное фп, кто-то любит макросы с имплиситами

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

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:24:07
https://github.com/sbt/sbt-slash

Oleksandr
26.06.2017
16:24:10
а такой код норм? def foo[T <: {def close(): Unit}](closable: T) = closable.close()
ну не считая рефлексии тут тайпкласс бы хорошо зашел (или даже обычное наследование)

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

неплохо

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

Mikhail
26.06.2017
16:24:57
а такой код норм? def foo[T <: {def close(): Unit}](closable: T) = closable.close()
если часто используется - конечно не норм. если в какой-то одной вспомогательной функции которая используется повсеместно - может и норм. кейс от кейса

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

Google
Mikhail
26.06.2017
16:25:40
макросы это метопрограммирование , а не зло, главное чтобы переносимо было
ну ты же понимаешь откуда ноги растут у метапрограммирования

Nikolay
26.06.2017
16:25:44
сбт — кусок тормознутого говна, его ничем уже не испортить
ну вопрос не в этом. мне кажется это хоть какое-то улучшение

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

не хватает где то выразительности

Mikhail
26.06.2017
16:28:01
а такой код норм? def foo[T <: {def close(): Unit}](closable: T) = closable.close()
как в плюсах было бы неплохо. когда сравнивается семантика - т.е. делаешь T <: Closeable и тебе необязательно иметь его в цепочке наследования, главное чтобы методы были реализованы в том что ты хочешь передать. но там конечно потребуется те да се флажочки навернуть внутри, чтобы люди не путались)

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
Что такое изобелла?
https://isabelle.in.tum.de

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
Ну примитивный веб сервер нагенерировать смогу?
https://isabelle.in.tum.de/dist/Isabelle2016-1/doc/tutorial.pdf можешь туториал почитать на 200 страниц

Страница 767 из 1499