Lambdaカクテル

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

Invite link for Scalaわいわいランド

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

Scala 3でMCPサーバとフレームワークをフルスクラッチした

だいたいタイトルの通り。最近MCPサーバ書くのが流行っており、実は自分はけっこう前にサーバ自体は書いてしまっていたのだが、記事にする元気がなかったので放置していた。しかし冷静に考えるとけっこう学びがあったので記事として残しておく。 記事書いた…

生成AIがWeb上のコンテンツを読めるようになる鍵は暗号通貨によるマイクロペイメント(かもしれない)

こういう記事を読んだ。 fujii-yuji.net 僭越ながら意訳すると、 robots.txtでLLMからのアクセスをrejectするコンテンツプロバイダが増えている(はてなブログも現状はrejectしている) なぜrejectするのかというと、負荷がかかる上に収益を奪われる形になるか…

Scalaで変数に入った値そのものにパターンマッチさせるときは変数をバックティックで囲うとよい

Scalaのパターンマッチは変数を使って分割代入ができる。 val xs = 1 :: 2 :: 3 :: Nil xs match { case head :: tail => s"head is $head" // => "head is 1" case _ => "not found" } これはxsに対してまずhead :: tail という式にマッチが試みられ、head…

Scalaで特定の警告をエラーにするには -Wconf:msg=FOOBAR:error と書けばよいので non-exhaustive match だけエラーにできる

Scalaコンパイラは、特定の警告メッセージに対してad-hocに警告からエラーに昇格させ、コンパイルを失敗させることができる。 以下のscalac optionを設定することで non-exhaustive match だけエラーにできる: -Wconf:msg=match may not be exhaustive:error…

NotebookLMをコキ使っている

仕事でいろいろな資料を読みつつ方針を決めないといけない、というシチュエーションが多々あるのだが、仕事でNotebookLMが使えるようになったので公開資料はそこに突っ込んで秘書代わりにしている。NotebookLMはURLを直接受け取れるので便利。勝手にfetchし…

元気なし

今日は良くなかった。些細なことで声を荒らげたり、手が進まなかったり、まるで脳に感情の蛇口があるとしたら悲しみの部分だけ壊れて止まらなくなってしまったかのようだった。みっともない。 花粉の薬が終わり、花から土へ、山から砂漠へと心配事の主体が移…

見せるエラー、見せないエラー

マメにlogger.errorを書いていたところ、「そのエラーはユーザ起因で起こる(HTTPでいうと400系統)からログするのではなくてユーザに表示するのが筋」というレビューをもらった。 最終的にエラーをどうしたいのか、という観点で整理すると、エラーに対する対…

元気

部屋をよく片付け、夕飯を食べない作戦でサクセスしている。代わりに夕方に少しなにか食べている。あとはメラトニン飲んで寝ている。

ScalaでSeq[A]にインデックスアクセスしてOption[A]を得るにはliftメソッドを呼ぶ

val xs = List(1, 2, 3, 4, 5, 6, 7, 8, 9) xs.lift(4) // => Some(5) xs.lift(42) // => None liftというのはある関数をOptionを返すように加工するようなときに使われる慣例的な名前で、今回は暗にapplyのことを指している。 www.scala-lang.org 元々lift…

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

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

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