スイカ食べてないことに気付いたけど、もう九月も終わろうとしているので今年は完全に食べるタイミングを逸してしまった気がする。スイカバーは食べた。
ScalaのCatsにifMという便利なやつがある。IO[Boolean]に対して条件分岐を適用して、trueの場合とfalseの場合とで異なるIOを返すというもの。別にIOでなくとも良くて、Monadなどの仲間であればifMは定義されている。例えばOption[Boolean]に対してもifMが使…
プログラマや数学徒は抽象化が好きである。自分もご多分に漏れずそうで、例えば自分がよくやるのは思考について思考するもので、「あ〜今自分はこういう風に判断しているな〜」「こういうふうに考える傾向があるな〜」という感じに、一段階上に持ち上げて考…
プロのfs2使いにとっては常識なんだろうけど、常識がないからこうして勉強している。 fs2: 3.9.2 import cats.effect.IO import fs2.Stream val heavyProcess: String => IO[Int] = ??? // すごい時間がかかって返ってくる val stream = Stream("The answer …
% touch a % ln a b % touch c % mv c b % ls -li a b つまり、ハードリンクに対してmvした場合はハードリンクの双子の中身はどうなるのか?という問題です。 答えはinode番号は別々、ファイルの中身も守られます。 ちなみにcp c bするとinode番号が同じまま…
巨大テキストファイルが--------\nとかで区切られていて、その単位で変形して使いたいときに使える技。クソデカといっても今回は10MiBくらいでした。ぜんぜんデカくなくてごめんね。 fs2のバージョンは3.9.2。 いきなり解を示すと、.repartition(s => fs2.Ch…
先日@110146氏とごはんを食べていたのだが、そのときにBorerというライブラリがおもしろいという話を聞いたので、試しに使ってみることにした。他にもSmithyやDeep Java Libraryといったライブラリの話も聞いたので、順に書いているというわけ。 CBOR CBORと…