Archive for 11月, 2005

Flickrを使ってみます

金曜日, 11月 25th, 2005

 何ヶ月か前に携帯をW31Sにして、小ぎれいな写真が取れるようになったので、何かと噂のWebフォトアルバム Flickr を始めてみました。このブログの左側メニューとページ下部にあるアルバムのサムネイル表示(バッジ)から私のアルバムにあるPublicな写真を見ることができます。コメントも書けます。写真ごとに”友達だけに公開”とか”公開しない”とか設定できて、内輪だけで楽しむことも出来る。
 何年か前にPHPで写真掲示板のコードを書いたけど、そのときはFlickrみたいなのが出来るとは夢にも思いませんでした。こっちに移行したいが…。
 ちなみに、バッジを作る方法は Help / Frequently Asked Questions (FAQ) - 15. Can I make a badge for my website? 。”configure a dynamic badge of public Flickr photos” というリンクからウイザード形式でコードが作れます。このブログの下のほうにあるようなのが出来ます。



コードからリファレンスを作る

火曜日, 11月 22nd, 2005

 ここ2週間ほど、友人や学校の先輩や前の会社から仕事の依頼がどんどん入ってきてアワアワしてました。そのうち2つはだめになって、もうひとつは交渉中。仕事を頂くというのは難しいですね。でも、声を掛けて頂けるという事はとてもありがたいことです。今回はご協力できなくても、そこから枝葉が広がっていけば良いと思っています。

JavaでコードからAPIリファレンスを作る Javadoc というのがあります。フォーマットに沿ったコメントでメソッドやクラスの概要・引数・戻り値などを書いておくと、それらの情報をHTMLに吐き出してくれるというやつ。「多分.NETでもあるんだろうな~」と思っていたが、調べて実装するのを怠っていました。
リファレンスを作っておくと便利だし、納品物として要求するお客さんもいるかもしれないので、癖にしておこう。これからチェックアウトするソースはコメントを書き直す。

参考:@IT > Insider.NET > VS.NETによるチーム開発事始め > Visual C# .NETでAPIリファレンスを作る(前編)
よく見ると、Microsoft MVPの方々のソースは、ちゃんとフォーマットに沿ったコメントを書いてますね。参考になります。

2005/12/02追記
VS2003ではVBの”説明”はリファレンスに反映されないらしい。例えば

'/ <summary>
'/ メソッドの説明
‘/ </summary>
‘/ <param name=”aaaa”>引数の説明</param>
‘/ <returns>戻り値の説明</returns>

では太字の部分。時期バージョンではサポートされるとかされないとか。
Todo:2005が来たら試してみる。



積木で遊ぶように設計する

土曜日, 11月 12th, 2005

