タグ:プログラミング ( 3 ) タグの人気記事

テスト駆動開発について勉強中

プログラミングの勉強した内容を別のブログで書こうと思って一時期チャレンジしていたんだけど、どうも別のブログに愛着が持てないというか、単純に使い分けすることが出来なくって、やっぱりこっちで書くことにしました。

ただソースコード自体をだらだら書いても面白くないから、

■どんな勉強をしたか?
■そこで感じ取ったことが何か?

ということだけ(なるべく)書くというルールを課すことにしました。

■どんな勉強をしたか?
プログラミングの勉強自体は、少しづつですが継続していて、現在はRubyスクリプティングを読みながら6章のテスト駆動の解説の所に入ってきました。
Rubyスクリプティングテクニック ―テスト駆動による日常業務処理術
Brian Marick
オライリー・ジャパン
売り上げランキング: 5539


■そこで感じ取ったことが何か?
テスト駆動開発の良さというのが、正直わかんなくって、色々本を読んでいてもその良さというのがわからなかったけど、実際にサンプルのソース見ながら、テストをまず最初に書いて、それに成功するような処理を実装してということで、なんていうか、こまめな達成感が得られるように思います。

プログラミング用語を使わずに強引に説明すると、公文式の算数ドリルをやっているような感じかなぁーって思いました。
どういうことかっていうと、先に6という答えがあって、その答えを満たすような、

6 = 5 + 1
6 = 4 + 2
6 = 3 x 2
6 = 7 - 1

というような数式を考える感覚に少し近いような感じがしました。

実際にプログラム書くときには、上記の右側はこんなシンプルな形というのはそう無いけれど、いづれにしても、先にやらないといけない答えがあって、それを解いて、目標達成して、また次に進めるということを繰り返すというテスト駆動というやり方の良さを知ったように思います。
[PR]
by h5y1m141 | 2008-04-20 20:31

Yahoo のAPIを使った検索

ウェブ検索Webサービスのサンプルをほぼそのまま流用なんだけど、Yahoo で、派遣 CCNPというキーワードを使ってのソース。

#!/usr/local/bin/perl

#use strict;
use LWP::Simple;
use XML::Simple;


# Set your unique Yahoo! Application ID
my $appID = "xxxxxxxxxx";
my $query = "派遣 CCNP";

# Construct a Yahoo! JAPAN Web Search
my $base_url = "http://api.search.yahoo.co.jp/WebSearchService/V1/webSearch";
my $type = "all"; #alternates: any, phrase.
my $results = 100;
my $language = "ja";
my $results_sort = "rank"; #alternate: date.
my $req_url = "$base_url?appid=$appID&query=$query&results=$results";

$req_url .= "&language=$language&sort=$results_sort";

# Make the request
my $yahoo_response = get($req_url);

# Parse the XML
my $xmlsimple = XML::Simple->new();
my $yahoo_xml = $xmlsimple->XMLin($yahoo_response, ForceArray=>['Result']);

# Set some variables
my $out;
my $result_count = 0;

# Add the column header
my $totalresult = $yahoo_xml->{totalResultsAvailable};

# Loop through the items returned
foreach my $result (@{$yahoo_xml->{Result}}) {

$result_count++;
my $y_url = $result->{Url};
my $y_click_url = $result->{ClickUrl};
my $y_modificationdate = $result->{ModificationDate};
(my $sec,my $min,my $hour,my $mday,my $mon,my $year) = localtime($y_modificationdate);
$year += 1900; $mon++;
my $y_mimetype = $result->{MimeType};
my $y_cache = $result->{Cache}{Url};
my $y_cachesize = $result->{Cache}{Size};
if ($y_url eq "xxxxxxx") {
$out .= "○.$result_count.$y_url\n";
} else {
$out .= "$result_count.$y_url\n";
}
}

print $out;
[PR]
by h5y1m141 | 2006-06-21 16:49

CPAN設定にはまる

この間からすこしづつ、Macの環境を構築し始めていて、CPANのモジュールをインストールしようと思ったら、エラーになってしまっていて、エラーメッセージを見た感じ、最初の設定の際に、ダウンロード先のURLの指定がただしくなかったみたい。

なので、このサイトの以下の部分を参考にして、設定変更したら、直った。

値をURL リストから削除したい場合は、
cpan> o conf
cpan> o conf urllist pop 削除したい url名
cpan> o conf commit

値をURL リストに追加したい場合は、
cpan> o conf
cpan> o conf urllist push 削除したい url名
cpan> o conf commit

[PR]
by h5y1m141 | 2006-06-11 09:05