koheisgがどうやってプログラミングを身につけたか? - CGI編 -

前回 に続いてどうやってプログラミング覚えたか?シリーズです。
こうしてHTML/CSSをなんとなく覚えた私ですが、次は動的なサイトを作りたくなっていきます。

geocitiesからxreaの移行

geocitiesではhtml/css/javascriptは満足に動きますが、サイトを訪れた人が掲示板などサーバー上で動作するプログラムを置くことはできませんでした。

当時、ホームページを個人で運営している人は二つのいずれかの方法で、掲示板を運営していました。

前者は会員登録をすれば誰でも簡単に自分のサイト専用の掲示板を持てます。
後者はCGIの知識が多少必要とされますが、CGIスクリプトは配布されているものを使用すれば、動かすだけであれば、プログラミング自体の知識は必要ではありませんでした。

今でいうと、blogを始めるときにライブドアブログやアメブロを使うのか?wordpressやmovabletypeを使うのか?みたいな違いです。
wordpressを使えば様々なデザインや動きもカスタマイズできますが、ライブドアブログやアメブロではそこまでできません。

自分はカスタマイズも想定して、CGIが動くxreaと言うレンタルサーバーに自分のサイトを移管しました。

無料スクリプトをアップする

xreaにサイトを移管してから、配布されてるCGIスクリプトをサーバーで動かしました。
配布されているCGIスクリプトは、それぞれ微妙に設定の仕方が異なっており、動いたり動かなかったり悪戦苦闘をしました。

CGIスクリプトの提供者側で用意してくれている設定に慣れてくると、自分でも動作をカスタマイズしたくなってきました。
wordpressでいうとプラグインの改造くらいの難易度だと思えば良いと思います。

改造がしやすいCGIスクリプト

色々なCGIスクリプトを改造するようになってきたところで、改造することを前提として配布されているCGIスクリプトを見つけました。
HTML部分とperlで書かれたロジック部分が完全に分離しているスクリプトです。

これを使うと当時の自分のようにHTMLしか理解していない人でも掲示板の見た目をカスタムできます。

ブラウザから日記を投稿できるサイトにした

僕はテーブルレイアウトを卒業し、 <div class='diary'>ここに日記の文章を書く</div> みたいな感じで自分のホームページを更新していました。

この頃、はてなダイアリーが流行り初めていて、はてなダイアリーで日記を更新する人たちが増えてきました。その他にも日記専用のサービスみたいなものが乱立していました。

自分の掲示板を改造する力を利用して、自分だけの日記サイトを動的に作ることができるのでは?
と思い始めました。

そして公開されているperlスクリプトを改変して、自分でゼロからデザインした日記サイトを作ることに成功しました。
とても長くの時間かかってやりましたが、更新が楽になって最高に嬉しかったのを覚えています。

この頃の自分のスキルレベル

perlの文法はほとんど理解していなかったと記憶しています。
変数の代入やifやforは理解していないと改造できなかったのですが、基本的に感覚で「ここを動かしたらどうなる?」ってのを繰り返していました。
(このレベルから、現在プロのプログラマとして、プログラムを書く力に変換していくにはかなりの時間がかかったように思います。この頃perlの入門書を一つぐらい読んでいれば変わったかもしれません。)

プログラムを書くことよりも動かすことに興味があったので、ローカルでperlを動かしたり、Windowsを自家サーバとして公開しようとしました(公開しなくて良かった)ので、この頃にサーバーとはなんたるかの超初歩は理解してた気もします。