Archive for December, 2007

2007のおわり

December 31st, 2007  |  Published in Uncategorized

大晦日的なエントリを書いて今年を締めます。

このブログがどうだったかについて、Analyticsを眺めました。

2007.01/01 にはセッション数が1桁だったのが、2007.12/30には3桁になりました。 いくつかある山が、今年もっとも読まれたエントリたちを書いたときでした。

  • ApacheLogPatch
  • RubyでTwitter botを書く
  • Quicksilverプラグインのつくりかた
  • WordPress CalendarCloud plugin

こうした山をつくれると、あとはじんわりじんわりとサイトが成長していくことがわかりました。 これは今年一年の収穫であり、来年の座右の銘であるところのアウトプットし続けろ効果なんだなあと。

最初の山はApacheLogPatchですが、これをつくったきっかけとなったのはRuby会議2007に参加したことでした。 IRCのログが横を流れるプレゼンを見てて、「QuartzComposerでIRCを表示させたら派手で面白いんじゃ?」と思いついたのです。 こんな具合に、「みんながいるところに出て行って刺激を受け、ひとりで何かをつくって晒すことでまたみんなのフィードバックを得ることができ、以下繰り返し」という経験はまちゅさんが言うところ成長のサイクルだなあと実感します。 ひとりでずっと閉じこもっていた去年までと違って、ちょっとずつ外の世界を覗き出せたことが今年一番のよかったことだな、と。

来年はもっとあちこちに出て行ってはひきこもりを繰り返そう。いろんなものをつくって、たくさんの人に会おう。ということで来年もよろしくお願いします。

Tags: , review

漢字でタグづける

December 30th, 2007  |  Published in Uncategorized

今年もあと1.3日で終わりですね。はやい… 大掃除を終えて、2007年の年次レビューをしてました。RTM のタスクも、たくさんの積み残しがありました。これじゃいかんなぁと思いつつ、期限切れのタスクをすべて選んで(dueBefore:todayで検索する) pを押して一括延期させました。やれやれ。

あらたに期限とかプライオリティをつけ直していたのですが、ついでにタグ名も見直すことにしました。 これまで思いつくままにタグづけしてたので、実際にタスクを探すときに逆効果になってたんですよね。 とくにモバイル版から使うときが悲劇で、タグ数が多いとpagingされまくってしまうので何度も通信が発生してしまうという。

んで、見直し後のものがこちら。

漢字タグ

漢字で1〜2文字を使うだけでも、けっこう分かるものですね。省スペースにもなるしいいかも。 難を言えば、入力のときに補完ができないことですね。migemoグリモンみたいなことができればいいな。

2007につくったもの

December 27th, 2007  |  Published in 日常

2007のおすすめ記事x3を書きながら、 2007年ももう終わりだし、今年1年でつくったものをまとめておくことにしました。 以下時系列で。

  • rtmilk : Remember the Milk API のRuby ラッパー
  • RTMProgress : Remember the Milk の進捗を棒グラフで
  • cartesianTask : Remember the Milk のタスクを二次元座標にプロット
  • SocketReaderPatch : Quartz Composer で、Socketから読み込むGeneratorパッチ
  • IRC2QC : IRCのメッセージをQuartz Composerに表示
  • ApacheLogPatch : ApacheのログをQuarz Composerで tail -f する
  • RubyPatch : RubyCocoaでQuartzComposer CustomPatchをつくる
  • DokuWikiのタグクラウドをバックリンクにするパッチ
  • user_timeline_to_ical.rb : Twitterのuser_timelineからiCalendarをつくる
  • TwitterTimeTrack : Twitterにダイレクトメッセージで書き込んだメッセージをiCalendar形式でfeedするWebサービス
  • Twitter Bot by Ruby : RubyでTwitter bot を書く
  • cmd2twitter : コマンドラインの入力をすべてTwitterにpostする
  • WordPress CalendarCloud plugin : WordPressで、カレンダーをタグクラウドみたいにするプラグイン
  • QSTwitter : QuicksilverからTwitterにpostするプラグイン
  • Quicksilverプラグインのつくりかた
  • はてなハイクに投稿するシェルスクリプト

16個ですね。ちょっとしたものを思いついてはちゃちゃっとつくる、という姿が現れてます。 RTM → QuartzComposer → Twitter → Quicksilver と興味が移ってきているのが分かりますね。

