こんにちは、だいちゃんです。
いまさら需要がないのは承知の上で、URL短縮ツールを自作してみました。
本当は udc.id ってドメインが空いてたので、ドメイン買ってやってみたかったのですが、お遊び&誰にも使って貰えない割にそこそこな出費になりそうだったので、udcxx.me ドメインからサブドメインを作ってそのなかに入れました。
なので、短縮URLといいつつ結構長いですw
あるYouTube動画 でコーディングしているのを観てたら、なんか久しぶりに何かを作ってみたい気持ちになったので、パッと思いつきで作ることにしました。
題材としては難易度は低めで、初心者向きだと思いますが、僕が避け続けているPHPとかDB操作が程良く含まれているので、楽しみつつも勉強になりました。
主に、3つのページで構成されています。
ツールのトップページで、短縮したいURLを入力して、新たに短縮URLを生成することができるページです。
「生成する」ボタンを押すと、PHP側で重複しないパラメータを生成して、データベースに登録します。処理に成功すると、短縮されたURLが画面上に表示される仕組みになっています。
いまのところ、パラメータには、アルファベット(大文字・小文字)+数字の58種が4文字ランダムで生成されます。これだけでもざっくり 11,316,496通り くらいの余裕があるので枯渇することはないはず。というか、データベースにこんなに登録できないはず(設定あまりわかってない)。
このURLの末尾に、生成されたパラメータを ?
とともに付与することで、元のURLにリダイレクトします。
PHP側でパラメータを取得し、データベースから短縮前のURLを探して、リダイレクトさせるといった単純な仕組みです。一応、リダイレクトは5秒後に実行されるので、その間、運が良ければ広告が表示される...かも。
例えば、上記のURLだと僕のポートフォリオサイトにリダイレクトされます。
※ ポートフォリオのURLのほうが短いので実質、短縮はされてない...
いまはまだ利用しませんが、将来的に広告なしのPro版をリリースすることを想定して、/f/
なしのページも用意しました。
例えば、上記もポートフォリオへ飛びますが、5秒待たずに即時でリダイレクトされます。
夏休みの自由研究的な感じで、トータル1日くらいでサクッと作れたので、初心者にはおすすめの題材かもしれません。
今後は、Pro版を追加するため、ユーザー管理とか、ユーザーごとに生成したURL一覧の表示などを実装していけたらと思っています。
なにより、久しぶりにちゃんと動いて公開できるものが作れたので、達成感があっていい週末でした😙
Gitlab CI/CDでさくらのレンサバに自動アップする
2024-12-20
kintoneのバグっぽい動き
2024-12-13
Safariで絵文字が表示されない問題
2024-12-11
ターミナル上でAIにコマンドを聞こう
2024-12-06
Gitlab CI/CDでさくらのレンサバに自動アップする
2024-12-20
kintoneのバグっぽい動き
2024-12-13
Safariで絵文字が表示されない問題
2024-12-11
ターミナル上でAIにコマンドを聞こう
2024-12-06