オープンソースカンファレンス 2017 Nagoya #oscnagoya と mikutter Nagoya 2017.5 #moguno に参加してきました

このようにアホに脅されたので、後輩2名を引き連れて行ってきました。

旅程

出発

新幹線は金銭的に大変厳しかったため、車が運転出来る後輩を雑に誘いました。

…と思ったら完全にミス。新東名を走っているとトラックが大量に止まっていて、事故かしらん?と思ってこちらも停止すると、そのまま4時間ほどそこでストップすることになりました。

まあどっかのSAやPAで寝る気だったので、別にどこで寝ても変わらないんですが…うん…心臓に悪い…

という訳で、なんと車でぶっ飛ばしたのに平均時速は50km/hに。下道かな?

朝飯は腹も減ったのでガッツリと餃子で〜

f:id:whywaita:20170527081223j:plain

OSC Nagoya

無事宿に付けたので、チェックインしつつ、そのまま会場に移動。

セミナーは以下を見てきました。

  • 東海道らぐ天下分け目のあひる焼きLT合戦@OSC2017名古屋の陣
  • mikutter Worldwide Developers Conference 2017 @ Nagoya
  • WebエンジニアのためのはじめてのRedis
  • MySQL開発最新動向 ~MySQL 8.0、MySQL InnoDB Clusterなどのご紹介~
  • 【3F:第2ファッション展示場】ライトニングトーク&閉会式

KapperさんのGPD-WINのセミナーには行きたかったのですが、少し遅れていったところ完全に混雑していて断念…。

東海道らぐでは始めてLT発表してきました。アテンドしてくださった皆様ありがとうございました。

www.slideshare.net

MySQLでは話題のClusterとかGroup Replicationについて思っていた疑問を中の人(Oracleの方)に聞けて満足。夢はもう少し先になりそうですね。

閉会式では、同行者の後輩2名をけしかけてLTしてもらいました。それなりにウケていたので良かった。OSCに行ったのに何も発表しないとか考えられませんもんね。

懇親会では高速に食事を消費する要員として活動した後は、LTでゲラゲラ笑う役としてゲラゲラ笑っていました。楽しかった。ビールも美味しかった。地ビール最高。

懇親会の後は同行者も眠そうだったのでそのまま宿に戻ってばたんきゅー。

mikutter Nagoyaだと思ったか?ばかめ!

喫茶マウンテンに行く用事があったので行ってきました。この時点で完全に遅刻。ヽ(‘ω’)ノ三ヽ(‘ω’)ノもうしわけねぇもうしわけねぇ

ピラフとコーヒーを頼んだところ、ピラフがドリンクセットである事が発覚し、しかもピンク色のドリンクが出てきて色彩が爆発。後ろのは有名な甘口抹茶小倉パスタです。

その後は普通に昼食用に色々注文。美味しかった…。

f:id:whywaita:20170528124317j:plain

mikutter Nagoya 2017.5

mikutter.connpass.com

という訳で2時間遅れで到着。

色々有意義な?話を聞けたんですが、mikutterのカンファレンスに行って特に参考になったのはopenSUSEの話とかよく分かんないな?

終わった後は飯会とかがあったのですが、我々は車で移動する必要があったためそのまま離脱。楽しかった〜。

ほったらかし温泉

インターネットで話題な、展望最高な温泉であるほったらかし温泉に行きました。ギリギリに行ったけどとりあえず間に合って良かった。

同行者が「エモ〜〜〜い」とか言いまくるので、私も途中でインプットされてしまい「エモいエモい」ばっかり言ってました。エモかった。

帰宅

そのまま中央道をかっ飛ばして到着。着いたのは0時過ぎており、そのまま疲れ果て寝ました。

費用

おかのさんのツイートでこういうのがありました。

残念ながら私のツイートに言及しているのは見つけられなかったのですが、とりあえず費用感として私の今回の旅費を公開しておきます。

※別にケチって行動した訳ではないので、どれが高いとか安いとかはないです。あくまで参考値。

  • ガス代: 7000円 (3人分)
  • 高速代 : 12000円 (3人分)
  • 朝に無事動いたので、SAで餃子定食 : 1000円
  • 昼食代: ココイチカレーヌードル: 216円
  • OSC懇親会(夕飯)代金: 2000円
  • OSC帰路でのタクシー代: 1000円 (3人分)
  • 喫茶マウンテン(昼食): 1700円
  • ほったらかし温泉: 800円
  • 夕飯(談合坂SA): 1000円

