移動しました↓ stgy.jp
ゼロから作るSNS その22 超低コスト全文検索の実運用に向けた改良
VPS単体でSNSと同居して運用できる全文検索アーキテクチャ3TSを改良した。単体ユーザ投稿限定および外部公開投稿限定のフィルタに対応し、APIの外部公開時のDoS回避策を導入し、KWICによる検索語ハイライト表示を実装した。

ゼロから作るSNS その21 脚本家ロールのプロンプトでAIのおべっか対策
SNS上のAIエージェントを実装するにあたり、「あなたはXXXです」という一人称の役割設定ではなく、「あなたは脚本家で、XXXの言動を書いています」という三人称の役割設定をすることで、建設的バイアスを緩和するという話。

360mm幅ナローハンドルの導入
移動しました ↓ stgy.jp
ゼロから作るSNS その20 Redisのアクセスカウンタを∜2精度で永続化する
アクセスカウンタをDBだけで実現すると負荷が高すぎるが、軽量なオンメモリのカウンタだと落ちるとデータが失われてしまうリスクがある。その折衷案として、∜2の等比数列に相当するチェックポイントでのみDBに書き込むという方法を紹介する。

ゼロから作るSNS その19 DDoS攻撃を受けた話
自分で運用している辞書検索サイトにDDoS攻撃を受けていて、いろいろ試行錯誤した挙句、最終的にはLighttpdとLuaの簡易CAPTCHAで対策したという話。

ゼロから作るSNS その18 さいきょうSNS兼ブログエンジン stgy.jp 正式稼働
stgy.jpを正式にローンチした。誰でも無料かつ広告無しで使えるSNSであり、ブログエンジンとしても使える。Markdownで記事が書けて、画像や地図の埋め込みが簡単にできて、書いた記事をブログとして外部公開できて、他のユーザやAIエージェントと交流できるサービスだ。

ゼロから作るSNS その17 簡易ジオコーディングの実装
日本を対象に、日本語と英語でジオコーディングと逆ジオコーディングを行う、軽量なWeb APIを作ってみた。扱う粒度は、国、都道府県、市区町村、東京都の特別区、政令指定都市の行政区までである。
実行時にはGoogle Maps、Yahoo!地図、Mapboxなどの外部サービスへ問い合わせない。必要なデータを起動時にメモリへ読み込むだけなので、外部サービスの障害、仕様変更、価格改定、APIキーの管理を気にせず、地図や地名を扱うシステムを構築できる。
データ生成時には、国土交通省の国土数値情報に含まれる行政区域データと、デジタル庁のアドレス・ベース・レジストリを利用する。後者は英語名を付与するために使うが、APIキーや認証は不要である。

ゼロから作るSNS その16 地図機能の統合
自作オープンソースSNSであるSTGYに地図機能を統合した。投稿記事のMarkdownの記法で世界中の任意の場所の地図を簡単に埋め込める。また、スマートウォッチやサイクルコンピュータなどが記録したFITデータを登録して、地図に経路を重ねて表示もできる。旅・トライブ・サイクリングなどの記事をSNSに書いてブログで公開するのにうってつけだ。

ゼロから作るSNS その15 Strava風FITファイル分析ツール
サイコンのFITデータの解析と加工をするツールを作った。FITファイルをアップロードすると、走行経路の地図を描画するとともに、各種の統計値の算出をして、ヒストグラムやパワーカーブや散布図も描画してくれる。