来年は、もっと人の役に立つものをしっかりこつこつとつくっていこう。

Tags: まとめ記事

2007のおすすめ記事x3

December 27th, 2007  |  Published in 日常

304 Not Modified::【TB企画】あなたのブログの中でおすすめのエントリを教えてください2007

2007年にあなたが自分で書いた記事の中で「これはおすすめ」という記事を最大3つまで選んでトラックバック送ってください。その際、この記事へのリンクも貼ってください。

に釣られてみます。

  • cartesianTask : 2007.03/21
    • Remember the Milk のタスクを二次元座標にプロットするWebアプリ (の第3の習慣で言うところの第4世代時間管理ツール)
  • ApacheLogPatch : 2007.07/09
    • QuartzComposerをつかって、Apacheのログを派手にvisualizeしたもの
  • QSTwitter : 2007.12/13
    • QuicksilverからTwitterに投稿するプラグイン

こうして1年を振り返る機会を持ててよかった。

まなめさん結城さんに感謝です。

Tags: まとめ記事

Mozilla Weave

December 23rd, 2007  |  Published in CS

Mozilla Weaveは、 ブラウザが扱うデータ(ブックマークとか履歴、パスワードなんか) を あちら側に置くプロジェクト。 Mozillaがホスティングする .Mac みたいなものですね。 0.1リリースが昨日出たところなので、これから動きが活発になりそう。

.Macよりも進んでいるのは、以下の点:

  • Firefox3が使えるならMacだけじゃなくてWindowsだろうがLinuxだろうがプラットフォームを問わない
  • .Macはパーソナルなものを保存してるけど、Weaveはソーシャルに共有もできる。ソーシャルブックマークやGoogle Web Historyを実現できる基盤
  • 自分がつくるサービスでも使える

Weave自体はオープンなストレージで、プリミティブなAPIは用意しとくから どう使うかといったところはアプリにおまかせ! というスタンスですね。 あとはFirefox以外のブラウザでもサポートしてくれると素晴らしいんですけどね。 どうだろうな。

ユースケース を 読むとイメージが掴みやすいと思いますが、

  1. Get up and go – Rhian and Chris are going to meet their friends at a hip new restaurant in San Francisco. Rhian goes to the restaurant’s Web site to check out the menu and see where it’s located. Great, the site includes directions. She prints them out, and they hop into Chris’s car and head out. Duh! Rhian realizes she left the print-out at the printer (as usual). She fires up Firefox on her mobile phone. Because her mobile Firefox “knew” about what she had been browsing at her desktop, she only needs to type the first few letters of the restaurant name and she’s back at the Web site. They easily make their way to a great dinner.

それってiPhone/touch Safari + .Mac で今すぐできるんじゃないの? と。 iPhone/touch持ってないので分かんないのですが。

そんなにあっち側にもっていってしまったら、オフラインになったときどうするの? Google Gearsを併用するの? という疑問は当然でてきますが、 そのへんは Online/Offline eventsを利用すると。 del.icio.usのFirefox拡張が自動的に同期してくれる、ああいうイメージですね。 これは便利。

Weaveが広まると、ますます梅田さんのいうところの手ぶらの知的生産 () が加速しますね。データはますますあちら側へと。 だからこそ、こちら側のインターフェイス、インタラクションづくりが より重要になってくるはず。がんばろう。

Tags: web

WEB+DB PRESS Tech Meeting

December 22nd, 2007  |  Published in Uncategorized

WEB+DB PRESS Tech Meetingに当選した (ラッキー!) ので行ってきました。 はぐれメタルを倒したときくらいの経験値を獲得しました。 詳しいレポートは各所にたくさんあがってるので、自分の感じたことを書きます。 ひとことで言うと、アウトプットし続けよう !! ということ。

id:amachang

トップバッターということもあってか、あがってらした様子。

Javascriptでもアニメーション! という話がありました。 某次世代光ディスクも、実はインタラクティブなところ (メニューとかね) はECMAScript+XML Markupであり、 スクリプトからアニメーションを自在に操れたり、グラフィックスの描画ができたりするのです。 (see : Wikipedia::HDi) とかそのへんのことを、Web2.0ハカー(笑)な人たちに熱く語るのを忘れてた。しまったなー。