今日は友人と県立芸術会館で開催されているバウハウス・デザイン展に行って来ました。
 私は建築や工業デザインには詳しくないので、バウハウスについては Wikipedia - バウハウス をご覧ください。
 頂いたパンフレットから抜粋すると、バウハウスとは

  • ドイツ語で「建築の家」と言う意味です
  • 「建築の家」と言っても、実は造形学校の名前です
  • ・・・略

  • 1933年8月、ナチスによって閉校され、14年間しか存続しませんでした
  • と書いてます。戦前にドイツにあった工芸・建築・デザイン学校のようです。
     部屋をモジュール化してコストや納期を下げる、という建築の展示がありました。部屋を”部品”としてプロトタイプを作っておき、実際に家を建てるときは、お客さんの要件や要望を満たすようにいくつかの部品を合体させていけばよい、というもの。積木がいくつか置いてあって、それを組み合わせて色々な形を作る感じで一軒の家を作っていく、という展示でした。
     プログラム設計もこんな感じですよね。最初に型を作っておけば再利用し易い。休日だというのに仕事のことを思い出しました。



    プロトタイプ完成

    木曜日, 11月 10th, 2005

     じゃんぬねっとさんの助言や、他の方々からの助言のおかげで、なんとか.NETらしいVBのプロトタイプを書き上げることができました(まだコードはぼろぼろですが)。
     これから出来上がった書き方をどうやって他の人に伝えていくか。コードレビューでしょうか。
     でも、結局、オブジェクト指向で書いたコードより、今迄のコードの書き方が良い、と言われるのだろうなぁ…(私のコードがしょぼいのもあるが)。短絡的な視点からすると、確かに効率で言えば、そっちのほうが早いのだけど、先々のことを考えれば.NETとかオブジェクト指向とかを広めないと、と思っています。これからそういう仕事が増えるのは確実だから、会社全体がチーム開発にも慣れていかなければならない。



    全てのエントリが誰のものでもない

    水曜日, 11月 9th, 2005

     結城 浩 さんが Tropy というPerlのスクリプトを公開されました。
     現在、本家Tropyは負荷が掛かって停止中なのですが、クローンの Fropy に一文章をCreateしてみました。
     私がCreateした数時間後、その文章には、誰か知らない人の手によって、絶妙な一行が加えられていました。その”一行”は少し鳥肌が立つくらい的を射ていました。
     「知らない人」が私の書いた文章とランダムに出会い、一言付け加え、また私がその文章に出会い、ちょっとした衝撃を受ける。
     Tropy、面白いです。



    ファイルそのものでなく変更点の管理

    水曜日, 11月 9th, 2005

    PERFORCE
    ソース管理というか、一回の変更点を管理するソース管理ソフト。ソフトウェア構成管理ツール。詳細は未調査。本家は Perforce Software, Inc.。ライセンスの値段書いてないけど、高価いのかな?

    先週、帰鹿した際にAさんに教えていただいたツール。その他にもWeb技術とかの貴重なお話を伺い、とても勉強になりました。ありがたいです。



    うまみ成分が多過ぎると不味くなる

    木曜日, 11月 3rd, 2005

    昨日、NHKのためしてガッテンで豚汁をおいしく作るには?という趣旨の特集が組まれていた。
    私は豚汁を作る時に、

  • 具材を切って炒め
  • 水を加え
  • だしを入れ
  • 味噌と長ねぎを入れる
  • という工程を踏んでいました。あっさり豚汁を作るには間違った方法を取っていたようです。

    おいしい豚汁を作るには、おだしを入れてはいけないらしい。
    豚汁に含まれるうまみ成分は主に、グルタミン酸とイノシン酸という成分らしいのですが、これらのうまみ成分を多く入れすぎると、しつこい味になるそうです。豚汁には色々な具材が入っているので、さらにだしを入れる必要はない、ということ。

    コツは

  • 水から野菜を煮る
  • 熱湯から野菜を入れたり、炒めてから煮るより、うまみ成分が多くでる。このとき豚肉はまだ入れない。

  • だしや化学調味料を入れない
  • うまみ成分は具材から出るもので十分。

  • 豚肉は出来上がりの最後のほうに入れる
  • 豚肉は味噌を入れた後にいれる。あまり煮込まない。それから、豚肉は汁に入れる前に95℃のお湯に15秒くぐらせておく。余計な油が落ちてあっさりする。

  • 味噌は二回にわけて入れる
  • 野菜が煮えた後と、肉を入れた後。後に入れるときは、味を調整するつもりで入れる。

    先週、豚汁作ったばかりなのですが、また作ってみたくなりました。
    科学的な解説はガッテンのホームページに書いてます。
    それから、NHKは面白い番組作れるのだから、経営体制を立て直してがんばっていただきたい。



    PHP5インストールメモ

    火曜日, 11月 1st, 2005

    今更ながら、PHP5をWindows XPにインストール。そのときの作業メモを書いておく。GoodPic.com(金子 順さん)の PHP5 + Apache2 + windows XPでインストール を参考にさせて頂きました。

  • php5 をダウンロードする。今回ダウンロードしたのは Windows Binaries の PHP 5.0.5 zip package 。
  • Apache2をダウンロードする。apache_2.0.55-win32-x86
  • PHP5のインストール
  • ダウンロードしたアーカイブを解凍して出来るフォルダを”php”とし、私の場合はCドライブの直下に配置しました。フォルダの中のphp.ini-distというファイル名の-distを削除して、php.iniにリネームします。

    リネームしたphp.iniをエディタで開き、下記の項目を変更。ドライブやディレクトリは自分のマシン環境に適用してください。

    ; Directory in which the loadable extensions (modules) reside.
    extension_dir = C:phpext

    日本語はUTF8で扱うようにしておく。

    [mbstring]
    ; language for internal character representation.
    mbstring.language = Japanese
    
    ; internal/script encoding.
    ; Some encoding cannot work as internal encoding.
    ; (e.g. SJIS, BIG5, ISO-2022-*)
    mbstring.internal_encoding = UTF-8
    
    ; http input encoding.
    ;mbstring.http_input = auto
    
    ; http output encoding. mb_output_handler must be
    ; registered as output buffer to function
    mbstring.http_output = UTF-8
    ;extension=php_mbstring.dll

    のコメント(;)を外す。

    Windowsの”Path”環境変数に “C:\php” を追加。コマンドプロンプトで”php -i”と打ち込み、PHPの情報が表示されたらPHPのインストール成功。

  • Apache2でPHP5が動くように設定
  • ダウンロードしたインストーラでApcacheをインストールする。Apcahe2\conf\httpd.conf(私の場合、 C:\Program Files\Apache Group\Apache2\conf\httpd.conf )をエディタで編集する。
    以下の行を追加それぞれの既存の設定の下に追加

    LoadModule php5_module C:/php/php5apache2.dll 
    
    ScriptAlias /php/ "C:/php/"
    
    AddType application/x-httpd-php .php 
    
    Action application/x-httpd-php "/php/php.exe"

    Apacheを再起動する。
    PHP4ではphp.iniとphp4ts.dllをwindowsフォルダの下に置かなければならなかったが、5は置かなくてよいらしい。前にPHP4をインストールしたのを忘れていました。Apacheを再起動したとき、PHP4のphp.iniを読みに行っていたようで、「php_mbstring.dllが見つかりません」などと、ロードモジュールエラーが出ていた。

  • 確認
  • サンプルコード

    <?php @header('Content-Type: text/html; charset=UTF-8'); @header('Content-Language: ja'); ?>
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
    </head>
    <body>
    初めてのPHP5 <br>
    <?php print "日本語!n"; ?>
    </body></html>

    サンプルコードを index.php というファイル名で UTF-8 で保存する。
    デフォルトでは C:\Program Files\Apache Group\Apache2\htdocs にファイルを配置し、ブラウザから http://localhost/index.php にアクセスしてみる。

    20051101.gif

    できました~。

    2005/11/04 追加
    インストールした矢先にセキュリティ・ホールが発覚。
    $GLOBAL保護パッチ