
Vadim
28.06.2017
14:04:00

Daniel
28.06.2017
14:04:18

Alex
28.06.2017
14:04:23
scientist -> cаентист -> сатанист

Arthur
28.06.2017
14:04:24
спряч под абстракцией)

Google

Oleg
28.06.2017
14:04:38
только с мягким знаком

darya
28.06.2017
14:05:18

Daniel
28.06.2017
14:05:26

darya
28.06.2017
14:06:49
Интересно, стоит посмотреть) А то, наверно, питона и r недостаточно для data science)

Oleg
28.06.2017
14:07:32
trait Execution{
def terminate(): Future[Unit]
}
...
object MainApp{
val progEnd = end.flatMap(_ => execution.terminate())
}

Daniel
28.06.2017
14:07:35

Vadim
28.06.2017
14:07:35
спряч под абстракцией)
типа serviceA.shutdown? )
Так то можно, только это будет доп. нагрузка на потребителя - не забыть вызвать магический метод shutdown.

Oleg
28.06.2017
14:08:01

Vadim
28.06.2017
14:08:23

Oleg
28.06.2017
14:08:42
ты либу пилишь или прогу?

darya
28.06.2017
14:08:50
Пандас ограничивается только сглаживанием временныз рядов :)

Google

Alex
28.06.2017
14:10:21
холт-винтерс пишут в экселе есть :D

Vadim
28.06.2017
14:10:49
ты либу пилишь или прогу?
Вообще прогу. Но мне интересен правильный путь. То есть управление ЖИ компонентов. Например, в Spring его DI сам все делает за нас) Сам создает компоненты, сам же их и уничтожает)

Daniel
28.06.2017
14:12:23

darya
28.06.2017
14:13:27

Vadim
28.06.2017
14:14:05

Alex
28.06.2017
14:14:05
а разве оно используется для чего то кроме временных рядов?

Oleg
28.06.2017
14:15:09

Daniel
28.06.2017
14:15:34

Oleg
28.06.2017
14:17:24
или то же самое scalaz.ContT[Future, Unit, Execution]

Daniel
28.06.2017
14:18:15
cps не будет ли из пушки по воробьям?
если это что-то долгоживущее, то вероятно придется всю логику перелопатить

Oleg
28.06.2017
14:19:36
зачем?
не нужно всё делать через CPS

Daniel
28.06.2017
14:20:28
что тогда actions?
представляю как вызовы апи пока

Oleg
28.06.2017
14:20:55
ну что-то, что подсунет "пользователь сервиса"
учитывая, что пользователь этот верхнеуровневый
внутри ничего переписывать не нужно
можно юзать всякие monix.Task и
они ленивые, там и континюэйшнов не нужно

A
28.06.2017
14:22:50
https://vk.com/apiclub?w=wall-1_340421
лёгкие деньги

Google

Alex
28.06.2017
14:23:55
чо, не прошло 10 лет как вконтакт сделал свой фаерхоуз?

A
28.06.2017
14:24:34
ну пока они Дурова выпи,;.;.ли, пока то, пока сё

Vadim
28.06.2017
14:25:05

Daniel
28.06.2017
14:26:10

Oleg
28.06.2017
14:26:19
Но если управление ресурсами - это насущная проблема, нужно думать общее решение

Daniel
28.06.2017
14:27:18
из вопроса не понятно
может имеется ввиду аккуратная остановка приложения

Vadim
28.06.2017
14:29:08
Да я собственно вопрос задавал в контексте DI. Обычно DI framework сам отвечает за управление ресурсами - создание и освобождение компонентов.
Но если делать DI без framework, а на чистом trait-based, то получается нет третьего, который это сделает за нас.
Пример с actor system - это пример, когда нужен корректный останов компонента

Oleg
28.06.2017
14:30:46

Daniel
28.06.2017
14:31:02
это странный пример, имхо
не знаю зачем оно нужно без остановки приложения

Oleg
28.06.2017
14:32:00
ActorSystem - это ещё и все плагины к ней, к примеру Http, c кучей буферов

