2025-01-01から1年間の記事一覧
アドベントカレンダーあいてたのでまた書くぞ! https://qiita.com/advent-calendar/2025/scala
https://qiita.com/advent-calendar/2025/scala アドベントカレンダーが空いてるのでついでに書いて振り返ってみる記事
最近というか、1年数ヶ月前にsbt 2に関してblogを書いた後に報告したものをざっくり振り返ってみます xuwei-k.hatenablog.com これは2025のScalaアドベントカレンダーの記事です。 qiita.com sbt 1も2も両方含みます。25個もありますね。 bug扱いではなかっ…
JDKには9からStringConcatFactoryというclassが追加されています。 2025年12月現在の最新はJDK 25なので、9なんて今更な話なので、特に新しい話でもないのですが、個人的に真面目にベンチマーク取ったことなかったので、アドベントカレンダーついでにベンチ…
以下の続き https://xuwei-k.hatenablog.com/entry/2022/02/11/160802 https://xuwei-k.hatenablog.com/entry/2022/09/03/110341 https://xuwei-k.hatenablog.com/entry/2024/03/17/112342 https://xuwei-k.hatenablog.com/entry/2025/04/29/094201 https://…
アドベントカレンダー空いてたのと、以前tweetしたけど便利な割にあまり知られてない気がするので、blogにも書いておきます。 qiita.com
数年前に作った以下のwartremoverの話 xuwei-k.hatenablog.com
https://xuwei-k.github.io/slides/sbt-2-waiwai-2025/#1 https://scala-tokyo.connpass.com/event/371493/ speakerdeck.com
タイトルでほぼ全部言い切ってるシリーズ。 以下、それ用のコード
これを組み合わせてる例を雑にググっても見つけられなかったのですが、よく考えたら組み合わせたらそれなりに便利というか、劣化版HaskellのCoercibleと言えなくもないのでは???と今更気がついたので、それについて書きます。
5年半前(!?)にCircleCIで書いたことがあるのですが、それのGitHub Actions版として書き直す的なもの。 xuwei-k.hatenablog.com
普段は割とデフォルトの設定で十分なのですが、Scala 3の開発かつ特に大きめのprojectの場合、設定を変えないと厳しい場合があるので、それの話を書きます。 versionは 2025.2.4 (Community Edition) としますが、割と最近のversionならあまり変わらないと思…
以下の話 https://openjdk.org/jeps/526 https://openjdk.org/jeps/502 xuwei-k.hatenablog.com
以下の話 https://cwiki.apache.org/confluence/display/MAVEN/Maven+3.x+Compatibility+Notes#Maven3.xCompatibilityNotes-PluginMetaversionResolution Internally, Maven 2.x used the special version markers RELEASE and LATEST to support automatic …
10年以上前(!?)に以下のようなものを書いたことがあり xuwei-k.hatenablog.com jolはその後何度か自分のblog記事に登場してるはずです。 そして、おそらく自分のその記事のほうが先ですが、同じようなものをsbt pluginにした人がいたのですが https://github…
Scala 3部分でserializeとdeserializeに対応したけれど、全然仕組みが違うので速度大幅に劣化してるのか、思ったより変わらないのか?を調べた https://xuwei-k.hatenablog.com/entry/2025/11/01/100903 https://xuwei-k.hatenablog.com/entry/2024/06/17/09…
おそらく、あまり知られていないというか、雑にググっても日本語で書かれた情報が引っかからないのですが、自分も少し前まで知らなかったのですが、諸事情により調査する機会があったので解説のようなものを書いておきます。
何度も書いてますが 「デメリット多いので個人的に絶対使いたくない」 のですが、ここ数年なぜかほぼ自分がメンテしているjson4sというScala向けのjsonライブラリがあります。 それの4.1.0リリースしました
以下のように一旦structural type使ってreflection経由にする以外に思いついてないんですが、他の良い方法あります???
以下のsbt pluginの話 https://github.com/sbt-dao-generator/sbt-dao-generator
タイトルで言いたいことをほぼ言い切っているし、Base64かつJavaならよくある話なので、ググったらいくらでも出てくるのですが、2025年時点の最新でそれなりに自分で計測してみた。 というだけの話。
Scalaの標準ライブラリにはLongMapやIntMapという、keyが特定の型に特化したMapがあります。 特化しているなら、それらの型の場合にはこれを使った方が効率いいのでは???と思うかもしれません。 しかし、先に結論を書いておくと、2025年時点のScalaにおい…
JSとyamlを数十行書いただけです https://github.com/xuwei-k/sbt-trace-action/commit/a61c1633f8b84caf33a500931ae47ffb583ac6df 以前書いた以下
以前も書きましたが、ちょうど半年経ったので xuwei-k.hatenablog.com
以下を読めばわかる人、読んだことある人は、この先読む必要ありません。 github.com
昨日のこれ xuwei-k.hatenablog.com の続きのような、関連するような話です。
タイトルがややこしくて何言ってるかわかりづらいと思うので、ひとまず具体的な例で説明します。 例えば以下のようなbuild.sbtだったときに
これ https://openjdk.org/jeps/502
それ scala.util.boundary 使えば良くない???という話である気もするのですが、とりあえずググっても簡単には見つからなかったので書いておきます。
以前こういうことをtweetしたのですが caes object 何か extends sealedの親を大量に作るScala 2形式より、Scala 3のenumの方が、それぞれ別の型にならない(classファイル作らない)ので、生成されるjar sizeが大抵(?)小さくなるというメリットがあるぞぃ— Ke…