増井ラボノート コロンブス日和

第15回フラット整理法

整理技術の紹介

今回は単純で役にたつ整理のためのテクニックを紹介したいと思います。私は整理が極端に苦手で、計算機ファイルの整理や小物の整理に毎日苦しんでいます。そういう人間が整理法について語るのは変かもしれませんが、何かが下手な人ほどそれを克服するために苦労しているはずですから、良い方法を発明する可能性は高いはずです。

階層脳の恐怖

引き出しや箪笥(たんす)の中に置き場所を決めて小物を整理したり、階層的なフォルダを使ってファイルを整理したりしている人は多いと思いますが、現代においてそれは最善の整理方法でしょうか?

なんでも階層的に分類して格納するものだと思っていたり、ファイルは階層的なフォルダで管理するのが当然と考えている人は「階層脳」を持っているのだと思われます。

以前の記事で、大規模な階層的データを検索したりナビゲーションしたりする方法として、⁠DragZoom」「Gear」のようなシステムを紹介しました。大きなデータは階層的に構成されていることが多いためこのようなシステムが有用なわけですが、実はこれらのシステムで扱っていたデータはすべて専門家によって用意された定形的なデータであり、個人が扱う雑多なものではありませんでした。

階層管理の問題点

住所や電話番号のように明らかに階層的な構造を持つものを階層的に管理するのは難しくありませんが、さまざまな属性を持つ雑多なデータや物品を階層的に管理するのは難しいものです。A社のBという製品に関する問い合わせ書類はどういうフォルダに入れるべきでしょうか。A社フォルダでしょうか? B製品フォルダでしょうか? 問い合わせフォルダでしょうか?

また、旅行先で買った便利なナイフはどの箱に入れるべきでしょうか。思い出箱でしょうか? 文房具箱でしょうか? 旅行用品でしょうか?

属性がはっきりしない場合もあります。動物を分類しようとするとき、コウモリは獣に分類すべきか鳥に分類するべきか困るかもしれませんが、分類作業にはこういう「コウモリ問題」がつきものです。図書館のように専門の職員がいる場所であっても、変な分類をされていて困ることもあります。世の中の多くのものは階層的に管理することが難しいので階層構造を仮定した検索手法や整理法はうまくいきません。

フラット整理術

Webの巨大なデータは階層的に管理されていませんが、Googleのようなテキスト検索でたいていの情報は見つかる気がするので、階層的でないことを問題だと思っている人はいないでしょう。つまり「検索できれば階層的整理は必要ない」ということになります。

Webの黎明期にはWebページを階層的に整理するサービスがたくさんありましたが、現在はほとんどなくなってしまいました。階層的に分類する作業がたいへんになり過ぎたからかもしれませんが、階層的な構造がそれほど有用と思われなくなってきたからかもしれません。

Webを階層的に整理するサービスでは、こうもり問題に対応するため、同じデータをあちこちに置くという方法がよく使われていました。たとえば横浜のラーメン屋のページは、⁠横浜」というカテゴリにも「ラーメン」というカテゴリにも登録されるようになっていました。一方、現在は「横浜」⁠ラーメン」のようなキーワードで検索すれば簡単に情報にたどり着けますし、横浜レストラン情報やラーメンランキングのようなページがいくらでもありますから、階層的な分類を行う検索サービスの存在価値は現在かなり小さくなっていると思われます。

Webページを階層管理できないということは、個人のファイルや所有物を階層管理できないのと同じで、均質でわかりやすい構造を持つデータ以外は階層管理にはむかないということになるでしょう。個人のファイルや所有物の場合、レストラン情報のような整理情報を期待することはできませんが、そもそもすべて自分が一度は見たものですからそういうものは必要ありません。昔見たはずの情報が再度見つけられるようになっていれば問題ありません。なんでも階層的に管理すべきであるという「階層脳」から脱却し、フラットな構造でもうまく検索できる方法を利用すべきだと考えられます。

計算機情報のフラット整理

次のような方法を使えば、階層的にていねいに分類を行わなくても雑多なファイルを適切に管理できます。

ファイルにユニークな名前を付けて1つの場所で管理する

