2008年3月29日土曜日

オススメ!「英日、日英翻訳のブックマークWidget」

紹介するまでもないしれませんが、F-shinさんの「英日、日英翻訳のブックマークWidget」がすごく便利です!

ブックマークレットなので、ブラウザに登録しておくだけで簡単に英日、日英翻訳ができるようになります。また、使い方によっては辞書的な使い方もできます。翻訳のエンジンは、先日公開されたばかりの「Google AJAX Language API(メモ:マイコミジャーナルの記事)」を利用しています。詳しくは「ブラウザにオーバーレイするブックマークレットWidget各種」の3.に書かれています。なお、ブックマークレットはココから登録できます!


このブックマークレットの使い方は簡単です。登録したブックマークレットをクリックすると、ブラウザ内にWidgetが起動します。あとは翻訳したい文字列をマウスなどで選択するだけです。自動的に日英、英日翻訳してくれます。また、単語の意味を調べたい場合は、単語をダブルクリックするだけでもOKです。


↑Widgetはこんな感じで表示されます。「選択中の文字列が変更」+「5秒毎のタイマー」で翻訳が実行されます。


手軽に利用できるので、ブックマークに登録しておいて損の無いサービスだと思います!

Security Update 2008-02 V1.1 (Leopard)

先日「Security Update 2008-02 V1.1 (Loepard)」がリリースされましたが、なぜか私の環境では「ソフトウェアアップデート」から適用できませんでした。そもそもV1.1に更新されたと認識できなかったです。

結局、オフィシャルのページからパッケージをダウンロードして、インストールしました。一応、「全てのユーザ」に推奨されるアップデートのようなので、まだ適用していない方は、コチラからどうぞ。


セキュリティ系のアップデートは「ソフトウェアアップデート」から適用できるようにして欲しいなぁ...。

2008年3月26日水曜日

Quick Lookで画像を拡大する方法

もう既にご存じの方も多いと思いますが、Quick Lookにはプレビュー中の画像を拡大表示する方法があるのですね!私は、ASCII.jpさんの「OS Xクイズ」で初めて知りました...。

拡大(Zoom In)する方法は簡単です。Quick Lookで画像のプレビュー中に「Optionキー+クリック」するだけです。クリックした場所(虫眼鏡のカーソル)に向かって拡大していきます。逆に縮小(Zoom Out)するには「Option+Shiftキー+クリック」です。

記事中でも少しだけ取り上げられていましたが、「Optionキー+マウスホイール」でも画像の拡大/縮小をする事が出来ます。マウスホイールを上方向に転がすと拡大、下方向に転がすと縮小されます。(個人的にはコチラの操作の方が直感的なので好みですw)

また、画像を拡大して「Optionキー」を離すと、マウスカーソルが「虫眼鏡」から「十字矢印」に変わります。この状態でマウスをドラッグすると、画像の位置を調整する事が出来ます。この機能もあるので、簡単に目的の箇所を拡大表示させる事が出来ると思います。


Quick Look、想像以上に高機能ですね!まだまだ知らない機能がたくさんありそうなので、また紹介したいと思います。

2008年3月22日土曜日

SafariでWebアプリケーションを開発する時にオススメな設定

最近、Safariネタが異常に多いのですが...。気にせずに、今回もSafariネタです!

Webアプリケーションを開発している方は、Safariの「環境設定...」→「詳細」→「メニューバーに”開発”メニューを表示」にチェックを入れる事をオススメします。この設定を行うと、SafariでもFirefoxのアドオン「Firebug」と同じような機能を利用できるようになります。(Windows版のSafariからも利用できます!)


↑チェックを入れると、メニューバー「ブックマーク」と「ウィンドウ」の間に「開発」が表示されます。


これは、Safari3.0.4までの「Debug」に相当します。以前は、ターミナルで
defaults write com.apple.Safari IncludeDebugMenu 1
などと入力する必要があったのですが、Safari 3.1では、環境設定から簡単に表示/非表示を切り替える事ができるようになりました。また、プロパティは「IncludeDevelopMenu」に変更されたようです。

Safari 3.1の「開発」は、メニューも日本語化され、機能面でも強化されています。手軽に利用できるようになったので、一度試してみる価値はあると思います。

ここからは、「開発」から実行する事ができる主な機能をいくつか紹介したいと思います。先のエントリでも紹介した「Notes Demo」にアクセスした状態で、Safariのメニューバー「開発」→「Webインスペクタを表示」を実行すると、次のような画面が表示されます。


↑Webインスペクタの画面。ここから様々な機能を利用できます。


Safari 3.1のWebインスペクタでは、クライアント側のデータベースを表示する機能や、ネットワークの転送状況を視覚的に表示する機能が追加されています。


↑クライアント側のデータベースからデータを表示。SQL文を実行する事もできる。



↑ネットワーク画面。このページを表示するために掛かったサイズ、時間をそれぞれ視覚的に表示させる事ができます。(もう少し複雑なページで見るともっとキレイですw)


