Хитро сегодня было. Поехал, как обычно, на поезд в 7:36; проехал две остановки, вышел. Поезд постоял несколько минут и ушел. Все так стоят на платформе. Тут подходит "скорый", и мы все на него лезем. На "скором" доезжаю я до Пало Альто, иду в офис, беру рабочий комп, иду обратно на станцию. Подходит тот поезд, на котором я уже ехал от Блосом Хила до Тамиена. Я на него сажусь и еду до города.
Ну просто надо было комп забрать, ну.
А обратно приехал в шестом часу; зашел в КМарт, купил мочалку, скребок для душа, и еще, не знаю как описать, губку для мытья ванны, ну там не губка а типа тоже мочалка. Вот.
Дома мы планировали идти погулять, но погода опять шепчет, мол, дождик скоро. Так я пошел вычистил фильтрацию пруда; там столько бактерий развелось, ужас. Кошка все мне помогала, ходила со мной туда-сюда, серьезная такая. Только что в воду не лезла. И все время что-то говорит. Жаль, я ее акцента не понимаю.
А, ну так-то главная развлекуха - это Akka Streams. Прогресс зафигачил хрен знает куда; и удобная такая вещь.
Например, вопрос - а как мне в акке файл в вебсервере послать на запрос? Ответ - стримами. Сорс - файл, синк - httpResponse. Привинтили - и готово; никаких байтов, никаких буферов, закрытий файлов, всей этой хрени. Все сделано уже до нас.
Я единственно что написал метод
Вот в этом кусочеке я соединяю последовательно несколько фьючерсов, потом в конце закрываю лавочку.
Здесь
Ну это к примеру.
Причем, похоже, что flatMap тут у меня зря, надо соединять будет не фьючерсы, а элементы потока.
Ну я просто типа балуюсь еще пока.
Ну просто надо было комп забрать, ну.
А обратно приехал в шестом часу; зашел в КМарт, купил мочалку, скребок для душа, и еще, не знаю как описать, губку для мытья ванны, ну там не губка а типа тоже мочалка. Вот.
Дома мы планировали идти погулять, но погода опять шепчет, мол, дождик скоро. Так я пошел вычистил фильтрацию пруда; там столько бактерий развелось, ужас. Кошка все мне помогала, ходила со мной туда-сюда, серьезная такая. Только что в воду не лезла. И все время что-то говорит. Жаль, я ее акцента не понимаю.
А, ну так-то главная развлекуха - это Akka Streams. Прогресс зафигачил хрен знает куда; и удобная такая вещь.
Например, вопрос - а как мне в акке файл в вебсервере послать на запрос? Ответ - стримами. Сорс - файл, синк - httpResponse. Привинтили - и готово; никаких байтов, никаких буферов, закрытий файлов, всей этой хрени. Все сделано уже до нас.
Я единственно что написал метод
>>>
, чтобы типа ставить точку в конце. Ну и K
-комбинатор, я вообще не понимаю, как люди без него программируют.def K[T, U](t: => T) = (any: U) => t implicit class MyFuture[T](f: Future[T]) { def >>>(op: T => Unit): Unit = f.onComplete(_.foreach(op)) }
Вот в этом кусочеке я соединяю последовательно несколько фьючерсов, потом в конце закрываю лавочку.
def f4: Future[Done] = { val all = FileIO.fromPath(factorialPath) val numbersBS = all.via(Framing.delimiter(ByteString("\n"), Int.MaxValue)) val numbers = numbersBS map (_.utf8String) numbers.runWith(Sink.foreach(s => println(s"<<$s>>"))) } (f1 flatMap K(f2) flatMap K(f3) flatMap K(f4)) >>> K(system.terminate())
Здесь
f4
читает файл, режет его на строки, и выдает на консоль каждую строку.Ну это к примеру.
Причем, похоже, что flatMap тут у меня зря, надо соединять будет не фьючерсы, а элементы потока.
Ну я просто типа балуюсь еще пока.