ブログ

QRコードとは? 歴史や仕組み、Rubyでの作り方を解説

サイバーウェーブのインターン生として働いている山本です。

この記事では、QRコードの歴史や仕組みなどを解説します。

QRコードは現代社会において広く普及している情報伝達の手段です。駅のホームやショッピングモール、商品のパッケージなど、あらゆる場所で目にすることができます。QRコードをスキャンすることで、簡単にさまざまな情報を手に入れることができます。

この記事を通してQRコードの誕生や普及の歴史を知ることで、QRコードがどれほど私たちの生活に根付いており、また、QRコードがもたらす便益がどのように実現されているかについても理解できるようになるのではないでしょうか。

QRコードが開発された理由

QRコードは1994年に株式会社デンソーウェーブによって発表されました。

QRという名前は「Quick Response」の略称で、高速で読み取り可能なコードであることに由来しています。

QRコードが普及する以前は、バーコードが主流でした。

しかし、バーコードは容量が少なく、英数字で最大20字程度の情報しか表せないため、用途が限られてしまうという欠点がありました。

この欠点を克服するため、株式会社デンソーウェーブは従来より多くの情報を含めることができ、他のコードより高速な読み取りも可能な「QRコード」を開発しました。

参照:https://www.qrcode.com/history/

QRコードの大容量化・高速な読み取りを実現する仕組み

1次元コードは横方向にのみ情報を持っています。それに対して、QRコードでは情報を縦と横の二次元に持たせることによって、コードの大容量化が実現されています。

画像出典:「QRコード」ってどういう仕組み?種類や歴史、使用時の注意点などを解説|KDDI トビラ

数字のみならず、ひらがなや漢字の表現も可能なほど大容量となったことで、より詳細な商品の情報を含めるなど、様々な用途でQRコードが使用されるようになりました。

また、QRコードは複数の要素によって構成されています。

  • ファインダパターン(切り出しシンボル)
    • ファインダパターンとは、QRコードの3コーナーに配置される3個(マイクロQRは1個)の位置検出用パターンのことです。
    • このパターンを検索することでQRコードの位置を認識することができ、高速な読み取りを可能にしています。
    • 白黒セルの比率がどの角度でも1:1:3:1:1になっているので、360度どの方向からでも読み取ることが可能です。

  • アラインメントパターン
    • 歪みによって生じる各セル(ドット)の位置ずれを訂正してくれるパターンです。
    • QRコードが歪んでいたとしても読み取れるようになることができます。(ビルの曲面に貼り付けられたバーコード)

  • 誤り訂正レベル
    • 誤り訂正機能のおかげで、QRコードが一部損失したとしてもデータを損失することなく、復元することができます。
    • そのためシンボルの汚れや破損に強く、QRコードが損失しやすい環境(工場など)でも利用しやすくなっています。

  • 誤り訂正レベルには4段階(7% 15% 25% 30%)存在し、それぞれ復元率を表します。

文字で汚れていても読み取れる

 

これらの構成要素のおかげで、QRコードの柔軟かつ、高速、大容量なQRコードが実現されています。

他にも色々な要素がありますので、興味のある方は是非調べてみてください!

参照:https://www.keyence.co.jp/ss/products/autoid/codereader/basic2d_qr.jsp

RubyでQRコードを作成

QRコードはRubyの’rqrcode’ gemを使うことで簡単に生成できます。以下は、URLを表すQRコードを作成するコードです。

# controller
require 'rqrcode'

data = '<https://cyberwave.jp/>' # QRコードに埋め込みたい情報
size    = '3'               # QRコードのサイズ(1..40)
level   = :q                # 誤り訂正レベル(l(7%), m(15%), q(25%), h(30%)

# QRコードを生成し、インスタンス変数に格納
@qr = RQRCode::QRCode.new(data, size: size, level: level).as_svg.html_safe

<!-- view -->

<!-- QRコードを出力-->
<%= @qr %>

QRコードの作成アプリはたくさん存在するので、作ってみたい方は是非試してみてください!

参照:https://github.com/whomwah/rqrcode
QRコード作成|QRの解析|クーポン発行 無料|商用利用可|クルクル マネージャー

こんなQRコードがあります!

QRコードはバラエティも豊富です。一部紹介させていただきます。

  • 顔QR

画像出典:https://www.denso-wave.com/ja/system/qr/product/facesqrc.html

人の顔情報をQRコード化したものです。

特定の人が入れないよう制限をかける入室管理や、本人確認業務の効率化として利用されます。

  • フレームQR

画像出典:https://www.denso-wave.com/ja/system/qr/product/frame.html

コードの内部に画像やイラストを入れることができます。

フレームの形状や色も自由に変えることができるため、自分好みのQRコードを作成することができます!

まとめ

QRコードは全世界に広く普及しています。

駅のホームを歩いていると点字ブロックの上にQRコードが貼られていたり、自分の洋服のタグを見てみるとQRコードが記載されていることもあります。

QRコードの存在を意識しながら町を歩くことで、さまざまな場面で私たちの生活に溶け込んでいることが実感できるのではないでしょうか。

サイバーウェーブでは一緒に働く仲間を募集しています

サイバーウェーブでは一緒に働く仲間を募集しています。当社は創業20年を機に「第2の創業期」として、事業を拡大方針へと舵を切りました。会社が急拡大しており、若いメンバーやインターン生がどんどん入社しています。個人の成長は、勢いのある環境のなかでこそ加速されるものです。成長事業に参画できるチャンスです!

サイバーウェーブはコード1行1行に対してこだわりを持って、プロ意識をもったエンジニアを育てている、技術力に自信のあるシステム開発会社です。社内には、創業23年のノウハウの詰まった研修コンテンツや、安定したシステム開発をするための手順が整っています。実力のあるシステム開発会社だからこそ、経験を積みながら、実践的なシステム開発の技術も学べます。自信をもって主義主張ができる『飯が食える』エンジニアを目指していただきます。

エンジニアとしてしっかりと飯を食べていけるまでには、道のりは決して短くありません。長期で頑張り、エンジニアになるという強い思いがあれば、実戦的な開発経験と、周りの仲間とコミュニケーションしながら、しっかりと成長できます。当社のノウハウを余すことなく活かし、技術力を大きく伸ばしていただきます。

ぜひ、エントリーをお待ちしております!

インターン採用

インターン採用

新卒・既卒・第二新卒採用

新卒・既卒・第二新卒

おすすめ記事