これ以外にもユーザエージェントを指定してページを開いたりする事もできます。という訳で、「開発」をメニューバーに追加すると、Webアプリケーションを開発する時に役立つ様々な機能を利用できるようになります。正直、私も使いこなしているとは言えないのですが、これなら「Firebug」を頼らずに済むかもしれない...と思い始めました。これから積極的に利用してみようと考えています。

Safari 3.1の「Client-side Database Storage」を試してみた。

Safari 3.1がリリースされました。このバージョンでは、HTML5の仕様の一部が実装されています。その一つに「Client-side Database Storage」があります。仕様(Working Draft)はココで確認できます。

なかなか面白そうな機能だったので、ちょっと試してみました。情報源は、WebKitの開発ブログ「WebKit Dose HTML5 Client-side Database Storage」とサンプル「Notes Demo」です。


■データベースは「なに」を使っている?
SQLite」です。


■データベースは「どうやって」確認する?
今、Safariが管理しているデータベースに関しては、メニューバー「Safari」→「環境設定」→「セキュリティ」→「データベースの表示」から確認する事が出来ます。また、ここからデータベースの削除を行う事もできます。


↑「データベースの表示」をクリックすると、データベースの一覧が表示される。「取り除く」を実行するとデータベースファイルが削除されます。(物理的に消えます)


■データベースは「いつ」作成されるのか?
これは、javascriptで「openDatabase()」が実行された時です。(これはSQLiteっぽいですね!)


■データベースは「どこ」にあるのか?
「~/Library/Safari/Databases」以下です。もう少し詳しく紹介すると、管理用のデータベース「~/Library/Safari/Databases/Databases.db」とドメイン毎に実データを格納するデータベースが存在します。例えば「Notes Demo」にアクセスしていた場合、「~/Library/Safari/Databases/http_webkit.org_0/0000000000000001.db」がデータベースの実体になります。(ファイル名は異なるかもしれません。)

という訳で、クライアント側のデータベースをクロスドメイン対応する事は、出来ない or 何らかのテクニックが必要になると思われます。

※このディレクトリ、ファイルはSafariが自動的に管理(作成、削除)されるので、利用するだけなら意識する必要ありません。一応、念のため。


■「Databases.db」ってどんなデータベース?
クライアント側のデータベースを管理するためのデータベースです。Safariで操作した時やjavascriptの「openDatabase()」を実行した時に更新されているようです。また、このデータベースには、テーブル「Databases」と「Origins」が含まれています。「Notes Demo」にアクセス済みの状態で、「.schema 〜」と「select * from 〜」を実行した結果をまとめてみました。
  • 「Databases」のスキーマ
    CREATE TABLE Databases(
    guid INTEGER PRIMARY KEY AUTOINCREMENT,
    origin TEXT,
    name TEXT,
    displayName TEXT,
    estimatedSize INTEGER,
    path TEXT
    );
  • 「Databases」のデータ
    1
    http_webkit.org_0
    NoteTest
    HTML5 Database API example
    200000
    0000000000000001.db
  • メモ
    - 「guid」は、オートインクリメントされる数値で、データベースのファイル名と関連しているようです。
    - 「origin」は「(プロトコル)_(ドメイン名)_(ポート)」の書式です。また、ポートの指定が無い時は「0」となります。(80番の時に「0」になるのかも...)
    - 「name」はデータベースの名前で、大文字、小文字は区別されます。
    - 「displayName」はSafariの「データベースの表示」の「名前」として表示されます。
    - 「estimatedSize」はまだよく分かっていません...。
    - 「path」はデータベースのファイル名です。00...が付いて16桁になりますが、「guid」と同じ値です。

  • 「Origins」のスキーマ
    CREATE TABLE Origins (
    origin TEXT UNIQUE ON CONFLICT REPLACE,
    quota INTEGER NOT NULL ON CONFLICT FAIL
    );
  • 「Origins」のデータ
    http_webkit.org_0
    10485760
  • メモ
    - 「origin」は「Databases」表の「origin」と同じデータ。ただし、制約が付けられているところをみると、コチラがマスターデータと思われます。
    - 「quota」はSafariの「データベースを表示」→「最大サイズ」で設定した値が入る。データベースの容量制限に用いられる思われます。

■「0000000000000001.db」ってどんなデータベース?
クライアント側のデータベースです。ここに実データが格納されます。また、データを格納するテーブルとは別に「__WebKitDatabaseInfoTable__」が作成されます。これも管理用テーブルのようです。
  • 「__WebKitDatabaseInfoTable__」のスキーマ
    CREATE TABLE __WebKitDatabaseInfoTable__ (
    key TEXT NOT NULL ON CONFLICT FAIL UNIQUE ON CONFLICT REPLACE,
    value TEXT NOT NULL ON CONFLICT FAIL
    );
  • 「__WebKitDatabaseInfoTable__」のデータ
    WebKitDatabaseVersionKey
    1.0
どうもデータベースの「バージョン」に関係しているようですが、現時点では詳細不明です...。


