Backnumber

June, 2006
May, 2006
April, 2006
March, 2006
February, 2006
January, 2006
December, 2005
November, 2005
October, 2005
September, 2005
August, 2005
July, 2005
June, 2005
May, 2005
April, 2005
March, 2005
Feburary, 2005
January, 2005
December, 2004
November, 2004
October, 2004
September, 2004
Augsut, 2004
July, 2004
June, 2004
May, 2004
April, 2004
March, 2004
February, 2004
January, 2004
December, 2003
November, 2003
October, 2003
September, 2003
August, 2003

- HMDT archive-
Feburary, 2005

Feburary 26

昨日は AUGM (Apple User Group Meeting) in Tokyo に参加してきた。そこで、シイラプロジェクトの話をしてきた。話はシイラプロジェクトの始まりから、シイラの特徴、そしてシイラのこれからを。持ち時間が 30 分だったので、さくっと軽い話を。

その場で、Columnist の発表をした Spread Your Wings! さんや、Ruby Cocoa で有名な kimuraw さんにお会いを。あ、ユーザグループなのに、なんか開発よりの人とばっかり会ってるし。いやいや、他にもいろんな方とお会いしました。

ちなみに、この AUGM で DT1 という群れエージェントに関する発表をした畝見先生は、実は学生時代にお会いしたことがありました。昔、A-Life 系の研究をしていたので、学会で一緒になりました。挨拶しようと思ったんだけど、タイミング会わず機会を逃してしまった。残念。

Feburary 25

昨日は、セミナー「Cocoa アプリケーションのためのソフトウェア・パターン」をやってきた。参加していただいた皆様、遅くまでお疲れさまでした。

セミナーの時間は 3 時間だったんだけど、ちょっと詰め込みすぎて、最後の方はだいぶ駆け足になってしまった。少し反省。プレゼンの時間を見積もるのは、難しいね。

セミナーの内容は、Cocoa でデスクトップ・アプリケーションを作る際のパターンを解説するもの。というより、「Cocoa のためのパターン」というものはいままで無かったので、提案に近かったかな。Cocoa での MVC パターンの使い方や、クラス構成をパターン化する、ということを話した。個人的には、とても面白くて、便利な考え方だと思う。実践例として、iCart は完全にこのパターンに則って作った。その結果、開発期間は結構短かったと思う(iCart の開発期間は 2 ヶ月)。実際、苦しんだのはドラッグ・アンド・ドロップ対応の NSBrowse を作るところとか UI 周りのところで、クラス構成は始めに決定したものから全く変更しなかったからな。

やっぱり、いろんな人と顔を突き合わせて話すのは、楽しかった。声さえかけていただければ、どこへでも出張してセミナーしますよ。次回のセミナー、「C++、Java プログラマのための Objective-C Cocoa 入門」もよろしく。

昨日のセミナーで、参考資料の紹介ということで、Cocoa の本を 5 冊ほど持っていって。どいつもこいつも、分厚くて重い本なんだよね。500 ページから 1000 ページぐらい。で、セミナーが終わって帰ろうと思ったら、夜雨が降っていた。重い本を紙袋に入れていたんだけど、雨に濡れてどんどんやぶれてくる。

しょうがないから抱きかかえていったら、途中で雪に変わるし。寒いわ、重いわ、で家に帰ったら腕があがりませんでした。

Feburary 24

シイラ Nighlty build 050224。

  • 検索フィールドの幅が変更可能。

公開当初から要望の多かった、検索フィールドの幅の変更。ようやく実装できた。ここまで遅れた理由は、難しかったから。でもやらなきゃいかんだろ、ということでやっとできた。

苦労して作っても、「Safari でできるじゃん」と言われれば、そこまで。その通りです。

Feburary 23

久しぶりに、シイラのビルド。Nighlty build 050223。

  • ファビコンが失われる問題の修正。
  • 国際化ドメイン名のフィッシング詐欺脆弱性への対策。

まず、ファビコンが消えていってしまう問題。いままでファビコンは Web Kit が渡してくれるものを使っていたんだけど、これだとどうしてもある時点で消え去ってしまうようだ。Web Kit のキャッシュが壊れるみたい。どうしようもないので、自分で取ってくることにした。Web Kit からは URL だけもらって、自分でダウンロードしにいっている。これで、だいぶましになったと思う。

