10年間の公務員生活にピリオドを打ち、未経験からエンジニアの道へ。 ようやく自作のブログをデプロイし、「さあ、ここから僕の新しいキャリアが加速するぞ!」と意気込んだのも束の間。
現実は、アクセス数「0」という冷酷な数字と、想定外の挙動の連続でした。
「コードを書くこと」と「サイトを運用すること」の間には、深い溝がある。 今回は、未経験エンジニアの僕がブログ開設初日に「これ、プログラミングの勉強より大変じゃないか?」と頭を抱えながら、一つずつバグを潰していった3つのデバッグ記録を共有します。
1. Googleという巨大なシステムへの「ユーザー登録」
サイトをインターネット上に放り投げれば、勝手にGoogleが見つけてくれる。そんな淡い期待は、デプロイから数時間で打ち砕かれました。
検索結果に1ミリも引っかからない
自分のサイト名で検索しても、出てくるのは同名の別サービスや無関係なニュースばかり。僕のサイトは、インターネットという大海原の中で「存在しない」も同然の状態でした。
【原因と対策】
エンジニアが新しいAPIを使う時にユーザー登録が必要なように、サイトもGoogleに「登録(インデックス)」が必要です。 Google Search Console(サチコン)を導入し、サイトマップ(sitemap.xml)の送信とURL検査を実施。
「僕のサイトはここにあるから、見に来てくれ!」とリクエストを送った瞬間、ようやく自分のサイトが世界中のネットワークの一端に接続されたような、不思議な高揚感がありました。
2. Laravelの「公開ディレクトリ」という罠
自作サイトをLaravelで構築した際、ローカル環境(Docker)では完璧に動いていた画像たちが、本番環境(サーバー)では一斉に「404 Not Found」を吐き出しました。
画像が表示されず、リンク切れのアイコンが並ぶ
ブラウザのコンソールを開くと、赤文字のエラーログがずらり。パスは合っているはずなのに、なぜ?
【デバッグ記録】
本番環境では、セキュリティの関係でストレージ(storage/app/public)に直接アクセスできないという「仕様」を失念していました。
解決には、publicディレクトリから実体への「シンボリックリンク」を張る必要があります。
php artisan storage:link
このコマンドを叩いた直後、真っ白だった画面に画像がパッと表示された瞬間は、公務員時代には味わえなかった「自分の書いたコマンドで世界が変わる」快感そのものでした。
3. Markdownエディタ vs ブログの「余計なお節介」機能
執筆効率を最大化するためにMarkdown(マークダウン)を採用しましたが、ここでも「利便性という名のバグ」に遭遇しました。
【症状】コピペした瞬間、タグが崩壊する
VS Codeで完璧に整えたMarkdown原稿をブログの投稿画面にペーストすると、エディタの「リッチテキスト変換機能」が勝手に発動。 コードブロックがただの枠になり、改行が消え、修復不可能なレベルでレイアウトが崩れました。
【解決策】
「便利な機能=常に正しい」わけではない。 エディタを**「コードエディター(プレーンテキストモード)」**に切り替え、生のテキストを流し込む。 自動化に頼りすぎず、あえて「生」のデータを扱う重要性を、ブログ執筆という意外な場所で学びました。
4. 「PV0」こそが、最高のデバッグ環境だ
今日、僕のブログを訪れたのは僕自身だけです。 しかし、この「誰も見ていない」という状況は、エンジニアにとっては**「本番環境でありながら、いくらでも大胆な検証ができるサンドボックス」**でもあります。
- どんなタイトルならクリックされるのか?
- どんなコードなら読みやすいのか?
- どうすればSEO(最適化)が進むのか?
これらすべてを「デバッグ」として楽しみ、一つずつ解決していく。 公務員を辞めた僕が手に入れたのは、安定ではなく、この「試行錯誤する自由」だったのだと再確認しました。
まとめ
エンジニアとしての第一歩は、コードを書くことだけではありません。 自分の作ったものを世の中に届け、そこで起きる不具合を一つずつ直していく。その全プロセスが「開発」なんだと気づかされました。
もし、あなたが「ブログを作ったけど誰も見ない」と悩んでいるなら、それは最高のデバッグが始まった合図かもしれません。
さあ、次のエラーを探しに行きましょう。
今回紹介したツール・サービス
「公開すれば誰かが見る」は幻想だった。エンジニアがブログ開設初日に直面した3つの技術的デバッグ
Keiが実際に活用しているおすすめのツールです。詳細は公式サイトをチェックしてください。
公式サイトで詳しく見る