■JavaScriptからデータベースにアクセスする方法は?
Notes Demo」のソースコードが参考になると思います。データベースの初期化処理、CRUD全てを網羅していて、サンプルとして非常によく出来ていると思いました。ポイントとなりそうな箇所をピックアップしてみました。
  • データベースを開く処理(57行目〜64行目)
    try {
    if (window.openDatabase) {
    db = openDatabase("NoteTest", "1.0", "HTML5 Database API example", 200000);
    if (!db)
    alert("Failed to open the database on disk. This is probably because the version was bad or there is not enough space left in this domain's quota");
    } else
    alert("Couldn't open the database. Please try with a WebKit nightly with this feature enabled");
    } catch(err) { }

    window.openDatabaseでクライアント側のデータベースを利用できるか判定しています。

    openDatabae()の引数は左から、「データベース名」、「バージョン」、「ディスプレイ名」、「サイズ」です。データベースを開くには、「データベース名」だけでもOKです。その場合、ディスプレイ名などは「undefined」や「0」などが設定されます。(openDatabase()される時に管理情報が更新されています)例えば、Safariから管理する時にデータベースの名前が「undefined」と表示されてしまうので、実際には設定した方が良さそうです。

  • データベースの初期化処理(287行目〜298行目)
    function loaded()
    {
    db.transaction(function(tx) {
    tx.executeSql("SELECT COUNT(*) FROM WebkitStickyNotes", [], function(result) {
    loadNotes();
    }, function(tx, error) {
    tx.executeSql("CREATE TABLE WebKitStickyNotes (id REAL UNIQUE, note TEXT, timestamp REAL, left TEXT, top TEXT, zindex REAL)", [], function(result) {
    loadNotes();
    });
    });
    });
    }

    executeSql()の引数は、左から「SQL文」、「バインド変数の配列」、「コールバック関数」、「エラー発生時のコールバック関数」です。

    初回アクセス時、SQL文「SELECT COUNT(*) ...」を実行しても、まだテーブルも作られていない状態なのでエラーが発生します。その場合、エラー発生時のコールバック関数が実行され、「CREATE TABLE ...」でテーブルが作成されるようになっています。

  • データベースのCRUD
    - C(INSERT文):230〜233行目
    db.transaction(function(tx) {
    tx.executeSql("SELECT id, note, timestamp, left, top, zindex FROM WebKitStickyNotes", [], function(tx, result) {
    for (var i = 0; i < result.rows.length; ++i) {
    var row = result.rows.item(i);
    var note = new Note();
    note.id = row['id'];
    note.text = row['note'];
    note.timestamp = row['timestamp'];
    note.left = row['left'];
    note.top = row['top'];
    note.zIndex = row['zindex'];

    if (row['id'] > highestId)
    highestId = row['id'];
    if (row['zindex'] > highestZ)
    highestZ = row['zindex'];
    }

    if (!result.rows.length)
    newNote();
    }, function(tx, error) {
    alert('Failed to retrieve notes from database - ' + error.message);
    return;
    });
    });

    - U(UPDATE文):219〜222行目
    db.transaction(function (tx)
    {
    tx.executeSql("UPDATE WebKitStickyNotes SET note = ?, timestamp = ?, left = ?, top = ?, zindex = ? WHERE id = ?", [note.text, note.timestamp, note.left, note.top, note.zIndex, note.id]);
    });

    - D(DELETE文):178〜181行目
    db.transaction(function(tx)
    {
    tx.executeSql("DELETE FROM WebKitStickyNotes WHERE id = ?", [note.id]);
    });
    いずれも、executeSql()で実行されます。SQL文の「?」はバインド変数を意味します。また、「?」の出現位置と2番目の引数で渡される配列の位置がマッピングされます。


以上、Safari3.1の「Client-side Database Storage」に関して、調べた事をまとめてみました。まだ手探りな状態なので、推測ベースの情報が多く含まれています。その点はご了承下さい。

2008年3月19日水曜日

Safari Stand 3.1L160へのバージョンアップは必須!?

Safari 3.1でSafari Standを利用する場合、Safari Stand 3.1L160以降へのバージョンアップはすぐに行った方が良いと思います。

私の場合、こんな問題が発生していました。Bloggerのブログエディタで、イメージを挿入するボタンが利用できなくなってしまいました。ボタンを押しても全く反応しない...。この問題は、既にSafari Stand 3.1L160で「暫定」ながら解決しています。Safari Stand 3.1L160をインストールしたらイメージ挿入ボタンも機能するようになりました。


という訳で、Safari Standを使っている方は、早めにバージョンアップした方が良いでしょう。Safari Standのダウンロードはコチラから、どうぞ。


(追記)Safari Stand L161がリリースされました。「暫定」も取り払われています!

2008年3月18日火曜日

Safari 3.1がリリースされました。

ようやくSafari3.1がリリースされましたね。 詳しい情報はコチラで、ニュースリリースはコチラで確認できます。