もう 1 つは、IDN(国際化ドメイン名)がフィッシングに使われる問題への対応。ちょっと古い話になってしまった。Safari がどうするのかな、と思ってみていたけど、いまのところアクションなし。Firefox と Mozilla は次回リリースで無効化

無効化ってなぁ、おい。そりゃ、IDN 使われてないよ。おれだって使ってないさ。だけど、サクッと切り捨てやがって。これだから 1 バイト圏のやつらはな。2 バイトを扱う難しさと美しさが分かってない。この問題の解決は、2 バイト圏から提案しなくてはいけない。

ということで、対策してみた。IDN が使われているアドレスを表示すると、URL ロケーションバーに「IDN」ボタンを表示するようにした。これをクリックすると、生のコードが表示される。

たとえば、今回の問題のサンプルとして提示されている、「偽 paypal」を表示すると、こんな感じになる。

一見 paypal.com だけど、IDN ボタンが表示されているでしょ。これは、このドメインが IDN でエンコードされていることを示している。IDN ボタンをクリックすると、生のドメインを表示する。

これで、このドメインが偽装しているサイトのものである、という可能性が分かる。こんなもんで、どうでしょ。

追記)

Mozilla での IDN 機能無効化は回避、という記事を教えてもらいました。Thanks。でも Punycode をデコードして表示しないんだったら、IDN の機能の 9 割方が無効化されているも同然じゃないのか?

Feburary 19

きのうは九龍さんと飲み会。沖縄料理がおいしかったです。話題は blog のこと、Xserve のこと、PSP のこと、ドラクエ8のこと、その他いろいろ。泡盛をがんがん飲んでけっこう酔っぱらったけど、二日酔いにはならなかった。泡盛すてき。

今日も告知が一つ。来週の土曜日である 2/26 に、AUGM (Apple User Group Meeting) in Tokyo に参加することになりました。アップルがある、初台のオペラシティでやります。今回は「オンラインソフトウェア特集」ということだそうで、シイラの話をしにいきます。シイラのデモと、シイラプロジェクトの現在の状況でも話すつもり。

時間は 13:30 から 18:40 まで。詳細なスケジュールと申し込みは、こちらのページから。参加は無料だけど、登録が必要だそうです。興味のある方は、ぜひご参加を。

告知ページのシイラプロジェクトの紹介は、ちょっと煽り過ぎな気が。

Feburary 18

前に紹介した通り、今月の 24 日に Cocoaのセミナーをやるんだけど、もう一個やることになった。

同じく MOSA 主催のプログラミングセミナーで、タイトルは「C++、Java プログラマのための Objective-C Cocoa 入門」。今度は、Objective-C と Cocoa の初級セミナーだ。ただし、対象者は C++ か Java プログラミングの経験がある人。つまり、すでにオブジェクト指向を理解している人だ。

対象者を限定させてもらったおかげで、セミナーではオブジェクト指向の話は飛ばして、いきなり Objective-C の話に入る。そして、C++ や Java と比較しながら、Objective-C の姿を浮き彫りにしていこう、という狙いだ。同時に Cocoa 入門の話もする。これで、プログラマを無理なく Cocoa アプリケーション開発のスタート地点に誘導することができる。と、思う。他にはない、実践的でディープなセミナーになる。と、思う。

申し込みは、MOSA のこちらのページからできる。日時は 3/16(水)の 18:30 から 21:30 まで。前回と同じく、有料のセミナーで定員が 10 人。ご参加、お待ちしています。

Feburary 16

Apple で、今年の WWDC の告知が行われて、受付が開始されている。6 月 6 日から。今年もサンフランシスコらしい。今年も行くぞ!行かねば!まず、お金を貯めよう。

WWDC の副題は、「Spotlight on Innovation」。Tiger の Spotlight にかけているわけね。今年は Tiger 一色に染まるのでしょう。出荷もこの時期かな。

Feburary 14

iCart 1.1 をリリース!このバージョンでは、マーケットプレイスに対応した。これで、Amazon では取り扱っていなかった製品も、出品者から探せるようになった。