amachangを見てて思うのは、梅田さんのいうところの「正しいときに正しい場所にいる」はこれなんだと。 (see : ) やってることがほんとうに楽しくてしょうがなくて、それをがんがんアウトプットして晒け出してる。 そんなamachangの周りには人が集ってくるし、それがamachangをさらに輝かせてる。 そんな好きに没頭できる環境を得るには待ってちゃダメ。 自分からアウトプットしないと、いつまでも何も起こらない。

あと、懇親会でサインもらった! ありがとうございました。気さくさに惚れた。

はぶさん

インフルエンザだったにもかかわらず、 どんどんヒートアップするトークにすっかり魅了されました。

コミュニティに求めない、群れない

コミュニティはもちろんいいものだけど、そこに居るから何か良いことが起こると期待しちゃいけない。 最近群れよう運動を始めてる僕には耳の痛い話です。 かといって一匹狼になれ、というのも違う。 群れてダラダラくっちゃべってる暇があるなら、ひきこもって何かつくれ! というメッセージだと受け取りました。 アウトプットこそがあなたの求心力になりますよ、と。

で、ひきこもってアウトプットしまくるわけです。 それもふつうにやるんじゃなくて、64倍の生産性でやる。 働いてるときの僕はだいたい4〜8倍程度の生産性かなと思う。自分で言うのもアレですが。 でもそんなくらいじゃぜぇんぜん足りないと。 懇親会で話した人たちを見てると、それがよーーく分かります。 早く追いつき追いこさねば。

技術力とは、つくりたいものをきちんとカタチにできる力である

知識がいっぱいあることは必要条件でしかない。ただのもの知りさんなだけ。 自分がつくりたいもの、だれかが求めているものを、ささっと高品質につくることができる。 これが技術力の高い人ということでした。強くなるほどなと。 必要なものは以下でしょうか。

  • 豊富な知識 : アイデア、実現方法のため。大量のストック。
  • 具体的な経験 : 机上の空論からは何も生まれない。自分が手を動かしたことが血肉になってるはず。

ひろせさん

ロードバランサ。

コンパイラファームとか分散レポジトリに応用できないもんですかね? と懇親会のときに話しました。 帰ってから思いついたのは、なんらかのロギング機構とか。

あと、jabber.jpをやってる会社の中とのこと。 TwitterTimeTrackで、お世話になってます :)

岡島さん

とにかく話がおもしろかった。

Productive Bugsは、犠牲フライとか送りバントみたいなもの。 こういう見方はおもしろいなあと。リーダーの4分類も然り。 自分のバックグラウンドがしっかりしてて、深く掘り下げてるからこそ出てくる言葉、考え方があるんだろうな。

しかし、笑ってばっかりだったので内容がきちんと把握できてません。2008春に出る本を買います。

naoya x DK

はてなハイクの方で 双方向インタビューになるかといろいろ書き込んだのですが、面白いこと書けず自分の才能の無さにがっかりでした。

横の席にたつをさんが来られて、だいぶ緊張しました。めっちゃ汗かいた。 おかげで、QSTwitterを実演しそびれてしまった ><

ちょびちょびとXactiで撮影されてました。Xactiちっさくてよさそう。購入候補なんですよね。

懇親会

MOO MiniCards (again) !でも書きましたが、 名刺交換というソーシャルハックを実行してみました。 配ったカードは22枚、もらった名刺は13枚でした。

これまでオフ会とか打ち上げとかが苦手で、ぜんぜん馴染めずにしんどい思いをしてました。 ちょうどこんな感じの人間だったのです。 しかし、行ってよかったパーティで壁の花にならないための僕の方法話カン あたりに影響を受けて今回はちょっとがんばってみることにしたのです。

会場でTwitterやってたiogiさんに話しかけるところから始めて、 懇親会の会場では隣にいる人にかたっぱしから話しかけました。そしてMiniCardを渡すと。 自分のことを知ってる人にはほとんど出会えませんでしたが、会話のとっかかりにはなりました。 こういう場が苦手な人の多くは、何から話しかければいいのかな? とか考えてるうちに誰とも話せないという 悪循環を抱えてることと思います。 なので、シャイな人はMiniCardsつくって配ろうよ ! そして僕にもあなたの1枚をください。

懇親会でいちばん思ったのは、アイデンティティ重要だということ。