合計13382円ぐらい?新幹線で行くと往復2万円ほどかかることを考えると比較的安く行けました。

〜〜〜追記(2017/06/02 1:50)〜〜〜

宿代が抜けていたので加筆します。民泊使いましたがやはり3人とかそれ以上ぐらいで行くとかなり安いですねえ。

  • ガス代: 7000円 (3人分)
  • 高速代 : 12000円 (3人分)
  • 朝に無事動いたので、SAで餃子定食 : 1000円
  • 昼食代: ココイチカレーヌードル: 216円
  • 宿代: 10000円 (3人分)
  • OSC懇親会(夕飯)代金: 2000円
  • OSC帰路でのタクシー代: 1000円 (3人分)
  • 喫茶マウンテン(昼食): 1700円
  • ほったらかし温泉: 800円
  • 夕飯(談合坂SA): 1000円

合計16,000円ぐらい?新幹線で行くとそれだけで往復2万円ほどかかることを考えると比較的安く行けました。

〜〜〜追記ここまで〜〜〜

終わりに

2日間本当に楽しかった。いつものmikutterブースでわいわいするのも良かったし、しまだぁさんなど名古屋在住の方に改めてご挨拶出来たり、本当に良かったです。

また行きたいけど、流石にポンポン名古屋には行けないので、次は東京ですかね…。

そろそろ旬も過ぎたしMastodonについて書いておこうか

ポエム

何度か人前で発表していると、聞きに行っただけの勉強会で突然「わいわいたさん、ちょっと時間あるんで10分ぐらい喋って貰えますか」とか、元々20分の発表と聞いていたのに「時間が押してるんで、5分でいいですか」とか、5分だと思って行ったら本当は30分だったとか(これは単に私の確認不足だった)色々起こる。

特に一番最初のは本当に難しくて、引き延ばしや短縮はまあ気合いでどうにかなるんだけど、特に話す予定も無かったのにじゃあ一席、みたいなのは結構難しい。

とはいえ折角お声がけ頂いたのにお断りするのは心苦しいし、機会を頂いたら最大限活用したいと思っているので、とりあえず何か話す用のネタは大体考えていたりする。

大体時事ネタを含めたりする事が多くて、今回はMastodonを触って思った事をとりあえずストックしていたのだが、とりあえず旬は過ぎてそうなのでブログに書いてみる。

Mastodon

  • https://mstdn.uec.tokyo というMastodonインスタンスを運用している
  • Mastodonは、普遍的な(教科書的なと言うべきか)Railsアプリケーションである
    • つまり、富豪的な実装であると言える
    • 悪い事は言わないのでメモリ2GB以上は用意しよう
    • Docker上で動かしたり分散するのも可能だが、個人的には「巨大なRailsインスタンス」と「巨大なDB用インスタンス」の2台で動かすのが楽なのではないかと考えている
  • Mastodonの運用はWeb系のアプリケーション導入/運用の練習には適しているかも
    • Nginx(HTTP) / Rails / Postfix(SMTP) が必要になってくる
    • ちなみにメールはメールアドレス確認メールを送信するだけなので、メールを送る処理を無効化したり、SMTP SaaSとかに任せる方法もある
  • Mastodonの重いところは、ディスクとDBコネクション周りか?
    • クライアントとアプリケーション間でストリーミングコネクションを張るので、Nginxのコネクション許可数を増やすのをおすすめ
    • SidekiqとDBの接続周りも増やすといいかもしれない
  • アプリケーションの更新はかなり高速なので、運用するなら一定のポリシーでやると良い
  • 更にスケールしたいという需要があるならpawoo.net の記事が参考になる
    • まあ、Sidekiqワーカを分散するぐらいだろうか…

以上。

まとめ

とりあえずこれで5分〜20分ぐらいは保ちそう。

現状の想定は「Mastodonという言葉は知っているけど技術的な要件は知らん」ぐらいの層を想定している。多分この層が一番多いのではなかろうか。