やはりjavascriptが速いです。「Javascript speed tests」を実行してみたところ、Safari3.0.4の時「611ms」掛かっていた処理が「221ms」で終了しました。3倍速い、とまで言えませんが、かなり速くなっていると思います。(以前、測定した結果はコチラで確認できます。)

20080318_javascript_speed_tests_safari31
↑Safari 3.1での「Javascript speed tests」実行結果


なお、Safari3.1をインストールした場合、「Keywurl」(紹介した記事はコチラ)に問題が発生しました。Safari起動時にエラーが表示され、利用できませんでした。Safari 3.1を利用する場合、「Keywurl」は、一旦削除した方が良いかもしれません。
(追記)Keywurl 1.3.4がリリースされました。このバージョンはSafari3.1対応です。

2008年3月16日日曜日

気温の上昇とともに...

もう春ですね!

昨日は本当に暖かく、日中はうっすらと汗が滲むような陽気でした。気が付けば、桜の蕾もすごく大きくなっていて、冬の終わりを感じます。特に今年の冬は寒かったな〜思っているので、私としては歓迎なのですが、Macbookにとってはそうでもないようですw

室温が上がった状態で使用していたら、ファンが回りっぱなしでした。これは、精神衛生上よろしくないので、来る春、夏に向けてそろそろ「熱対策」を考え始めなければ、と思いました。

という訳で、webを調べていたら「OSXハッキング!( 240)」に参考になりそうな記事が掲載されていました。個人的に興味深かったのは、Macでは物理的な方法だけではなく、アプリケーションからファンコントロールする方法が利用できる事です。Windowsでファンコントロールというと、BIOS弄ったり、専用のデバイス取り付けたりするイメージがあって、正直手が出しにくかったのですが...。これなら簡単に扱えそうです。記事中で紹介されていた「iCyclone」はなかなか面白そうです。(オススメできるかどうか、まだ判断つきませんけど...)


他にも、COOLなデバイス、アプリケーションなどがあれば、是非教えて下さい!

2008年3月14日金曜日

Safari Stand L159の新機能- History Flow

Safari Stand L159がリリースされました。このバージョンには、新機能「History Flow」が実装されています。これまた本当に凄いです!

「History Flow」は、その名の通り「Safari 履歴」をカバーフローで表示してくれる機能です。視覚的に分かりやすいだけでなく、文字からも検索する事も出来るので、「ちょっと前にwebで見た気がするんだけど...」という情報を探すのに最適だと思います。


↑「History Flow」のインタフェース


また、意外にも...と言ったら失礼だと思いますが、「History Flow」は軽快に動作します。これは私の環境だけかもしれませんが、Safari標準の「履歴」と比べると圧倒的に快適です。私の環境では、Safariの「履歴」を見る時、数秒ほど固まってしまうことがあります。「History Flow」ではそのような事は無く、レスポンスが良いところも気に入っています。

もし「History Flow」を気に入ったら、「ツールバーのカスタマイズ...」で「History Flow」ボタンを追加しておくとすぐにアクセスできて便利ですよ!




以下、若干蛇足気味ですが、実際に使う時に注意した方が良いかも、と思ったところをメモしておきます。「History Flow」を使うには、Safari Standの設定で「Enable Thumbnail Cache」にチェックを入れておく必要があります。


↑Safari Standの設定画面


Thumbnail Cacheが有効になると、「~/Library/Caches/SafariStand/thumbnail.noindex」以下にサムネイル(jpg)が保存されます。「Image Size」が320pxの場合、1枚あたり20kb程度のサイズになります。今のSafari Standでは、サムネイルの削除が行われません。チリも積もれば...という訳で放っておくと結構ディスクを圧迫します。という訳で、古いサムネイルは削除or移動する事を検討した方が良いかもしれません。

手軽にカッコイイ動画が作れるサービス - ANIMOTO

ANIMOTO」は、以前から話題になっていたサービスのようですが、TechCrunchの記事で始めて知りました。

早速試してみたのですが、これは確かに凄いですね!既にFlickrなどの写真サービスを利用している方なら、完全に「あちら側」だけでミュージックビデオの作成から公開まで完結してしまいます。

ミュージックビデオの作り方は、説明する必要も無いのですが...
  1. 写真の選択
    アップロードするか、Flickrなどのサイトからロードする事が出来る
  2. 音楽の選択
    アップロードするか、ライセンス済みの曲(様々なジャンルから合計100曲!)から選択する事が出来る
  3. コーヒーを飲んで待つ
    どうも曲を解析して、音楽に合わせて写真を動かしているようです。そのため、少し時間が掛かります。(といっても、30秒のビデオの場合、3分も掛からなかったような...)
これだけです。という訳で、私もミュージックビデオを作ってみました。以前「iPhotoを使ってみた!」シリーズで作ったスライドショーと同じ素材を使っています。(ANIMOTOの無料利用の場合、30秒の制限があるので少し写真を減らしてあります)

↑他の方の作品を見て思ったのですが、もう少しアップテンポな曲を選べば、スライドの動きも激しくなったかもしれないですね...。


