新しいものを表示

PCごとクラッシュしたw

panic(cpu 3 caller 0xfffffe002ac6be78): Invalid kernel stack pointer (probable overflow). at pc 0xfffffe002a4070d8, lr 0x9aee7e002a52e884 (saved state: 0xfffffe6057433cb0)

パン太 :mastodon: さんがブースト

.o( しゃべる食べ物がけっこういるんだな……
  ゴマ、豆腐、餅、パンもいたか…… )
:thinking_omurice: ←しゃべる食べ物

この方法を使うとAndroidのコールバックパターンとかをFlowに書き換えることができて良い

listenCallbackはすでに作ってアルコールバックと思ってもらえるとありがたい
shutdownableみたいなのを作ってるけど
removeListenerならawatCloseのタイミングでremoveListenerすると良いかも

動かないけどこんなイメージでできる

fun listen(channelType: Type): Flow {
return channelFlow {
val shutdownable = listenCallback(channelType) {
tryEmit(it)
}
awaitClose {
shutdownable.close()
}
}
}

コールバックの実装してるのなら追加実装でいけると思うから大丈夫

Javaとの相互運用を考えてる場合一度コールバックパターンの実装をして
さらにそれをFlowに変換する実装も加えてあげるととてもいい感じになるかも

イベント系はFlowで実装してあげると
Flowが不要になった瞬間自動でリソース解放とかできるようになるから楽でいいかも

MisskeyとMastodonのStreamingとノートのキャプチャーを抽象化する実装をする場合
Misskey側にNoteのキャッシュをさせる実装を内包させないとうまくできなさそうで大変そう

Streamingの実装どこまで実装するかによってだいぶ変わりそう
開発鯖とWebSocketのイベントをFlowで流すレベルの実装なのか
各種チャンネル、各種ノートのキャプチャーの購読状態も管理しつつみたいなのを作るのか・・・

Java 8以降のAPIが使えない案件とか地獄でしかない

ただJava案件が良いと聞かれれば・・・

Java普通にいい言語なので覚えて損はしない

パン太 :mastodon: さんがブースト

SerialNameは無条件でつけたほうがいいよ(ProGuardにオブジェクトのフィールド名をMinifyされてDBに保存してたJSONのキーがアルファベット1文字になってしまったTuskyの方を見ながら)

パン太 :mastodon: さんがブースト

ぶっちゃけそう文句ばっかり言われるとサードパーティに厳しい宣言をするしかなくなる

古いものを表示
Fedibird

様々な目的に使える、日本の汎用マストドンサーバーです。安定した利用環境と、多数の独自機能を提供しています。