30分〜1時間のセッションならもう少し話すネタが必要かな。多分実際のconfを見せてみたり、サーバの様子を見せてみたりすれば+10分はいける。1時間までいくならしっかりとした計算式や根拠を話すと多分伸びる。が、1人だとこれが限界かなあ。

という訳で10分ぐらいの登壇ならいつでもしますのでいつでもお声がけください。

ちょこちょこWebアプリを書いてる

私がIT系に入って一番最初にやったバイトがインフラ系で、主にサーバの運用をしていたので、どちらかと言えばインフラ、ミドルウェア周りに興味があったし知見もあった。 そのバイトを始めとして色んな環境に身を置かせてもらっていたんだけど、ネットワーク機器とか、Infrastructure as a codeみたいな事とか、どちらかと言えばレイヤーが低めになっていった。

ただ、一応Web系に身を置いている人間として、Webアプリすら書いたことないのはどうなの、という話になり、それはその通りだと思いちまちまとWebアプリを書いている。

リポジトリはここ。使ってる技術的にはFlask(Python)+MySQL+Redisだろうか。

github.com

アプリケーションの内容的には、QiitaのAPIを叩いて検索とか出来るようにしている。Qiita Frontend Alternative?になるのかな。

本当に経験が無かったので手探り手探りでやっている。

DBとかはチューニングの為にたまにクエリを見たりしていたのでまあまあ存在価値は分かっていたんだけど、Redisはなんとなく「セッションを管理してるんだろうな」ぐらいの認識で、イマイチセッションがどう使われるのかとか分かっていなかったけど、何となくわかってきた気がする。

まだ分かってないのは、gitの扱いがちょっと怪しい。特に、「とりあえずコミットしたいんだけど秘匿情報がまだ含まれてる」とかの場合にどう扱うのかがピンと来てない。その時々で対処法が違うからここは勘を覚えるしかないのかなあ。

やったこと

  • QiitaのAPI叩いて取得する
  • タイトルとユーザIDで検索する
  • アカウントはDBで管理する
  • ログインしているユーザセッションはRedisで管理する
  • Herokuで動くようにする
  • Dockerでも動くようにする(というか開発環境は docker-composeMySQLとRedisを立ち上げている)

今後のTODO

機能

  • お気に入り機能
  • ユーザ登録機能

技術

とりあえず聞いた事があるこの辺を実装はしたいと思っている

まとめ

時間の隙間を見て実装していて、またフルフレームワーク(DjangoとかRailsみたいなやつ)を使わずにちょこちょこやっているので進捗はかなり遅いんだけど、まあ充実感は大きいので良かったかなと思っている。

あと、Pythonは割とふわっと書けるので便利。vimの機能でPEPに準拠しているかどうかをチェックする奴を自動で動かすようにもしているので、一定の水準を持ってふわっと書けるのが良いのかもしれない。

少し前にGolangでWeb書いてたら中々しんどさを感じたのでPythonにしたんだけど、まあ今の所言語を切り替える予定はない。

また何かあったら報告します。Flaskの知見ももうちょっと溜まったらアウトプットしたい。

ついでにコードのここが筋悪とかここはイケてないとかあったら教えてください。

2017年冬季(新春)アニメ総括メモ

少し遅れましたが、伝説となりえたアニメBanG Dream!も最終回を向かえたので、書いておきます。 ちなみにBanG Dream!は見てませんでした。

前回:

whywaita.hateblo.jp

結果

