義母が子育ての手伝いに来てくれており、人間的な生活を取り戻している今日このごろです。昼寝のためにほぼ必須な毎日の散歩をしてくれるだけでも大助かりです。
安定性の向上
数々のバグ修正や最適化によりパフォーマンスを改善させ、安定性を向上させました。細かい話ですので興味がなければ、機能改善についての次のセクションまで飛ばしてください。
対局室において:
  • 1手指すたびにページコンテンツの再読み込みが行われるバグが数週間前からあり、これにより対局が進んだりチャットが増えていくと通信量が増大しサーバ全体が不安定になりアクセス不能になる致命的なケースも見られました。このバグを修正しました。
  • これまでチャットログは、ページ表示時に全件取得しておりましたが、同じ対局室を繰り返し利用するなどしてログ件数が増えた場合、ページ読み込み時に時間がかかっていました。これを、最新のログのみを取得するようにし、スクロールするたびに続きを取得するという無限スクロールを実装しました。
対局室の盤や共有盤において:
  • ユーザが接続した際に、盤面情報がそのユーザだけでなく全員に配信されていました。そのユーザのみに配信するようにして転送量を削減しました。
  • トップページの共有盤のロードを、画面内に入りそうな時に始めて行うようにし、トップページの読み込み速度を改善しました。
ノート関連:
  • ノートのいいね数を都度カウントしていたため、ノートページやトップページのノートセクションのデータ取得に倍近い時間がかかっていました。いいね数を事前に計算しておくことによりいいね実装前と同等の時間で取得できるようにしました。
  • ノートページの表示に必要なデータを並列で取得するようにして表示までにかかる時間を短縮しました。
対局室一覧関連:
  • 対局室一覧やノート一覧のデータをサーバがデータベースから取得する際、不要な盤面や棋譜情報が含まれておりデータ転送に余分な時間がかかっていました。この修正により、データベース全体の読み出し量がそれまでの数分の1に抑えられました。
  • トップページ等のアクティブな対局室一覧の取得を安定的に行えるよう改善しました。
以上の改善により、10%の割合で数秒かかっていたサーバの応答時間が99%の割合で1秒以内で済むようになりました。 Screenshot 2025-10-02 at 18
安定性関連では、時々ページ読み込みがいつまでたっても終わらないバグを確認しており、そこが最後の本丸と考えて対応中です。
追記:このバグについては勘違いで、本番環境では発生しないものでした。これで安定性は万全となったはずです。
その他改善
  • 対局中に最新でない局面に戻った時に、最新局面に戻り忘れて着手した際に最新局面に戻るよう促すメッセージを表示するようにしました。 Screenshot 2025-10-03 at 18
  • 将棋ったーロゴがなめらかになり、ファイルサイズも半減しました。 https://recraft.ai というAIが昔作ったPNG→SVGの変換をしてくれたおかげです。 Screenshot 2025-10-03 at 20
今後とも将棋ったーをよろしくお願いします。 https://shogitter.com