その他の新機能は、以下の通り。

  • 全検索のテーブル表示で、商品のカテゴリを表すアイコンを追加。
  • 「カートに追加」ボタンにポップアップメニューを追加することにより、追加する先のカートを選択可能。
  • ブックマークとカートでの項目の並べ替えに対応。
  • 洋書の検索で、「最近の出版年月の順番」でソートした際のバグを修正。

あと、テーブル表示で、いろいろな列でソートしたときにドラッグしたときのバグも修正。

マーケットプレイス対応を追加して、Amazon のマーケットプレイスをいろいろ見ていたけど、面白いね。Amazon では取り扱っていない、とんでもない本があったり。1 円で売られている本があったり(送料が無駄に思える)。Amazon で定価で売っているのに、それより高いユーズドを売っていたり(プレミアがつくものとも思えんし)。いや、面白い。物欲というか、試しに買ってみたい気にさせられる。まずい。

iCart のアフィリエイトの件に、いろいろなコメントを寄せていただいてありがとうございました。考えた結果、しばらくはこのままでいきます。原則は、アフィリエイトに関する説明、アフィリエイトが発生すると開発元が助かること、アフィリエイトを発生させない方法、をドキュメントに明記すること。

1.0 のリリース時にはばたばたしていて、アフィリエイトの説明をする FAQ のページが間に合わなかった。あのページを同時に公開できなかったのは、反省点です。

Feburary 9

iCart のページに、サポート用の掲示板を設置。不具合の報告や、機能の要望などを書き込んで下さい。

ちなみに、いま次のバージョン 1.1 の作業をしているけど、マーケットプレイスに対応する予定。

Feburary 4

iCart のページに、よくある質問を追加。ストアの対応状況、XML パースエラーの件、アフィリエイトの件をまとめた。

iCart は、これからも定期的にアップデートしていく。シイラと並ぶ、HMDT の柱の 1 つになったらいいなぁ。

シイラだって忘れちゃいませんぜ。ということで、シイラ nightly builde 050204。

  • 環境設定で、ファビコンの表示方法を細かく設定可能。
  • ファビコン非表示時のブックマークバーの表示を調整。

ファビコンは、ブックマークメニュー、ブックマークバー、検索エンジン、サイドバーで表示される。いままでは一括して表示する/しないだったけど、それぞれ設定できるようにした。さらに、ブックマークバーでファビコンを隠したときの表示を調節。これで、ブックマークバーにたくさんの項目を登録している人も、そこだけファビコンを隠して使うことができる。

Feburary 3

きのう公開した iCart、さっそくあちこちでご好評いただいてます。ありがとう!で、いくつかの質問に答えを。

まず、現在対応しているのは日本の Amazon、つまり Amazon.co.jp のみ。その他の国(アメリカ、イギリス、ドイツ、フランス、カナダ)は、iCart の将来のバージョンでの対応になる。これはインタフェースの拡張とテストが大変なんだけど、フランス語とか読めないし、やります。

次に、ときどき「XML パースでエラーが発生しました」と出たり、レビューが文字化けする件。これは、原則論で言うと、Amazon 側に問題がある。Amazon から送られてくる XML は UTF-8 でくるんだけど、書かれたレビューに UTF-8 でサポートされていない文字が入っていると、XML が文字化けしてしまう。Amazon のサポート掲示板にいって、この商品が化けると報告すれば、いちおう直してくれる。だけど、毎回報告に行くのも大変なので、クライアント側でもどうにか対処したい。検討中。

あと、iCart を経由して買い物すると、HMDT にアフィリエイトが発生する。このアフィリエイトは、iCart の次のバージョンや、シイラの開発資金になるので、iCart から買い物してくれたらうれしいです。ただ、「金なんぞびた一文やらねぇぞ!」という方でも、iCart で検索、ブラウズだけして、その後適当な Web ブラウザで買えば発生しないので、安心して使ってくれぃ。

Feburary 2

ひっさびさに新作の発表!「Amazon を探索する、最も効率的な方法」を提案する、iCart だ!今日より iCart 1.0 を公開!

