
folex
21.09.2017
11:45:16
тк это всё известно изначально, нечего прокидывать извне
ну и я не люблю env переменные добавлять, слишком легко превратить всё в кашу из них

Alexander
21.09.2017
12:29:14
а вообще вот вроде http://www.scalatest.org/user_guide/using_matchers#checkingEqualityWithMatchers
result should === (3) // can customize equality and enforce type constraints

Google

Vladimir
21.09.2017
12:35:26
в ассертах обычно тройное равно пользуется (собственном там противопоказано использовать двойное равно, т.к. оно косячит)

Nikolay
21.09.2017
12:45:22
на === надо посмотреть

Pavel
21.09.2017
12:46:22
https://youtrack.jetbrains.com/issue/IDEA-163208#comment=27-2418693
пилят ребята

Nikolay
21.09.2017
12:47:56
спасибо

Alexey
21.09.2017
13:00:33
показывать тип выражения под курсором
и тут shapeles

Nikita
21.09.2017
13:00:56
показывать имплисит!

Nick
21.09.2017
13:01:09
генерировать if(a!=nil)

Alexey
21.09.2017
13:01:37

Nikita
21.09.2017
13:01:50
/toxic

Gregory
21.09.2017
13:03:06
/toxic

Google

Nikolay
21.09.2017
13:05:25
или тип выделенного выражения, который через cmd+W

Dmitry
21.09.2017
13:07:49
/toxic

Oleg
21.09.2017
13:10:55
Вот сидишь такой, забил на чат, потом видишь тлгрм пишет последнее сообщение "/toxic" и уже не можешь не зайти

Daniel
21.09.2017
13:12:20

Nikita
21.09.2017
13:12:50
это кликбейт

Oleg
21.09.2017
13:12:55

Nikolay
21.09.2017
13:13:15
занято(
кстати русскоязычный канал

Oleg
21.09.2017
13:14:08

Nick
21.09.2017
13:14:15
о скале?

KrivdaTheTriewe
21.09.2017
13:15:47
KrivdaTheScala

Oleg
21.09.2017
13:16:01
Krivla

KrivdaTheTriewe
21.09.2017
13:16:11
ну ты и токсик

Vadim
21.09.2017
13:51:32
Ребя а https://index.scala-lang.org/ открвыается у вас?

Oleg
21.09.2017
13:52:01

Alexander
21.09.2017
14:02:57
Ребят, подскажите, как поумней настроить CI и release management. Сейчас есть Travis, он что-то там тестирует-собирает, есть отдельные ветки для разных релизов, нужно ещё что-то для паблишинга придумать (джарники, докер etc.). Буду рад почитать о вашем опыте, ну либо статьи какие-нибудь.

Vyatcheslav
21.09.2017
14:45:49
блин, зачем я нажал на эту ссылку >_< С Докером можно через sbt-native-packager собирать и паблишить в регистри (хоть в свой, хоть docker hub)

Google

Artem
21.09.2017
14:46:55
https://www.youtube.com/watch?v=mT5U862_ydU

KrivdaTheTriewe
21.09.2017
14:47:09

Artem
21.09.2017
14:47:20
не обязательно это видео, у фланта в целом хорошие есть
(случайно нажал)

Alexander
21.09.2017
14:49:30

Vyatcheslav
21.09.2017
14:54:55
куда уж лучше :)

Oleksandr
21.09.2017
16:54:09
https://scala.epfl.ch/minutes/2017/09/12/september-12-2017.html

KrivdaTheTriewe
21.09.2017
16:57:23
очень радует, что они даже по деньгам отчитываются

Pavel
21.09.2017
17:31:06
слышьте, так расскажите мне - все ли тут юзают Future[Either] / DBIO[Either], или только говорят что это круто, а в проде хэндлят эксепшены в рековери?

Aleksei
21.09.2017
17:31:39
гугли EitherT =)