Vadim
28.06.2017
14:32:41
почему странный? когда приложение останавливается, кто-то же должен подчистить ресурсы. Если сама прога не создает компонент actor system, то и не ей его освобождать

Oleg
28.06.2017
14:32:42
в 100 из 100 случаев, что я помню, соглашусь с Совой, все системы тушились только вместе с приложением

Vadim
28.06.2017
14:33:45
Правильно, я и хочу потушить. Только вот кто должен тушить, если используется DI.

Oleg
28.06.2017
14:34:06
У тебя есть необходимость убить систему, оставив приложение работать?

Vadim
28.06.2017
14:34:46
main app которое вызывает метод у сервиса, получает значение, пишет на экран и завершается.

Google

Oleg
28.06.2017
14:34:53
Или дождаться останова системы и т.п.

Daniel
28.06.2017
14:35:09
можно рассмотреть вопрос без акторов, тогда все что выше написали является ответом в общем случае
вариант с трейтом примитивная версия спринга вполне (можно наворотов приделать и будет еще больше похоже)
ограничения к компонентам в любом случае будут применяться, чтобы это работало

Oleg
28.06.2017
14:35:52
А этот ваш Spring DI он может дожидаться чьего-то завершения асинхронно?
Вообще покажите мне DI, который это может
Который понимает, что есть ресурсы, которым нужно послать сигнал завершения, и асинхронно дождаться сигнала об окончании
Мне кажется, это всё-таки вопрос интерфейса компонент

Vadim
28.06.2017
14:37:33
у него хук на завершение проги. Когда он срабатывает, он проходится по созданным ИМ компонентам и вызывает у них методы очистки.
Сама прога этим не занимается

Admin
ERROR: S client not available

Oleg
28.06.2017
14:38:00

Vadim
28.06.2017
14:38:45
Да, в потоке main. Дело в том, что main выполняется в конетксте Spring

Oleg
28.06.2017
14:39:04
Тогда в чём фишка, terminate мгновенно вернёт, а awaitTermination задепрекейчен
Это значит, что никаких гарантий graceful ности ты не имеешь

Vadim
28.06.2017
14:41:54
Это так. В Spring я actor не использовал. Не могу сказать, как он отрабатывает случаи, когда очистка не может завершиться прям сейчас.

Diemust
28.06.2017
15:14:15
а есть какой-то просто способ отложить выполнение фьючи без Thread.sleep и блокировки потока?

Oleksandr
28.06.2017
15:15:41
да, task

A
28.06.2017
15:25:32
scalacheck можно как-то ограничивать в ресурсах?
3 ядра сжирает (

folex
28.06.2017
15:30:25
А никто не знает, в идее нельзя сразу нескольким методам/полям проставить тип?
через мультиселект не работает :(

Google

Mikhail
28.06.2017
15:40:26

Oleg
28.06.2017
15:41:15

Mikhail
28.06.2017
15:41:17
фигачишь скаламетовскую аннотацию, у тебя слева появляется кнопулька - развернуть

Oleg
28.06.2017
15:41:35
но это смотря в каком языке

Grigory
28.06.2017
16:53:10
не блокируют телеграмм, официально
https://lenta.ru/news/2017/06/28/vnesen/

Pavel
28.06.2017
16:59:23
свежий дамп БД ??

A
28.06.2017
17:14:39
исходники

Aleksey
28.06.2017
19:02:56
Выпуск #23 - Мета-выпуск c Евгением Бурмако http://scalalaz.ru/series-23.html

Андрей
28.06.2017
19:13:53

Grigory
28.06.2017
19:17:40
Точное разрешение можно?

Андрей
28.06.2017
19:17:52
ETA 1m
2560x1600 59.97*+

Grigory
28.06.2017
19:29:49
не маке такого чет нет; есть советы как это воспроизвести?

Андрей
28.06.2017
19:34:06
Element viewer в любом браузере, кнопка mobile view и там сustom response
Zoom в любом браузере (ctrl+\+)

Mikhail
28.06.2017
19:36:46

Nick
28.06.2017
19:37:04

Grigory
28.06.2017
19:37:28
Спс