Home About
Haskell / リストから 木構造をつくる

次のような枝番号を持つ文字列のリストがあったとして、 それを木構造に変換する関数を書く。

この手の変換はたとえば EPUB の目次をつくるときに使う。

» Read More
Kotlin multiplatform 1.9.22 Kotlin/JS Hello, World!

久しぶりに Kotlin/JS に取り組もうと 過去のエントリー やりなおし Kotlin/JS Hello, World! 生成した js を HTML から使う / Node.js から使う などを見たが、すっかり状況が変わっていて動かない。

Kotlin のコードを(ただし Hello, World!標準出力するだけ)Node.js で動くようにビルドする方法を書き留めます。

おそらくは、このあたりを丁寧に読んでいけば済む話なのではないかと思う。 https://kotlinlang.org/docs/js-project-setup.html

» Read More
PDFBox 3.0.0 で 複数のPDFファイルを結合してひとつのPDFファイルにまとめる

申告業務のためPDFをまとめようとした。 今まで使ってきたコードは PDFBox version 1.8.3。 もう PDFBox version 3.0.0 が出ているので、いい加減アップデートする。

» Read More
Kotlin 関数の部分適用(またはカリー化)

ときどき Haskell のように気軽に部分適用したくなることがある。 例のための例になるが、ARGB のカラーを生成する場合を考えてみる。

» Read More
Kotlin Sealed クラスの便利さ

Sealed クラスの使い途をネットで調べると色の RGB と CMYK の例などが出ていてなるほど と思っていたが、今つくっているアプリで、エディタのコマンドごとに処理を分岐させる部分で Sealed クラスを使うとわかりやすくコードを表現できたので、それを書き残す。

» Read More
リストを n個ごとに分割する kotlin 編 その2

以前にもこのリストのサブリストをつくる件は書いた。 いまつくっているアプリでちょうどリスト分割する機会があったので書き残す。

» Read More
PipedInputStream / PipedOutputStream を Kotlin で使う

ときに、 巨大になる可能性のある文字列とか画像(バイナリデータ)を返したいなどの理由により、 関数が返す値として InputStream を使いたくなることがある。

そんなときは PipedInputStream と PipedOutputStream を使えば解決できるのだが、 そのとき PipedInputStream を読む処理と PipedOutputStream を書く処理は 別々のスレッドでなければいけない、という制約がある。

Javaなら普通に Thread をつくって対処してもよいのであろうが、 Kotlinには Coroutines があるので、それを使って解決する方法を調べた。

» Read More
Kotlin Script, Kotlin compiler v1.9.22 を使う

スクリプトとして Kotlin を使うエントリーは何回か書いたのですが、 現時点での最新の v1.9.22 であらためて使い方を復習します。

コマンドラインで Kotlin を使う方法は ここ https://kotlinlang.org/docs/command-line.html に書いてあります。

» Read More
Robolectric で Android の SQLiteOpenHelper のテストを書く

Android Studio を起動するのが億劫なので、 コマンドラインだけで開発できる環境をつくろうとしている。 そこで避けて通れないのがテスト環境。

Robolectric で SQLiteOpenHelper のテスト方法 を書き残します。

» Read More
SVG のパスコマンドをつかってアイコンデータをつくる

こんなホウキの絵のアイコンをつくりたい。

A broom

手動で点を算出した上であとから調整(拡大縮小や回転)するので、 Kotlin Script を使う。

» Read More
Termux を試す / Galaxy Tab 8+ Book Cover Keyboard は 簡単に Caps key を Ctrl に設定できる

なんとなく避けてきた Termux を試した。 簡単に導入できた。

まず emacs での執筆環境を整えようとしたが、 いきなり Caps Lock を Ctrl にする方法がわからなくてあきらめそうになった。 もう物理的にはじめから Ctrl キーが正しい位置( A キーの隣り)にある HHKB を買うべきなのかとも考えはじめた。 しかし、結論としては Galaxy Tab S8+ Book Cover Keyboard は、 普通に Android の設定から Caps Lock を Ctrl に変更することができた。 (そのほかのいくつかのキーも設定変更できるようだが、詳しくは見ていない。)

» Read More
無印良品のスタッキングシェルフに ASUS Mini PC をマウント(LABRICOを使用)

無印のスタッキングシェルフ の内側にラブリコを使って柱をたて そこに付属のVESAマウント用のプレートを設置し、ASUS Mini PC(PN42) を設置した。

muji-stacking-shelf-and-asus-minipc

» Read More