nonbuz、revalidationの問題をfixしました。半年ぶりくらいのアプデかもしれない
たまにお問い合わせも頂いてたブログページ(ユーザー名ページ)が500エラーになる問題や、プロフィールを更新してもページが更新されない問題などはこれに起因しています。最初からずっと把握はしてたけどずっと放置してた。
claude codeはずっと使っているが、nonbuzコアにclaude codeを使うのは初。というのもコードベースがでかすぎて(現在は減らしてtypescriptで6000行 *cloc統計)input tokensのためにリファクタリングとtsx変換が必須だった。これを2,3時間掛けてやった。その後2,3分で当該revalidationのissueはfix。
#開発ログ
devtoolsのcss overviewでカラーコントラストの表示してみてる。
nonsense.buzzのトップページは透明度を意識してたので…まあこれはコントラストだめだろうな…と思ってたけど、AAまでもいけてないのが目立つ。
これデザインとのトレードオフだから本当に悩ましいんだよな…opacity下げれば解決するだけの話ではない…。
nonsense.buzzの最適化としてnginxでサーバーサイドキャッシングされるようにしました。
NextjsのRSC付いたURLがgoogleにインデックスされてしまっていて…
canonicalを付ければおそらくなんとかなるはず。
早めに対処します。
今こんな具合で二つ冗長に表示されてしまってますが、youtubeプレビューだけにするとか、あるいはyoutubeプレビュー+リンクカード(画像なし)にするとか、そんあ具合で時間ある時に調整したいと思います。
nonsense.buzzのトップページがとりあえず完成しました
2日掛かった……
デモ実装とタイムラインの統合周りはがんばったけど、それより意外にデザインのギミック面に時間を掛けてしまった。CSSは弱いんだよ…あと重さ、パフォーマンス気にしだすと修正箇所も多くなる。まあ腕の弱さだな…。
nonsense.buzzのトップページ作ってます。怠いです。
あとは、revalidateを完全にオンデマンドの手動リバリデーションにした。
なのでnonsense.buzzのexport const revalidateは全部falseになっている。
time basedのrevalidateはブラックボックスになりがち…デバッグというか検証もしづらいし
nonsense.buzzの速度改善、最適化の比較 24/9/12 <-> 24/9/24
プレビューカードの実装画面。↓
バージョン: v2.2.0-beta (ビルド 2024-09-23) をリリースしました。 #nonsense.buzz
nonsense.buzz、すごい重くなった。
nonsense.buzzのユーザー対応版メジャービルドv2.0.0をもって、nyapp.buzzから完全な移行としました。
予約投稿もほしいな…予約投稿は個人的にほしい。予約投稿とかドラフトとかができると更新を考えておかなくていいから楽。
これは勝手が違うから実装少し時間掛かりそう。でもマストかな
あとは、noindexの指定も…
なぜかサジェストに出てきたよくわからん動画
前に構想したこともあるんだけども、
nyappの独自機能の一つとして個別の投稿について公開/非公開ができるようにしたいなってのがあった。(厳密な仕様的には、公開/自分だけ/プロフィールに表示しない(リンク共有のみ)/プロフィールに表示しない+隔離ページで表示, みたいな)
facebookとかできるかもな、そういえば
たぶん分かる人には気づかれてるけど、nyappはsite speed的なseoが絶望的です
nyappだけではないんだけど、nyappは顕著な一つ。これも早急にやらないといけない。やりたくないんだけどな…
seoすごいフレンドリーにするならnextをv14にしないとだめだな…いま正直アプリ全体が結構がばがばなとこがちょっとある。あとサイト速度を先日sitespeed.ioての実家linuxにセルフホストして測ったりしてるけど、見事に遅い。何が遅くしてるのか分からない。v12をそもそも触り続けたくない。少し大きな引越にはなるけど、v14には数日掛けてしたいんだよな。
googleのリッチリザルトを見てるけど、nyappはやはりseoすごいフレンドリーで機能リッチなSNSにしようかな。(というか僕が使いたいだけ)
プログラムってこうなんだよな…人が作った、累積させてきた不完全な代物。電子とか経済とか自然科学じゃない。そこにフィボナッチもフラクタルもない。
いや…とんでもなくコードベースをでかくすれば顕現するのかな。知らんけど。少なくとも、一つのライブラリ・フレームワーク・言語・システム・環境で再現されるもんじゃないのは確実に言える。
なんか不安定だな…Chromeのインスタンスによって動かない。chrome betaだと動いてるけど、normalのもプロファイル変えてもだめだし、拡張とかというよりflagとかか。あるいはブラウザスコープでの設定、ハードウェアアクセラレーションだとか。
音声投稿&音声認識機能を実装しました。
なので それが割と公開リストの一番上であのでは 他の人ができることであれば自分は必ずできると思ってやってみたんですけどできなかったっていうのがあるんですけどあと今ですね あの ブラウザの戻るボタンを間違って押してしまってあーと 思ってこう 進むボタンを押したんですけど あのチャットの元に戻れないんですよね あの上の欄見ていただければわかると思うんですけど すげえ 量 出ててどれだかわかんないんで 残りの質問 飛ばします すいません ひろゆきさんって人の影響で価値観 変わったことありますか また
↑ 音声投稿&音声認識機能のテスト投稿です。
音声投稿を実装中です
改行は実装というかfixしました
markdownとかog画像追加の実装はマストになった。markdownで書けるようにします。マークダウンで書けるSNS、みんなも欲しかったはず。知らんけど
SNS投稿の形式(マイクロブログ形式)ってReactみたいなコンポーネントベースドな感じがして面白い。
普通のブログって一つ書いたらそれを放置したり追記したり編集したり別記事リンクを追加したりだけど、マイクロブログは組み合わせで様々のページが作れる。togetterみたいな話をしてます。
twitterとかだとビルトインでそういうのはもはや無理(アドバンスド検索でいけるにはいけるが冗長)だが、nyappは個々のユーザーについて投稿が埋もれない工夫を提供したいしできると思っている。
hootsuiteみたいなツールはIPプロキシを持ちまくってる(プロキシプール)か、あるいはもう提携してホワイトリストしてもらってるか、どちらか。
そもそもプロキシ方略はグレーで防弾必須だし、ホワイトリストは零細じゃ無理
自分の投稿だけならいけるけど、ユーザー全部のってのは今は解決策のアイデアが浮かべない
でそうなると全部サーバーサイドでやるの無理だよねってなるからクライアント側のIPでやってほしいわけだけど、さすがにplaywrightとかpuppeteerをクライアントのブラウザで動かすのは想像通り無理そうだ。
firefox/chrome拡張機能でbackgroundでやればいけるけど、拡張インストールさせたくないし、その時点でモバイルは切り捨てていてウェブの旨さを欠いている。
悩ましい…。
クロスポストがデフォルトのSNSとかにしたらどうだろう。nyappの特徴をクロスポストありきにする。
具体的には例えばmbti系とか性格診断系だとPDB(personality-database)ってSNS(コミュニティに近い)があるわけだが、#mbtiとか16タイプの正規表現とか投稿に含んでる場合にクロスポストする、とか。
投稿のタイトル設定できるようにしたいな。32文字以内にして。いまは適当な最初の26文字くらい+ユーザ名になってるけど、タイトル変えられるといいよなとは思っていた。mongoのモデル変えないといけないけど、実装は追記と同じようなものだから10分もあればできる
あと、投稿のインポートとエクスポート(出力、ダウンロード、バックアップ)も必要だろう。出力はどこも実装してるけど、インポートの実装ってしてるとこ少ないよねたぶん。twitterもできないはずだしmastodonとかbskyはどうなのかわからんけど
というかnyappはnext12なんだが、v13に変えたい…。nextjsの早さというか開発効率変わりすぎじゃないか
mastodonとかって会員登録してないと投稿はたしかできないんかな。activitypubに準拠するだけなら適当にユーザ名とか生成して渡しておく処理さえすれば投稿無し実装もできるのか。nyappを会員登録なし実装(厳密にはメールアドレス登録を省く)しようか考えている。
なんか適当になったけどタグ実装もしました。
youtube埋め込みできるようになりました。