差分
このページの2つのバージョン間の差分を表示します。
両方とも前のリビジョン 前のリビジョン 次のリビジョン | 前のリビジョン | ||
translation:working:翻訳4 [2016-04-21 20:21] Decomo |
translation:working:翻訳4 [2016-04-22 12:43] (現在) Decomo |
||
---|---|---|---|
行 2: | 行 2: | ||
ファイルシステムイベントAPIはOS X v10.5以降で利用可能な新しいテクノロジーです。 | ファイルシステムイベントAPIはOS X v10.5以降で利用可能な新しいテクノロジーです。 | ||
- | これにより、ディレクトリ階層やその内容に起因する、あらゆる変化の通知の登録ができます。 | + | これにより、ディレクトリ階層やその内容に起因する、あらゆる変化の通知登録ができます。 |
ファイルシステムイベント機構は3つのパートで構成されます:生のイベント通知を(Spotlightも利用する)スペシャルデバイス経由でユーザー空間に渡すカーネルコード、この流れをフィルタにかけ通知を送出するデーモン、そして期間中の全ての変更の記録を保管する永続的なデータベースです。 | ファイルシステムイベント機構は3つのパートで構成されます:生のイベント通知を(Spotlightも利用する)スペシャルデバイス経由でユーザー空間に渡すカーネルコード、この流れをフィルタにかけ通知を送出するデーモン、そして期間中の全ての変更の記録を保管する永続的なデータベースです。 | ||
- | When your application registers for notification, | + | アプリケーションが通知登録を行うと、ファイルシステムイベントデーモンは監視しているディレクトリ階層のファイルが変更される度に通知を発行します。 |
+ | ディレクトリそのものが変更された場合(例えば、パーミッションの変更や新規ファイルの追加)も、同様に通知されます。 | ||
+ | 押さえるべき重要なポイントは、通知の粒度はディレクトリレベルだということです。 | ||
+ | ディレクトリ内の何かが変わった事は伝わりますが、何が変わったかは伝わりません。 | ||
- | In addition to collapsing notifications for changes to multiple files into a single, per-directory notification, | + | 複数ファイルへの変更の通知はディレクトリ毎の1つの通知に折り畳まれる事に加え、ファイルシステムイベントデーモンはディレクトリで短時間に発生した複数の通知もまとめます。 |
+ | 最後の変更が行われた後で、あなたは常に最低でも1つの通知を受け取るでしょう。 | ||
+ | その上で、荒くも細かくも、あなたが希望する一時的な粒度にできます。通知登録の際、イベント間隔として最小を選択することで。 | ||
- | To better understand this technology, you should first understand what it is not. It is not a mechanism for registering for fine-grained notification of filesystem changes. It was not intended for virus checkers or other technologies that need to immediately learn about changes to a file and preempt those changes if needed. The best way to support these is through a kernel extension that registers for interest in changes at the VFS level. | + | 本テクノロジーをより理解するために、まず“何ではないか”を理解すべきです。 |
+ | ファイルシステムの変化のきめ細かな通知登録のためのメカニズムではありません。 | ||
+ | ウイルスチェッカーや、ファイルに対する変更を即座に検知し必要ならばそれらを阻止する技術への機能提供を意図したものではありません。 | ||
+ | これらに対応する最も良い方法は、VFSレベルでの変更に興味を持ち検知するカーネル拡張を使うことです。 | ||
- | The file system events | + | また、ファイルシステムイベントAPIは、特定のファイルの変更を検知するための設計にはなっていません。 |
+ | このような目的には、より相応しい'' | ||
- | The file system events | + | ファイルシステムイベントAPIは、巨大なファイルツリーの変更を受動的に監視するように設計されています。 |
+ | 本テクノロジーの最も明らかな用途はバックアップソフトウェアです。 | ||
+ | 実際に、ファイルシステムイベントAPIはAppleのバックアップテクノロジーの根幹を提供します。 | ||
- | Another good use for the file system events | + | ファイルシステムイベントAPIの別の適した用途は、プロジェクトとディスクの随所に散らばっている可能性のある数十ないし数百の関連ファイルを含む緩い集合体としてデータを格納するアプリケーション—例えばDVD Studio Proのために、整合性の保証を提供することです。 |
+ | 他のアプリケーションによって関連ファイルの1つが変更された際、あなたのアプリケーションはプロジェクトへの変更の取り込み方法選択のために、それを知らなければなりません。 | ||
+ | |||
+ | もちろん、'' | ||
- | Of course, this use can also potentially be satisfied through the use of kqueues, but file system events provide the convenience of being able to see changes that occurred even while your application was not running, which can make consistency checking easier when your application opens a project initially. |