
Daniel
10.04.2017
20:40:27
Deploy это DevOps а не разработка
я вот, к примеру, Ansible осилил только из праздного интереса

Vladislav
10.04.2017
20:41:42

Diemust
10.04.2017
20:42:19
что-то вы все уходите в крайности

Daniel
10.04.2017
20:44:27
не мешай, а то подраздачу попадешь как неопределившийся

Google

Sergey
10.04.2017
20:44:46
))

Vladislav
10.04.2017
20:49:31
Ну я пока из скаловых "проблeм" услышал развe что шeйплeсс и макросы (макросы нe осилили, да?). Так в чeм проблeма? Нe юзайтe шeйплeсс и макросы
Остальныe "проблeмы" к скалe вообщe никаким боком

Sergey
10.04.2017
20:57:10
да осилили мы все, б-г с вами. долго код осиливателей выпиливали и тестами покрывали. счастья вам, здоровья и всяческих успехов

Vladislav
10.04.2017
21:13:55
А вы пишитe тeсты на тeсты, чтобы у тeстов тожe был код кавeрeдж, причeм нe мeньший чeм у самих тeстов?

KrivdaTheTriewe
10.04.2017
21:13:55
если это не стандартный круд сервис

Sergey
10.04.2017
21:22:24
Да в самих шеллскриптах ничего особо криминального нету, кроме того, что мир ушел немного вперед и есть модные CI вроде travis и circle, которые это дело несколько причесывают позволяя гораздо более элегантно управлять этим процессом. Я скорее про прибивание гвоздями ИП-адресов в гит-репо и кондовых подходов из разряда собирать деб-пакеты через сбт, потом обходить скриптом серваки и делать apt-get upgrade. На дворе 2017 - докер, кубернетс и вот это все. Да, кстати, сбт это еще один камень в огород скалы :)

KrivdaTheTriewe
10.04.2017
21:24:38


Sergey
10.04.2017
21:28:52
Можно и мы это делаем, но я вовсе не про это говорил. А про то, что концентрация людей, отрицающих полезность тестов и при этом пилящих такой треш как я описал по моему опыту в скале гораздо выше. И это при средней стоимости людей существенно выше

Alex
10.04.2017
21:34:56
девопсятинка

Grigory
10.04.2017
21:40:11
да кому нужны эти тесты

Google

Grigory
10.04.2017
21:40:25
для трусов.

Daniel
10.04.2017
21:45:55
In Type System We Trust

Diemust
10.04.2017
22:09:46

Nikolay
10.04.2017
22:24:53
В скалалазе была тема "ищем скалиста за n дней, где n < ∞" ?

A
10.04.2017
23:32:37
так и не понял, почему джависты априори тддшат и не хардкодят айпишники в скриптах, а скалисты - порочные люди. кажется, у пациента комплексы на базе скалы, и он не в силах больше держать это в себе. давайте сублимировать вместе!

Alex
11.04.2017
00:16:09
зачем сублимировать, лучше катарсировать

Bernal
11.04.2017
00:36:14
https://reestr.rublacklist.net/rec/128264/
http://2whois.ru/?t=dig&data=playframework.com&dns=&dig_type=any
ппц

Aleksey
11.04.2017
03:58:06
Сергей Чикин, предупреждение за мат.

Nick
11.04.2017
05:41:23

Grigory
11.04.2017
05:45:17

Nikolay
11.04.2017
06:02:15
Да все понятно же, ip-шники хардкодят чтобы они были известны на этапе компиляции. Вот вам и связь между скалистами, шейплесом и хардкодом

Diemust
11.04.2017
06:04:21
причем хардкодят на уровне типов

Grigory
11.04.2017
06:14:12
криминал какой закардкодить статик типы

Nikolay
11.04.2017
06:31:05
http://developer.lightbend.com/blog/2017-04-10-sbt-01315-JDK9-support-and-offline-installation/

Daniel
11.04.2017
06:32:11
новый имплисит всунули в паблик апи, удобство в массы =/

Nikolay
11.04.2017
06:32:16
насчет offline instalation чет не понял. как можно этим воспользоваться?

Oleg
11.04.2017
06:33:31
мне даже стыдно, что я рад этому
To support migration from old operator <+=, we’ve also added an implicit
Append instance that extracts task values.

Google

Daniel
11.04.2017
06:34:07
вот да, двоякое ощущение)
насчет offline instalation чет не понял. как можно этим воспользоваться?
Offline installation
sbt 0.13.15 adds two new repositories called “local-preloaded-ivy” and “local-preloaded” that point to ~/.sbt/preloaded/. The purpose for the repositories is to preload them with sbt artifacts so the installation of sbt will not require access to the Internet.
This also improves the startup time of sbt when you first run it since the resolution happens off of a local-preloaded repository.

Nikolay
11.04.2017
06:34:57
да я это прочитал)
мне нужно самому выкачать артифакты для sbt чтобы оно потом запустилось без выкачивания артифактов?
или есть новый инсталятор для sbt, который все это включает в себя?

Oleg
11.04.2017
06:35:59

Nikolay
11.04.2017
06:36:22
было бы здорово, если бы они указали на него

