Ruby で QRコードを生成する方法

何の記事??

URL だったり、任意の文字列(例えば会員ID)を QRコードにして表示したいことってよくありますよね?

そこで今回は Web系の開発でよく使われる Ruby で文字列を QRコードにする方法を記載します!!


準備

QRコード作成のための gem を入れていきましょう。

$ gem install rqrcode_png

Fetching: rqrcode_core-0.1.1.gem (100%)
Successfully installed rqrcode_core-0.1.1
Fetching: chunky_png-1.3.11.gem (100%)
Successfully installed chunky_png-1.3.11
Fetching: rqrcode-1.1.2.gem (100%)
Successfully installed rqrcode-1.1.2
Fetching: rqrcode_png-0.1.5.gem (100%)
Successfully installed rqrcode_png-0.1.5
Parsing documentation for rqrcode_core-0.1.1
Installing ri documentation for rqrcode_core-0.1.1
Parsing documentation for chunky_png-1.3.11
Installing ri documentation for chunky_png-1.3.11
Parsing documentation for rqrcode-1.1.2
Installing ri documentation for rqrcode-1.1.2
Parsing documentation for rqrcode_png-0.1.5
Installing ri documentation for rqrcode_png-0.1.5
Done installing documentation for rqrcode_core, chunky_png, rqrcode, rqrcode_png after 1 seconds
4 gems installed

install で指定したのは「rqrcode_png」ですが依存関係にある「rqrcode_core」「chunky_png」「rqrcode」の三つも一緒に入ります。

今回使うのは以下のライブラリです。github のリンクが↓から!!

github.com

ちなみに今回使用する Ruby のバージョンは以下の通りです。

$ ruby -v
ruby 2.5.7p206 (2019-10-01 revision 67816) [x86_64-darwin18]


実装

それでは実際に QRコードを作成するコードを見ていきましょう!!

まずは、必要な gem をインポートしましょう。

require 'rqrcode'
require 'rqrcode_png'
require 'chunky_png'

それは、RQRCode の QRCode インスタンスを生成しましょう。
今回はこのブログの QR コードを生成してみようと思うので、引数の文字列はみなさんが作りたい文字列に置き換えてくださいね!

qr = RQRCode::QRCode.new( "https://www.geeeek.site/")

さて、この qr 変数を画像として保存するように変換してみましょう。 今回の本題とは少しずれる部分なので少し省略します。
writeメソッドの第一引数は、保存したいパスを指定してください。(今回僕は同じディレクトリに保存することにしました)

png = qr.as_png(
          resize_gte_to: false,
          resize_exactly_to: false,
          fill: 'white',
          color: 'black',
          size: 1000,
          border_modules: 4,
          module_px_size: 10,
          file: nil
          );

File.write("./code.png", png.to_s, external_encoding: "ASCII-8BIT" )

これで任意の文字列を QR コードの画像として保存することができます!!

最後に全体像を記載します。

# -*- encoding: sjis -*-
require 'rqrcode'
require 'rqrcode_png'
require 'chunky_png'

qr = RQRCode::QRCode.new( "https://www.geeeek.site/")
png = qr.as_png(
          resize_gte_to: false,
          resize_exactly_to: false,
          fill: 'white',
          color: 'black',
          size: 1000,
          border_modules: 4,
          module_px_size: 10,
          file: nil
          );

File.write("./code.png", png.to_s, external_encoding: "ASCII-8BIT" )

宣伝

ここで一個宣伝させてください。

現在私「ロク」は、未経験のエンジニア向けのメンターを行なっています。

内容は、キャリアマップの相談、プログラミングの相談、イノベーションマインド(私が勝手に名付けたのでご興味ある方はお問い合わせください。)

料金は無料でお受けしていることと現在会社員ですので、いつでもすぐに回答できるわけでも教材を提供できるわけでもありませんが、お力になれればと思っています。

プログラミングの相談はもちろん、就職の相談や勉強方法の相談など幅広く承っています。

