@scala_ru

Страница 222 из 1499
Nikolay
11.11.2016
14:34:48
но когда нажимаешь, то не разворачивается

Denis
11.11.2016
14:35:30
Печалька

Nikolay
11.11.2016
14:37:42
аннотация @main которая в примерах приводится разворачивается нормально при этом

но все равно немного странно...

Google
Nikolay
11.11.2016
14:39:47
в общем хорошо что зарелизили, думаю что со временем поддержка будет лучше

https://d3nmt5vlzunoa1.cloudfront.net/scala/files/2016/11/image06.png

чем отличается EAP от nightly?

Daniel
11.11.2016
14:47:40
последний чаще апдейтится, в него быстрее попадают фиксы и новые баги

KrivdaTheTriewe
11.11.2016
14:49:47
Поддержка котлина будет лучше

Vladimir
11.11.2016
15:18:09
Как на скалочке сделать интерфейс над системным вызовом лучше? Есть нужда дергать ffmpeg и использовать результат его вызова (естесственно асинхронно и т.п.)

Denis
11.11.2016
15:19:30
Отдельный тред пул я думаю

Что еще придумать

я вот недавно дергал wkhtmltopdf

так и сделал

но я пока без нагрузки так что особо не парился

вот либа если что где перенаправление сделано ввода вывода если интересно https://github.com/cloudify/sPDF/blob/master/src/main/scala/io/github/cloudify/scala.spdf/Pdf.scala

Vladimir
11.11.2016
15:25:53
о, еще и стримами, спасибо)

Google
Denis
11.11.2016
15:27:26
не это не стримы

просто названия такие

Andrey
11.11.2016
15:56:23
Кто-нибудь читал https://www.manning.com/books/functional-and-reactive-domain-modeling?

Denis
11.11.2016
15:58:02
у меня MEAP валяется, чет руки не доходят

Daniel
11.11.2016
16:03:01
ничего так книга, есть интересные идеи

Dmitriy
11.11.2016
16:09:02
Как и все другие работы этого автора. Есть интересные идеи но создается ощущение что он живет в паралельном мире где домен моделируют в функциональном стиле. И кроме него больше никто так не делает.

Denis
11.11.2016
16:12:59
Где пацаны моделируют домен в функциональном стиле и ебут систему в рот :))

вспомнилась копипаста про мытищи

Daniel
11.11.2016
16:14:03
только тайпклассы, коммьюнити ультрахардкор шейплесс

KrivdaTheTriewe
11.11.2016
16:17:48
Я из Мытищ

Denis
11.11.2016
16:18:05
а я как написал?

а сорян )

понял

Grigory
11.11.2016
16:18:19
мытищи (москва говорят они)

KrivdaTheTriewe
11.11.2016
16:18:50
В Мытищах sbt собирает % зависимости независимо от суффикса джарника

Alex
11.11.2016
16:19:17
чо, Гоша вон взяли недавно в лайтбенд

Daniel
11.11.2016
16:19:39
там ставиться "domain" % "library_359"

KrivdaTheTriewe
11.11.2016
16:20:34
"Ru.uniti.Мытищи" % "hardcore" % "359"

Wystan
11.11.2016
16:31:53
http://scalameta.org/tutorial/ q"case class User(name: String, age: Int)” и как это использовать-то…

Google
Denis
11.11.2016
16:33:01
case q”$mods class $name(..$fields)” => …

есть идея одна, буду делать на выходных )

Wystan
11.11.2016
16:34:21
А что делать-то дальше с этим квазиквотом… Вообще непонятно. Если я хочу использовать этот сгенеренный класс, как к нему обратиться.

Denis
11.11.2016
16:36:37
квазиквот можно использовать как для деконструкции так и для создания деревьев

вытащил нужные куски, сделал с ними что либо и првератил в дерево

Denis
11.11.2016
17:17:45
а как по-другому можно?

без моделирования?

табличками в базе оперировать

?

Andrey
11.11.2016
17:28:29
Я имею ввиду канонический ddd

Denis
11.11.2016
17:31:43
я тут ковырял опенсорсный биллинг KillBill и там очень все грамотно сделано

Denis
11.11.2016
17:35:02
граждане, а как тестить rest api для play из sbt? это надо два sbt пускать? или какую доку читать?

Michael
11.11.2016
17:51:14
https://www.playframework.com/documentation/2.5.x/ScalaTestingWithScalaTest посмотри тут

Denis
11.11.2016
17:56:27
тут как будто не особо то. как пустить тест при запущеном плее?

Aleksei
11.11.2016
17:58:04
в смысле,

?

Denis
11.11.2016
17:58:49
ну sbt run

D
11.11.2016
17:58:52
@mnedokushev ололо, какие люди!

Google
Denis
11.11.2016
17:58:54
плей взлетел

как пустить тест? перезапустить?

Aleksei
11.11.2016
17:59:23
sbt test?

Denis
11.11.2016
18:01:21
а, перезапускать все. ну да, вариант.

Michael
11.11.2016
18:01:59
@dbvvmpg а ты кто?

Aleksei
11.11.2016
18:03:00
я чот просто не очень понял задачу, если надо тестить плей запущенный извне есть вариант заюзать какой нибудь типа gatling

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

https://www.playframework.com/documentation/2.5.x/ScalaFunctionalTestingWithScalaTest тут побольше буковок

Wystan
11.11.2016
22:20:32
А как в shapeless сделать из 1 to 5 HList?

Вообще, хочу List(1, 2) :: List(3, 4) :: HNil flatMap identity, но надо похоже пару талмудов прочитать, прежде чем понять, как это делать.

Мда, аналогично, непонятно как мапать hlist из case objects. Видимо для каждого надо прописывать implicit def toSmt = at[CASE_OBJECT]{i => ,,,}