iCart は、Amazon のサイトをブラウズするための、専用のアプリケーションだ。名前の通り、Apple の iApplication に似た使い勝手が特徴。Amazon での検索結果を、Finder のような、テーブル表示、アイコン表示、ジャンル・ブラウズ表示で見ることができる。独自のブックマークやカートを持っているのも特徴。詳しい説明は、iCart のページでどうぞ。

シイラみたいな汎用の Web ブラウザ以外にも、もう 1 つネットワークアプリケーションを作りたかったんだよね。なにかいい材料はないか、と思っていたときに、Amazon が ECS 4.0 (E-Commerce Service 4.0) でかなり本格的な Web サービスを公開した。ECS ってのは、XML を使って Amazon での商品検索を行えるサービス。ECS 4.0 になって、かなりの量の情報が提供されるようになったんだよね。この量は、はっきりいってすごい。

ここまで情報があるならば、Web ページからのリンクよりも、専用アプリケーションを作った方がいい。iCart で、Amazon と ECS を徹底的にしゃぶりつくしてやる!

きのう紹介した、Cocoa セミナーの件だけど、早速申し込みが来て、すでに定員(10 名)ぎりぎりだそうだ。だけど、もし一定の人数が集まるなら、別の日にも開催します!おそらく、翌週になるのではないでしょうか。ということで、定員になったとしても、興味ある方はどんどん問い合わせて下さい。

Feburary 1

いつの間にやら、二月になってた。

さて、唐突だけど、今度 Cocoa のセミナーをすることになった。

Mac のプログラマの団体である、MOSA 主催のプログラミングセミナーだ。MOSA では、最近 AppleScript セミナーや、QuickTime セミナーをやっていたけど、今度は Cocoa のセミナーだ。

セミナーのタイトルは、「Cocoa アプリケーションのためのソフトウェア・パターン」。中級者向けの内容になる。Cocoa を使ってデスクトップアプリケーションを作ってみると、いくつかのところで似たような「パターン」があることに気づくでしょ。または、最初は小さいアプリケーションのつもりだったのに、どんどん拡張していくうちに、クラスの設計が悪くてにっちもさっちもいかなくなることもある。そういうことを繰り返していると、中規模から大規模に耐えうるクラス構造の「定石」が見えてくることがあるでしょう。

こういった、パターンとか定石とか呼ぶような、ソフトウェアの暗黙知は、「ソフトウェア・パターン」という形でまとめられることがある。いちばん有名なのは、GoF の「デザイン・パターン」だよね。今回のセミナーは、Cocoa におけるこんなソフトウェア・パターンを解説しよう、というものだ。簡単に言えば、「Cocoa の定石教えます!」って感じだ。できるだけ、体系的にまとめて講義するよ。

開催日時は 2/24 の 18:30 から 21:30。詳しくは MOSA の告知文を見て下さい。有料です。興味のある方は、ぜひ。

で、セミナー告知文の講師プロフィールにちょっと書いてあるんだけど。最近、独立しました。会社辞めちゃいました。これで、いままでは Mac 日曜プログラマだったのが、Mac プープログラマになりました!うそです。一応、フリーランスプログラマって立場です。個人事業主で、事務所の名前は HMDT。他に良い名前思いつかなかった。領収書をもらうときは、アルファベットでエィチ・エム・ディ・ティです、っていうとちゃんと書いてくれる。

独立の目的は、もちろん Mac プログラミングに専念するため。ということで、最近は一日中どっぷり Mac プログラミングの日々。やっていることは、シイラの開発、セミナーの準備、書籍の執筆、独自プロダクトの開発、などなど。

シイラの開発には、前よりはるかに時間が取れるようになった。シイラがやってていちばん楽しいんだけど、いかんせんお金にならないからどうしても優先度が低くならざるを得ない。そこは難しいなぁ。

いっしょにお仕事しようという方や、開発案件のある方は、ぜひご連絡下さい。お仕事させていただきます。


[Home] [Download] [Archives] [BBS] [Cocoa Programming Tips 1001] [Core Foundation の秘密] [Safari Developer Center] [はじめてのブラウザのつくり方] [Sketch BP] [スクリーンセイバーを作ろう] [Objective-C 最適化] [Authorization API 完全理解] [Mac OS X Programming Books Review] [オブジェクト指向の言語比較論] [panther-dev]

mailto: mkino@xd5.so-net.ne.jp