Lambdaカクテル

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

Invite link for Scalaわいわいランド

2023-04-01から1ヶ月間の記事一覧

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エンコードした…

Emacsのemacs-lsp-metalsでMetalsのバージョンをアップデートする

毎回忘れるのでメモ。Emacsのemacs-lsp-metalsでMetalsのバージョンをアップデートするには、M-x lsp-update-serverしてmetalsを選択すればよい。

Scalaのメモリ使用量はJavaよりも多いか検証した

こういう記事を読んだ。 transparent-to-radiation.blogspot.com なんかScalaのメモリ使用量が異常に多いなと思って、調べた。検証コードもアップした。 github.com 検証として、様々なJVM(OpenJDKとかCorettoとか)とそのバージョン(8, 11, 17)でJARを実行し…

http4sで実行時例外の詳細なログを出す

http4sでは、ルーティングされた先で例外を投げても安全に握り潰されるので、アプリが落ちることも他の接続に影響したりすることもない。 例として、触れるもの全てを傷付けてしまうcrashEverythingRoutesを用意した。 def crashEverythingRoutes(): HttpRou…

言葉が無力だなと思いつつある

SNSやネット空間における言葉の無力さを最近は痛感する(わけわからんクソリプが来て、反論するとシレッと消して逃げるとか、ウンコの絵文字を投げ付けて逃げるとか、攻撃的な逃げ口上を書き込む、みたいな)。著名なアカウントがそういうしょうもない人にタカ…

ゴチャッと必要な情報が詰め込まれた標示に萌える

産業機械とか大型機械といった、相応に注意しながら操作しなければならないモノとかに貼り付けられている、ゴチャッとした、しかし必要な情報が詰め込まれたフォーマットが好きで、発見すると画像を集めてしまう。 萌えは死語っぽくなってないか?と思うけど…

Fs2 3.6.1で複数のワーカに処理を分散させるパターンを書く

Scalaの非同期・ストリーミング処理ライブラリであるfs2で、ジョブキュー的な感じで、複数のワーカにデータを分散して配りたいことがあり、それの実現方法について調査したメモ。 fs2.io 追記(2023-09-23) fs2 3.9.2で確認したが、stream.parEvalMap(N)(IO)…

Twitter + 各Fediverseマイクロブログツールの埋め込みの比較

Twitter Good bye— 言語の統合 / タスクの言語化 @windymelt@mstdn.takuya-a.net (@windymelt) 2023年4月10日 おなじみのやつ。 Mastodon mstdn.takuya-a.net マストドンでもいい感じに埋め込まれるようだ。 Misskey misskey.io Misskeyでは埋め込み用の枠は…

軽量MastodonことPleromaインスタンスを立てたメモ

立てました PleromaというActivityPubを使ったマイクロブログの実装がある。Elixirで書かれていて、バックエンドとフロントエンドが分離されていて、Mastodonよりやや軽量な感じらしい。 pleroma.social 分散SNSにおける標準的なプロトコルであるActivityPub…

Twitterが直球の言論統制を開始しつつある件に関して 兼 避難所アカウントのお知らせ

3行で Twitterが特定アカウントのツイートをRTできなくした。一線を踏み越えたと考えている これは言論の統制であるし、このまま加速度的に濫用されると考えている 悪いことは言わないから今すぐ別のSNS、マストドンとかにアカウントを作りなさい 統制 今日…

Obsidianにはデイリーノート機能があり、指定したディレクトリにその日のノートを書くことができる

タイトル通りなのですが、知らずに毎日手であたたかみのあるノート作りをしていました。 Markdown管理ツールであるObsidianが便利で毎日使っている。 blog.3qe.us blog.3qe.us そして、その日の日記を書く活動を自分はよくやっている。 これはネットの知人が…

センセーショナルな情報とどう付き合うか / 情報収集の技法

文脈 陸自のヘリが宮古島の領海でレーダーロスト(≒海上に墜落する)という事故があった。着任から間も無い第8師団長が同乗していたことがほぼ確定しているようで、大変痛ましい。 b.hatena.ne.jp 悲しいことに、もう一つ痛ましいことがあって、中国軍の関与…

知性とは言語の統合である(かもしれない)

こういうツイートを見て、最近の問題意識に近いなと思った。 若めの知人が、「いまの政治論議で、何かをホントに向上させる話がなくて敵をディスる話ばかりなのは、ちゃんと社会をアゲるためのリソースがもう枯渇しちゃっていることの表れではないのか?」と…

Scala CLIのusing libはusing depになりました

Scalaのスクリプティングツールとして愛用されているScala CLIのusingディレクティブの用語が一部リネームされました。後方互換性があるため、これからのスクリプトに新しい記法を使うとよいでしょう。

jqの.[]チョットワカルになってきた

普段なんとなくjqを使うといったら.fooくらいの単純なフィルタや整形用途くらいで、ガッツリ勉強したことはなかった。 ガッツリ勉強していないので、.[]といった配列まわりの機能をゴリゴリ使えなかったのだが、基礎テクを学び直してある程度使えるようにな…

坂本龍一氏

坂本龍一氏が亡くなった。享年71であった。大変なショックを受けた。 www.sponichi.co.jp 初めて彼の曲として聴いた曲は『Energy Flow』だった。親のコンピレーションCDの中に入っていて、たまたま聴いたのだ。 www.youtube.com 93年生まれなので、物心付い…

株式会社はてなに入社しました

株式会社はてなに入社しました 株式会社はてなに入社しました - hitode909の日記

Scala ScriptでCats Effectを使う

毎回忘れて調べているのでメモ。 ファイル名は.scala.scではなく.scalaにする もろもろをimportする object Main extends IOApp.Simple { val run: IO[Unit] = IO.println("Hello world") } を定義する scala-cli script.scala で実行できる //> using scala…

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