Daniel
11.04.2017
06:37:00
нет, он сам выкачивает нужное

Nikolay
11.04.2017
06:37:53
тогда чем это отличается от выкачивания артифактов в ~/.ivy2/cache ?

Lev
11.04.2017
06:38:01

Daniel
11.04.2017
06:38:55
хотя я соврал
rsync -a --ignore-existing "$sbt_home/lib/local-preloaded/" "$HOME/.sbt/preloaded"

Nikolay
11.04.2017
06:39:47
это откуда?
https://dl.bintray.com/sbt/native-packages/sbt/0.13.15/sbt-0.13.15.zip
57 МБ
да, оно
предыдущая инсталяция была меньше 1 МБ

Daniel
11.04.2017
06:42:03
https://github.com/sbt/sbt-launcher-package/pull/145/files

Nikolay
11.04.2017
07:08:55
на тему sbt https://github.com/coursier/coursier/releases/tag/v1.0.0-RC1 - теперь есть launcher основанный на coursier
csbt

Google

Nikolay
11.04.2017
07:11:02
попробовал, но смотрю что какая-то часть все равно резолвится ivy, где-то на этапе загрузки плагинов
в release notes coursier написано что плагины можно указывать в build.properties

Nick
11.04.2017
07:28:41
Он ж бажный

Nikolay
11.04.2017
07:33:09
csbt или coursier вообще?

Nick
11.04.2017
07:34:00
Coursier, я плюнул когда из-за него перестала работать компиляция

Nikolay
11.04.2017
07:37:28
у всех по-разному

Admin
ERROR: S client not available

Nikolay
11.04.2017
07:38:00
у меня как правило проблем не бывает, и он включен как глобальный плагин. но пару раз было так, что приходилось отключать

Nick
11.04.2017
07:38:02
В том то и дело. Слишком много багов ещё

Nikolay
11.04.2017
08:14:01
Ну я помню что на относительно большом проекте была единственная проблема, с версией указанной в духе 7.0]

Lev
11.04.2017
08:20:30
у меня зависимость в духе % “foo” classifier “bar” не подхватывалась
кроме этого проблем не видел

Nikolay
11.04.2017
09:15:46
а когда map и flatMap на типе определены через implicit conversion, то можно с ним for comprehension использовать?

Daniel
11.04.2017
09:25:08
да, на этом ж весь scalaz построен

Denis
11.04.2017
09:25:37
можно

Nikolay
11.04.2017
09:26:19
я тоже так считал, но почему-то akka http директивы не компилируются когда пытаешься через for

Daniel
11.04.2017
09:27:07
эмм, а подробнее? что за директивы?

Sergey
11.04.2017
09:35:34
flatMap и withFilter, не?

Grigory
11.04.2017
09:36:49

Nikolay
11.04.2017
09:43:37
а все, нашел

Google

Nikolay
11.04.2017
09:43:49
for {
one <- optionalHeaderValueByName("X-One")
two <- optionalHeaderValueByName("X-Two")
three <- optionalHeaderValueByName("X-Three")
} yield Option((one.map(_.toLong), two, three))
так работает
for {
one <- optionalHeaderValueByName("X-One")
oneX = one.map(_.toLong)
two <- optionalHeaderValueByName("X-Two")
three <- optionalHeaderValueByName("X-Three")
} yield Option((oneX, two, three))
а так уже нет
value flatMap is not a member of akka.http.scaladsl.server.Directive[(Option[String], Option[Long])]
one <- optionalHeaderValueByName("X-One")

Sergey
11.04.2017
09:45:49
ну так фьючи с опшенами тоже в одном форе не склеишь

Nikolay
11.04.2017
09:46:13
но я и не пытаюсь же
oneX =
не oneX <-

Sergey
11.04.2017
09:47:48
аа, интересненько

Nikolay
11.04.2017
09:48:56
если сделать так, то все в порядке
for {
one <- optionalHeaderValueByName("X-One")
two <- optionalHeaderValueByName("X-Two")
three <- optionalHeaderValueByName("X-Three")
} yield {
val oneX = one.map(_.toLong)
Option((oneX, two, three))
}

Sergey
11.04.2017
09:55:20
похоже, что у Directive[A] есть имплисит с flatMap, а у Directive[(A, B)] - нет
потому и не работает

Nikolay
11.04.2017
09:59:17
да, сообщение об ошибке как раз об этом. но я немного не понимаю, где у меня возникает Directive[(A, B)]

Sergey
11.04.2017
10:01:22
one <- dir1
oneX = one.map(_.toLong)
тут - дешугарится в что-то типа такого dir1.map(one => (one, one.map(_.toLong)))

Nikolay
11.04.2017
10:03:20
теперь все понятно. я думал что оно иначе разворачивается, во что-то типа
dir1.flatMap { one =>
val oneX = one.map(_.toLong)
dir2.map(...)
}

Sergey
11.04.2017
10:04:52
вот тут описаны четко правила трансформации)
http://docs.scala-lang.org/tutorials/FAQ/yield.html#translating-for-comprehensions

Nikolay
11.04.2017
10:05:24
спасибо