2023-02-04 15:56:52 @tateisu@mastodon.juggler.jp
icon

普通のSQLは主キーは非nullになるが、SQLiteは歴史的な理由、初期のバグの影響で主キーにnullを設定できてしまうまま現在に至るらしい。not null制約を明示的に指定して作っていないかぎり、既存のテーブルのスキーマを読むと主キーがnullableになっているのはそんな訳があった

2023-02-04 15:15:36 @tateisu@mastodon.juggler.jp
icon

さて、依存関係からRoom消して少し巻き戻すか。リリースしてないのでなんとでもなる

2023-02-04 15:15:01 @tateisu@mastodon.juggler.jp
icon

Room で興味深かったのは現在のテーブル構成の情報の取得方法。 android.googlesource.com/platf にある、pragmaを使ったクエリでスキーマの情報が取れる。

room/runtime/src/main/java/android/arch/persistence/room/util/TableInfo.java - platform/frameworks/support - Git at Google
2023-02-04 11:04:49 @tateisu@mastodon.juggler.jp
icon

SQLiteは型を指定せずにカラムを定義することができて、Roomではそれに該当する指定は不可能なので詰んだ。別のDBファイルに手動でコピーするしかない。

2023-02-04 10:27:56 @tateisu@mastodon.juggler.jp
icon

gist.github.com/tateisu/2c80cd こんな感じの泥臭い作業をしている

Web site image
Roomのスキーマ差異例外のダンプを比較するスクリプト
2023-02-04 10:18:00 @tateisu@mastodon.juggler.jp
icon

エラーメッセージも非常にわかりにくく、テーブル定義のどこが異なるのか指摘してくれず定義全体をまとめてダンプする。仕方ないから比較スクリプトを書いたよ

2023-02-04 10:17:05 @tateisu@mastodon.juggler.jp
icon

SQLiteで作った既存のテーブルをRoomで使うの超めんどくさい。sqliteで"_id integer primary key autoincrement" と定義したカラムと Roomで @ColumnInfo(name = BaseColumns._ID) var id: Long?= 0, と定義したカラムはRoomのバリデータによるとnullabilityが異なったとみなされマイグレーション失敗の例外が出るのだ

2023-02-03 20:22:42 @tateisu@mastodon.juggler.jp
2023-02-03 20:19:04 えだまめの投稿 nissy@mastodon.juggler.jp
icon

このアカウントは、notestockで公開設定になっていません。

2023-02-03 19:55:32 @tateisu@mastodon.juggler.jp
icon

今日も雑鍋で豆腐とベーコンと餅を食べるよ。七味だけは凝っている

Attach image
2023-02-03 19:44:51 @tateisu@mastodon.juggler.jp
2023-02-03 19:36:45 quoizの投稿 quoiz@mastodon.juggler.jp
icon

このアカウントは、notestockで公開設定になっていません。

2023-02-03 18:50:10 @tateisu@mastodon.juggler.jp
icon

ほし芋リストに書いといたぶどうジュースを頂きました。ありがとうございます。励みになります。

2023-02-03 18:35:33 @tateisu@mastodon.juggler.jp
icon

よくみたらCursorAdapterですらなく自前でCursorをシークさせてた

2023-02-03 18:34:31 @tateisu@mastodon.juggler.jp
icon

STでCursorAdapterを使ってた箇所を androidx.paging:paging-runtime に置き換えていくか…。具体的には下書き一覧ダイアログ

2023-02-03 03:58:16 @tateisu@mastodon.juggler.jp
icon

読めないプッシュが届いたらアプリサーバにリジェクトを投げる仕組みがいるな…

2023-02-02 20:37:17 @tateisu@mastodon.juggler.jp
icon

MastodonはHTL,LTLの最大保持件数を400から800に上げる見込みだ。これはRAMにキャッシュされるデータが増えることを意味する。人が多いけど資源が少なめなサーバには影響があるのかもしれない。
なおウチの鯖は32000まで上げてるがRAM4GBでそれなりに回ってる。人数次第なのだろう

icon

GitHubで設定するとMastodonのプロフでも承認済み状態になるぜ

Attach image
icon