劣等感のカタマリな自分は、渡したMiniCardの行く末を想像していました。 「あー、これ誰だっけ。んー、思い出せないな。捨てちゃえ」とか、 「あー、あのよく分からなかった人のか。あとまわしだな」となってるカードばかりじゃなかろうか、と。 自分のカードのプライオリティを上げてもらうにはどうしたらよいのか。

やっぱり名刺交換したときには「あー、あのxxxの!」と言ってほしい。言わせてみたい。 最近は鳥のロゴでTwitterを荒らしまくってるおかげで、ロゴだけで分かってくださる方も少しはいました。 これもアイデンティティ。 なんですが、やっぱりつくったものが代名詞になるくらいじゃないと。「はてぶのnaoyaさん」みたいにね。 「さいきん何やってるの?」と聞かれたときに、スパっと一言で言おう。

そのために、とにかくアウトプットし続けよう。つくり続けよう。


ともあれ、とっても有意義な時間になりました。 当選させてくださった技評さん、そして、私と話してくれたたくさんの人に感謝感謝です。

Tags:

QSTwitter 1.1 (Quicksilver Twitter Plugin)

December 22nd, 2007  |  Published in hack

QSTwitter (Quicksilver Twitter Plugin) 1.1を公開します。

QSTwitter.zip をダウンロードしてダブルクリック!

変更点は、Twitterエントリの”from=…”のところに、”QSTwitter”が入る、というものです。ユーザーエージェントみたいなものですね。


おまけ : どうやって自作Twitterアプリでfrom=”…”に自分のアプリ名を入れるか

  • Twitterの中の人にメールを送る
  • 自分アプリで投稿するときに “source=YourAppName“というパラメータを追加
  • Twitter側の対応を待つ

でした。 僕の場合は、10日ほどで対応してもらえました。Twitterの中の人に感謝!

参考 :

Tags: , , , ,

MOO MiniCards (again) !

December 22nd, 2007  |  Published in Uncategorized

昨日の WEB+DB PRESS Tech Meeting 、楽しかった !

今回、僕の目標の1つは MOO MiniCards を配りまくるというものでした。 このライフハックを実行するため。 ところがどっこい、いまあるMiniCardsはblogのURL、ロゴが一昔前のもの。 これじゃいかんと、当日の朝に手で書き直しました。

隣りの席に座ってこられたたつをさんに渡したのを皮切りに、 懇親会でも酔いに任せてあちこちの人に渡しまくって22枚。もらっていただいた方々ありがとうございました。


ところが帰るとUKからの荷物で不在票がありました。なんてこったい。 さっそく取ってきました。 左の赤いのが古いもので、右の青いのが新しいものです。

ちゃんと、

Yay! You are our new best friend.

から

Hey! So nice to see you again.

と変わってたのがナイスでした。こういうのいいなー。自分がなにかつくったときにも、こうした細やかさを心がけたい。

中をあけて古いのと新しいのとを並べたもの。

ついでだったので、Supernanaという カードホルダーも買ってみました。$6.99。

青いやつね。左のは、Happy Holiday! とのことでおまけステッカーです。こういう具合に気がきくMOOが大好き。


注文を完了してから届くまで、10日でした。 MOO MiniCards は100枚でたったの$19.99です。 ふつうに送ってもらう場合、送料は$5.98。 合計で¥3,000程度なわけですよ。 これはぜひみんな買うべき。そしてどしどし交換しましょう :)

Tags: moo

はてなハイクに投稿するシェルスクリプト

December 15th, 2007  |  Published in hack

はてなハイクで遊び始めました。

コード


!/bin/sh



RKM='REPLACE WITH YOUR RKM' KEYWORD=$1 BODY=$2
curl http://h.hatena.ne.jp/entry -d rkm=$RKM -d "word=$KEYWORD" -d "body=$BODY" -b cookies.txt

実行例

% ./haiku.sh Test "test post from haiku.sh !"

メモ

  • ASCIIなキーワード、本文だけ
  • cookies.txtはFirefoxのprofileから、はてなでログイン済みのものをコピーしてきました

RKMの値は、はてなハイクのソースをブラウザから見て

input type=”hidden” name=”rkm” value=”xxxxxx”

のxxxxxxの部分にある文字列をコピペるとOKでした。


http://h.hatena.ne.jp/keyword/はいくハックでいろいろやってます。

Tags: はてな

Quicksilverプラグインのつくりかた

December 15th, 2007  |  Published in hack

