💸

【クソアプリ】粗品激ヤバYouTuberジェネレーターを作りました

2022/04/19に公開

一発ネタです

作ったもの

粗品激ヤバYouTuberジェネレーター

元ネタ

https://youtu.be/ldpGIqDIqgw

楽しみ方

度を超した編集が施されたセリフがランダムに生成されます

楽しい文章ができたら URL をツイートしてシェアしよう!

例

技術

以下は蛇足です

技術選定

ざっと作ってデプロイができればよいので、お手軽な構成です

  • Next.js + TypeScript
    • スキャフォールドしたプロジェクトをほぼそのまま使いました
  • jest, ts-jest
    • 配列のシャッフルのテストだけ書きました
  • Vercel
    • GitHub に公開して連携するだけでホストしてくれます

ランダム配列生成

アルゴリズムには Fisher–Yates shuffle (フィッシャー - イェーツのシャッフル) の改良アルゴリズムを採用しています。

https://ja.wikipedia.org/wiki/フィッシャー–イェーツのシャッフル

名前こそついていますが、確定した要素を末尾に移動していくシンプルなアルゴリズムです。

シード

一応 URL 毎に一意な結果が定まるようにシード値によるシャッフルを実装しています。

Fisher-Yates で走査する各要素の入れ替え先インデックスをほぼそのままシードとして使っています。

なので配列の要素数に比例して長くなります。

# シード値の例
0101030101010204060901080d02080702030102040b080f1102010c0e1c13071218100d0c25110e1e0e21220a0703070a2d112b1a1c2d2911081e222c2e220334130a0220162e28171e0b0f1643

良い感じのシードの仕組みをご存知の方いたらコメントで教えて下さい。

今後のアップデート

特に考えていないのでご意見あればコメントにお願いします。

リポジトリ

https://github.com/cma2819/soshina

Discussion