github.com/tateisu お、GitHubのプロフにMastodonのアイコンがあるぜ

Web site image
tateisu - Overview
2023-02-02 20:26:01 @tateisu@mastodon.juggler.jp
2023-02-02 01:41:08 Derek Priorの投稿 derekprior@hachyderm.io
icon

このアカウントは、notestockで公開設定になっていません。

2023-02-02 16:36:12 @tateisu@mastodon.juggler.jp
icon

Twitterがやるべきだったことは「有料ユーザならサードアプリも使えます」であって「サードアプリ開発者からお金を徴収します」ではない。ただまとめて徴収しやすいからという理由でそんなことをしている

2023-02-02 16:34:55 @tateisu@mastodon.juggler.jp
icon

nitterはTwitterのユーザTLをRSSに変換する機能があるので、フィードリーダーのためにこっそり建ててる

2023-02-02 16:33:43 @tateisu@mastodon.juggler.jp
icon

結局どうしたかというと、テストコードから差し替えられるようにした。既存のDIライブラリでは「後から差し替える」が難しい。

Attach image
Attach image
2023-02-02 16:29:19 @tateisu@mastodon.juggler.jp
icon

github.com/zedeus/nitter
「Twitter の非公式 API を使用 (レート制限や開発者アカウントは不要)」というコレはいつ塞がれるのだろうか

Web site image
GitHub - zedeus/nitter: Alternative Twitter front-end
2023-02-02 16:27:20 @tateisu@mastodon.juggler.jp
icon

nitterがどうなるかだよな…

2023-02-02 16:24:06 @tateisu@mastodon.juggler.jp
icon

普及させるために色々バラまいて後からマネタイズしようとするけど、より安価なジェネリックにいずれ変わっていく…というのはあちこちで見かけますね

2023-02-02 13:15:44 @tateisu@mastodon.juggler.jp
icon

androidx startupで初期化したオブジェクトに直接アクセスしない作りにしないとダメそう。

2023-02-02 13:12:11 @tateisu@mastodon.juggler.jp
icon

試してみたらテスト開始時点でandroidx startupによる初期化が行われていた。テスト用の依存関係を注入しようとしても、テスト開始時点で初期化が済んでいるので無理だ

Attach image
2023-02-02 12:29:37 @tateisu@mastodon.juggler.jp
icon

端末上で動くinstrument テストをします。androidx startupでシングルトンがいくつか初期化されます。それをテスト中だけ差し替えたいです。例えばDBや設定ファイル。…どうやるといいんだ…?

2023-02-02 02:06:08 @tateisu@mastodon.juggler.jp
icon

@Common_Lisper issueでカラーコードだしてテーマ増やせって人がいたのさ

2023-02-02 01:19:34 @tateisu@mastodon.juggler.jp
icon

それなりにエラーや警告は出るがまあなんとかなるもんだな

2023-02-02 01:19:16 @tateisu@mastodon.juggler.jp
icon

ankoのaarが最近のビルド環境で警告を出すから、ソースもってきてSTのツリーにぶちこんでやった🤪

2023-02-01 21:00:39 @tateisu@mastodon.juggler.jp
icon

@Cutls アルコールはおっけー?

2023-02-01 20:59:51 @tateisu@mastodon.juggler.jp
icon

1月もなんとか生き延びた。もうへろっへろですよ

2023-02-01 13:50:46 @tateisu@mastodon.juggler.jp
icon

Twitterが見せなくなったなんやかんやも連合TLには流れてきますね

2023-02-01 01:06:05 @tateisu@mastodon.juggler.jp
icon

@engled 「Android 6より前のOSが対象のアプリは、最新のAPIへの対応要件を満たさないかぎり弾かれてしまうようです」とのことですが、 の動作要件は今は最低でもAndroid 8以上です。明らかに古いアプリが切り捨てられるのは年数を考えると仕方ないと思います。

2023-02-01 00:49:17 @tateisu@mastodon.juggler.jp
2023-02-01 00:16:06 ghrtbot@lemmy.juggler.jpの投稿 ghrtbot@lemmy.juggler.jp
icon

このアカウントは、notestockで公開設定になっていません。