Futureは後から結果がわかるといったコンテキスト。スレッドをコンテキストの懸念に抽象化することによって、関数型プログラミングに沿ったコンテキストとしてスレッドを扱うことができる(説明が合ってるかは謎...)。 Futureを使ってみる import scala.concu…
今日もN予備校で学習 タイトルはJavaだけどScalaの勉強で必要になったので(^_^;) 記事内のコードはScalaです。 Fork/Join フレームワーク Executorフレームワークでは、スレッドは割り当てられたキューのタスク消化を行った(待機スレッドは他スレッドのタス…
この本読んでて、非同期処理についてもう少し知ってないと厳しいと感じて、N予備校で勉強した並行処理のことを忘れるのでメモしておく。 (function(b,c,f,g,a,d,e){b.MoshimoAffiliateObject=a; b[a]=b[a]||function(){arguments.currentScript=c.currentScr…
最近、 Twitter上のプログラミング入門者観察記 | κeenのHappy Hacκing Blog の記事を見て、実は僕も似たようなことをしていた。 僕の場合「入門者」ではなく、「「プログラミングで稼げる」的な発言をするインフルエンサー達を逆に非難したりする人達」を半…
軽い気持ちでScalaの勉強を始めたんだけど、"モナド"という魔法の言葉が出てきた。 調べれば調べるほどに"モナド"というものが分からなくて(笑)、そんな時に何かのレビューで、「恐らくこの本が一番初心者に分かりやすくモナドの懸念を解説してる」というの…
式評価のskip、実行について 式評価の基準について。 // falseで条件外となるので{println("!!"); true}は評価されない scala> false && { println("!!"); true } res1: Boolean = false // {println("!!"); true}が評価され、式結果はtrueとなる scala> tru…
この本を進めていて、途中、Eitherの実装の章でコンパイルが通らなくなった。 (function(b,c,f,g,a,d,e){b.MoshimoAffiliateObject=a; b[a]=b[a]||function(){arguments.currentScript=c.currentScript ||c.scripts[c.scripts.length-2];(b[a].q=b[a].q||[])…