鈍足ランナーのIT日記

走るのが好きな5流のITエンジニアのブログ。

趣味の範囲は広いけど、どれも中途半端なクソブロガー楽しめるWebアプリを作ってあっと言わせたい。サーバーサイドPerl(Mojolicious)、クライアントサイドVue.js。Arduinoにも触手を伸ばす予定。

Perlで元号予想をしてみた

元号発表まで、もう少し!!
予想してみたいとふと思った。
明治、大正、昭和、平成と割と画数が少ない傾向がありそうなので
過去に使われた元号の漢字を使って、画数が少ない(20未満)の組みわせ
が出せれば元号の予想ができるだろうと思いついたのだ。
思い立ったらせっかくなので4月までに実装しなくてはと取り組んでみた。
元号はどこからかダウンロードしてこないと行けないかなとググったのですが
取り入れるのがめんど臭いと思って、cpanを漁ってみた。
いいモジュールがあるではないか「DateTime::Calendar::Japanese::Era」を発見したのだった。
これは助かる!
次なる課題、画数を求めるのはどうすればいいのか?
IPAが漢字の情報を返すAPIを公開しているではないか!
という感じでいい感じに実装できたのだった。

完成したのだ。結果もコミットしたのでみてね!
2688パターン抽出できたのだ。
この中に正解が含まれていることを願いつつ4月1日を迎えられる。
github.com

isucon6qチューニング開始

select * fromをやめる

-        SELECT * FROM entry
+        SELECT description,keyword FROM entry

アプリケションサーバの入れ替え(Starlet->Gazelle)

cpanfileの編集

vi /home/isucon/webapp/perl/cpanfile

requires 'Gazelle';

/home/isucon/.local/perl/bin/carton install

サービスの設定変更

sudo vi  /etc/systemd/system/isuda.perl.service 

StartletをGazelleへ書き換え

サービス再起動

systemctl daemon-reload
systemctl restart isuda.perl.service 

systemctl status
#isuda.perl.serviceが起動しているか確認。起動していなかったら以下でログ確認
sudo journalctl -b | less

isucon6予選環境を作りたい

vagrant,virtualboxをインストールして、あとはVagrantfileを持ってきて、vagrant upで環境構築完了なのですが
問題は、ベンチするときのIPアドレスをどうすればいいのかわからないこと。

muttan1203.hatenablog.com

ゲスト(bench)からゲスト(image)にアクセスするためのIPアドレスはどう指定するのかがわからない。

Vagrantfileの以下を有効にしています。

   config.vm.network "private_network", ip: "192.168.33.10"

この設定だと、ゲスト(bench)からゲスト(image)共に192.168.33.10というIPアドレスを割り当てているようで
これを変えてあげればいいのかな?

  #config.vm.network "private_network", ip: "192.168.33.10"

config.vm.define "bench" do |bench|
  bench.vm.network :private_network, ip: "192.168.33.11"
・・

config.vm.define "image" do |web|
  web.vm.network :private_network, ip: "192.168.33.10"
・・

変えた後にvagrant reloadを実行

vagrant ssh bench
sudo su - isucon
cd isucon6q
./isucon6q-bench -datadir=data -target http://192.168.33.10

きたーーー

エクストリームな感じ

水曜で終わった新幹線定期券の期限を伸ばすためにww

木曜日朝は、いつものように、新幹線で出勤。大井町で降りる。

夜は、株主優待日本橋で無料宿泊。無料朝食付き!

金曜日の帰りは、新宿からバスで三島まで、バスタ新宿が中々
見つからず焦る。発車10分前に到着。

たまには、非日常行動も楽しいですね。
余計に疲れるだけなんですが・・・・

エクストリームな感じ

水曜で終わった新幹線定期券の期限を伸ばすためにww

木曜日朝は、いつものように、新幹線で出勤。大井町で降りる。

夜は、株主優待日本橋で無料宿泊。無料朝食付き!

金曜日の帰りは、新宿からバスで三島まで、バスタ新宿が中々
見つからず焦る。発車10分前に到着。

たまには、非日常行動も楽しいですね。
余計に疲れるだけなんですが・・・・

Clovaで百人一首読み上げスキルを作っているが・・・

百人一首のスキルを開発しています。

次というと、次の札を読み上げる。
もう一度というと、同じ札を読み上げる。

単純な仕様なのですが問題があります。

数秒で札を取れればいいのですが、数十秒取るのに時間がかかると
Clovaのマイク受付時間をオーバーしてしまい。スキルが閉じられてしまいます。
その度に、スキルを再起動しないといけなくて、ユーザフレンドリーでない問題があります。

スキルを再起動するとlaunchRequestが呼ばれるので
session.user.userIdをキーに値(札の順番の配列とインデックス)を復元してあげる仕組みと
しています。
スキルが閉じられても、一定時間は、同じ閉じる前のsession.user.userIDで呼び出してくれるようです。

以上、現場からでした。