また、先日ニュースにもなっていましたが、Youtubeが新しく公開したAPIのおかげで、簡単にアップロードできるようになっています。ボタンを一つ押すだけでOKでした。最終的にYoutubeで公開したい!という場合は、iPhotoでスライドショーを作って、動画に書きだして...とやるより、ANIMOTOの方が圧倒的に楽チンだと思いました。


ANIMOTOでは、30秒までのミュージックビデオは無料で作成できるので、興味を持たれた方は一度試してみると良いと思います。30秒以上のビデオを作成したい場合は、「$3」です。この値段の付け方も絶妙だな〜と思います。個人的に興味深いサービスだったので、これからも注目していきたいと思っています。

2008年3月13日木曜日

Gimpより「Mac」な感じの画像編集アプリケーション - ChocoFlop

本当は、「Gimpよりx倍使いやすい〜」とか「もうPhotoshopは必要無い〜」とか、こんな感じのタイトルが付けられれば良かったのですが...。普段、画像編集アプリケーションを使っている訳では無いので、機能面での判断基準が全く無く、消化不良気味のタイトルですみません。ただ、少し使ってみて、コレはイイカモ!と思ったので、自分用ブックマーク的にエントリを書いています。

Macで画像編集するには「Chocoflop」というアプリケーションがなかなか良さそうです。おそらく機能面では「Gimp」の方が豊富だと思うのですが、残念ながら「Mac」な感じがしませんよね...。もし、ここに不満を感じている方がいたら「Chocoflop」を試してみると良いかもしれません。Cocoaで書かれたアプリケーションなので、特にインタフェース部分はすぐに馴染むと思います。同じようなアプリケーションとして「SeaShore」もありますが、「Chocoflop」の方がより"Leopard"な感じに仕上がっているので、気に入っています。


↑「Chocoflop」のインタフェースはこんな感じです。ちなみに、本家サイトのスクリーンショットはコチラからどうぞ(2枚しかないけど...)。

