申請データを読んでみた(10万円)
読書と編集 千葉直樹です
オンライン申請
例の10万円のオンライン申請ができるようになったので、早速やってみた。
システムのチューニングがなされたのか、申請自体はとてもスムーズで、かかった時間は慎重にデータの確認をしても7分ほどだった。
で、申請書控えがダウンロードできるのでダウンロードした。
それを見るとシステム的ないろいろなことがわかって面白いのだった。
控えデータの内容
ダウンロードファイルは圧縮されている。サイズを小さくすると言うよりはフォルダごとアーカイブするための圧縮だと思う。
で、中には申請者の情報と申請書がPDF、申請データのPDFが入っている。
PDFの方は、大変丁寧に申請書として作られている。一応「控」のウオーターマークが入っているが、印刷したら立派な申請書になる形式だ。
申請者の情報は、申請に関して連絡が取れる情報とか、申請内容、付加するファイルの情報などが書かれたものである。
たぶん役所ではこれらのPDFファイルの「控」じゃないものを印刷して、チェックしたら受領印を押して保管することになるのではないかと思う。
で、それだけではあまりにあまりなので、申請データのcsvもついている。
システムへの取り込みはこのcsvデータを使っているのではないかと推測する。とはいえ中身がアレなので、本当はもっとまともに連携しているかもしれない。
中身がアレなcsv
csvファイルの中身は、システム連携を考えたらこんな風になるんだろうか?というものである。
ダウンロードしたcsvをどう使うかということはあまり考えられているようには思えないところがある。
というのは、紙(PDF)のイメージそのままにデータが並んでいるのである。
一応、キーとなりそうなデータ(番号)が振られているのが救いではあるが、未入力の項目も含めてすべての項目が「縦に」並んでいる。
「縦に」というのはピンとこないかもしれない。RDBを扱ったことがある人なら「ん?」と思うのではないだろうか。
むしろ、今よく使われているkey-valueっぽい並びになっている。項目名と値のセットが縦に並んでいる。
csvにするのは致し方ないところがある。汎用性の高いファイル形式だ。ただ、並びからすると、jsonにすると使いやすそうだなと思ったりはする。
イマイチ何を言っているかわからないと思うけど、このファイルを使ってみようと思ったとしたら、ちょっとしたプログラムを作らなければならなくて、その時にデータ構造を自分で定義しなければならないし、それをやってはじめて検索が可能になるものである。
とりあえずExcelに取り込むことはできる。できはするが、Excelがデフォルトだと文字化けはする。csvの中身のコードはUTF-8だからだ。これはExcelの仕様がどうかと思うものではあるが、開けてみてびっくりする人はいるかも知れない。
残念なこと
こういうファイルを見るといつも思うのだ。
「きちんと設計したんだろうか?」
と。
とりあえずデータを出しておけばあとは自分でプログラムを書けば使えるでしょ?って感じなのである。
これ、縦割りが多いプロプラの世界でよく見かけた形式なのだ。
今のITの世界はもう少し進んでいて、さっき書いたkey-valueがそうだけど、データにきちんと意味情報が結びついたものを使うようになってきているのだ。
きちんと設計されたデータだとどんなことができるかと言うと、たぶんみんなよく見ているだろう新型コロナウイルス感染症対策サイトみたいなことが比較的簡単にできる。このサイト、あっという間に立ち上がって、すげーってなっているけど、一昔前と比べたらかなり少ない手間で作れるのだ。もちろん知識は必要だけど。
データがきちんと設計してあると、それを活用するプログラムは世の中に公開されている素晴らしいライブラリを持ってくるだけですぐに使えるものになる。
素晴らしいライブラリは、設計のベストプラクティスでもあるもので、それを前提にデータ設計をすると先人の知恵を利用してその先に進むことができるのである。
プロプラ開発の残念なところは、そういう発想が乏しいことである。世の中の素敵なライブラリを勉強する暇があるならコードを書けと言われてしまうことである。
それは、データ設計を軽視していることにほかならない。
データとプログラムは等価なものであって、互いに交換可能であるということがあまり認識されていない。
データを周到に設計すると、書くコードは減る。品質も良いものになりやすい。逆をやればもちろん大量のコードを書くことになって、それはバグの入る余地が増えることになる。そういうものである。
当たり前という人もいるかも知れないが、果たしてきちんと実践できているだろうか?
残念なデータ構造は、そのまま技術力を表しているのである。
もちろん、これは理想論を語っている。現場はそれどころではないということはよく分かる。
でも、こういう視点を忘れないようにしておかないと、いつまで経っても酷いシステムはなくならないし、IT人材は育たない。
もしITエンジニアを目指したいなら、こういう公開されたデータよく見て学ぶことを忘れないようにしてほしいと思う。