Lambdaカクテル

京都在住Webエンジニアの日記です

Invite link for Scalaわいわいランド

月報: 2023年4月

本来は週報をまとめて書くべきなのだが、中途半端な時期に始めてしまったので一気に月報を書く。 3月から4月まで溜めてしまった。 日記、週報、月報を書くと自分自身の思っていることを再構成でき、より洗練させ、発展の足掛りとすることができる。今のとこ…

Logbackでプログラムからログレベルを動的に変更する in Scala

ZMMの開発で、動的にログレベルを変更したいということがあった。具体的には、--verboseをつけるたびにログレベルを上げて詳細な情報を吐き出してほしい。 結論から言うと、以下のようにすればよい。 stackoverflow.com Scalaだと以下のようなコードを書いた…

Scala+FFmpegでのモナディックな動画合成を支える技術

ZMMに、背景画像の代わりに動画を流す機能を先日実装した。まだバージョンをリリースしたわけではないし動作は完璧ではないが、ひとまず動くという段階にまで持っていくことができた。もともとはキャラクターの立ち絵と字幕の後ろには背景画像を表示する機能…

Cats Effectで同時実行数を制御しながらIOを並行実行する

Scalaの軽量スレッドなどを提供するCats Effectで、Seqに詰まったタスクを並行に実行したいが同時実行数は制限したいということがあったので、それに対応する実装をしたメモ。 typelevel.org IOのsequence Cats Effectでは、sequenceを使うことでSeq[IO[A]]…

sbt-native-packagerでDockerイメージにファイルを追加する

sbt-native-packagerのDocker pluginでentrypoint.shを追加してイメージの実行を制御したかったがつまづいたので 解決方法をメモ。 sbt-native-packager sbt-native-packagerとは、Scalaプロジェクトを様々なプラットフォームのネイティブな方式にパッケージ…

Metals v0.11.12で激便利になったScala Scriptの依存性記述を試そう

先日、ScalaのLSPサーバであるところのMetals v0.11.12がリリースされた。 scalameta.org このリリースで面白いLSPコードアクションが追加されたので紹介する。 sbt方式の依存性記述をScala Script方式に変換する Percent syntaxとColon syntax 苦痛をともな…

JSONをMessagePackにしてから圧縮するとどのくらい短くできるか(1/3になった)

追記: 最近はMessagePackを派生したCBORがRFCとして標準化されているようです blog.3qe.us こういう記事を読んだ。 blog.utgw.net URLにデータを載っける発想は面白い。せっかくなのでMessagePackにしたついでにzstdとかで圧縮してからBase64エンコードした…

★記事をRTしてもらえると喜びます
Webアプリケーション開発関連の記事を投稿しています.読者になってみませんか?