名前 放送時間 結果
AKIBA’S TRIP -THE ANIMATION- MX ¼(木) 23:30 途中まで見てたはず
政宗くんのリベンジ MX 1/5(木) 22:30 完走
うらら迷路帖 TBS 1/5(木) 25:58 完走
セイレン TBS 1/5(木) 26:28 切った
スクールガールストライカーズ Animation Channel MX 1/6(金) 24:30 切った
風夏 MX 1/7(土) 22:00 切った
亜人(デミ)ちゃんは語りたい MX 1/7(土) 23:30 完走
ひだまりスケッチ×ハニカム MX 1/7(土) 24:00 温存中
にゃんこデイズ MX 1/8(日) 22:27 切った
エルドライブ【ēlDLIVE】 MX 1/8(日) 22:00 完走
チェインクロニクル ヘクセイタスの閃(ひかり) MX 1/8(日) 22:30 途中まで見てたはず
アイドル事変 MX 1/8(日) 23:30 切った
リトルウィッチアカデミア MX 1/8(日) 24:00 1話も見てない
ちょぼらうにょぽみ劇場第三幕 あいまいみー~Surgical Friends~ tvk 1/8(日) 26:30 切った
ガヴリールドロップアウト MX 1/9(月) 24:00 完走
ACCA13区監査課 MX 1/10(火) 23:00 途中まで見てたはず
ハンドシェイカー MX 1/10(火) 24:30 1話もみてない
南鎌倉高校女子自転車部 tvk 1/10(火) 25:00 1話も見てない
けものフレンズプロジェクト テレビ東京 1/10(火) 25:35 完走
ピアシェ〜私のイタリアン〜 MX 1/11(水) 22:30 1話も見てない
OneRoom MX 1/11(水) 22:40 途中まで見てたはず
小林さんちのメイドラゴン MX 1/11(水) 24:00 完走
この素晴らしい世界に祝福を!2 MX 1/11(水) 25:05 完走
CHAOS;CHILD MX 1/11(水) 25:35 1話も見てない
MARGINAL#4 KISSから創造るBig Bang MX 1/12(木) 23:30 1話も見てない
クズの本懐 フジテレビ 1/12(木) 24:55 1話も見てない
SUPER LOVERS2 MX 1/13(金) 25:40 完走
Rewrite MX 1/14(土) 23:30 完走
グランブルーファンタジー MX 1/21(土) 19:00 1話も見てない
BanG Dream!(バンドリ) MX 1/21(土) 22:30 限界
幼女戦記 忘れた 忘れた 完走

詳細

幼女戦記

完全に優勝!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

今季覇権と言える。 「99%悠木碧なんだけど本当に悠木碧なのか判別出来ない」と言われたターニャちゃんと、「数百億%早見沙織」と言われたヴィーシャちゃんが神。 あとはアツい演出が本当によくて優勝。完全に勝利した。

亜人(デミ)ちゃんは語りたい

優勝!!!

亜人ちゃん達が可愛すぎる。特に誰が可愛いとかはないです。

政宗くんのリベンジ

俺も風邪引いてリベンジしてえ。優勝。

けものフレンズプロジェクト

けものフレンズは今季最も話題になった作品であるのは間違いないと思う。

話題となった1話はどうも声優さんの演技に違和感があったり、2話以降とはかなり意向が違うように思える。 4話あたりで話題になったこのアニメだが、ゆるふわ系と思って見ていた層が最後まで残らなかったのは、このアニメが完全な王道アニメだからだろう。

私はあの最終回がとても好きだ。なのでしばらく最終回だけ見てると思います。今後に期待。

小林さんちのメイドラゴン

普通に優勝していくアニメ。優勝。

ピーチボーイリバーサイドのアニメ化を待ち続けています。

ガルリールドロップアウト

最近SS界隈で急に流行ってきたけどなんなんですかね?

うらら迷路帖

正直きららのキレが最近落ちてきているのを感じる。

エルドライブ【ēlDLIVE】

原作が面白くない(内容はいいんだけど刊行時期が微妙すぎる)のに比べてアニメは本当に良かった。 多分原作も週1で見たら面白いんだと思う。

まとめ

今季は正直に言うと不作であったと言わざるを得ないのではないかと思っている。 どうも優勝しきれない存在であったり、ずっと見ようと思える風格を感じられなかった気がしており、周囲のアニメ愛好家でも似たような評判であった。

通常であれば幼女戦記が覇権になるのは少ないのではないかと思っているが、覇権となったのは今季こそであるかもしれない。

ただ、その分2017年春季は正直ハンパないので是非見てほしい。

そんな今季のリストはこちらです。

2017年春季アニメ録画リスト · GitHub

では、2017年冬季(新春)、お疲れ様でした!!!!!!!!!!!!!!!!!!!!!!!!!

株式会社はてなに入社しました

株式会社はてなに入社しようとしましたが失敗しました。

株式会社はてなに入社しました - hitode909の日記

Dentoo.LT #16 参加してきた #dentoolt

atnd.org

遅くなりましたが参加報告記事です。

今回のスライドはちゃんとslideshareに上げておきました。 「地獄のご紹介」というおどろおどろしいタイトルですが、何度か話に出ているd250g2というインターネットコミュニティについてお話ししました。

