@scala_ru

Страница 1113 из 1499
Aleksey
03.12.2017
08:09:49
Ну что, фпконф был огненный. Кто пропустил, тот должен горько об этом жалеть.

Alexander
03.12.2017
08:10:48
Ну что, фпконф был огненный. Кто пропустил, тот должен горько об этом жалеть.
А меня разочаровал (возможно потому, что я на первую треть опоздал).

Denis
03.12.2017
08:19:22
:))

[x] Old dead vampiress
03.12.2017
08:20:41
всем привет, а есть кто из тинькоффа? как там вообще работать? меня вроде на джависта собеседовани а тут говорят что у них всюду скала

Google
Kirill
03.12.2017
08:23:02
что-то показания расходятся, то говорят, что тинькоф - это скала, то теперь оказывается, что и джава есть...

Daniel
03.12.2017
08:23:41
есть коробочные решения, которые поддерживаются своими силами на соответствующих стэках

если говорить про собственные сервисы, то подавляющее количество скалка

Oleg
03.12.2017
08:26:19
Есть и новые модные разработки на жаве

Реактивные микросервисные

Nick
03.12.2017
08:33:45
а когда хаскель уже будет?

Daniel
03.12.2017
08:36:51
а когда хаскель уже будет?
ну вот вчера был доклад про скрипты на хацкеле, в понедельник обмажусь, так чтобы босс не узнал

Kirill
03.12.2017
08:37:37
белая дорожка из хаскеля

Denis
03.12.2017
08:37:38
Daniel
03.12.2017
08:39:34
вообще я в это время доклад Олега слушал но по обрывкам выглядит аля "указываем бинарник для исполнения вместо /bin/bash" -> "обычный хацкель код" интересно только как с вызовом утилит

Nick
03.12.2017
08:39:35
над нашим девопсам накинуть

Google
Daniel
03.12.2017
08:40:55
System.process ж есть
где, в хацкелле? хз, я не ковырял еще с этой стороны

Nick
03.12.2017
08:41:04
https://hackage.haskell.org/package/process-1.6.2.0/docs/System-Process.html

std lib там уже богатая)

Oleg
03.12.2017
16:29:56
это смотря что считать std lib

канонически std lib ом считается base и там только немножко IO и абстракций

Alexander
03.12.2017
17:34:41
имеет ли такая наивная реализация Reactive Streams паблишера право на жизнь? У меня есть итератор, который после использования надо close(), хочется выставить наружу паблишер, который сам это сделает после использования, вместо дополнительного AutoCloseable https://gist.github.com/Tvaroh/457db0e2c7ad7014d800552dd5cb7017

Vadim
03.12.2017
18:29:09
https://github.com/scala/scala/pull/5995

Nikolay
03.12.2017
18:39:14
Oleg
03.12.2017
18:45:17
Ну всё

пошёл контрибьютить в cats mtl

Nikolay
03.12.2017
19:06:24
Oleg А слайды с доклада кинешь?

Grigory
03.12.2017
19:07:06
Oleg А слайды с доклада кинешь?
Обещали на след неделе орги все скинуть и видео и слайды

но конечно чем быстрее тем лучше

Nick
03.12.2017
19:18:30
пошёл контрибьютить в cats mtl
А ты юзаешь у себя?

Nikolay
03.12.2017
19:32:57
Кстати, я упустил один момент, аргументы которые передаются в сервисы вы целиком сериализуете, или хешируете?

Oleg
03.12.2017
21:36:30
Google
Oleg
03.12.2017
21:43:27
Если я правильно помню, товарищ сомневался аккастримы или моникс. Поэтому решил написать на жаве

Alexey
04.12.2017
07:34:33
Элегантное решение проблемы отсутствия поддержки сокетов в скала нейтив - https://github.com/rwhaling/dinosaur

Nick
04.12.2017
07:36:05
Cgi и элегантное в одном предложении

Daniel
04.12.2017
07:41:24
назвали динозавром, чтобы потом убить метеоритом?)

Aleksei
04.12.2017
07:41:59
технически убил не метеорит, а последствия падения метеорита кек =)

Alexey
04.12.2017
07:42:38
не, просто нашел на просторах... это скорее если очень хочется попробовать.

Grigory
04.12.2017
07:48:25
метеоритом будет допиленная скаланатив тада и вымрет

Nick
04.12.2017
07:49:33
технически убил не метеорит, а последствия падения метеорита кек =)
Наверняка были и такие, которых убило именно метеоритом

