Home About Contact
木構造のノード出現順(深さ優先順)に番号を振る話 EPUB playOrder

EPUB の toc.ncx ファイルで naviPoint の playOrder 属性を指定する必要がある。 プログラム的にこれを設定する方法を実装したので、覚え書きとして書き残します。

» Read More
Dell XPS13 7390 のSSDとバッテリーを交換した

SSD は大きさは 2280 だと思っていたがふたを開けてみたら 2230 だった。 たくさん候補があって、どの 2230 のSSDを買えばよいのか迷ったが、 トラセンドのSSDにした。 軽く調べた範囲で明確に片面実装と書かれていたのがこのSSDしかなったので。 実際に設置してみたところ、いまのところ問題なく動いている。 もし両面実装のSSDだったら、たぶん入らないと思う。

ちなみに、SSDを設置する場所は 2280 サイズがSSDがはいるだけのスペースがある。 しかし、サーマルプレートなるものがそこにあり、 それが 2230 専用になっているため、このマシンでは 2230 のSSDしか設置できない。

もし、2280用のサーマルプレートを入手できれば、 2280 のSSDが設置できるのかもしれない。 ただし、ちょっと検索したくらいでは、そんなものを見つけることはできなかった。

バッテリーの交換も行った。 本当はバッテリーについては交換の必要性をそこまで感じてはいなかったのだが、 バッテリーが膨らんでいるとタッチパッドのボタンが効かなくなるという 情報があったので、交換してみた。 そう、このマシンはタッチパッドのクリックボタンが効かないのであった。 そして、バッテリーを交換したけれど残念ながらタッチパッドボタンの問題は解決していない。 なおバッテリーはDELL純正品ではなく WorldPlus というブランド品(互換品)です。 今のところ、問題なく作動している。

XPS13 7390 のバックカバーをあければ、そこにバッテリーがあり、型番が書かれている。 このマシンのバッテリーには DXGH8 と書かれていた。 この DXGH8 型番で互換バッテリーを探せばよいようです。

» Read More
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