gracetory’s blog

東池袋にある合同会社グレストリのエンジニアブログです

標準を意識しよう

f:id:grnishi:20181019142432p:plain

はじめに

Bonan matenon. プログラマのgrnishiです。好きな衛星はガニメデです。ご存知太陽系最大の衛星です。

さて、皆様ISOやJISというのはご存知でしょうか。当然知っている人がほとんどだと思いますので詳細な説明は省略しますが、

ISOは国際標準化機構、JISは日本工業標準調査会でいずれも標準化を定めるための組織です。他にもIEC、ANSIなどもありますし、WEB業界であればW3Cの勧告(W3C標準とも)やIETFのRFCあたりが有名でしょうか。

何かを作ったりする場合はこの標準に則る事が極めて重要です。

標準とは

大辞林によると

  • 物事を行う場合のよりどころとなるもの。
  • 平均的であること。普通。並み。

との事です。ここで取り上げるのは前者の方になります。

標準には大きく二つありまして、

  • デファクト標準 → 市場競争の結果広く利用されている標準。事実上の標準。
  • デジュール標準 → 標準化団体が作成した標準。公的標準。

となります。デファクト標準をwikipediaで調べてみると、3.5mmフォーンプラグ、MicrosoftOffice、VHSなどが事例として紹介されています。

デファクトスタンダード - Wikipedia

40代以上の人だとVHSなんかはわかりやすい例なのかもしれません。VHSとベータマックスの規格争いです。新しい技術革新の裏ではいつもこのようなデファクトスタンダード戦争があるのでしょう。

ZIP vs スーパーディスク vs MOとか。そういえば携帯用メモリーカード(SDカードとか)が出てきた時も相当乱立してましたよね。

一方、デジュール標準にはどんなものがあるのかと言いますと、温度とか単位とか通貨の名前とか。実に様々なものがあります。

その中の一部ですが、SI単位系というものがあります。

メートル、キログラム、秒、アンペア、ケルビン、モル、カンデラの定義ですね。それぞれについてこれが1メートル、これが1キログラムと定義されています。

これが世界各国でバラバラだったら困りますよね。この定義が人によってバラバラだと、旅行に行って駅までの距離を聞いた時に「5㎞」だよって言われてもよくわからないわけですから。

さてこのSI単位ですが来年2019年5月12日に大幅な修正が施工されます。大きく変更があるのはキログラム、アンペア、ケルビン、モルあたりでしょうか。下記いずれもwikipeidaから抜粋

  • 現在のキログラム
    • 国際キログラム原器(プラチナ 90 %、イリジウム 10 % からなる合金で直径・高さともに 39 ミリメートルの円柱)の質量。
  • 新しいキログラム

    • 単位 s^−1·m2·kg(J·s に等しい)による表現で、プランク定数 h の数値を 6.62607015×10−34 と定めることによって設定される。
  • 現在のアンペア

    • 真空中に 1 メートルの間隔で平行に配置された無限に小さい円形断面積を有する無限に長い 2 本の直線状導体のそれぞれを流れ、これらの導体の長さ 1 メートルにつき 2 × 10−7 ニュートンの力を及ぼし合う一定の電流。
  • 新しいアンペア

    • 電気素量 e の数値を1.602176634×10−19と定めることによって設定される
  • 現在のケルビン

    • 水の三重点の熱力学温度の 1/273.16。
  • 新しいケルビン

    • 単位 s−2·m2·kg K−1(J·K−1 に等しい)による表現で、ボルツマン定数 k の数値を 1.380649×10−23 と定めることによって設定される。
  • 現在のモル

    • 0.012 キログラムの炭素12の中に存在する原子の数に等しい数の要素粒子を含む系の物質量。
  • 新しいモル
    • 1 モルは正確に6.02214076×1023 の要素粒子を含む。

来年修正が入るというのは豆知識なので覚えていると話のネタになるかもしれません。

ソフトウェアにおける標準

さて、弊社は主にソフトウェアの開発会社です。単位にせよねじの大きさにせよソフトウェアにとって直接関わりは薄いですよね。

例えばISO/IEC 7498(JIS X5003)はOSI参照モデルを定義しています。ISO 3864では標識のデザイン原則を定めておりますし、ISO7010では危険標識や警告標識について定められております。

他にもISO5218では性別の表記について下記のように定めています。

  • 0 = not known(不明)
  • 1 = male(男性)
  • 2 = female(女性)
  • 9 = not applicable(適用不能)

データベースなどに登録する際にどういうコードを使おうか?という時に役立ちます。

面白い標準

ISO 3103は紅茶の淹れ方について定めています。

ISO 3103 - Wikipedia

本題

さて個人的に特に意識して欲しいのがJIS X0401で定義されている都道府県コードです。日本中のあらゆるWEBサイトの住所登録フォームはこのコード順にするべきだと思っております(郵便番号からの簡単入力も欲しいですが)

全国地方公共団体コード - Wikipedia

たまに東京都が一番上にあったり、あいうえお順なのか愛知県が最初にあったり、ほとんどはJISに沿っているのですがたまに変なのがあってイラっとします。

都道府県を選ぶ時は反射的にホイールを軽く回して12、3番目ぐらいに持っていく癖がありますので。

さいごに

この都道府県の順番について物申したいために長々と記事を書きました。

何か開発をする上で順番どうしよう?とか表記をどうしよう?なんて時には「標準」をまずは確認する癖をつけましょう。