Oleg
04.12.2017
07:58:24
ну так она уже достаточно допилена, чтобы интероптиться с C

Nick
04.12.2017
08:02:47
https://github.com/scalameta/scalameta/pull/1174

Nick
04.12.2017
08:04:00
Жоска

Alexander
04.12.2017
08:55:14
Как вы считаете, IO[Foo] должно всегда быть реюзабельным? Например, если создать IO(...), который замкнётся на какой-то уже материализированный ресурс, типа респонса, то такой IO нельзя переиспользовать. Этого можно избежать, но тогда все зависимости должны быть сами IO или Eval. Пытаюсь понять, где тут тонкая грань, если она есть...

наверное разумнее обернуть в IO на границе слоя, чем все его кишки

Eugene
04.12.2017
09:10:25
Берешь старый добрый императивный грязный код на 10 тысяч строк Оборачиваешь это в IO Теперь у нас функциональное программирование! PROFIT :)

Alexander
04.12.2017
09:11:39
так оно и есть, не? :)

Oleg
04.12.2017
09:14:28
Так и есть

Eugene
04.12.2017
09:14:33
в целом наверное да

Oleg
04.12.2017
09:14:58
Потом разбиваешь на функции поменбше

Google
Alexander
04.12.2017
09:26:20
ну технически да, респонс, который ты можешь прочитать и после этого он уже только под закрытие годится

Admin
ERROR: S client not available

Alexander
04.12.2017
09:28:25
ну или там сессия какая-нибудь

Oleg
04.12.2017
09:31:00
ну вот этот хитрый случай, если сильно хочется поддерживать адекватность API часто делается через континьюэйшн или как там его loan pattern, типа def send[T]( request: Request, consume: Response => IO[T]) : IO[T]

во всяких либах для этого часто делают просто свою монадку

Alexander
04.12.2017
09:32:52
спасибо, думал о подобном, надо ещё пообмазываться )

Oleg
04.12.2017
09:33:14
типа Request[A] или Session[A] которая где-то там внутри так и выглядит

Gennady
04.12.2017
09:34:40
в Akka HTTP так используется: RequestContext => Directive => Response директивы работают как раз по loan pattern, они маленькие и на все случаи

Oleg
04.12.2017
09:35:30
ближайший пример - это Никита Волков на fpconf е рассказывал про либу для постгреса хаскеллёвую

Gennady
04.12.2017
09:35:32
+ имплиситы для красоты (прячут RequestContext и задают DSL)

Oleg
04.12.2017
09:36:13
Там у него пять монадок, одна в другой запускается

типа там Session <- Transaction <- Batch <- Statement <- ...

Gennady
04.12.2017
09:36:39
https://doc.akka.io/docs/akka-http/current/scala/http/routing-dsl/directives/index.html

Oleg
04.12.2017
09:36:54
Да все знают про Route, Геннадий

Denis
04.12.2017
09:37:14
:)

Gennady
04.12.2017
09:37:33
дык, задача 1-в-1 значит не все

Google
Oleg
04.12.2017
09:37:38
Соответственно, те монадки, которые внутри себя запускают IO

Alexander
04.12.2017
09:37:52
5 монадок это интересно, а есть название у либы?

Oleg
04.12.2017
09:37:55
Просто определены как MonadIO

и у них есть liftIO

Alexander
04.12.2017
09:38:57
LiftIO[F] def liftIO[A](ioa: IO[A]): F[A] в котах есть

Oleg
04.12.2017
09:39:15
да, про него и говорил

просто забыл, как он в cats.effect

Вот свежая версия, про которую рассказывал https://hackage.haskell.org/package/hasql-0.20.1

@gennady_lebedev И akka http, раз уж на то пошёл разговор, как раз не решает упомянутую проблему, а избегает её решения

Вот в том месте, где присутствует одноразовый буфер для ResponseEntity, он тупо отдаётся как Source[ByteString], с упоминанием в доках, что он одноразовый

и обязательный для потребления

Alexander
04.12.2017
09:50:13
да, вопрос реюзабельности стримов тоже открытый

должен ли Publisher быть мультисабскрайбельным...

Oleg
04.12.2017
09:51:39
Ну графы точно должны быть реюзабельны*. *Если только вы не вставили большую красную надпись в доках

Alexander
04.12.2017
09:52:19
это в акка стримах, в мониксе например не реюзабельные обсерваблы, бай дизайн

A {@link Publisher} can serve multiple {@link Subscriber}s subscribed {@link #subscribe(Subscriber)} dynamically at various points in time.

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