2016-01-28(木) [長年日記]
■ デレステイベント「パステルピンクな恋」
![[スクリーンショット]37771位入賞 [スクリーンショット]37771位入賞](https://lh3.googleusercontent.com/-0ak6U9zXEXM/Vqmvq66OGII/AAAAAAABi04/5SU6TccNnvk/s512/Screenshot_2016-01-28-12-23-26.png)
Z5 Compactへの移行でプレイできない時間がけっこうあったばかりか、その後チューニングが出なくて数少ないMASTERがほぼ封じられた状況だったが、なんとか5万位以内入賞で紗枝はん2枚GETできた。ふー。
Z5cでのプレイでスコアが出ないの、たぶん2つの理由があって、
- 画面サイズの違い。Z5cの方がちょっと大きいので、指を乗せる部分がわずかにずれていて、それに身体を合わせられずにいる。人間ってデリケートなのね……。これについては徐々に慣れてきた感じがあって、スコアはだいぶ向上している
- アプリの認識ミスがある。これは多くの人が多くの端末で「ある」と言ってる現象だけど、明らかにタッチしてるのに認識されないことがけっこうある。NICEやBADなら自分のせいだと思うけど、MISSはおかしいもんな。
後者がどうにかならないと、MASTERが怖くてできない*1。でもまぁ、これだけバリエーションのあるAndroid端末でここまで性能を出してきてるんだから、あんまり責められないんだよなぁ。デレステはAndroidアプリの中でも最高品質の部類のひとつだと思うし、ここまで仕上げてきてる開発者を尊敬してる。ので、がんばってください。
THE IDOLM@STER CINDERELLA MASTER Cute jewelries! 002
日本コロムビア
¥1,657
*1 次のイベントはLIVE GrooveらしいのでMASTERの出番はないのが不幸中の幸い。
2016-01-27(水) [長年日記]
■ 佐川急便と日本郵便の双方で有効な伝票番号がある
宅配トラッカーで「佐川の番号を入れたのに(配達済みの)日本郵便のステータスが表示された」というレポートをもらって、調べてみたら本当に両サービスで有効な番号だった。そりゃダブることはありえると考えてたけど、本当にあるんだなぁ。どっかの桁で業者識別できるようにしてくれればいいのに……。
で、とりあえず応急措置的に検索順序を逆にして佐川を先に見つけるようにした直後、こんどは新しく発行された自分宛ての荷物の伝票が逆パターンになっていて、なんというかタイミングが良い。いや悪い。やっぱり応急措置って長続きしないんだなぁ(笑)。
結局、ライブラリの方では全サービスを同時にスキャンするためにマルチスレッド化した上で「複数見つかった場合は配達済み伝票を無視する」という実装にして、アプリの方では「それでも配達済み伝票が得られた場合は他のサービスが登場するまで未解決状態にする」*1という実装にして運用してみることにした。
言うまでもないが、複数サービスで同時に「生きてる」伝票が発生した場合にはこの運用だと崩壊してしまうのだけど、どうなるかなー。これまでの事例だと両者の間には一ヶ月近い時間差があるんだけど、たった2例じゃなんの根拠もないし。
*1 配達済みの伝票がわざわざ登録されることはないと仮定。未解決状態の伝票はユーザが削除できるのでこのまま変化がなくても大丈夫。
2016-01-26(火) [長年日記]
■
APIデザインケーススタディ ~Rubyの実例から学ぶ。問題に即したデザインと普遍の考え方 (WEB+DB PRESS plus)(田中 哲)
読み始めたのが約一ヶ月前だけど、けっして難しくないのでもっと早く読まないとあかんね……。
rubyistになら「akrさんがRubyのAPI設計に関する本を出したよ!!」って言えばそれ以上の説明なしでマストバイという理解を得られるんだけど、他の言語の人にはなんて言うかねぇ。
スジの通った指針はあるものの、基本的にこれまでRubyがぶち当たってきた設計上の難問についてその解決の過程を提示していくというケーススタディ本なので、教科書的な技術書ではない。というかその難問登場→解決の繰り返しにまるで冒険小説を読んだ時のような読後感があっておもしれぇなぁと思った。つまるところ、プログラミングってぇのは血沸き肉踊る冒険なんだよ。
序盤のIOやソケットは、旧いC言語世界の住人がRubyの世界とうまく折り合いをつけられるようにする話だ。旧世界の習慣をそのまま適用できるように地ならしをする序盤から、徐々にRubyらしい改変を加えていって世界に広がりを出していく構成がうまい。最大の「泣かせどころ」はタイムゾーンのあたり。涙なくして読めない。数の扱いではRubyならではの拡張が足を引っ張り、実世界との亀裂に落ち込んでしまったり。つまりちゃんと失敗事例もある。
本書はそんな「Ruby」という世界を舞台にした冒険の書なわけだけど、他の世界(言語)にはその世界のルールがあって、そこでは別の物語が綴られるだろう。でも、本書に記される基本指針は他の世界でも通用するものばかりだ。他の世界に住む人にもいいガイドブックになるのは間違いない。