www.slideshare.net

スライドにはある通り、大学院という場所で2年間頭の治療をする事になりました。 あまり具体的に公言はしていなかったのですが、無事単位数も十分に集まり、大学を卒業することとなりました。やらねばいけない事とやりたい事のバランスを取りながら全力で休んでいきたいと思います。

そして今回から主催が継承されました。 私から受け継いだ id:miki_bene から id:hogashi に移りました。 もうそろそろ私も準備にはほぼ関わっておらず、後輩達の力でほぼ実現できています。良い事ですね。 前述の通りまだしばらくは大学に居るので、しばらくは顔出しをしていると思いますのでご安心ください。

見逃した方はいつも通りYoutubeLiveがあるのでそちらからどうぞ。 新入生に向けての発表などもあったので、もしこのブログを見ている電気通信大学新入生が居れば少しお得かもしれません。

www.youtube.com

ついでに誰も言ってないのでここに書いておきますが、YoutubeLiveでのカスタムURLを取得しました。

https://www.youtube.com/c/dentoolt

かなり短くて良い感じですね。

まとめ

という訳で今回登壇/聴講/YoutubeLive視聴頂いた皆様ありがとうございました。

次回の Dentoo.LT で会いましょう。

Heroku上でWordPressを動かしてチューニングしてみる

2017/03/03 追記: ab結果がおかしいのではというお話を頂き現在調査中です。あくまで参考値として参照ください。

2017/03/03 追記2: ab結果がおかしい事が判明した為、abの結果表示を削除しました。速度に関する記述に関しては夢物語としてお楽しみぐださい。

アプリケーションPaaSなHeroku上でWordPressを動かすという試みがあり、一応まともに動くという話を聞いたので、試してみるがてら高速化出来ないかやってみる。

インストール

雑にWordPressの公式からファイルをダウンロードし、

$ git add .
$ git commit -m "initial commit"

などとする。

WordPressMySQLを用意する方法はいくつかあるが、アドオンで人気そうなclearDBを使う。

$ heroku create
$ heroku addons:add cleardb

と打てば、herokuアプリを作成してclearDBアドオンも追加される。herokuコマンドのインストールなどは割愛する。

$ heroku config

とするとclearDBへの接続情報を得る事が出来るので、 wp-config.php ファイルに記載し、よしなに書き足す。

その後、 git push heroku master とすれば、WordPressが立ち上がる。意外と最初見た時は衝撃的だった。

チューニング & 計測

とりあえずデフォルトで計測を行う。

Nginx/PHP 5.6.30

※ab結果がおかしかった為削除(2017/03/03)

PHPバージョンアップ

HerokuではPHP7が動くので、こちらに移行する。 HerokuでPHPのバージョンを指定する場合はcomposer.lockを設定すれば良いらしいので、雑にcomposerを導入して、composer.jsonを書いて composer install した。

上手くPHP7系になった場合は、 git push heroku master の際に利用されるPHPのバージョンが表示されていて、そこに7系の数字が出るはず。

$ cat composer.json
{
    "name": "whywaita/test-wordpress",
    "authors": [
        {
            "name": "whywaita",
            "email": "whywaita@whywrite.it"
        }
    ],
    "require": {
      "php": "^7"
    }
}

abコマンドはこれも含めて最初と共通。

※ab結果がおかしかった為削除(2017/03/03)

そこそこ早くなった。

Apache

正直Nginxの方が早いと思うんだけど、一応試してみる。

Webサーバの設定は Procfile で行う。

$ cat Procfile
web: vendor/bin/heroku-php-nginx

$ cat Procfile
web: vendor/bin/heroku-php-apache2
※ab結果がおかしかった為削除(2017/03/03)

案の定少し遅くなった… これ以降はNginxに戻した。

SSL

SSL化はオーバーヘッドが生まれるものの速度の面でもそれなりに期待できるし、ちゃんとやるなら必須なので試してみる。

Herokuは *.herokuapp.com のwlidcard SSL証明書を提供しているので証明書自体は既に適用されているんだけど、これはHerokuのロードバランサーを介することで動いているもので、WordPressで安易にやると強制リダイレクトループしたりするので気を付ける。

この記事にも書いてあるんだけど、wp-config.phpをよしなに書くと動く。

