Home About
Kotlin Native (linuxX64) で XML を扱う

Kotlin Native (Kotlin Multiplatform) で XMLを扱うにはどうすればよいか調べた。 XmlUtilを使えばよいらしい。 Gradle を使って、XmlUtil でXMLをシリアライズ&デシリアライズするところまでできた。 その備忘録です。

» Read More
kotlinx datetime を Gradle を使って実行ファイルを生成する

前回のエントリー「kotlinx datetime と Spring Boot , 2つの期間の重なりを判定」の追伸で、 Spring Boot ではなく、kotlinc で実行できないか試した。 結果、 import kotlinx.datetime.* は kotlinc で実行できなくて、 import java.time.* は kotlinc で実行できた。

でも、今頃気づいたのだが、kotlinc コマンドが JavaVM 用のものだったから、当然そのようになっただけで、 kotlin native 用の kotlinc-native コマンドを使えば、実行できるのではないのか?

そこで、 https://github.com/JetBrains/kotlin/releases/tag/v1.8.10 から kotlin-compiler-1.8.10.zip ではなく、kotlin-native-linux-x86_64-1.8.10.tar.gz を ダウンロードして使ってみた。 でも、 結局 kotlinc-native コマンドを使っても動かなかった。 バージョンが上がればそのうち動くようになるのかも知れない。

それで思い出したのだが、以前のエントリーで kotlin native は既に試していた。 それに沿って Gradle プロジェクトとしてこのコードをビルドしたところ、 そちらは難なく実行できたので、それを備忘録として書き残します。

» Read More
Kotlin Native で テキストファイルを読み込む Hello, World!

しばらく諸事情により遠ざかっていた Android アプリ開発を再開しようと思っている。 そのウォーミングアップとして Kotlin でスクリプトを書いたりしているのだが、 結構いい感じ。 もちろん普通に JavaVM 上で動く Kotlin で開発しているのだが、 それとは別に Kotlin Native というものがあり たとえば Linux X64 ネイティブ実行できる実行ファイルを生成できるらしい。 かっこいい!と思って調べはじめたのだが、思いのほか難しかった。 とりあえず、テキストファイルを読みとって標準出力するところまでたどり着いたので、 その記録を残す。

» Read More
split と cat を使って大きなファイルの転送途中の失敗に備える、およびその作業の Gradle SSH Plugin による自動化

諸事情により 相当大きなサイズのファイルを scp でサーバにアップロードすることがあるのだが、転送途中で接続が切れるなどの問題が生じるとはじめからやり直しになる。それを避けるために、split コマンドを使ってファイルを小分けにした上で転送して、サーバ上で cat で元に戻す、という昔からの方法がある。

しかしこの作業も繰り返し行うとなるとこれはほとんど拷問なので、Gradle SSH Plugin で半自動化して手間を省く話です。

» Read More