Quicksilverでプラグインをつくる方法をチュートリアルにしてまとめました。

このチュートリアルを読むことで、以下のものがつくれるようになります。

  • 基本的なQuicksilverプラグイン
  • プラグイン用の設定画面
  • 設定画面からのデータ取得

目次

  • ここでの環境
  • 必要なもの
  • 準備
  • つくりはじめる
  • PreferencePaneをつくる
  • Actionのコードを書く
  • おわりに
  • 参照

ここでの環境

  • Mac OS X Leopard 10.5.1
  • Quicksilver B53 (3814)
  • Xcode 3.0

必要なもの

  • Quicksilver Develop版
  • Xcodeのテンプレート。ほんとは本家からダウンロードできるはずなんだけど、12/15現在ダウンロードできないので、から相当するものをします。

準備

ビルドできるようになるまでの準備をします。

1. ダウンロードしたXcodeのテンプレートをインストール

Xcode 3.0 からは、カスタムテンプレートを置く場所が /Developer/Library/Xcode/Project Templates/ になっています。 (VIRTUOSO VIRTUOSOのところでは、 /Library/Application Support/Apple/Developer Tools/Project Templates/ に置くよう書かれている)

ここでは、 /Developer/Library/Xcode/Project Templates/Bundle/Quicksilver Plug-in というパスになるように、zipを展開したディレクトリを置きます。

2. Xcode プロジェクトをつくる

1がうまくいっていれば、このように Quicksilver Plug-in が選択できます。

すすめると、こんな画面に。

このチュートリアルでは、設定画面 (PreferencePane) もつくるので、 QSInterface.frameworkにもチェックして、リンクされるようにしておきましょう。

3. Source Trees

プラグインをビルドするには、Quicksilverのフレームワークが必要です。 ダウンロードしておいたQuicksilver Developer版の中に、フレームワークがあるのでそこをXcodeに指定します。

XcodeのPreferencesを開き、Source Treesタブに移動して、画面のように設定します (Pathのところは、Quicksilver Developer版を置いた場所に読み替えてください。 例:/Applications/QS-dev.app/Contents/Frameworks)

つくりはじめる

フレームワークにのっかってビルドできるところまでいってみましょう。

4. Info.plist

さて、ここまでで準備が完了しました。 ここからは実際にプラグインをつくっていくことになります。

プラグインの情報のほとんどは、Info.plistに書くことになります。 .plistなファイルはXMLなので、Property List Editorで開くと編集にラクができます。

デフォルトのInfo.plistをProperty List Editorで開くと、次のような感じ。

個々のキー/値については、 や Plist Specification が詳しいです。 ここでは、最小限の設定項目を埋めていきます。

5. QSPlugin

プラグインについてのメタ情報を書きます。

Before | After:

6. QSActions

実際にプラグインが何をするかについての情報を書きます。 まず、QSActionsTemplateからQSActionsに名前を変えておきます。

nameのところの値をタイプすることで、Quicksilverからこのプラグインが呼ばれるので、 それっぽい値を入れておくとよいでしょう。

directTypesのところで、受けつける入力の種類を判定するぽいです。 ここでは “*”を指定してなんでもこいにしてみました。

Before | After:

7. QSRegistration

いろいろ設定項目はありますが、ここではPreferencePaneについて。 まず、QSRegistrationTemplateからQSRegistrationに名前を変えておきます。

QSPreferencePanesの中に、classを指定できるところがあります。 ここには、後でつくるPreferencePane用のクラス名を指定します。

Before | After:

8. ビルド

そろそろこのページを見ながらちまちまと作業をするのにも飽きてきたことででしょう。 ここらでビルドして、実際に動いてるのを見ようではないですか。

Xcodeでふつうにビルドすると、*.qsplugin というファイルが生成されます。 これがQuicksilverのプラグインなのですね。

ダブルクリックすると、Quicksilverに “プラグインをインストールする? “みたいに聞かれるのでYesで進みましょう。

9. 動いてるのを見る

「.」でテキスト入力モードにして何かうちこみ、TABでActionに移りましょう。 6.で設定してある名前を入力すればほら、いまつくったプラグインが呼び出せるではないですか! (とはいえ、いまのところ何もActionを実装していないので、実行したところで何も起こりません)

次に、QuicksilverのPreferenceを開いてみます。 左のリストに、いまつくったプラグインがあると思います。やったね !

