scala
まずはこれを読みましょう zenn.dev さて、
JDK 21以降、mockito使うとなんか怒られますが、それのsbtでの対策や解決方法を簡単に書きます
"コンパイル時ラマヌジャン" って言いたかっただけです、すみませんでした。 match typeで遊ぶシリーズです。 (そんなシリーズ続くのか不明) 女神が夢の中でそうしろって言ってました、たぶん。 *1 *1:これきいて、こいつ何言ってるんだ???と思った人は、…
昨日の続き xuwei-k.hatenablog.com
なんかtweet流れてきたので TypeScriptの型がどれほど強力かというと、コードエディタ上で直接数独ができるほどの複雑な型を作成した方がいるほどです。このSudoku型を使用すると、TypeScriptの型チェッカーが間違いを正確に指摘してくれます。 pic.twitter.…
タイトルで大体言いたいことを言い切っているのですが、実際問題になることは少ないとはいえ、原理上はそういう問題が起きると思います。
若干sbtの内部構造依存な技を使う方法しか見つけられなかったのですが、もしもっと良い方法あったら誰か教えてください。
reviewdogというかなり有名なツールがあって、過去何度かblogにも書いたことあるし、今も普段から使っています。 github.com
一見かなり謎なタイミングで NullPointerException で混乱したので、かるくメモ。 以下、再現コード。
ある意味wartremoverきっかけでの話なのですが、適用範囲としてはwartremoverに限らないので、こういうタイトルになっています。 Scala 2だと
というのを作りました。
最初に結論を書いておくと、Scala 2.13でもScala 3でも、Codec定義の方が少し速かったです。 以下、ベンチマーク用のコードや結果を雑に貼り付けていく
まずは以下の以前の記事を読んでおいてください xuwei-k.hatenablog.com さて、
https://discord.com/channels/1124331179580084406/1124334001507794994/1255004192993443910 ちょうどいい(?)ネタがあったので、これを例に作ってみます。 既にどこかに存在するのかどうか?は知りません。 (大抵、よほど複雑でなければ数分で書けるので、…
個人的に、すごい細かい使い捨て含めるとおそらくもう1000個くらいはrule書いたことあるので、おそらく現状では日本一scalafix rule書いていると思うのですが、 慣れるとそのくらい気軽に書けてすぐ役に立って便利なので、既存の他人が書いたruleを使うだけ…
Scala標準に -Wvalue-discard などがありますが、自分が知る限り、これはすごく細かく制御できるわけではなく、全てを警告します。 $ scala -Wvalue-discard Welcome to Scala 2.13.14 (OpenJDK 64-Bit Server VM, Java 11.0.23). Type in expressions for e…
みなさんはsbtで作ったものを、(単にライブラリとしてではなく全部まとめて)本番環境にデプロイしたりする場合、どういう形式にしてますか? 最近・・・でもないですが、このあたりの選択肢は色々あるというか、sbtやScalaに限らない話なので、 広く捉えれば…
json4sという古代からあるScalaのjsonライブラリのメンテナンスをなぜか数年ずっとやっています。それの話をします。
以下のsbt plugin作った話をします。 github.com 数日前のScalaMatsuri 2024の自分の発表の中で以下のような記述がありましたが https://speakerdeck.com/xuwei_k/scalapuroziekutono-birudosu-du-gai-shan?slide=67
細かいこと考慮すると、ものすごく色々あるのですが、大体の判断基準は、まずこうだと思われます。 scalafmt scalafix wartremover
昔から色々関連することやっていたけれど、最近も特に色々やっていたので、今までの集大成な感じですね。 https://xuwei-k.github.io/slides/matsuri-2024/
OSSにしてpublishしようかと思っていたけど、細かい部分をいい感じにするのが面倒なので一旦雑に貼り付けておく (publishは後でやるかもしれない、未定) https://github.com/xuwei-k/scalaz/commit/06488c412b2fac78fe33739ae4f7abdfb5c49164 https://github…
JVMにはjavaagentという特別な仕組みがあるのを知ってますか? 自分が雑に思いついた具体例を書いておくと、例えばdatadogのtrace用のSDKがjavaagentで実装されてますね。 使用例は色々あるかもしれませんが、javaagentの例や、それの仕組みを詳細に解説する…
わざと怪しいタイトルにしてみましたが、こんにちは。 雑にググった限り、これを書いてる2024年5月現在、日本語でのScala 3のCapture Checkingの解説記事を見たことがない気がするので、 自分も1%くらいしか理解してない気がしますが、書いてみることにしま…
これ qiita.com をsbtで1つのrepositoryで実行するsampleを作った、というだけの話。
以下の記事の続き的な意味があるので、まずはそちらを読んでください xuwei-k.hatenablog.com そちらの記事で、以下のようなコメントをもらっていましたが
そもそもがかなりレアケースなのですが、一応、稀にありえるシチュエーションとしては 特別な(微妙な)コードをテストしたい scala.sys.exit 自体を至る所で呼び出していて、本来それ自体を改善したいが、一旦それをそのままテストしたい mainスレッドが終わ…
scalametaのbug調査のついでのメモ。 github.com https://github.com/xuwei-k/scalameta-memory-issue-3650/commit/765dccba2154d1bf90d9c8281ec3e2b7aaa5fa04 30万行のScalaコードをscalametaでparseすると、そこには11億個のTrieMapが〜〜〜https://t.co/T…
IDEAのterminal(sbt pluginではない)、からsbtを起動してcompileなどすると、errorやwarning出た場合にそのpathがclick可能で、そうすると該当のsource codeに飛べて便利だったのだけど、いつの間にか不可能になってるんだけど、これどこかに設定あるのか、v…
Scala 2は無理だが3では @static が実装されてるので、Scala 3なら動く。それはそう