たとえば「A社のBという製品に関する問い合わせ書類」をメールで受け取った場合、この「製品B 問い合わせ.pdf」のようなファイルのハッシュ値を計算して01234567.pdfのようなファイル名に変更し、1つの場所に保存します。ファイル名はユニークであれば何でもかまいません。

ファイルにタグやコメントを付ける

ファイルを後で検索できるようにするために、01234567.pdfに対して「A社」⁠製品B」⁠問い合わせ」のようなタグを登録します。必要であれば詳しいコメントや関連情報なども書いておきます。

似たタグやコメントを持つファイルを関連ファイルとして表示する

タグやコメントのテキスト検索によってファイルを捜すことができますが、似たタグやコメントを持つファイルが関連ファイルとして自動的に検索されるようにしておくと便利です。A社や製品Bに関する文書が見つかったとき、その文書に関連する文書もリストされると便利です。

こういう検索/管理システムをゼロから作るのは面倒ですが、以前紹介したGyazo(2016年2月号)を使うと簡単にこの方法を使うことができます。Gyazoでは、キャプチャした画像にタグやコメントを付加したり関連画像を検索したりすることが簡単にできますから、次の手順でファイルをフラットに管理できることになります。

  • ファイルをユニークな名前に変換して特定の場所に置く
  • ファイルの中身を表示してGyazoでキャプチャし、新しいファイル名やコメントを記入する

私は、保存したいファイルがあったとき、その中身のMD5ハッシュ値を使ったユニークなファイル名に変換してAmazon S3の特定の場所に格納してから、ファイルの中身をGyazoでキャプチャしたものにそのURLをコメントとして書くようにしています。

この手順をルーチンワークにしておくと、ファイル名や階層的ファイル管理についてまったく悩むことがなくなります。たとえば私は各種の申請書を書く場合、Gyazo.comで「申請書」を検索するとたくさんの古い申請書やテンプレートが見つかるので、それを開いて修正することによって新しいものを作成しています。

ファイルはクラウドに置かなくてもかまいませんが、クラウド上で一括管理しておくのが何かと便利です。Amazon S3などを利用するのが面倒な場合はDropboxなどを使うと良いでしょう図1⁠。

図1 各種申請書をGyazoで検索したところ
図1 各種申請書をGyazoで検索したところ

身のまわりのフラット整理

前述の方法であらゆるファイルをフラットに管理できるようになるのですが、書類や小物はどうすれば良いでしょうか? 実は書類や小物はもっと簡単な方法で楽に整理できます。

クリアファイル整理法

書類の管理は面倒なものです。普通の家庭でも、製品のマニュアルだの保証書だのクレジットカード明細だの領収書だの保険の書類だの、医療費明細だの、たくさんの書類を整理する必要がありますが、こういったものをきれいに分類して管理するのはたいへんです。

雑多な書類を楽に提案する方法として、1993年ごろ野口悠紀雄氏が提案した「超整理法[1]⁠」という書類整理手法がかなり話題になったことがあります。⁠超」と言っていますがこれは極めて単純な整理方法で、

  • ①タイトルを書いたA4の封筒(角形2号封筒)に資料を入れて棚に並べる
  • ②使った資料は必ず一番端に戻すという作業を繰り返す

だけです。この結果、

  • よく使う資料が端に集まる
  • 使わない資料は逆の端に集まる

ことになりますが、よく使う資料は端にある可能性が高いのですぐ見つかりますし、逆の端にたまってきた使わない資料は廃棄を検討できるというわけです。

ここでは分類も階層的管理も使われていませんから、階層脳な人はこれでうまくいくことに驚いたかもしれません。野口氏は最近のインタビュー(⁠⁠PHP Buines⁠s The 21⁠2016年11月)でも「目当ての情報がすぐ見つかるのであれば、わざわざ整理に時間や手間をかけることはありません。その方法論の基本は、⁠分類しない』ことです」と語っており、この整理手法を現在も利用しているようです。

