2009-03-01から1ヶ月間の記事一覧

第85回 なぜ256はキリがいいのか

256はキリがいいか? 256はキリがいいとされているそれはなぜか?それは 2の8乗だからだ。 しかし、この表現、難しいと言うか、 個人的に理解しにくい。 100がキリがいいのは何故か? なぜ、100はキリがいいのか?それは 10の2乗だからだ。って言われて、あ…

第84回 テストファーストとは何か?

前回の、 第83回 テスト! Test!! テストぉおお!!! テストとはなにか!? - bingo_nakanishiの他言語出身者のためのPerl入門 では、プログラムを作ってからテストを行った。 この作業を逆にして、テストを作ってから、プログラムを作成することを、テストファ…

第83回 テスト! Test!! テストぉおお!!! テストとはなにか!?

テストというものをご存知だろうか。ソフトウェアが正しく動いているかどうか確かめるものである。 ファイルに出力するプログラム 例えば、簡単なプログラムとして、 $ perl bingo.pl > hoge.txtとすれば、hoge.txtに aaa bbb cccと表示するプログラムを作り…

第82回 バッチ処理をどのように理解するか

ようこそバッチ処理担当者諸君 あなたは、バッチ処理を担当することになるかもしれない。 バッチ処理とは何か バッチ処理では大量のデータを扱う。 得てしてあなたが扱うデータはファイルに何千行という形で、 CSV形式やTSV形式、固定幅バイトという形で送ら…

第81回 高階関数を理解できないとRubyは理解できない

Rubyにはブロックというものが存在する。 array = [1,3,5,9] array.each{|i| puts i}.each{|i| print ' '; puts i*2} 結果: 1 3 5 9 2 6 10 18このブロックは、高階関数なのである。まつもと直伝 プログラミングのオキテ 第5回(1) | 日経 xTECH(クロステ…

第79回 英語

私はオールディーズが好きだ。 英語学習にオールディーズはかかせない。サイモン&ガーファンクルのすべてアーティスト: サイモン&ガーファンクル,ポール・サイモン出版社/メーカー: Sony Music Direct発売日: 2003/12/17メディア: CD購入: 7人 クリック: 50…

第80回 ソースコードリーディングのコツ 関数突入編

さて、今回は、 関数に引数が渡るときの話を書きます。 変数を追うか追わないかそれが問題だ use strict; my $c = 1; hoge($c); こういうソースを見たとき、 $cの値がかわってたら大変だなぁ と思って hoge関数の中を読む事はまずない。なぜかというと、 関…

第78回 ソースコードリーディングのコツ

さて、プロジェクトに配属されたら、 すでにできあがっているソースを読まなければならないだろう。 そこで今回は、ソースコードリーディングのコツをひとつ紹介したい。 変数に着目せよ 1: my $c = 10; 2: 3: ############## 4: # 何か処理 5: ############…

第77回 ネタ的プログラム

use strict; use Error qw(:try); try { print 'いくぞー', "\n"; die 'うわ〜 水で顔がぐしゃぐしゃだ.', "\n" if int rand(2); }otherwise{ my $e = shift; print $e; print 'あたらしい顔よ〜', "\n"; print '元気100倍', "\n"; }; print 'アンパー○チ', …

第76回 プログラムはどのようにして動くのか

「ヒープ領域がわからない」 と言われたので、ちょっとざっくりと説明してみよう。 本当にざっくりとの説明であるので、厳密なところまでは述べない方向でいく。 僕は、答えをぱっと言っちゃうよりも、 今理解したいものを理解するための前提知識から説明す…