無料と言うと怪しいイメージを持たれがちなのですが、将来的に行いたいビジネスの検証段階としてメンターをやっているため「無料」でご提供させていただいております。

一個だけ、見返りとして求めることがあるとしたら、ある程度できるようになってきたら僕の趣味開発のお手伝いをしてもらえると嬉しいなと思っています。

メンターの応募フォームはこちらから!!

forms.gle

twitter もチェックしてもらえると嬉しいです!!

twitter.com

牛の蔵 〜四谷〜

最近スマブラを買いました笑

なんだかんだピカチュウって可愛いなって実感してます、ロクです。

 

さて、先日焼肉ランチに行ってきました!!

場所は

牛の蔵

という場所です。

 

f:id:shaw522:20190507001058j:image

 

階段を下ったところにあるのですが、やっているのかやっていないのかわからないくらい静かで……恐る恐る扉を開けると店員さんが対応して下さいました。(実は一休.com での予約が初めてで不安だったんです笑 一人あたり800円くらい安くなりました!大満足!!)

 

全席個室のようでした。

それぞれに名前がついているようで、僕達が案内された部屋は……名前忘れちゃった笑

 

f:id:shaw522:20190507001106j:image

f:id:shaw522:20190507001750j:image

 

部屋に入ると、コース予約時に苦手な食べ物を記載しておいたため変更内容やコースの内容を説明していただきました。

 

まずは前菜、定番のキムチとサラダ、そしていきなり牛タン!

f:id:shaw522:20190507002408j:image

牛タンは、噛めば噛むほど味が出るの言葉が本当にあいました!口に入れた時は、あれ?っと思うほど無味無臭なんですが、噛むと味がジュワーっと……(´,,•﹃•,,`)

 

キムチも辛くなくとても美味しかったです。キムチが苦手な彼女でも食べれましたよ!

 

そして〜……お楽しみの〜

f:id:shaw522:20190507231201j:image

タレ!!!!

というボケは置いといて

 

f:id:shaw522:20190507231229j:image

 

ハラミや豚バラ、カルビ、かぼちゃと定番を抑えてくれる嬉しい盛り合わせです!

 

ちなみに、左上に見えるかと思いますが、2種類ほどステーキが入って来るんです!

ワサビと塩で食べました!

 

いや本当に芸が細かい味でした〜!

ウマウマでした〜ლ(´ڡ`ლ)

 

最後にデザートも

f:id:shaw522:20190507231725j:image

 

これだけの味でなんと……3500円!!

しかも一休.com で予約したから飲み物も1杯つきました!!

 

とても大満足です!

 

ぜひ皆さんも行ってみてくださいね〜

 

それではまた次回〜

 

 

 

ドラえもん 23年ぶりの新刊!!

何の記事??

先日気になるニュースを見て、是非紹介させていただきたく記事にしちゃいました。

それは・・・

23年ぶりにドラえもんの新刊発売!!


気になるその中身は・・・

よく見てみてください。
第0巻」と書いてありますね!!

実は、この新刊は6種類のドラえもんの第一話をまとめたものなんです!!

6種類・・・??

ドラえもんは

  • よいこ
  • 幼稚園
  • 小学一年生
  • 小学二年生
  • 小学三年生
  • 小学四年生

の6つの小学館雑誌で連載がスタートしました。

そのため各雑誌にかき分けられた第一話が6種類あるということなんです。
つまりこの6種類の第1話が集まったのが、この第0巻ということなんです!!


最後に

みなさんドラえもんと言えばどの絵柄、歌を思い出しますか?

ちなみに僕は、この曲が出てきます!!

ところで、ホンワカパッパってなんなんでしょうか?笑

どうしても最後の最後に言いたい!!
ドラえもんてやっぱり可愛いですよね笑

ドラえもん 0巻 (0巻) (てんとう虫コミックス)

ドラえもん 0巻 (0巻) (てんとう虫コミックス)