プログラミングアーカイブ: とあるプログラマーの平凡な日記

2006年12月17日

XAMPP for Windows

Apacheに、MySQLにPHPがあっという間にローカルにインストールできるXAMPP。

最新バージョン(1.5.5)は各設定ファイルも日本語になったよ。

英語苦手なワタクシにはすごくうれしいです。

2006年6月23日

構造化プログラミング入門

WEB+DB PRESS Vol.33構造化プログラミング入門 第1章 構造化プログラミング前史「きちんとコードを書く」ための大原則

まさにエセプログラマーにうってつけな内容。
というのも「構造化」ってなんとなくあんな感じ?ってぐらいしかしらない。まーぶっちゃけ「オブジェクト指向」も正しく説明できないんだけど・・・orz

私のプログラミング歴はCOBOL85→N88BASIC少々→VB4.0→VB5.0→HTML→JavaScipt→VBScriptってな感じ。

COBOLは学校の授業で習ったので基本的な書き方は学んだはず。でも結局COBOLは学校だけでしか使わなかった。

VBは専門学校の授業で。といってもまぁ経済的理由で夏休み後に辞めたので実質3ヶ月ぐらい?でもここである程度の基礎は学んだのでそのまま実務の世界で役に立った。

初めての仕事はVB4.0で動いているシステムをVB5.0で機能改善しながら移植すること。このときの上司が凄い人で昔NASAでロケット業務に関わっていたらしく酔えばブラックホールの話になる人。って話は関係なくてそんな凄い人なのと上司の息子さんと同年代ってことできっちり仕事への関わり方やコードの書き方を教えてもらった気がする。

で、その後1年ぐらいVBAとかカスタマイズをやったあとにASP(Active Server Pagesのほう)に出会う。HTMLとJavaScriptは個人ホームページをつくために学んだだけで実践はなし。VBをやっているから大丈夫でしょうというアサインだったのだ。

まずはお決まりの既にあるソースをコピーしてカスタマイズってところから実践しながら学ぶタイプ。この関わったプロジェクトが大手企業で変数名のつけ方からなにまで規則書があるがちがち仕様。関数もきちんとライブラリ化されている。そこで2年近く関わったのでそのやり方が自分のやり方になった。

その後関わったシステムで衝撃を受ける。いまのところなんだけど関数化がほとんどされていない上から下へのインタプリタっていうの?あれ。ライブラリも貧弱で1つの命令文がどんなに長くなっても1行として書くというやり方。おまけに仕様書無しだったのでソースから読み取るのに物凄く労力を費やした。

こうはなりたくないと思って仕事をしている今日この頃にこの話は一から学ばせてもらえた。よく考えるとこういう根本的なところを学ぶ時間って社会人にはある意味遠い世界なんだよね。こういう内容って主に学校でしょ?

ちょっとプログラミングが書ければ「知っている」ことが前提で、しかも変にプライドが高い自分は他人に聞くことができず曖昧なまま今に至る。だから懐かしいCOBOLやらBASICのGOTOで書かれたこの内容は物凄く理解することが簡単だった。

結論からいうとたぶん私の書くコードはある程度「構造化」になっていると思う。でも変数とかのグローバル化とかは適当だったりするんだよね。スコープの意味がたぶんきちんと理解できていないんだろうなぁ。
本当は時間があったけれどもこの1章で頭の許容範囲を超えたので(をい)第2章以降は来週かな。

2006年5月11日

バージョン管理は必要だよね

今日から「WEB+DB PRESS Vol.32」を読み始める。最初の特集の「チーム開発環境 AtoZ」に興味津々。特集では Subversion と Trac の話だったのであまり自分には関係ないかなぁと思ったけど読んでみたらそうでもなく。いま自分が作成しているソフトと関連もあるといえばあるし、実際に開発を行っている上で必要だなぁと思っていたことだらけ。
いままでは一人開発だったんだけど、去年からもう一人と組んでいくつかのシステムを構築・運用している。当然一人じゃないわけだからソースの共有は必要だよね。だからバージョン管理とかは必要なわけだけど、忙しい故に突然の増員。その前に一時期一緒に開発していた人とは何のルールも決めずに開発できたってのもあってルールを決めずにスタートをした。そうしたら案の定、バージョン管理のトラブルで勃発…orz
そこでワタクシはバージョン管理ソフトである VSS あたりを導入しようと提案したところライセンスが・・・ってな話で CQ ってなものが話題に上がって忙しくてそのままフェードアウト…。 で現在に至るわけよ。幸い、開発の仕方を変えたのであれ以降トラブルは発生していないけどそれってまずいよなぁと思いながら読み進めてた。やっぱり必要よね、バージョン管理。自分の個人サイトでさえバージョン管理どうしようって思っているのだから、業務は必須だよなぁ。また提案してみるかなー。でもそうなるとワタクシが探さねばならぬのよね・・・。うーん。
って業務の話はよくって(いいのか?)。自宅でのバージョン管理をやりたいと数年前から思っていた。いいツールがないか探し始めようかな。業務では探す気力がないけど自分のためだと探すダメプログラマ(笑)