Evgeniy
12.11.2016
06:36:37
@notxcain вот это http://scastie.org/23692 вроде бы равнозначно тому, что ты делал в https://github.com/notxcain/onion-architecure для выражения одного DSL в терминах другого? или есть отличия?

Grigory
12.11.2016
08:58:36
А как в shapeless сделать из 1 to 5 HList?
import shapeless._ import shapeless.syntax.std.traversable._ (1 to 5).toHList[Int :: Int :: Int :: Int :: Int :: HNil] (1 to 5).toSizedHList(5) res3: Option[shapeless.::[Int,shapeless.::[Int,shapeless.::[Int,shapeless.::[Int,shapeless.::[Int,shapeless.HNil]]]]]] = Some(1 :: 2 :: 3 :: 4 :: 5 :: HNil)

Вообще, хочу List(1, 2) :: List(3, 4) :: HNil flatMap identity, но надо похоже пару талмудов прочитать, прежде чем понять, как это делать.
да хочется из коробки List(1, 2) :: List(3, 4) :: HNil flatMap poly.identity однако из коробки работает для HList'ов вложенных типа scala> ((List(1, 2) :: HNil) :: (List(3, 4) :: HNil) :: HNil).flatMap(poly.identity) res9: shapeless.::[List[Int],shapeless.::[List[Int],shapeless.HNil]] = List(1, 2) :: List(3, 4) :: HNil

Wystan
12.11.2016
09:19:22
(1 to 5).toSizedHList(5) - воу спасибо. я пробовал sized(5), но он что-то другое выдает

Grigory
12.11.2016
09:19:48
ага

как видишь изза ограничений по преобразованию List'a в HList флетмап сделать по хлисту из листов не так просто; ты должен размер ограничить хотя бы)

Wystan
12.11.2016
09:28:44
(1 to 5).toVector.toSizedHList(5) - тоже хз что. Ладно пока явно напишу val 9 = 1 :: 2 :: 3 :: 4 :: 5 :: 6 :: 7 :: 8 :: 9 :: HNil; val 36 = 9 :: 9 :: 9 :: 9 :: HNil flatMap identity `

Grigory
12.11.2016
09:36:27
а зачем в вектор его?)

из коробки работать должен (1 to 5).toSizedHList(nat)

Google
Grigory
12.11.2016
10:27:26
(1 to 5).toVector.toSizedHList(5) - тоже хз что. Ладно пока явно напишу val 9 = 1 :: 2 :: 3 :: 4 :: 5 :: 6 :: 7 :: 8 :: 9 :: HNil; val 36 = 9 :: 9 :: 9 :: 9 :: HNil flatMap identity `
до компа добрался) синтетический пример набрсал :D но в таком виде лучше не использовать https://gist.github.com/pomadchin/c33668086d38b92d84eaa0766b9b22af

Grigory
12.11.2016
10:54:53
а ты где про lowPriorityFlatOption прочитал?
Иплиситы из родителей лоу приорные))

у тебя имплисит функции которые содежратся внутри Poly могут иметь неявные ургемнты в любом количесвте, и в любом колве параметров можно иметь; это все что нужно для компайл тайма

implicit def lol[A, B, C, L <: List[A], F2Aux](implicit f1: Func[F2Aux], f2: Func2.Aux[A, L, F2Aux]] = at[Monad[L]](ml => f1(f2(ml))

Wystan
12.11.2016
14:04:20
Странно, что пишут с маленькой буквы object objectName. Но я буду в компаньон обджекты для кейс классов всю эту машинерю складывать.

Блин, по привычке спросил тип в идее на alt + enter у HList размером 136 элементов. Идея зависла. А ведь это всего лишь набор карт в моей колоде!

Grigory
12.11.2016
14:36:39
С маленькой буквы это соглашение, типа это функция, а не объект в привычном понимании

Старайся не большие хлисты делать, а то компилить до конца времен) если нет возможности меньше хлист делать, то много хлистов поменьше гораздо проще идут

Идея часто висит с шейплезом ))

Wystan
12.11.2016
14:42:41
Старайся не большие хлисты делать, а то компилить до конца времен) если нет возможности меньше хлист делать, то много хлистов поменьше гораздо проще идут
Ну я как раз думал, что для карточный игры - это хороший кейс. Типа карты в колоде можно сортировать, над ними можно делать однотипные операции и так далее.

Но выходит, мне проще сделать кейс класс с полями для разных мастей :(

Andrii
12.11.2016
17:53:40
/stat@combot

Combot
12.11.2016
17:53:40
combot.org/chat/-1001034178083

Nikolay
12.11.2016
21:25:34
в тестах у play есть JsonConfiguration и JsonNaming https://github.com/playframework/playframework/blob/master/documentation/manual/working/scalaGuide/main/json/code/ScalaJsonAutomatedSpec.scala . но сейчас этих классов нет. может быть кто-то знает почему их выпилили, и как можно стандартными средствами сделать snake case ключи?

или... это еще не релизнулось?

вот коммит от 2 сентября который это добавляет https://github.com/schmitch/playframework/blob/8e93d460c787253605512415e3f7c31fe2413277/documentation/manual/working/scalaGuide/main/json/ScalaJsonAutomated.md , в мастере и ветке 2.5.X этого нет

Nick
12.11.2016
22:13:02
Ээээ, а чо опять стату чистили? Почему я опять в топе так высоко?

Vladimir
13.11.2016
09:00:35
за выходные залпом почти весь курс посмотрел: https://www.youtube.com/playlist?list=PLbgaMIhjbmEnaH_LTkxLI7FMa2HsnawM_ очень доступно рассказывает

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