2023-12-01から1ヶ月間の記事一覧
ScalaをネイティブバイナリにコンパイルするプロジェクトであるScala Nativeというのがある。 scala-native.org 2023年現在では多くのScalaライブラリがScala Nativeに対応しているため、特に難しい対応をしなくてもネイティブバイナリを得られるようになっ…
今年はリモートワークが一段と進み、人間関係に変化があったり無かったりし、仕事もそこそこ進んだ、そんな一年であった。 だいたい自分はちょっとデカいものを買ったら自慢してやろうという下心で記事かなにかに書いている。中には書いていないものもある。…
ハマったので後学のためにメモを残しています。うえ〜ん 一時的にファイルシステムにファイルやディレクトリを作りたい、ということはよくある。ただし適当な名前で作成すると名前が被って事故の元になってしまう。このため、各プログラミング言語には一時フ…
自分は日本語入力効率化のためにずっと昔からSandSを利用している。SandSとはSpace and Shiftの略で、以下のようなキー入力のカスタマイズのこと。 スペースキーの役割をシフトキーにする ただし、スペースキーを単発で押して離したときはスペースキーとして…
意外とやったらできたので記事にします。 実際に動いている様子はこちら。 cloudflare-worker-scala-exercise.pages.dev ソースコードはこちらです。 github.com 感想 やること Cloudflare Workersってなによ 目指す構造 Scala.jsを書く project/plugins.sbt…
動画ファイルや音楽ファイルの長さを知りたいことがある。例えばファイルをエンコードし直して一定のファイルサイズに収めたいときなどは、ターゲットとなるビットレートを算出するために秒数を得る必要がある。 メディアファイルの秒数を得るには、ffmpegに…
この記事では、Scala 3と関数型ライブラリであるCatsを時折使いつつ、Stateモナドを利用することでmap結果にうるおいを与えられるという話題を紹介します。 よくある処理: mapしてからペアにする まあまあよくある: メソッドはたまに値返さないことがある ま…
この記事は Scala Advent Calendar 2023の19日目の記事です。19日って「あ〜今月が終わる」ってなるちょうど良い塩梅の日付ですね。 qiita.com この記事では、Scalaの総合ツールであるScala CLIを利用する様子を紹介し、Scala CLIでScalaのちょっとしたアプ…
コンビニ弁当の空き容器が部屋に放置されがちで、それは端的に言うと自分がズボラなだけなのだけれど(Q.E.D.)、どうしてこうなってしまうのかということを考えていた。すると意外なところに答えがあった。 最近自分は『モノリスからマイクロサービスへ』を…
このような、一定の要素を無限に繰り返したリストが欲しいことがある。無限に続くリストは通常のリストでは扱えないため、ストリームを使わなければならない。Scala 2.12まではストリームのためにStreamを使い、2.13以降はLazyListを使うことになっている*1*…
なんかタイトルでデカく出てしまったけど、リモートだと疎結合なアーキテクチャのがうまくいくね、という経験をしたという話。特にオチはないです。ソフトウェア設計が好きな皆様のおやつとして読んでください。 COVID-19でリモートワークが拡大した 最近や…
今日はScalaで動作するマイクロHTTPフレームワークであるCaskを紹介したいと思います。Scalaを見る目が変わると思います。Scalaはけっこう複雑寄りのエンタープライズグレードの超強いライブラリが多いような気がするのですが、今回ご紹介するのはとてもeasy…
この記事は、Scala Advent Calendar 2023の5日目の記事です。 qiita.com 大遅刻してしまいましたが、Scalaは遅延評価できるのでモーマンタイですね。 この記事では、Scalaをクラウドネイティブな環境で使う例の紹介として、ScalaをJavaScriptコードにトラン…
昨日こういう記事を書いた。 blog.3qe.us ↑ではがんばってパイプラインが送るイベントを監視してPromiseでラップしていたけれど、実は公式にPromise版のAPIが提供されていた。 nodejs.org これを使うといい感じに入出力が終わったタイミングで完了するような…
マニアックなネタだが割とハマったのでメモっておく。 Google Cloud Storage 詳細は割愛するが、要するにAWS S3のGoogle版である Node.js SDK Node.jsにはGoogleまわりのSDKが提供されていて、Cloud Storageを操作するためのSDKも用意されている。 cloud.goo…
先々月あたりに邦訳が出た『データ指向プログラミング』を読んだ。めちゃくちゃざっくり言うとオブジェクト指向における「データと振舞いの一体化」というドグマを手放させるもので、めちゃくちゃざっくり見るとC言語的な構造化プログラミングの世界に回帰す…
所用で、Cloud Storageにある動画ファイルをopus(音声)形式にエンコードしたかった(Node.jsとffmpegで)。 動画ファイルがデカいのと、生成されるopusは小さいので、いちいちストレージに保存するのが手間だと考えた。そこで、間にmkfifoして作った名前付きパ…
ここ数日はまだギリ耐えられていたのだが、ついにガチめに京都は寒くなってしまったので困っている。毛布とかの準備を(一応)進めているけれど、何年住んでてもこの寒さに慣れない。 とはいえ冬は冬で風情があってよいもので、アロマキャンドルを出してみたり…