Lambdaカクテル

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

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

ScalaのビルドツールMillが生成するUberjarはZIPファイルの面白仕様を使ってシェルから直接実行できるようになっている

プログラミング言語Scalaで最もよく使われているビルドツールといえばsbtだ。起動しっぱなしのインタラクティブ仕様なsbtがやや鈍重なきらいがある一方、もう1つのビルドツールであるMillが開発されており、こちらではnpmのようなシェル単位の操作体系を指向…

sbtの依存性定義でたまに見るtestやprovidedとは何か--コンフィギュレーションについて学ぼう

sbtはかつてsimple build toolと呼ばれていた(今は酢豚の略とされている)。しかしビルドツールというのは本質的に難しい。複数の依存性を解決し、コンパイラ達が吐き出す成果物を統合し、1つあるいは2つ以上の最終成果物にしなければならないのだから、複雑…

sbt-packでScalaのDockerイメージを作る

以前、sbt-native-packagerでScalaのDockerイメージを作る方法を紹介した。今回はsbt-packを利用した、より軽量な手法を紹介する。 前回の記事はこちら: blog.3qe.us sbt-pack: 1つのディレクトリにまとめる君 sbt-packを聞いたことがなくても、sbt-assembly…

Scala 3から導入されたParameter Untuplingが便利

Scala 3でParameter Untuplingという機能が追加された。この機能は従来Scala 2で問題となっていたタプルまわりの取り回しを大きく改善する。 Parameter Untupling 従来、F[(A, B)]のような型(例えばSeq[(String, Int)])に対してmapを行うときは、caseを使っ…

30歳になりました

掲題の通りです。ちなみに十年以上このブログを使っているので成人した頃にも記事を書いているようだが、当時はネットに見せるような友達もあまりいなかったので、特に何事もなく別の話をしている。当時もAkkaを書いていたらしい。 しかし十年も同じブログを…

AWS LambdaでScala 3をContainer imageで動作させる

先日(といっても結構前のことだが)、Scala 3のLTSサポートバージョンである3.3.0がリリースされた。Scala 3の開発が円熟してきているようで嬉しい。これからも元気でいてね。今回はScala 3をAWS LambdaのContainer imageを使って動作させる手法についてお…

勉強の型を身に付けたい話

最近は、おもしろ技術について興味のおもむくまま手を動かしたりしていると詳しくなっている、というパターンが多い。一方で、コツコツ必要なことを学んで(応用の効く)体系的な知識を手に入れる、という行為にもあこがれがある。 例えば最近はScala.jsのビ…

帰省失敗(ANAの払い戻しメカニズムが難解)

掲題の通り。週末は京都にいるので遊びましょう。 明日から飛行機に乗って地元に帰る予定だったけれど、到着地の福岡空港に台風が接近しているとの報があり、あれよあれよという間に暴風域に入る勢いになってしまった。当たり前だが風が強すぎると飛行機は着…

心の闇

ネガティブになりがちである。が、今回はそれを打破できるよね、みたいな話。 人間に対して失望するとか、自分は周りと比べて仕事が下手すぎる……とか、アニメのようにまともに青春を行えていない……とか、若さが失われていく……といったことで悲観的になりがち…

Webアプリケーション開発関連の記事を投稿しています.読者になってみませんか?