PreferencePaneをつくる

ここからがお楽しみです。

10. PreferencePaneのクラスをつくる

File→Newから、Objective-C class をつくります。 ファイル名は、7で指定してたクラス名にするとよいでしょう。

を、QSPreferencePaneを継承するように書き換えます。

QSPluginTutorialPreferencePane.h:


import



QSPluginTutorialPreferencePane : QSPreferencePane { }

に、mainNibNameというメソッドを加えます。 このメソッドは、次につくるnibファイルの名前 (から.nibを除いたもの) を返すようにします。

QSPluginTutorialPreferencePane.m:


import "QSPluginTutorialPreferencePane.h"



QSPluginTutorialPreferencePane
-(NSString *)mainNibName { return @"QSPluginTutorialPreference"; }

ここまでのプロジェクトはこんな感じになるでしょう。

11. NIBをつくる

File→Newから、Window NIB をつくります。

12. File’s OwnerのクラスをPreferencePaneのクラスにする

このへんを 参考にして、File’s Ownerのクラスを、10でつくったクラスにします。

まず、QSPreferencePane.hと10でつくったクラスのヘッダファイルを、 NIBのウィンドウにドラッグ&ドロップします。

次に、File’s Ownerのオブジェクトを選択した状態でObject Identityの設定ウィンドウに行き、 Classを10でつくったクラス名にします。

13. File’s OwnerとWindowをつなげる

File’s OwnerのオブジェクトからCtrl+ドラッグしてWindowにドロップすると、 オブジェクトをつなげることができます。 Outlets _windowと出るので、_windowを選択しましょう。

14. コントロールを配置

好きなコントロールをWindowにつけましょう。 ここでは、シンプルなText Fieldコントロールをつけました。

15. 動かす

ふたたびXcodeでビルドし、.qspluginをつくり、インストールします。 QuicksilverのPreference→つくっているプラグインを選ぶと、ちゃんと右側にいまつくったText Fieldが 表示されることでしょう。やった !

16. バインドする

しかしこのままでは、設定画面で入力した値をどうやって使うのか分かりませんよね。 ここで、Cocoa Binding というテクニックをつかいます。

14で配置したコントロールを選択してBindngs設定ウィンドウに行き、次のように設定します。

  • Bind to: Shared User Defaults
  • Controller key: values
  • Model Key Path: 好きな文字列 (他のところからこの値を参照するときに使うキー)

ここでは、Model Key Path を QSPluginTutorial.someKey という値にしました。

Actionのコードを書く

したいことを何でも書くところ。

17. 入力 + 設定から得た値 => 出力

Actionのクラスの実装を書きます。 ここでは、入力された文字列に、PreferencePaneから得た値を組合せて、出力にすることにしました。 コードは以下のようになります。

QSPluginTutorialAction.m:

 QSPluginTutorialAction

  • (QSObject *)performActionOnObject:(QSObject *)dObject{ // get value from Preference Pane id values = [[NSUserDefaultsController sharedUserDefaultsController] values]; NSString *value = [values valueForKey:@"QSPluginTutorial.someKey"];

    QSObject *ret = [QSObject objectWithString: [NSString stringWithFormat:@"%@ hello, %@",[dObject stringValue], value]];

    return ret; }


18. 完成 !!!



長い道のりでしたが、ついにこれで終わりです。
ビルドし、インストールして、PreferencePaneから値を入れておきます。

テキストを入力し、Actionを選択して実行します。

もういちどQuicksilverを起動すると、入力のところに結果が入っています。やったね !

おわりに



Quicksilverでプラグインをつくる方法をチュートリアルにしてまとめました。
Quicksilver Twitter Plugin (日本語) で、Quicksilverのプラグインをつくっているとき、まとまった情報がない、情報が古い、日本語の情報が見当たらない、と何かと苦労してました。 このチュートリアルでQuicksilver野良プラグインを書く人が増えればいいなあと。 (そして素晴しいプラグインが増えて僕も幸せになれればいいなぁとw)
Catalogの扱い方とかまだ調べてみたいところがたくさんあるので、情報持ってる方いればぜひご連絡ください。

参照



Vacuous Virtuoso: ほぼ唯一のQuicksilverプラグインづくりの情報源。 基本はここを以下の順に読むとよいです。


docs.blacktree.com: 本家。でもドキュメントが散逸してます…
                
Tags: , ,