具体的には以下のコードを追加すればいいんだけど、この時にwp-settings.phpの読み込みよりも上に書かないと詰まる。

/** ssl in heroku **/
if (isset($_SERVER['HTTP_X_FORWARDED_PROTO']) && $_SERVER['HTTP_X_FORWARDED_PROTO'] == 'https')
      $_SERVER['HTTPS'] = 'on';

その件はこのブログにある。このページにアクセスする権限がありません。という表記が出たらこれで直る。

なので具体的にはこうなるのかな?

/** Absolute path to the WordPress directory. */
if ( !defined('ABSPATH') )
        define('ABSPATH', dirname(__FILE__) . '/');

/** ssl in heroku **/
if (isset($_SERVER['HTTP_X_FORWARDED_PROTO']) && $_SERVER['HTTP_X_FORWARDED_PROTO'] == 'https')
      $_SERVER['HTTPS'] = 'on';

/** Sets up WordPress vars and included files. */
require_once(ABSPATH . 'wp-settings.php');

これを追加してHerokuにデプロイするととりあえずHTTPSでも動くようになる。が、デフォルトのドメインはHTTPのままで、管理画面とかもHTTPのままになるので、WordPressの管理画面から変更すると良い。

※ab結果がおかしかった為削除(2017/03/03)

猛烈に早くなった。SSL凄い。 Herokuではhttp2はまだサポートしていないので、これが対応されるとまだ早くなりそう。

詰まったところ

has exceeded the ‘max_questions’ resource (current value: 3600) エラー

突然WordPressのインストール画面が出てくるようになってしまって、再インストールしようとしたらこういうエラーが出る。

ClearDBのFAQにちゃんと書いてあって、1時間毎のクエリ数が制限されているらしい。

ClearDB FAQs – ClearDB

大体待ってると直るけど、ちゃんと動かすのなら課金するなりMySQLサーバを自分で立てるなりした方が良さそう。

参考記録

私がホスティングしているなぜにブログベンチマークも計測してみる。

$ ab -n 100 -c 100 https://blog.whywrite.it/
This is ApacheBench, Version 2.3 <$Revision: 1748469 $>
Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/
Licensed to The Apache Software Foundation, http://www.apache.org/

Benchmarking blog.whywrite.it (be patient).....done


Server Software:        nginx
Server Hostname:        blog.whywrite.it
Server Port:            443
SSL/TLS Protocol:       TLSv1.2,ECDHE-RSA-AES256-GCM-SHA384,2048,256

Document Path:          /
Document Length:        70808 bytes

Concurrency Level:      100
Time taken for tests:   15.793 seconds
Complete requests:      100
Failed requests:        0
Total transferred:      7127500 bytes
HTML transferred:       7080800 bytes
Requests per second:    6.33 [#/sec] (mean)
Time per request:       15792.543 [ms] (mean)
Time per request:       157.925 [ms] (mean, across all concurrent requests)
Transfer rate:          440.74 [Kbytes/sec] received

Connection Times (ms)
              min  mean[+/-sd] median   max
Connect:      468  745 182.1    864     888
Processing:  1372 9285 4737.2  10609   14918
Waiting:     1340 9250 4736.6  10578   14888
Total:       1841 10030 4894.7  11472   15785

Percentage of the requests served within a certain time (ms)
  50%  11472
  66%  13843
  75%  14854
  80%  15274
  90%  15587
  95%  15655
  98%  15776
  99%  15785
 100%  15785 (longest request)

コンテンツ量もあるので一概に比較出来ないけど、実はHerokuの方が早いのかもしれない。

まとめ

とりあえずデフォルト設定と比較して約7倍ぐらい高速化できた。PaaS上でプラグイン利用無し縛りでやった分にはそれなりに高速化出来たような気がする。

Herokuは無料だとちょいちょい落ちたりしてるんだけど、その辺を許容するならかなり良い気がする。Herokuに信奉する人が何人か居るのは知っていて、そんなに良い物なのかと思っていたけど、最近そう言い出すのも少し分かるようになってきた気がする。

ちなみに今回のソースコードは以下に置いた。ClearDBのログイン情報がそのまま載ってるけど気にしないでください。

GitHub - whywaita/wordpress-heroku-sample

デモサイトは以下です。

https://yyta-wp.herokuapp.com/