18歳の僕が自作SNSを作った話。【2】
🔰はじめに
🎄メリークリスマス!(少し早いですが)。11月に誕生日を迎え、19歳になりました!
https://zenn.dev/user_s0ma/articles/e49b10d4292378 で、前回公開したSNSですが、まだまだ他のSNSと比べて見劣りする部分があったので、4か月間かけて改良を加え、再リリースました。完成度は前よりも上がったと思います。
✨サイト
リンク↓
💁♂️筆者について
プログラミングを独学で学んできました。主な経験は以下の通りです:
・Pythonを使用したPyTorchによるデータ分析
・自分のプロフィールサイト制作
・プログラミングを活用した株式分析と取引
✨前回からの改善点
😎プライベートな画像のURL
今まではDMの画像URLのUUIDを当てることができれば見れるようになってしまっていました。そこで、DMの画像は権限を持っている人だけが発行できる、期限付きのURLにすることにしました。
⚡DMをwebsocketでリアルタイムに
DMの送信、削除、リアクションをwebsocketでリアルタイムで受け取ることができるようになりました。
📊他のSNSのようなトレンド機能
他のSNSのようなトレンド機能があると便利だと思い、実装に取り組みました。まず最初にjavascriptでの分かち書きライブラリを探しましたが、どれもcloudflare-pagesで使えるものではありませんでした。そこでrust-sudachiのwasmでコードを作成しました。しかし、ipadicのサイズが大きく25MBの制限を超えてしまいました。なので結局自作しました。まず、ipadicの全テータをpythonで読み込み、単語と品詞のみ抽出してjsonに変換しました。文字数を極力減らすため、品詞ごとにまとめたのでこのようなデータ形式になりました。
{
"形容詞": [
"やぼったい",
"やぼったし",
"やぼったから",
"やぼったかろ",
"やぼったかっ",
"やぼったく",
"やぼったくっ",
"やぼったう",
"やぼったぅ",
"やぼったき",
"やぼったけれ",
...
⏱画像送信中の進捗具合の表示
いままでは動画を送信するときは送信完了するまで待機していたのですが、送信中の進捗具合を表示すると送信されているかがはっきりとわかりストレスが減ると思ったので、進捗具合を%表示するようにしました。
⚒️他にも様々な仕様変更や微調整を行いました。
🔚さいごに
Subnectはパスワード不要で登録できるので、ぜひ投稿してみてください!皆さんの登録をお待ちしています。
最後まで読んでいただきありがとうございました!
Discussion