読者です 読者をやめる 読者になる 読者になる

ちょっとギーク感?QRコード付き年賀状作成ツール

QRコード付き年賀状??

普通の年賀状だと,何かおもしろくない... ってことでいろいろ考えた

  • 暗号化してみる? → いやいや,普通の人には読めない.
  • URL書いといてそこにアクセスしたらメッセージ読めるようにする? → うーーん,打ち込み間違いとかありそう.リンクは打つものじゃなくてクリックするもの
  • QRコード貼り付けてみる? → これならいろいろ出来るし楽しそう.(ギークな方にはQRコード燃やしたやつ送りつけて正月からCTFができる)

何ができるの?

名前とメッセージを入力すると,QRコードを生成してくれます 例えば,名前のところにЯと入力して,内容のところに昨年はお世話になりました!!!今年もよろしくお願いします!!!と打てば,「昨年はお世話になりました!!!今年もよろしくお願いします!!! Яさんからのメッセージです.」というメッセージが含まれたQRコードが生成されます.

あとはそれを年賀状に貼り付けてあげれば完成です. f:id:McG:20151212124435p:plain

読み取ったらQRコードはこんな感じに. f:id:McG:20151212125142p:plain

使い方次第でおみくじだったり,クイズにしてみたり,いろいろ使えるツール.QRコードを読み取るまで中身が見れないというちょっとしたドキドキ感もあります.

f:id:McG:20151212124454p:plainf:id:McG:20151212125150p:plain

開発雑記

技術的ないろいろ

WebアプリケーションフレームワークとしてRuby on Rails, CSSのフレームワークとしてBootStrapを使用しています. QRコード作成関係のgemなどはこちらを参考にしました.

qiita.com

qiita.com

Webサーバはrailsの標準のWEBrickを使っています.リバースプロキシはNginxで80番ポートに来た通信を3000番ポートに転送しています. データベースはこれまたrails標準のSQlite3を使用. ソースコードはgithubに上げています.(helpページを作ろうとした残骸があったり...)

制作期間

2日です... 1日目にロジック部分と大体のレイアウトを実装して,2日目に下の方に使用方法とできる年賀状のイメージ画像を作ったり,ドメイン取得したりwebサーバの構築を行ったりデバッグしたりいろいろやりました.

公開したらいろいろバグが...

昨日まぁサークルの人たちにちょっと使ってもらったんですが,後輩の作ったアプリでCTFを始める先輩たちがw

入力フォームがあればJavaScriptを埋め込んじゃいたくなったり,バリデーションがちゃんと設定されているかを試してみたりする人とか,機種依存文字を入力してShift-JISへの文字コード変換でエラー出させたりとか... でもやっぱりバグ見つけるのって難しいから,いろいろよかったかなと思っています. まだバグあるんだろうな...

公開した時のメモ

ドメイン割り当てとかやったことなかったけど最近サーバ関係の勉強始めたおかげで結構すんなり出来た. 以下,CentOS7でやってます. yum install nginxでnginxを入れて/etc/nginx/conf.d/default.confを編集します.変にいじると動かなくなるので,コピーは取っておいたほうがいいかと思います.

server {
    listen       80;
    server_name  yukisako.sun.ddns.vc;

    #charset koi8-r;
    #access_log  /var/log/nginx/log/host.access.log  main;

    location / {
        proxy_pass http://yukisako.sun.ddns.vc:3000;
    }

と,こんな感じに書き換えることで,80番に飛んできたアクセスを3000番ポートに渡しています. もっといい方法があるとは思いますがこんな感じで今回はやりました.

よければ使ってみてください!!

© 2016 Yuki Sako.