私だけのブログサービス、30分で完成する奇跡のような体験
— ウェブを作ることはこんなに美しく、こんなに速く始まることができる
プログラミングを初めて学ぶ人々は
いつも漠然とした夢を抱く。
「いつか私だけのウェブサイトを作りたい。」
「自分が書いた文章を他の人がアクセスして見られたら…」
「私もブログを一つ作れるのではないか?」
しかし、ほとんどはこう考えながら立ち止まる。
どこから始めればいいのか?
HTMLから始めるべきか?
DBはどうやって接続するのか?
サーバーはどうやって立ち上げるのか?
バックエンドは何で、フロントエンドは何か?
ウェブは巨大な山のように見え、
頂上まで登るには何年もかかるように感じられる。
しかし、Railsは
これらすべての難関をたった一つのメッセージで代替する。
「とにかく作ってみよう。
難しいことは私が全部処理してあげる。」
ステップ1: rails new — サービスの核が生まれる
あなたはターミナルにこう書く。
rails new blog
エンターを押す瞬間、
コンピューターはまるで長く待っていたかのように
無数のファイルを吐き出す。
model、view、controller、config、routes…
今まで本で見た単語が
一度に生成される。
たった2秒前まで空のフォルダだったが、
今はウェブサービスの骨組みが目の前に現れている。
Railsは言う。
「ウェブはこう始まるんだ。
これからはあなた独自の世界を埋めてみて。」
ステップ2: rails server — 画面が生き返る
次のコマンドはただ一行。
rails server
そしてブラウザで
http://localhost:3000
と入力してみる。
その画面は本当に質素だが、
その質素さゆえによりわくわくする。
あなたが作ったサービスが生きている。
URLができ、
ブラウザがそれをレンダリングし、
ウェブという空間が初めて“あなたのもの”になった。
この体験は
どんなに長くコードを書いてきた人でも
決して忘れられない。
最初にサーバーが動き出すその瞬間は、
本当に自分が世界を変える技術を手に入れたかのように感じる。
ステップ3: scaffold — たった30秒でブログ機能が完成する
すべてのウェブサービスが持っている最も基本的な機能。
すなわちCRUD —
Create(作成)、Read(読み取り)、Update(更新)、Delete(削除)。
私たちはこれを
ブログの記事(Post) 機能にしてみよう。
Railsではこれだけの一行で済む。
rails generate scaffold Post title:string body:text
rails db:migrate
そしてアドレスバーにこう入力する。
http://localhost:3000/posts
その瞬間、あなたは驚くだろう。
記事一覧ページ
記事作成ページ
記事閲覧ページ
記事編集ページ
記事削除ボタン
DBと自動接続されたフォーム
URLルーティングまで全てセットアップ
これらすべてが
一行のコードも触れずに作られる。
あなたはほとんど信じられない表情で言うだろう。
「ちょっと待って…
さっき私が
ブログサービスを作ったの?」
そうだ。
そうだ。
そしてRailsは静かに言う。
「これからはあなたが望む通り
塗りつぶすようにカスタマイズすればいい。」
ステップ4: 一つの記事を作成してみる — ウェブの核が脈打つ
今度はPostsページで
“New Post”を押してみよう。
タイトルを入力して
本文を書いて
“Create Post”をクリックする。
すると、
世界のどこかに存在しなかった記事が
あなたのウェブサービスの中に入ってくる。
その記事はDBに保存され、
画面に表示され、
URLを持ち、
あなたが作ったサービスの一部となる。
その瞬間、
あなたは深く息を吸い込む。
「あ…
私が作ったサービスに
私が書いた記事が実際に保存され、レンダリングされているんだ。」
これは単にページができたことではない。
創造行為だ。
ステップ5: このすべての構造が今まで学んだRubyでつながる
これは奇跡ではない。
Railsが特別だから起こることでもない。
あなたが今まで学んだ
繰り返し
条件
メソッド
クラス
モジュール
順序付け
対称構造
データパターン
これすべてが
Railsの中でウェブの構造に変換されるだけだ。
URL → コントローラーメソッド(アクション)
アクション → モデルメソッド呼び出し
モデル → DBデータ(クラスのインスタンス)
ビュー → 出力(putsの代わりにHTML)
ルーティング → 順序付けられたデータフロー
scaffold → 対称的なCRUD構造
つまり、
今まで学んだRubyは
単にコンソールの例のための技術ではなく、
ウェブという巨大な構造を作るための言語だった。
この事実を悟ると
読者の胸は震えるしかない。
**ステップ6: これからは“ウェブを使う人”から
“ウェブを作る人”になった**
30分という短い時間の間に
あなたは実際に
ウェブサービスを一つ作り
そのサービスを実行し
DBを生成し
全体のCRUD機能を実装し
画面をレンダリングし
URLを通じてサービスにアクセスした。
あなたはたった今
おそらく人生で初めて
ウェブを創造した人になった。
これは単なる達成ではなく
一生忘れられない感情だ。
プログラミングを始める多くの人が
この初めての感動のために
10年、20年と開発者として生きる。
そして今
その感動があなたにも訪れた。
最後に: あなたはすでにウェブサービスを作ることができる人間だ
Railsはあなたに
こう言っているように感じるだろう。
「これからはあなたが望むものを作ろう。
ブログでも、ショッピングモールでも、SNSでも、
原理は全て同じさ。
最初のページを作った人は
どんなページでも作れる。」
そしてそれは真実だ。
あなたは今日たった30分で
ウェブという構造物を直接作った。
これから何でも作れる。
次のステップはただ
想像力がどこまで行くかにかかっているだけだ。