2007-05-13 Sun
svchostでホストされているサービスの表示法
svchostプロセスでホストされているサービスの一覧を見る方法が、
紹介されていました。以下のコマンドをコマンドプロンプトに
入力するだけです。
Nothing ventured, nothing gained. - 知られていないsvchost.exe
C:\>tasklist /svc /fi "imagename eq svchost.exe"
svchostが、ものすごい勢いで動いているときに
何が起きているのかを知るヒントになりそうですね。
投稿者:としのり 日時:23:59:59 | パーマリンク | コメント | トラックバック() |
個人サービスを作るコツ
個人サービスを作るコツというエントリに良いことが書いてあります。
Web2.0ナビ: 個人サービスを作るコツ
個人サービスをつくるコツ
1.ブラウザのホームページを自分の作っている最中のurlに
2.ドメインを絶対に取る。せめてサブドメイン
3.1週間以内に終わるようにする
4.100やりたかったら、まずはコアな部分だけ10つくる
5.内容よりも出す事を重視する
6.綺麗なコードなんて必要ない
7.デザインは先に作る
8.サービスに名前をつける
1.ブラウザのホームページを自分の作っている最中のurlに
2.ドメインを絶対に取る。せめてサブドメイン
3.1週間以内に終わるようにする
4.100やりたかったら、まずはコアな部分だけ10つくる
5.内容よりも出す事を重視する
6.綺麗なコードなんて必要ない
7.デザインは先に作る
8.サービスに名前をつける
僕が実践すると上手くいくことを体で知っていることの多くが
まとまっているのですが、きちんとリストになっていると良いですね。
この中で、5と6だけは以下のように理解しなおしました。
- 5、「コアが少しできたら即公開する」
- 6、「コードを綺麗に書くことが目的ではない」
サービスの名前は方向性が決まったときに、
ほとんどノリで付けてしまいますね。
「100のうち10」という表現が好きです。良いなと思いました。
投稿者:としのり 日時:23:59:59 | パーマリンク | コメント | トラックバック() |
エンジニアがすなる'Fizz-Buzz'といふもの
エンジニア以外はあまり気にならないはずの、
'Fizz-Buzz問題'という言葉があります。
最近良く目にしますよね。ね。ね。
どうしてプログラマに・・・プログラムが書けないのか?
これはイギリスの学校の子供たちがよくやっている遊び(というかやらさ
れている遊び)にちなんで名付けた。Fizz-Buzz問題の例はこんな感じだ。
ちゃんとしたプログラマであれば、これを実行するプログラムを2分とか
からずに紙に書き出せるはずだ。
れている遊び)にちなんで名付けた。Fizz-Buzz問題の例はこんな感じだ。
1から100までの数をプリントするプログラムを書け。ただし3の倍数のと
きは数の代わりに「Fizz」と、5の倍数のときは「Buzz」とプリントし、3と5
両方の倍数の場合には「FizzBuzz」とプリントすること。
きは数の代わりに「Fizz」と、5の倍数のときは「Buzz」とプリントし、3と5
両方の倍数の場合には「FizzBuzz」とプリントすること。
ちゃんとしたプログラマであれば、これを実行するプログラムを2分とか
からずに紙に書き出せるはずだ。
この問題が気になったので自分でFizz-Buzzを書いてみることにしました。
結果として、Fizz-Buzzからは、やってみることの価値を感じました。
何事も、やってみた後は他の人の技術から吸収できる量が増えます。
まだFizz-Buzzしてない人は軽くやってみると良いのでは。
Fizz-Buzz問題にPerlでとりくんでみた
最初の2分以内に書いたコード
正直ションボリ。かなり長いです。書けたけど如何なものか的な。
しかも時間に追われて、このコードが出てくるあたりが微妙です。
for (my $i = 1; $i<=100; $i++1){
my $str = ;
if(0 == $i%3){
$str .= 'Fizz';
}
if(0 == $i%5){
$str .= 'Buzz';
}
unless($str){$str = $i;}
print("$str\n");
}
my $str = ;
if(0 == $i%3){
$str .= 'Fizz';
}
if(0 == $i%5){
$str .= 'Buzz';
}
unless($str){$str = $i;}
print("$str\n");
}
普段から無駄なコードを省く努力をしなくては。
まずはforを簡略化
forはPerlなら、以下のように短く書けるので書きます。
for my $i (1..100){
my $str = ;
if(0 eq $i%3){
$str .= 'Fizz';
}
if(0 eq $i%5){
$str .= 'Buzz';
}
unless($str){$str = $i;}
print("$str\n");
}
my $str = ;
if(0 eq $i%3){
$str .= 'Fizz';
}
if(0 eq $i%5){
$str .= 'Buzz';
}
unless($str){$str = $i;}
print("$str\n");
}
次にifを短くする。
次に、if文の括弧が目に付くので取ります。
ifの条件を囲む括弧も取れますが、
条件には括弧が付く方が好みなので、そのままにします。
for my $i (1..100){
my $str = ;
$str .= 'Fizz' if(0 == $i%3);
$str .= 'Buzz' if(0 == $i%5);
unless($str){$str = $i;}
print("$str\n");
}
my $str = ;
$str .= 'Fizz' if(0 == $i%3);
$str .= 'Buzz' if(0 == $i%5);
unless($str){$str = $i;}
print("$str\n");
}
unlessを取る。
単に$strが空のときに対応するだけなので、
unlessとprintの行は1行にできます。
for my $i (1..100){
my $str = ;
$str .= 'Fizz' if(0 eq $i%3);
$str .= 'Buzz' if(0 eq $i%5);
print $str || $i;
}
my $str = ;
$str .= 'Fizz' if(0 eq $i%3);
$str .= 'Buzz' if(0 eq $i%5);
print $str || $i;
}
最初より断然分かりやすくなりました。
これ以上、コード量を少なくすると何をやっているのか、
混乱する気がするので、僕はこのくらいで良いかな。
Fizz-Buzz問題にとりくんだ感想
Fizz-Buzz問題の解法は無数に考えられます。
僕のコードよりも洗練されたコードを書いている人は多いです。
僕は彼らを尊敬します。
すごく簡単なコードを、さらに洗練しようと努力することが、
自分の実力を大きく引き上げることにつながることを体感できて
うれしかったです。
良くしよう、短くしようとすることが楽しくて仕方がない!
Fizz-Buzz問題に取り組まれた方の資料
- TAKESAKO @ Yet another Cybozu Labs: FizzBuzz - Golf Challenge
takesakoさんの記事が大変にまとまっているので、
この記事だけ読めば、大体のことが分かると思いました。
この手の問題は、今後もチャレンジしよっと。
最初に書いたショボいコードも隠さずに見せたいと思います。
それで、数年後に自分で見てウヒーとなる予定です。www
投稿者:としのり 日時:23:59:59 | パーマリンク | コメント | トラックバック() |
