2014年大晦日ハッカソン提出遅れました
あけましておめでとうございます。りちゃです。
大晦日ハッカソン2014 にかこつけて、前から考えてたネタを実装しようとしました。
これが何かって言うと、パケットの行方を可視化したかったんです。
- Chrome Extension です
- Google Map をポップアップに表示するのに、ものすごくハマった。
- manifest.json の
content_security_policy
に"script-src 'self' 'unsafe-eval' https://maps.gstatic.com https://*.googleapis.com
などと書く。unsafe-eval とか、できれば書きたくないけど、とりあえず動かすためってことで、とりあえず。
- manifest.json の
- Chrome Extension では webRequest の onComplete ってやつで引っ掛ければ、閲覧中のサイトの通信を引っ掛けてアクセス先 IP を知ることができる。
- ipinfo.io を使って IP から緯度経度を出している。無料だと1日1000リクエストだからそのうち死ぬ。GeoIP 使うのがきれいな方法な感じはするけど、時間なかった。
コードはこちら: https://github.com/rch850/kirakira
名前の通りキラキラするような表示にするのが夢。
高専カンファレンス in 福井2
もう先週末だけど高専カンファレンス in 福井2に参加してきた。運営スタッフの皆さん、参加者のみなさん、楽しかったです。ありがとうございました。
思い起こせば、前回の福井高専での開催から、ちょうど学生が一回り。あの頃1年生だった学生が、ちょうど今年から働いてるんだよねー。もうそんなに経ったのか。なお前回は実行委員長的立ち位置だった自分ですが、今回は高専カンファレンス事務局のおじさん的立ち位置でしか絡んでませんでした。欲を言えば絡みたかったけど、自主的にやりたさそうな感じだったから、お任せで。
発表は、30分のと10分の2本やってきました。もっと発表申し込みが殺到して蹴落とされる展開を予想してたんだけど、そんなに発表は集まらなかったみたい。蓋を開けてみれば、そもそも発表を見たこと無いって人が多かったから、仕方なかったのかもね。
クラウドの話のあと、学生から「Nitrous は PaaS ですか?」って質問されたのは良かった。何が良かったかって、自分が Nitrous を知らなくて、それを学生から学べたということが良かった。自分の不勉強をかばうわけじゃないけど、前でしゃべってるような人でも知らないことがあるんだよってことを学生に知ってもらえれば、前でしゃべる事へのハードルが下がるんじゃないかなぁと。
あと、前から気になってた「福井技術者のつどい」の方々に会えたのもよかった。記念すべき初回の勉強会の時はあいにく東京に行く用事があって参加できなかったのだけど、次は行きたい。平均年齢が20切ってるところで、ガツンと上げてやりたい。
2014年から始めるラブライバー
はじめまして、ラブライブ! Advent Calendar 2014 の6日目担当のりちゃです。5日目は @minami7sr さんの「想いはリンゴに込めて」でした。わざわざリプライでお知らせしてもらってありがとうございました!このために Tumblr アカウントを作ったとのことで、愛を感じます。
6日目といえば、2期の #6 の話をせざるを得ません。この話は、海未ちゃんがにゃーにゃーする回で、海未ちゃん推しの自分としては絶対に外せません。かつ、そのシーンの直前では化学部(?)に扮して海未ちゃんがメガネをかけるという、メガネ好きにとっては最高のシーンがあります。そんなわけで、2期の #6 は局所的にお気に入りです。
さて、まさかラブライブ!で Advent Calendar ができるなんて、というのが正直な感想です。そんな企画に参加させてもらうことができてうれしいです。今年が初めてだとは思うのですが、どちらにしろ僕は去年書くということはありえませんでした。なぜならまともにハマりだしたのが今年からだからです。そんな新参が新参なりにハマっていった話を書こうかなと思います。
だいぶ前からμ's やラブライブ!の名前は知っていたのですが、なんとなーく名前を知っていたぐらいで、1期も見てませんでした。メガネキャラいなかったし。
今年の4月中旬に、なにかのきっかけでスクフェスを初めて、そこからハマっていくことになります。スクフェスの最初の印象は、始めた直後に真姫ちゃんの誕生日でラブカストーン配布してて、太っ腹なゲームだなーと思ったことです。
その後、2期のアニメを今やってるみたいだし、見てみようと思ったのですが、見るなら1期から見ないと、と思ってしばらく保留してました。が、すぐに5月の連休に入ってしまい、空き時間ができました。そこで1期をざーっと見て、さらに2期のリアルタイムにも追いつきました。そこからはバンダイチャンネルとニコニコ動画にお世話になりっぱなしで最低2回は見返す生活をしていました(福井県民なので……)。
最終回の LV も名古屋に見に行きたかったんですが、うっかりしてたら締め切り過ぎてて見に行けませんでした。そして最終回が放送された6月29日、タイムラインで続々とイベントに参加してる方のツイートが回ってきて、トークやらライブ映像やらが終わっていざ最終話が放映になりそうな時、リアルタイムで視聴できない僕はいてもたってもいられず、家を飛び出して30分間走ってきました。
Just completed a 5.00 km run - ラブライブ!二期最終回おつかれラン done http://t.co/6j7iv3b2et #RunKeeper
— りちゃ (@rch850) June 29, 2014
実際に見てたら走った後に「やり遂げたよ……最後まで!」とか言いそうですが、そのセリフを知るのはバンダイチャンネルで放映される翌火曜日の話。
走るネタとしては、この翌週の能登島ロードレースというハーフマラソンでは、よく分からない写真付きツイートを投稿しながら走ってました。
うっみうっみうー #能登島ロードレース pic.twitter.com/I0kWegMKSY
— りちゃ (@rch850) July 6, 2014
うみのそばにいる #能登島ロードレース pic.twitter.com/5iKUg5ZqcA
— りちゃ (@rch850) July 6, 2014
8月になって、夏コミ。夏コミとかしばらく行ってなかったんですが、いい機会なので初日に福井からの始発で向かって KADOKAWA ブースならんだらどうなるか、チャレンジしてみました。
始発組(福井)
— りちゃ (@rch850) August 14, 2014
福井始発だと、敦賀まで快速、米原まで新快速、そこから新幹線という乗り継ぎで、国際展示場に9時半に着くルートになります。9時半着ってことで、結果はさすがに惨敗。在庫情報をリアルタイムに伝えてくれる KADOKAWA さんの Twitter アカウントのおかげで即結果を知ることができたのはありがたかったです。
夏コミには3日とも参加して、最終日は神田明神に寄って帰りました。これまで神田明神といえば、年末に実家の茨城に帰った後、福井に戻るときにたまに寄るぐらいでしたが、その頃には全く意識してなかった男坂。今見ると、うん、いいなぁ。
やっと来た pic.twitter.com/M1tZGCpnzv
— りちゃ (@rch850) 2014, 8月 17
この後帰りの新幹線では、ニコニコで一挙放送してた1期を見ながら帰りました。
新幹線便利 pic.twitter.com/ge9uZGeAln
— りちゃ (@rch850) August 17, 2014
その後、年末までシャンシャンしたり CD, BD 買うぐらいで特に活動してこなかったのですが、Google Play Game Week なんていう企画があると知り、参加してみよう!と思いました。が、メインで使ってたのは iPad。Android の方はアカウントだけ作ってランクが一桁。こんなんじゃ参加できないということで、なんとかランクを上げて、課題曲を決めて、ツイートで応募してみました。
が、先日の動画配信を見ての通り、落選しました。いやー、当選した方たち楽しそうでしたね。すごくうらやましかったです。でもえみつん、くっすん、そらまるに応援されている状況での EX フルコンは、なかなか難しいだろうなーと思います。ちなみに当選した場合はにこセンターってことで夏色えがおで行くつもりでした。メンバー的には乙女式で行きたいと思ってましたが、乙女式 EX はあの状況じゃなくてもフルコンできないのでw
そんなわけで僕の2014年は、4月からラブライブ!にハマって大きく変わりました。来年は、ついに初のイベント参加、5th Live が待ってます。Fan Meeting Tour は、さすがに北陸開催とはなりませんでしたが、長野(のぞえり!!!)、名古屋、大阪などには足をのばそうとおもいます。
最後に、些細なものですが、Advent Calendar 向けに小ネタをひとつ作りました。
突然のカラオケで光るものがない時に大活躍するであろう、タップするとラブライブレード的に色が変わるだけの、シンプルなページです。色の並べ替えもできます。
残念ながら僕がラブライブレードの実物を YouTube でしか見たことがないのと、そもそも色弱なのとで、色がおかしいかもしれませんが、もし RGB で指摘して頂ければ修正します。
2014年の4月からの僕でもこんなに楽しめているラブライブ!に、来年も新たなファンが増えていく事を祈りつつ、明日7日目の sleeepnow さんにバトンをお渡しします。よろしくお願いします!
インフルエンザ様疾患の発生について
今朝、福井県で学級閉鎖が出たってニュースを聞いて、調べてみたらこんな PDF を見つけた。
内容はこんな感じで、どこの小学校で起こったか、何年生の合計何人中何人が患者なのか、いつからいつまで学級閉鎖なのかといった情報が書いてある。これは役に立ちそう。
タイトルにもなっている「インフルエンザ様疾患」ってなんだろーって調べてみたら、文部科学省にこんなページを見つけた。
なるほどなるほど、国として報告していく仕組みがあるわけね。2009年のパンデミックの際に、だいぶ整備されたんだろうなぁ。
いろいろリンクを辿って行くと、NESID やら iNESID に情報を集める方向だというのがわかってくる。インフルエンザ様疾患発生報告について(iNESID版) なんかは、かなり詳しく書いてある。
1 都道府県等は、次に掲げる情報を、1週間分(月曜日から日曜日まで)集計し、 翌週の火曜日(休日の場合はその翌営業日)までに報告することとする。
・ 第2の3で把握したインフルエンザ様症状を呈する患者の集団発生に係る 情報
2 1の報告は、暫定的感染症サーベイランスシステム(iNESID)で行うも のとする。
だとか
1 第2の4の検査を実施し、新型インフルエンザ(A/H1N1)が陽性であっ た場合、地方衛生研究所は、感染症サーベイランスシステム(NESID)の「病 原体検出情報システム」における病原体個票及び集団発生病原体票にデータを登 録する。
だとか。なるほど、NESID が「感染症サーベイランスシステム」で、iNESID が「暫定的感染症サーベイランスシステム」って事なんだな。こんな事がわかってくると、どんなシステムだか気になるじゃん?ってわけで、検索したら、症候群サーベイランス - 感染症 早期探知システムのご紹介というものが出てきた。名前が「感染症」ではなくて「症候群」と、ちょっと違うけど、まぁいいや。
サイトには学校欠席者情報収集システムなんてものへのリンクがある。これは気になる!ポチッ!
おー、すごいすごい。全国で欠席者が出てるかどうかがひと目で分かる。学級閉鎖も見られるみたいなのでポチってみると、
なるほどねー。未実施、非公開のところが結構あるけど、そこそこ役立ちそう。
iNESID の情報が参照できれば、かなり詳しくインフルエンザの流れを追えそうだなー。
CloudFlare で Heroku に zone apex を向ける
sokuhotel.net みたいな、zone apex だとか root domain だとか呼ばれるあれ、Heroku で使いたいときは CloudFlare を使うと無料で簡単ですね。
Heroku のドキュメント (Custom Domains | Heroku Dev Center) では、下の通りいくつかの方法が案内されている。
この中で一番知ってたのが CloudFlare だったので、CloudFlare で適当に設定。この場合に設定するのは
まず CloudFlare 側はこんな感じで設定。
zone apex の A レコードで最初から入ってる場合は、それを消してやらないと CNAME を追加できないので注意。あと、今回は特にアクセスを高速化したりしたいわけじゃないから、CloudFlare 自体の機能は切ってある(雲アイコンがグレー)。
CloudFlare で zone apex に CNAME を設定すると、設定上 CNAME となっているものの、実際の名前解決では A レコードとして解決される。これが CNAME Flattening ってやつで、zone apex を使える理由だ。zone apex に A レコードじゃなくて CNAME を設定できちゃうと色々と問題になるからね。
Heroku のほうは、zone apex を Domains に追加してやる。
既存のリンクが壊れちゃってもしゃーないから www を残してるけど、最初から使う気が無ければ設定しなくてもいいと思う。
最後にドメインのレジストラ側の設定で、NS レコードを CloudFlare に向ける。VALUE DOMAIN だとこんな感じ。
この3つの設定が終われば、そのうち zone apex でサイトにアクセスできるようになる。
会員登録フォームで再入力させるのはパスワードではなくメールアドレス
Facebook にログインしてない状態でアクセスするとこんな画面が出てくる。
登録フォームがいきなり出てくる、グロースハックとしてはおなじみのパターンなんだけど、エンジニアが注目すべきなのは再入力を促している箇所。このフォームではメールアドレスまたは携帯電話番号の再入力を促している。
再入力自体そもそもいらなくね?みたいな話は置いておいて、なぜパスワードではなくメールアドレスを再入力させるのか?
答:間違ったら困るのがパスワードではなくメールアドレスだから
Facebook に限らず、最近のサービスはパスワードを忘れてもメールアドレスからパスワードをリセットできる。でも、登録時にそのメールアドレスを間違えてしまったら……残念なことにパスワードリセットのメールがどこかの誰かに届くだけだ。実際、自分のメールボックスにも誰かの LINE のパスワードリセットのメールが届くことがある。かわいそうに。
パスワードの再入力フォームを作ってる時間があるなら、その時間をメールアドレスの再入力フォームに費やそう。そうすればかわいそうな人は減るはずだ。
2014年10月のMySQLセキュリティアップデート
巷では Amazon RDS リブート祭りになってますが、その原因となった MySQL の脆弱性とは何なのか。
Oracle のアドバイザリから、攻撃時の認証が不要となっていた9つの脆弱性をピックアップ。
CVE | Base Score | 最悪の影響などの概要 |
---|---|---|
CVE-2014-6491 | 7.5 | MySQL Server での任意のコード実行を含んだ、MySQL Server の奪取 |
CVE-2014-6500 | 7.5 | MySQL Server での任意のコード実行を含んだ、MySQL Server の奪取 |
CVE-2014-0224 | 6.8 | 攻撃は難しい。いくつかの MySQL Server での update, insert, delete の実行、MySQL Server がアクセスできるデータの一部のリードアクセス、MySQL Server の部分的な DOS |
CVE-2012-5615 | 5.0 | MySQL Server がアクセス可能なデータの一部へのリードアクセス |
CVE-2014-6559 | 4.3 | 攻撃は難しい。MySQL Server がアクセス可能なデータ全てへのリードアクセス |
CVE-2014-6494 | 4.3 | 攻撃は難しい。MySQL Server のハングアップや連続したクラッシュ(complete DOS) |
CVE-2014-6496 | 4.3 | 攻撃は難しい。MySQL Server のハングアップや連続したクラッシュ(complete DOS) |
CVE-2014-6495 | 4.3 | 攻撃は難しい。MySQL Server の連続したクラッシュ(complete DOS) |
CVE-2014-6478 | 4.3 | 攻撃は難しい。MySQL Server がアクセスできるデータの一部への update, insert, delete |