Scalaの非同期処理フレームワークであるCats Effectには、非同期処理のためのバラエティ豊かな部品が沢山揃っていて、これらを組み合わせることで簡単に柔軟な非同期処理を書けるようになっている。 中でもよく登場する部品がResourceだ。Resourceを利用する…
tl;dr どちらも「左を実行してから右を実行」であることに変わりない *>は再帰セーフではない 値渡し(IO[B])していることに起因する >>は再帰セーフ 名前渡し(=> IO[B])していることに起因する 特に理由がなければ>>を使おう Scaladoc しっかりScaladocに説…
仕事で、あるタスクについて同僚が状況整理から始めていて良かった。その過程で色々と見落しや気付いてなかったポイントが出てきてお得だ。自分は「やりながら考えたらなんとかなるっしょ」みたいな性質で、細かい部分を見落しがちだから助かる。 仕事という…
現代のクラウドネイティブな開発においてはいわゆるFaaS(Function as a Service)が欠かせない存在となりつつある。AWSではAWS Lambdaとして、Google CloudではCloud Functionsとして提供されるこのサービスは、小さなコード片をマシンのデプロイを行うことな…
Scala.jsをNode環境で動作させるときに環境変数を取得したかったけどうまく動かずにハマったのでメモ。 tl;dr val env = js.Dynamic.global.process.env.asInstanceOf[js.Dictionary[String]].toMap Scala.jsと環境変数 通常Scalaで環境変数にアクセスするに…
さきほど別のブログ記事を書いていて(それはまたそのうち発射するけど)、その中でブロッキング処理とか同期的に扱う、という言葉を使った。 このときの自分の理解がこれ: ブロッキング 呼ぶと待たされる ノンブロッキング 呼んでも待たされない、すぐ返る そ…
キーボードを買い替えた。ARCHISSというブランドのテンキーレス・US配列・メカニカルという、まぁ同業者(?)の中ではポピュラーだが世間一般的には全然そんなことはないような仕様のやつだ。 箱から出したばかりだとこんな感じ。 前代はというとFILCOのMajest…