scala
以下の話 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 …
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
Scalaの標準ライブラリにはLongMapやIntMapという、keyが特定の型に特化したMapがあります。 特化しているなら、それらの型の場合にはこれを使った方が効率いいのでは???と思うかもしれません。 しかし、先に結論を書いておくと、2025年時点のScalaにおい…
JSとyamlを数十行書いただけです https://github.com/xuwei-k/sbt-trace-action/commit/a61c1633f8b84caf33a500931ae47ffb583ac6df 以前書いた以下
昨日のこれ 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…
というパターンがScala標準で不可能な気がするので、build.sbtで頑張るサンプルを作ってみたのですが、Scala標準で不可能ですよね??? どういうパターンか?をもう少し詳細に説明すると
これ https://github.com/nrinaudo/kantan.csv を以下にforkして、0.9.0をpublishしました https://github.com/kantan-scala/kantan-csv https://repo1.maven.org/maven2/io/github/kantan-scala/
3年以上前に書いたこれ https://t.co/ozAxha1yfSresources/META-INF/services/scalafix.v1.Ruleの生成が面倒だからsbt側で自動生成するやつ作った— Kenji Yoshida (@xuwei_k) February 5, 2022
OSSではまだまだScala 2と3でcross buildしているものも多いですが、 2025年4月からフリーランスになってひたすらScalaやっていて、他の社でもScala 3移行進んで、場合によってはimplicit消す作業なども多少やり始めています。 とにかくimplicit消すだけなら…
正確にはそれをするだけのつもりで作りはじめたら、微妙に思い出して追加のtask入れたのでそれだけではないのですが、とりあえず scalafixAll --check するだけの scalafixCheckAll taskの話をします。
以下を試してみたという話 github.com
以下の解説 github.com
mockitoとは以下のJavaのライブラリです。 github.com Javaのライブラリなので、当然Scalaでも使えます。*1しかし、 *1:scala-jsやscala-native除く
以下の続き xuwei-k.hatenablog.com
ここでいう「コンフリクト」とは、 「GitHubでpull req自分が出した変更箇所に対して、他の人のpull reqが先にmergeされてコンフリクトしてそのままmerge出来なくなったぁ〜」 というようなものですね。*1 GitHubでもgitでなくてもなんでもよいというか、現…
以前書いた通り xuwei-k.hatenablog.com 予定通り2025年3月末で某社を退職して、2025年4月からフリーランスをしてます。 ソフトウェアエンジニアでフリーランスやってる人なんて世の中に大量にいると思いますし、 ある程度当たり前の感想などしか書かないか…
以下のこれ https://github.com/slick/slick/blob/v3.6.0/slick/src/main/scala-3/slick/lifted/TableQuery.scala#L37-L55
4年近く前に以下のような記事を書きましたが、それを微妙に改変してライブラリにしてpublishした、という話 xuwei-k.hatenablog.com
build.sbtに以下のように書くのはやめましょう、という話です libraryDependencies += "org.scalatest" %% "scalatest" % "3.2.19" % "test"
この人またcompile速度の話してる・・・
これ ↓ 作りました。 https://github.com/xuwei-k/shapeless-annotation 以下の記事の続きでもあります