「超整理法」は確かに簡単なうえに分類の必要がないという大きなメリットがあるので非常に話題になりました。野口氏をはじめ、現在もこの方法を利用している人も多いようですが、この方法には次のような問題がある気がしています。

  • 封筒にタイトルを書くのが面倒臭い
  • 封筒の中身が見えない
  • 古いファイルを捜すのに時間がかかる
  • 古いファイルの存在に気づかず同じファイルを作ってしまう可能性がある
  • 角形2号封筒のサイズはA4書類よりかなり大きいのでA4用の箱や棚に入れにくい

現在は計算機やネットワークが十分普及しており、⁠超整理法」が執筆された1993年とは状況がかなり異なっていますから、私は次のような「クリアファイル整理法」のほうが良いと思っています。

  • ①大きく番号を書いた透明クリアファイルに書類を入れる
  • ②クリアファイルを番号順に並べる
  • ③番号と中身の対応をテキストファイルやWikiなどに書いておく
写真1 書棚の中のクリアファイル
写真1 書棚の中のクリアファイル

私は数年に渡ってこの方法を実践しており、実用的に利用しています。番号を最初は手書きしていましたが、最近は印刷したシールを貼っています写真1⁠。

これは非常に単純な方法ですが、次のようなメリットがあります。

  • タイトルやキーワードを手書きする必要がない・テキスト検索すればどの番号のクリアファイルに何が入ってるかすぐわかる
  • 大きさがA4にそろっているのでA4用の箱や棚で整理しやすい
  • 透明なので中身を確認しやすい
  • 番号順に並んでいるので、整理/検索しやすい
  • 書類の属性やコメントなどをいくら記述してもかまわない

超整理法の時代にはタイトルや中身の情報を書くために封筒を利用する必要がありましたし、たくさんの情報を書くことはできませんでした。クリアファイルには番号だけ書いておけばいいわけですし、テキストファイルにはいくらでも情報を書いておくことができます。

この「クリアファイル整理法」はあまりにも単純なので、こんなものでうまくいくのか? こういう方法をサポートする文房具や検索システムが売られているのではないか?――などと思ったものですが、意外とそういう製品は存在しませんでしたし、この方法はとてもうまくいくことがわかりました。

番号と中身の対応を書くのが面倒だという問題はありますが、封筒に手書きするよりは楽ですし、あとで検索するのが楽であることを考えるとテキストファイルに書くほうがはるかに便利でしょう。

箱整理

クリアファイルに入れにくい小物は、番号を書いた箱に入れるようにすればクリアファイルの場合と同じように整理を行うことができます。箱や引き出しでものを整理する場合、箱のカテゴリを決めて分類して格納したくなるものですが、箱の中身をきちんと記述しておくことに気を付けておけば、きちんと分類する必要はないでしょう。たとえば「土産」とか「食器」とかいった箱を用意してきちんと分類したくなるかもしれませんが、⁠土産物の食器」はどちらに入れれば良いかわかりません。適当な番号の箱に入れてから、その番号のところに「Xさんにもらったドイツのワイングラス」などと記述しておけば後から捜すのに苦労することがありません。

フラットへの移行

現状の開発環境は、階層型ファイルシステムが前提になっているのがほとんどですので、残念ながらあらゆるファイルを今回紹介した方法で管理することは困難です。しかし、これまで整理が難しかった雑多なファイルに関しては明らかに有効だと感じているので、徐々にフラットな整理方法に移行していこうと思っています。

Software Design

本誌最新号をチェック!
Software Design 2022年9月号

2022年8月18日発売
B5判/192ページ
定価1,342円
(本体1,220円+税10%)

  • 第1特集
    MySQL アプリ開発者の必修5科目
    不意なトラブルに困らないためのRDB基礎知識
  • 第2特集
    「知りたい」⁠使いたい」⁠発信したい」をかなえる
    OSSソースコードリーディングのススメ
  • 特別企画
    企業のシステムを支えるOSとエコシステムの全貌
    [特別企画]Red Hat Enterprise Linux 9最新ガイド
  • 短期連載
    今さら聞けないSSH
    [前編]リモートログインとコマンドの実行
  • 短期連載
    MySQLで学ぶ文字コード
    [最終回]文字コードのハマりどころTips集
  • 短期連載
    新生「Ansible」徹底解説
    [4]Playbookの実行環境(基礎編)

おすすめ記事

記事・ニュース一覧