Lumix S9、他社機ならファインダーがありそうなところにマイク端子がある。もしモデルチェンジで何か足すとしても、より必要なのは音声モニタリング用ヘッドホン端子かなー。海外レビュアーほぼ全員に指摘されてる問題
Lumix S9、他社機ならファインダーがありそうなところにマイク端子がある。もしモデルチェンジで何か足すとしても、より必要なのは音声モニタリング用ヘッドホン端子かなー。海外レビュアーほぼ全員に指摘されてる問題
民度が低い最も有害なゲームコミュニティランキングが発表 https://kultur.jp/oldpost-5042/
- 暴言や中傷コメントの多さではスマッシュブラザーズが圧倒的1位で23%ものコメントが該当したという。
そもそもFastImageの何が問題かというとネットワーク越しのメディアとローカルにあるメディアのメタデータ判定を抽象化する方法が間違ってるとこだからね…。「ネットワーク越しだからファイル末尾にあるメタデータに対応できない」を「ローカルファイルに対して発生させずにすむ」方法はいくつかあると思う
FastImageの代替をC++やkotlinで書けと言われたら呪詛はきつつもやるか…って感じだけど、Rubyで書けと言われたら「うええ」となる程度には Rubyに不慣れ。
ruby gems の FastImageは、ファイル先端にメタデータがあるだろう、URLもFilePathもとりあえず先頭64KB読めばメタデータはあるだろう、という誤った前提に基づいて実装されたモジュールなので、 https://github.com/sdsykes/fastimage/issues/140 を修正するのはモジュールの大規模な書き直しが必要となるだろう。
こんなモジュールに依存しちゃったMastodonは先見の明がないというかなんというか…
Tootleは投稿時にまとめて画像をアップロードするんかな。オブジェクトストレージが遅いとタイムアウトしてるんじゃないかとか想像してるし、API的にはタイムアウトの待ち方は /api/v2/media APIで変わってるんだけど、あのアプリはもう1年以上アップデートしてないんよな…
TRN BA15、バーンインなのか耳エージングなのか知らんけどかなり良くなってきた。全体的にスッキリ、硬めで躍動感のある低音とキラキラしてるが刺さらない高音の間に空間表現重視の中音域が挟まってる。遮音性や装着感も良好で欠点がない。 https://earphones.juggler.jp/2021/TRN-BA15/
あとウチで目立つスロークエリは SELECT COUNT(DISTINCT "accounts"."domain") FROM "accounts"; が600-800msかかってるんだけど、対策を思いつかないし無視していいかな…
ActiveRecordでコレを書くの面倒そうだなあ…という印象だがそもそもRuby分からんので識者によるPRが望まれる
index_statuses_20180106 のDM限定版インデクスを作った場合の実行計画も追記してみたけど、ウチの環境だと負荷が低すぎて有効なのかどうか分からなかった
https://gist.github.com/tateisu/a7de7a8ff816e83ea2894e599499849d unionの左辺と右辺にもlimitを入れた場合の実行計画を追記した
create index ではサブクエリを使えないので、mentionsテーブルのDM用部分インデクスを作るにはテーブルにカラムを追加してやる必要があるな…
@fn_aki それはいらなくない? https://gist.github.com/tateisu/a7de7a8ff816e83ea2894e599499849d みるとメンションみつけてそれにあわせたステータスを探すときにstatuses_dm 使われてるから。
https://gist.github.com/tateisu/a7de7a8ff816e83ea2894e599499849d union使うやつの実行計画。20件ずつ読んでるという訳ではないのだ。。
あと実行計画みると、limit 20 がかかるのは Append してSortして Unique してまたソートした最後の部分だけなんで、ソート対象の一時データは結構な件数がある。 アプリ側でマージする方をお勧めする
DMカラムにはmin_id使うようなクエリはなさそうなので、ページネーション書くの面倒そうだけど破綻はしないと思う。なお "statuses"."id" as status_id って書いてorder byの対象には名前つきの列名を指定しないとクエリできなかった
unionでやるやつexplainかけてみたら、自分あてのメンション集める部分ではstatuses_dm (DM用部分インデクス)も使われたし index_statuses_20180106 の部分インデクス版もあった方が速いだろう。ていうかウチの場合はないとunionじゃない奴の方が速い。DMとそれ以外の比率が結構激しい。ねこまんまさんが言ってるのはコレのことじゃないかと思う
index_statuses_20180106 がだいたいそうじゃん。公開範囲全部を含むだけで >account_id, idへのインデックスをvisibility = 3に対して
マストドンのWebPushってVAPIDキーを.env.productionに設定しないことで機能しないようにできるとかあるんですけど、プッシュ購読APIはその状態でも200 OKを返すというね…。(レスポンス中のサーバキーが空になるから判別不可能な訳ではない)
2.4以降のタンスだけに限定するんならプッシュ通知だけに割り切った設計もできるんですけど、まだ時期尚早
@osapon 今の通知取得はネットワークアクセス要求するし場合によっては10秒に収まらないので、なんらか通知をださないとバックグラウンド動作制限にひっかかるんですよね…
#SubwayTooter でプッシュ購読をご利用の方で1アカウントだけ、タンスにVAPID_PUBLIC_KEYが設定されておらずタンス側でWebPushが動作していないと思われる方が存在します。
Firebase Cloud Messaging の組み込み。 mastodon.juggler.jp インスタンスに限り、リアルタイム通知を試験実装しました
Streaming Listenerを動かしてもいいよというタンス管理者さんがもしいたら教えてください…
https://github.com/tateisu/mastodon-streaming-listener と
https://github.com/tateisu/mastodon-fcm-sender はなんとなく動く感じになったよ。次はアプリ側
通知のアプリサーバ部分も書いて起動できるとこまで進めたhttps://github.com/tateisu/mastodon-fcm-sender (動作確認はまだできてない) 次はアプリ本体
MastodonからモバイルアプリへのPush通知。アプリサーバがアプリ固有の情報を抱えるのは仕方ないとしてストリーミング受信する部分を独立させる仕組みを考えてみた。 https://github.com/tateisu/mastodon-streaming-listener (コードはまだ動作確認できてません) これからアプリサーバ部分書いてうちの鯖だけpush通知対応させてみる