技術の恩返し

私と皆の、分からないことが、分かるようになりますように。

奥深きバーコードの世界 2次元コードとは

バーコードはもともと、POSシステムで有名になった。
1984年のセブンイレブンのPOSシステム導入がきっかけである。

その後、製造業や病院などでも使われるようになった。
商品を識別する程度の用途であれば、1次元の10文字オーダでよかった。

しかし、より詳細な管理をするにはそれだけの情報では足りない。
そこで、2次元にして情報量を増やそうという試みがされた。
その結果、生まれた2次元バーコードの種類がDataMatrix、QRコードなどである。
1990年前後のことである。

2次元バーコードは数千文字オーダーの情報付与が可能である。
もちろん、エラー修正(データ復元)も可能である。リードソロモン法というものを使っているらしい(そのうち調べる)

1次元バーコードではデータの損傷時に、ヒューマンリーダブルな文字列がバーコードの下に書かれている(縦線の下の数字)。
一方で2次元バーコードは情報量が多いため、ヒューマンリーダブルな情報はないので、2次元バーコードの作成元にデータを問い合わせるなどする必要があるのが問題である。

コードの構造は、スタック型2次元コードと、マトリクス型2次元コードがある。DataMatrixやQRコードは後者である。

つづく。

MySQL使いがSQLServerを学ぶ 1

RDBMSは、MySQLしか経験がない。
関係代数は理解しているし、RDBの考えはわかっているつもり。

しかし最近マイクロソフトのMSSQLServerを使う必要が出てきた。
MySQL製品との違いを調べた。


MySQL
・CommunityEditionは無償版。GPU GPL
・Classic, Standard, Enterprise, Cluster Carrier Grade のEdtionは有料
サブスクリプション(物を買うのではなく、利用期間分お金を払うシステム)で毎年利用権を買う感じ。物理サーバ単位で1アカウント。
DDLやDCLはバックグラウンドでコミットする。ロールバックできない
SQL標準準拠。オープンデータベース接続レベル0 ~ 3.51をサポート
・ストレージエンジンが選択できる。InnoDBがデフォルト。


MSSQLServer
・Express,Developerは無料で利用できる
・Enterprise,Standard,Webは有料
・LIMIT句ではなく、SELECT TOP 100 ... と使用する
SQL標準準拠していない
Windows認証ができる(OSのログインによる認証)
・混合モードといって、Windows認証と、DBへのユーザログインどちらも使用できるモードがある

WMIProviderHost

インターネットアクセスしたいと申し出てくるWindowsサービスがあるので、調べてみました。

WMIProviderHost
Windows Management Instrumentationの略
・管理インタフェース?
・ファイルパス:  C:\Windows\System32\wbem\WmiPrvSE.exe
 に存在する。
 ※このフォルダにないサービスの場合は、ウィルスの可能性があるので注意

CPU高くなるとかも報告されているようだ。

中身までは追えていない。そのうち。

Shift_JISまとめ

Shift_JISとは文字集合の種類の1つ
Shift_JIS-2004とは、JIS X 0213の符号化方式の1つ
JIS X 0213 は 日本工業規格の1つ。正式名称は「7ビット及び8ビットの2バイト情報交換用符号化拡張漢字集合」
・各ベンダが独自拡張をしている
Shift_JISは1文字2バイトのビット列と対応

参考

奥深きバーコードの世界

バーコード(Bar Code)は読んで字のごとく、バー(線)でコード化された情報のこと。買い物するときに商品をピッとする対象がバーコード。ピッとする道具がバーコードスキャナ。

 

白背景に、一定の高さのバーを並べていって情報を表現する。バーの横幅が変わったり、バー同士のスペースに意味がある。太い・細い横幅のバーの種類や、スペースの幅は、仕様によるようだ。

 

バーコードの構成要素は

 ・マージン(クワイエットゾーン):左右の余白。 

 ・バーコードシンボル:データが書かれている所。

  ・スタートキャラクタ:データの始まりを表す特定バー。

  ・データ(メッセージ):文字や、数値などが並んだもの

  ・チェックデジット:読取誤りを確認するためのもの。

  ・ストップキャラクタ:データの終わりを表す特定バー。

 

である。チェックデジットは誤り検出のための、データの合計値みたいなイメージ。ここは深堀すると面白い。

 

バーコードは、用途・業界ごとに、さまざまな種類がある。JANが一番メジャーで、どの国で、なんてメーカが、なんてアイテムを作った、という情報が載っている。

 

また、本の裏にあるISBN(International Standard Book Number)は、どこの国の、なんて出版社が、なんて書籍を出したか、を表現しているらしい。そんでもって、日本の書籍には、日本独自の分類と、価格コードを付けた「図書コード」として標準化しているんだとか。

 

可変なものは、表現できる桁数、文字の種類(数字だけか)などである。それに合わせて、バーの太さや、空白の幅、チェックデジットの値が変わるんだろう。

 

www.keyence.co.jp

 

 

robocopyコマンドとは

robocopyは、WindowsServer2008以降と、Windows7以降で使用できるコマンド。

Robocopy

 

 

ロボットが内部で、頑張ってコピーしてくれるではなく、頑健性があるコピー、という意味らしい。

robot ではなく robust という英語。統計とか工学で使われる、robustnessのrobust。

 

とにかくいろいろな条件を付けてコピーを確実に行ってくれるようだ。

 

一番使う頻度が多いのが、mirオプション。

/mir

ディレクトリ ツリーをミラー化します (/e および /purge と同等)。 詳細については、 「解説」を参照してください。

 

/eと/purgeも似たような動きをするらしい。

/s

サブディレクトリをコピーします。 このオプションでは、空のディレクトリをコピーしないことに注意してください。

/e

サブディレクトリをコピーします。 このオプションでは、空のディレクトリをコピーすることに注意してください。 詳細については、 「解説」を参照してください。

/purge

コピー元に存在しないコピー先のファイルとディレクトリを削除します。 詳細については、 「解説」を参照してください。

ファイルをコピー元からコピー先に送るという意味では同じなのだが、

少々動作が異なる。

/e, /sは、コピー先ファイルを消したくないときに使う。

/mirは、コピー先ファイルを消してもいいときに使う。

 

あとは、ドライブ全体をコピーするときには、ドライブが持っている情報(System Volume Informationに格納)を除いてあげる必要があるらしい。

https://support.microsoft.com/en-us/help/2834834/fsrm-and-data-deduplication-may-be-adversely-affected-when-you-use-rob