2017.07.05
- 人×技術
蔵書管理システム
蔵書
多種多様な本を陳列しているのが当社別館である。
別館内の蔵書は自由に閲覧できるだけでなく、
社内掲示板に借りたい趣旨を書き込むことで持ち出しも許可されている。
ただ、書き込まないで済むのであればそれに越したことはなく、
怠惰を求めることは人の常であり、プログラマの素質でもある。
ゆえに、今回は入力を最小限に抑える蔵書管理システムを用意した。
IC カード
「誰が」借りたのかを記録する術はいくらでもあるが、
怠惰な入力を実現するため、まずは IC カードによる入力補完を検討した。
当初、このシステム用に IC カード発行を考えていたものの、
幸い各社員に配布済みの入館証が NFC カードであったため、これを活用。
ポイントカードで膨れ上がった財布からは安堵の声が上がる。
NFC
Near Field Communication、
いわゆる NFC は MIFARE や FeliCa の上位互換規格である。
一口に NFC と言っても、互換性を実現するために、
MIFARE を元にした NFC-A、FeliCa を元にした NFC-F など、内部的にはいくつかの分類が存在する。
普及率も手伝い、一般的な会話に現れる NFC は大抵 FeliCa を指していることが多いが、
海外では安価な MIFARE が普及しており、国内でも taspo は MIFARE である NFC-A、
マイナンバーカードは NFC-B、IC タグの類は NFC-V とそれぞれ規格が異なる。
そのため、「NFC カード」のような表現は少々曖昧であり、
実態は「MIFARE カード」や「FeliCa カード」だったりする。
閑話休題。
では、この入館証として機能するカードは一体何FCなのか。
NFC Forum ではタグの種類を定義しており、以下の 5 つに分類される。
Tag Type Technical Specifications
New NFC Forum Technical Specifications Broaden Tag Support and Enhance Interoperability
カード情報を確認したところ Type 3 に該当するため、FeliCa であることは間違いない。
が、FeliCa にも複数の分類が存在しており、
標準的な FeliCa Standard と簡易的な FeliCa Lite や FeliCa Lite-S などは別物である。
つまり、「FeliCa カード」のような表現は少々曖昧であり、
意識高い当記事では「FeliCa Standard カード」や「FeliCa Lite-S カード」と記すべきで、
結局のところ、この入館証は FeliCa Standard カードであった。
借りる!
NFC であり NFC-F であり FeliCa であり FeliCa Standard である入館証からは IDm が取得ができる。
これは 2 byte の製造者コードと 6 byte のカード番号で構成される識別子なので、
この IDm を記録することで「誰が」借りたのかを特定する。
一方、「何を」借りたのかについては書籍のバーコードを利用している。
よほど古い出版物でなければ、2 段あるバーコードの上段が ISBN に相当するのだが、
日本の雑誌には定期刊行物コードが割り当てられ、ISBN というものは存在しない。
そのため、ISBN 管理ではなく、バーコードそのものを記録することで「何を」借りたのかを特定する。
以上 2 点の情報の読み取り行為。そして起点となる「借りる!」「返す。」の選択。
計 3 ステップの怠惰な入力で蔵書管理を成立させることができた。