Lambdaカクテル

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

Invite link for Scalaわいわいランド

Scala 3の先進的なロギングライブラリScribeの使い方、構造、カスタマイズについて

この記事では、Scala 3用のロギングライブラリであるScribeについて、以下のことを説明する(順不同)。 インストール方法と基礎的な使い方 従来のロギングライブラリとの思想的な違いと優位性 Scribeの構造 そしてこれを利用した発展的な使い方 あらすじ な…

2024年版: Scala+sbtで新Maven Centralにパブリッシュする

新しくなったMaven CentralにScalaプロジェクトをパブリッシュできたのでその手順をまとめた。 背景 パブリッシュとは おおまかな流れ 事前に準備するもの Maven Centralのページからnamespaceを取っておく テスト用リポジトリを作る sbt-sonatypeの最新版を…

意図や詳細を掘り下げたいときは「その心は」と言うようにしている

こういうツイートを見た。 少し違う話だけど、目に見えるものすぐ口に出す私もこれにうんうんと頷きつつ、逆に「今日の富士山はキレイだね」と隣で言われると一言目に「そうだね」を返せない。「今日の富士山綺麗だね」「どこが?」←これで反感買う。私の予想する相…

Play Frameworkのテンプレートで@記号を入力したいときは2つ重ねればいい

タイトルが全てです。Play FrameworkのテンプレートエンジンTwirlは@を特殊扱いしています。Play 3.0で確認しましたが、どのバージョンでも同じはず。 @foo こう書くと変数fooへの参照になるわけです。 Bootstrapを使いたいときに以下のようなコードをテンプ…

Play Frameworkでテンプレートを切り出して別のテンプレートで利用するには@ファイル名を書くだけでいい

タイトルがほぼ全てです。Play Frameworkで別のテンプレートを呼び出して埋め込みたいことがあると思います。よく見ると書いてある Scala Template Use Cases - 2.6.xがぜんぜんドキュメントには書いてない。というわけで日本語の情報を残しておきます。 Pla…

Scalaで一番簡単に構造化ロギングを行うには / 最新のLogbackではデフォルトでJSONを吐ける

構造化ログという概念がある。ログをこれまでのプレーンテキストではなく、なんか良い感じのシリアライズフォーマットを使って出力することで、各種の再利用性を高めるのが目的だ。一般には、ログの各メッセージをJSONに収め、JSON Lines形式にすることが多…

Lensを始めとするOpticsがプログラミングをどう変えるか / 複雑なデータのモデリングをサボるには

仕事でLensを使う機会があった。Lensは複雑で入り組んだデータ構造の読み書きに非常に効果的な手法であるにもかかわらず、関数型プログラマ以外にはあまり知られていないように思える。 そこでこの記事では、Lensとは何なのか、なにが良いのか、具体的にどの…

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