Pavel
21.09.2017
17:31:54
да я знаю про eithert
вот говоришь гугли, а юзаешь ли ты сам?

Aleksei
21.09.2017
17:32:29
да

Nick
21.09.2017
17:33:28
не вижу смысла в Future[Either] если честно, Future итак имеет ошибку внутри
хотя если только Either чтот отличное от ошибки содержит

Aleksei
21.09.2017
17:33:49
смысле есть

Pavel
21.09.2017
17:34:05
я про кейс где там ошибка слева
может быть не эксепшен, а что-то свое простое

Aleksei
21.09.2017
17:34:32
именно

Nick
21.09.2017
17:35:54
не пишу проблем написать Future.failed

Google

Pavel
21.09.2017
17:36:29
ну вот типа пишут что сайд эффекты и все такое
меня бесит следующее - допустим на разных слоях приложения - разные ошибки. Допустим доступ в базу хэндлится одной ошибкой, и допустим у тебя есть еще какой-то хттп клиент - там другая ошибка. Ты делаешь сервис где тебе надо это объединить. Если ошибки не одного типа или не имеют одного наследника - их нужно синхронизировать типа под один тип - это раково ппц
если делать один общий тип - тогда на самом деле не особо то понятно - ведь реально можно сделать Future.failed там где надо
и будет куда проще
и код менее захламленный обертками EitherT
видимо никто не юзает, ибо поднимая этот вопрос - никто его не поддерживает)

Aleksei
21.09.2017
17:43:36
trait Error
и все =)

Pavel
21.09.2017
17:45:13
так а смысл тогда получается если у тебя все ошибки под один верхний тип будут подведены? Это же тоже самое что сделать recover в конце с похожим Exception
а ну я еще не знаю, но наверное это тоже минус для разработки как минимум - когда теряется стэк трейс, не?

Aleksei
21.09.2017
17:46:02
ну у нас есть разные подтипы

Pavel
21.09.2017
17:47:51
ну это не объясняет приемущества)

Aleksei
21.09.2017
17:48:24
ну я и не вызывался объяснить приемущества

Pavel
21.09.2017
17:48:48
ну ладно

Aleksei
21.09.2017
17:49:01
но вообще конечно фримонады

Pavel
21.09.2017
17:49:01
но все же должна же быть смысловая какая-то нагрузка, почему так, а не так

Aleksei
21.09.2017
17:49:10
ну потому что удобно

Pavel
21.09.2017
17:49:14
вот мне интересно как там в тинькове делают

Aleksei
21.09.2017
17:49:14
есть стандартные ошибки
внутри метода кидаются они

Google

Aleksei
21.09.2017
17:49:35
ну в левую ветку
удобно )

Pavel
21.09.2017
17:50:56
хорошо, вы так отлавливете ошибки типа допустим при вставке базу и срабатывает какой-нибудь констрейнт или еще что-то такое?
или там какие-то ошибки бизнес логики

Alexandr
21.09.2017
17:52:37
С эксепшнами теряется referential transparency

Daniel
21.09.2017
17:53:03
да не фига не удобно
и никто не знает как жить одновременно с исключениями и в прекрасном мире railway oriented programing
все это костыли и смирение

KrivdaTheTriewe
21.09.2017
17:54:00

Aleksei
21.09.2017
17:54:42
ну эксепшны финч ловит )

Pavel
21.09.2017
17:56:54
короче днище

Daniel
21.09.2017
17:59:25
я потому книгу по идрису и купил, что интересно как в тотальном языке с этим
осталось только продолжить читать

Grigory
21.09.2017
18:29:14
@fly_style йо

Alex
21.09.2017
18:30:39
идея то ловить их по возможности ещё при компиляции :)
недавно видел трюк как делать персонализированные сообщения про ошибки компиляции в идрисе кстати
https://groups.google.com/forum/m/#!topic/idris-lang/Po1_a4dUzIU