Lambdaカクテル

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

Invite link for Scalaわいわいランド

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

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

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

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

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

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

typoで罰金20分、workflowがコケるのを防ぎたい

Google WorkflowのYAMLファイル中でファイル名の箇所をtypoしてコケさせてしまった。時間がかかるワークフローなので20分無駄にしてしまい、実質罰金20分になってしまった。再実行でまた20分取られるので実質40分かかってる。 20分無駄にするのは辛すぎるの…

Scalaで複数のリストをzipするならlazyZipがおすすめ(きれいに収まる)

Scalaでコードを書いていて、複数のリストをzipすることがあった。 val xs: List[Int] = ??? val ys: List[Int] = ??? val zs: List[String] = ??? xs.zip(ys).zip(zs) // => List[((Int, Int), String)] しかしzipは2つのリストからList[(A, B)]を作るので…

Scala CLIのDockerイメージを使うと本当に簡単にシングルバイナリを生成できて便利

Scala CLIのおもしろい使い方を見付けたのでメモ。これまでと比べてはるかにScalaのちょっとしたスクリプトのシングルバイナリを生成できるようになるので、本当にGolangみたいに簡単にちょっとしたツールを作れるようになった。 scala-cli package Scala Na…

シェービングクリーム(PRORASO)買った

普段薬局で買っているやつを切らしたのだけれど、毎回空き缶が出るのでなんとかしたいと思っていたので、別のやつに買い替えることにした。剃刀派なので。 シェービングクリーム買いました。なんか思ってたよりデカかった。大変よい香りです。 pic.twitter.c…

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