また、「Chocoflop」は「14.99 EUR〜」と有償なのですが、お金が無い人向けにフリーのライセンスを発効してくれているのも有り難いです。(詳しくはコチラ


「Chocoflop」を少し使ってみて、「文字」の扱いがしやすいな〜と思いました。(日本語も直接入力できますしw)一方で、ちょっとアプリケーションが落ちやすいかも...という点は気になりました。それでも、少し凝った画像編集するなら「Gimp」より「Chocoflop」を使いたいな〜というのが率直な感想です。

今後しばらく、Blog用の画像作成/編集→「Skitch」(紹介記事はコチラ)、写真の調整など→「iPhoto」、それ以外の画像作成/編集→「Chocoflop」と使い分けてみようと思っています。



「Chocoflop」のダウンロードなどはコチラからどうぞ。

2008年3月11日火曜日

「Burn」でMP3などのファイルからオーディオCDを作成してみた。

以前のエントリで、「Burn」では動画ファイルからDVDが作成できる...という話をチラッとしたのですが、残念ながら私のMacbook(梅モデル)では試す事ができません。代わりに、CDを焼く事ならできるので、mp3などのファイルからオーディオCDが作れるか試してみました。(オマケで、今流行り?の「H.264」動画からオーディオ作成をできるかも試してみました。→後述)

使ってみてすぐに分かったのですが、「Burn」でオーディオCDの作成するのは本当に簡単です。作り方の手順はこんな感じです。
  1. 「オーディオ」タブを選択
  2. 「オーディオCD」を選択
    →mp3対応機器をお持ちの場合、ここで「mp3ディスク」と設定する事もできる(未検証)
  3. ソースとなるファイルを選択
    →ファイルをウィンドウにドラッグ&ドロップする、又は「+」ボタンから追加する
  4. 「ディスク作成」ボタンをクリック




コレだけの操作で、ソースとなるファイルをaiff形式に変換、オーディオCDの作成まで自動的に行ってくれます。

ちなみに、ソースとなるファイルですが、いくつか試してみました。
  • mp3 → OK
  • m4a(AAC) → OK
  • flv → ×(「ディスク作成」ボタンが有効になりませんでした)
  • mp4(H.264) → OK
という訳で、flv形式の動画に関しては、「iSquint」、「FLV2iTunes」などで一度別の形式に変換する必要がありそうですが、「H.264」動画は音声部分だけを直接オーディオCDにする事が出来ました。

これは改めて指摘するまでもありませんが、オーディオCDにしたからといってCD音質になるわけではありません。音質は、ソースに依存します。特に「H.264」形式の場合、動画がメインのファイルだと少し厳しいかもしれません。

また、aiff形式に変換されることで、ファイルサイズが増大する事が想定されます。1枚のCDに収まるかどうかは、ソースとなるファイルサイズの合計ではなく、演奏時間で判断した方が良いでしょう。通常のCDと同じように70分程度が目安になると思います。


以上、ちょっと実験してみたので、まとめてみました。でも今のご時世、使い途があるかどうか不明ですけど...。

2008年Jリーグ ヤマザキナビスコカップの日程表(icsファイル)

前回、2008年Jリーグの日程表(icsファイル)をアップしましたが、ヤマザキナビスコカップの日程が抜けていたので、追加データをアップしました。鹿島アントラーズとガンバ大阪は予選免除なのでファイルを作成しておりません。よろしかったらどうぞ。

2008年3月8日土曜日

Safari Standの「Clip Web Archive」で、ブックマークするより快適な情報整理術

以前のエントリで、Safari Standの「Clip Web Archive」の記事を書いている時、これはすごい!と直感していたのですが、蓄積した情報を活用するところまで整理できなかった為、「Clip Web Archive」の魅力を十分に伝える事ができなかったな〜と反省しています。

その後、アレコレ試しているうちに「コレダ!」と思う方法が分かってきたので、ココで紹介したいと思います。とは言え、特別なことを行っている訳ではないので、「何を今更!」という方はスルーして下さい。

さて、今回紹介する方法の「肝」は以下2点です。
  • 「.webarchive」ファイルは、Spotlightの検索対象である(自動的にインデックスが作成される)
  • 「.webarchive」ファイルは、「kind:web」で絞り込む事ができる
    ※正確には、絞り込みのキーワードとして「kind:Web アーカイブ」と指定する必要がありますが、実用上は「kind:web」で十分だと思います。

要は、気になった情報は全てローカルに保存しておいて、後はSpotlightで検索するだけ、というアプローチです。目新しい方法ではありませんが、「kind」キーワードを付ける事で、検索時の「ノイズ」を大幅に減らす事ができたのが個人的には大きな収穫でした。まだ使い始めたばかりですが、「ブックマーク」していた時と比べて、より簡単に求めている情報に辿り着けると感じています。


ここからは、実際に私が行っているwebの情報を整理する方法を紹介していきたいと思います。前提として、Safari Stand(L157以降)がインストール済みであるとします。また、想定しているのは、よく行くニュースサイトを「ブックマーク」する事ではなく、気になる記事や後で利用したいコードなどの情報を蓄積する事と、なるべく簡単にその情報へアクセスできるようにする事です。
  1. 情報を蓄積する方法
    webページの情報は「Web アーカイブ(.webarchive)」ファイルとして保存します。このファイルは、コンテキストメニュー(右クリック)「Clip Web Archive」から作成します。(「Command+Sキー」から作成することもできますが、保存する前に色々加工できるSafari Standの方が便利だと思います)

    この時、「Clip Web Archive with Element」→「html」を選択すると、ページを丸ごと保存することができます。ただし、ページで丸ごと保存する場合、「ファイルサイズ」が大きくなる事と広告などの「ノイズ」が含まれてしまう事を認識しておく必要があります。

    そこでオススメなのが、「Clip Web Archive」→「with Selection」から必要なところだけを保存する方法です。「with Selection」で保存するには...


    ↑まず、マウスで保存したい箇所を選択します。するとコンテキストメニューに「with Selection」の項目が表示されるので、これを選択するだけです。


    「Clip Web Archive」を実行すると、編集画面が表示されます。ここで「Header」を追加する事をオススメします。「Header」を追加すると、情報元となったページへのリンクが自動的に作成されます。これで、いつでもオリジナルの情報に戻る事ができるようになります。(私は、ブックマーク的に利用しています。)また、「Memo」で記述した内容もSpotlightのインデックス作成対象となるので、必要に応じてキーワードを追加しておくと良いでしょう。後で検索する時に役立ちます。


    ↑「Memo」を設定すると検索精度の向上が期待できます。が、手間とのバランスもあるのでご利用は計画的に...。



  2. 蓄積した情報へアクセスする方法
    基本的には、Spotlightを利用します。検索キーワードの後に「kind:web」を追加すれば、「Clip」した情報だけに絞って検索が実行されます。また、検索結果を実行すると、ブラウザ上に表示されます。

    これ以外で「Web アーカイブ」ファイルにアクセスするには、「スマートフォルダ」を作成しておくと便利です。作成方法は...


    ↑Finder右上の検索欄で「kind:Web アーカイブ」と入力します。(ここでは正しく指定した方が良いです。)次にすぐ下の「保存」ボタンを押し、ダイアログが表示させます。名前などを適宜設定して、サイドバーに追加にチェックが入っている事を確認して「保存」をクリックします。


    これでFinderのサイドバーから簡単に「Web アーカイブ」ファイルにアクセスできるようになります。更に、「WebArchive Quick Look Plug-in」をインストールしておくと、「Web アーカイブ」ファイルをQuick Lookできるようになります。ブラウザから開く必要すらなくなるので、より快適に「Web アーカイブ」ファイルにアクセスできるようになります。


    ↑1.で「Clip」した「Web アーカイブ」ファイルをQuick Lookするとこんな感じです。


以上、今試行錯誤しながら実践している情報整理方法でした。ただ、この方法にも課題が残っていると考えています。私が感じているのは、一度保存した「Web アーカイブ」ファイルを再編集する方法(一応、テキストエディット.appから再編集することができる)と、「Web アーカイブ」ファイルをCoverflowで表示する方法に関してです。これらは、これから調べてみようと思っています。


という訳で、まだまだwebの情報を上手に活用する方法に関して悩んでいます。もし何か良いアイディアがあれば、是非教えて下さい!



メモ1:Spotlight関連の情報源

メモ2:Firefox、OperaなどSafari以外のブラウザを使用している場合(未検証)
  • UnMHT倉庫
    もしかしたら、「.webarchive」ファイルの代わりに、「.mht」ファイルを利用すれば、ここで紹介した方法と同じような事が実現できるかもしれません。「.mht」ファイルも「kind:Web アーカイブ」で絞り込む事ができます。

2008年3月7日金曜日

iPhone SDKで「ハローワールド」

注目のiPhone SDKが発表されましたね!Touchのアップデートは有償とか、$99とか、70%とか色々思うところはあるのですが...。

とりあえず、iPhone SDK β版は無償で使えるらしいので、ダウンロードしてみました。そのサイズ、なんと「2.1GB」。ちなみに、インストールする時には「5GB」ほど要求されました。既にXcodeはインストール済みだったので、実際にはこの数字ほどディスクは圧迫されませんでしたけど。

iPhone SDKのダウンロードはコチラ(画面下の方)からできます。ダウンロードするには、ADC(Apple Developer Connection)のアカウントが必要となります。

もしかしたらAppleではいつもの事なのかもしれませんが、既にドキュメントが豊富に揃っています。正直に言えば、これにはかなり驚きました...。リファレンス、サンプルコードなどをはじめ、ビデオガイド(iTunesから見る事ができる)もあります。ものすごく気合いが入っているな〜と感じました。


せっかくSDKをインストールしてみたので、定番の「ハローワールド」をダウンロードして実行してみました。ちゃんとiPhoneシミュレータで動きました!



Objective-Cは未経験なのですが、コレを機に勉強してみようかな...。iFund狙いで!:-p



(追記)プレス発表「Apple March 6 Event」は、コチラで見る事ができます。

2008年J1の日程(icsファイル)ダウンロード出来ます。

先のエントリでもちょっと愚痴ったのですが、せっかくicsファイル作成したのでダウンロード可能にしておきたいと思います。対象はJ1のチームのみです。また、ナビスコカップには対応していません。(わすれてt...。(追記:3/11)ヤマザキナビスコカップ分のファイルは、コチラで配布しています。

元となるデータに関しては、このページを参照致しました。
ダウンロードしたファイルをダブルクリックするか、直接iCalにドラッグ&ドロップすれば日程が追加されます。また、iCalの「照会」からも利用できます。

Google Calendarで利用する場合は、一度icsファイルをダウンロードして、「カレンダーのインポート」からアップロードして下さい。「URLで追加」すると文字化けしてしまいます...。


ちなみに、iCalにインポートすると、こんな感じです。




最後に、一応、私の環境で動作確認は行っておりますが、何か不具合が発生しても責任を取る事はできません。自己責任でご利用下さい。また、データの精査まで行っておりません。何か不備があれば随時ご指摘下さい。

Jリーグの日程表をiCalにインポートしてくれるツール - jCal

明日から2008年 Jリーグが開幕します。

応援しているチームの日程を、iCalにインポートしてくれるツールがあります。その名も「jCal」!2004年からデータを提供している老舗なので、既に利用されている方も多いかもしれません。使い方は説明するまでも無いと思いますが...


↑「チーム」を選択して、「カレンダー作成」を押すだけです。J1、J2共に対応しています。また、Jリーグだけでなく、ナビスコカップの日程もインポートされます。


ダウンロードはコチラからどうぞ。



私はこんな便利なツールがあるとは知らず、icsファイルを作成するスクリプトを書いていました...。

(追記:3/11)せっかく作成したので、以下で配布してます。よろしければどうぞー

2008年3月6日木曜日

ニコニコ動画のH.264動画を見る時のメモ

(追記2)Macで、H.264形式の動画が再生されない場合は「MPlayerOSX」を試してみると良いかもしれません。これは私見ですが、今のところ一番再生される確率が高いと感じています。お好みで、新しくビルドされた「unofficial版」もどうぞ。

(追記)Safari Stand L158ではH.264形式の動画のダウンロードに対応しています。(以下、特に気にする必要ありません)


ニコニコ動画(SP1)でH.264形式の動画がサポートされました。すでにH.264形式の動画をアップロードされている方もいます。いくつか見たところ、H.264形式の動画はとてもキレイだと思いました。今後、主流になりそうですね!

さて、H.264形式の動画を見る場合、Macでは特に意識する必要がありません。QuickTimeから普通に見る事ができます。ただし、ニコニコ動画からダウンロードして、動画を見ようした場合、少し問題が発生するかもしれません。

これはダウンロード方法にもよるのですが、例えば、Safari Stand(L157)の機能「Command+クリック」から動画をダウンロードした場合、拡張子は「.flv」として保存されます。この拡張子のままでは、QuickTimeなどから再生することができません。一応、「.mp4」に変更すれば再生する事は可能ですが、少し手間ですよね...。

という訳で、リネームしなくても再生できるアプリケーションが無いか調べてみました。
  • DivX Player
    - .flvのままで再生可能? → ×
    - .mp4にリネームすると再生可能? → ○
  • mplayer OSX
    - .flvのままで再生可能? → ○
    - .mp4にリネームすると再生可能? → ○
  • QuickTime
    - .flvのままで再生可能? → ×
    - .mp4にリネームすると再生可能? → ○
  • VLC media player for Mac OS X
    - .flvのままで再生可能? → ×
    - .mp4にリネームすると再生可能? → ×
という訳で、「mplayer」は自動的に動画形式を判別して再生してくれるようです。現状ではコレが一番便利だと思いました。


もっとも、Hetimaさんが作成している「NicoDelegate」では既に拡張子を適切に設定しているようなので、この情報はすぐに必要なくなると思います。一応、メモということで残しておきます。

子供とペット撮影の基本を学びました。

これは「Mac」とは直接関係ありませんが、興味深い記事だったのでメモ。
自己紹介するまでも無いのですが、私は撮影に関して「ド素人」です。この記事を読んだ後、デジカメで撮影する時そこまで考えていなかったな〜と反省しきりでした。例えば、視線の方向と空間、被写体と背景、アイポイントや撮影する角度などなど。さらに記事では、「良い」写真と「悪い」写真の比較、解説や、実際に撮影している時の姿が紹介されていて、私にとっては参考になる情報が本当に多かったです。(実践できるか分かりませんけど...w)

子供やペットを撮影する方には、もしかしたら参考になる情報があるかもしれません。また、「風景撮影の基本」、「風景写真 実践編」、「10倍ペットをかわいく撮る必勝テクニック」などもあります。興味があればコチラもどうぞ!

Macの定番CD/DVD作成アプリケーション - Burn

Mac定番のCD/DVD作成アプリケーションには「Burn」があります。実は最近まで知らなかったのですが...。

というのも、私の場合、Macのバックアップは「Time Machine」で行うと決めていました。従って、CD-RやDVD-Rを作成する事をほとんど考えていませんでした。(梅モデルなので、元々DVD作成する事は考えていなかったのですが...)一応、機器の確認ということでCD/DVDを作成する方法を調べたりはしたのですが、それっきりでした。(→昔のエントリ

Burn」は「定番アプリケーション」らしいので、遅ればせながら試してみる事にしました。実際に使ってみると、確かに良いアプリケーションですね!「新規ディスク作成フォルダ」から「焼く」よりも遙かに直感的に使うことができました。

使い方は本当にシンプルで、アプリケーションを起動して、ファイルをドラッグ&ドロップして、「ディスク作成」ボタンを押すだけです。



↑シンプルなインタフェース。ただし、必要な情報は一目で分かる。


これは実際に試した訳ではないのですが、「Burn」にはffmpegが内蔵されていて、エンコードした後に「焼く」ことも出来るようです。例えば、MOVファイルからDVDプレイヤーで再生可能な形式に変換することができるようです。(梅モデルでは確認できません...)

詳しくはMacの手書き説明書さん「Burn」などが参考になると思います。



「Burn」ダウンロードはコチラからどうぞ。

2008年3月1日土曜日

Safari Stand 3.0 L157 の新機能 - Clip Web Archive with Element

hetimaさんが新しいSafari Standをリリースしましたね。このバージョンには、さりげなく新機能「Clip Web Archive with Element」が導入されていたので使ってみました。

この新機能を利用すると、webページの保存が簡単にできるようになります。Safariでwebページを保存するには、「ファイル」→「 別名で保存(Command+S)」などから行います。新しいSafari Standでは、コンテキストメニューから簡単に実行できるようになっています。

また、「別名で保存」との違いは、その場で保存する内容の「選択」と「編集」が出来るようになっている事です。通常、ページをそのまま丸ごと「.webarchive」ファイルとして保存するだけなのですが、新しいSafari Standでは、webページの一部分だけを選択して保存することができます。また、ページの内容を編集したり、コメント付けたりする事ができるようになっています。

  1. 選択


    ↑コンテキストメニューからWeb Archiveファイルを作成することができる。また、HTMLの要素単位で保存する範囲を選択することができる。ちなみに選択の対象となる要素は、右クリックした位置の要素とその親要素(htmlまで)だと思われる。(保存される箇所がハイライトされるので直感的に分かります)

  2. 編集


    ↑保存するページの内容を編集したり、ヘッダー(タイトルや日時)、メモを添付する事ができる。

という訳で、Safari Stand3.0 L157を導入すると、webページを簡単に、そして柔軟に保存できるようになります。個人的に、webページの情報収集や整理をもっと快適にする方法がないかな〜とアレコレ考えているところだったので、Hitしたアップデートでした。これから色々試してみようと思っています。


Safari Standのダウンロード、インストール方法などはコチラからどうぞ。