2014年12月24日水曜日

象本とHadoop MapReduce デザインパターン

Hadoop

Hadoopの導入から基本的なシステムの解説、サンプルコードなどが書いてあった。
javaやlinuxの知識がある程度あれば読むには困らない。と思う。
試しにシステムを構築して実行するまではこれでいける。
私が買ったのは第二版でHadoopを前提にしたPig、Hiveなど
にも触れてくれているのでかなりお得な一冊でした。

私が読んだのは第二版だけれでもすでに第三版が出版され大幅加筆されているとか。

Hadoop 第3版


Hadoop MapReduce デザインパターン

読み終えて、いや途中から内容が高度すぎて今はついていけなかった。。。
この本を完全に理解するには数学、統計学の知識が必要な為、勉強して読み直さないとならない。
単純な集計処理であればこの本を読まずとも前述の本で間に合うと思うが、
高度で専門的な統計業務をするのであればこっちの本の内容が助けになりそう。

Hadoop MapReduce デザインパターン ―MapReduceによる大規模テキストデータ処理



Hadoopに限らず大規模データ分散処理システムは設計、構築、運用も非常にコストがかかる
ものなので今のところ読むに留まる内容であった。

2014年12月2日火曜日

Looking for Lost for TM 反省会

アプリ「Looking for Lost For TM」の開発にはPhonegapを使用しました。
Google Play用、iOS用のどちらも一つのコードで作れると言うのはとても魅力的に感じたので採用しました。
今回は反省会として所感を一回まとめておく事にします。
因みにPhonegapのバージョンは 3.6.0-0.21.29 です。

Google Play アプリ名文字列長制限
Google Play アプリを登録する際にはアプリ名が30バイト以内で無いといけない。
そんなことはお構いなしで「Looking for Lost on the Tokyo Metro」とか名付けたら名前を変更しなければならなくなってしまった。
各種制限については良く確認しておく事。基本です。

誤解の無いアプリ名を付ける
またアプリ名称について。
最初は

 Looking for Lost on the Tokyo Metro

でしたが、最終的には

 Looking for Lost for TM

になった。
iOS用アプリを登録する際にAppleの審査でアプリ名について「on ○○」っておかしいだろ?
といった内容の指摘を受けました。個人的には東京メトロ路線上で使用するという意味を込めた
つもりでしたがそんな説明するのはめんどくさく、かつ、誤解されても困るというのは共感できる
ので名称を変えました。
また、Google Play アプリの文字列制限もクリアする為に the Tokyo Metro も TM へ省略してみました。

Phonegap:アプリ名に日本語名がつけられない
私の技術力の限界でもありましたが、そもそもアプリ名がちとダサいのはPhonegapではアプリ名に
日本語を付けるのが私にできなかった為です。
ネットを検索すると何とか日本語名をつけた方もいらっしゃるようですが、私は断念しました。

Phonegap:remote build と local build で出来上がるものが違う
致命的では無いけれども、 remote build と local build で生成されたファイルに違いがある。
phonegap では project を生成するとwww/resというディレクトリが作成され、そこにsplah用の画像やアイコン画像などを入れられるのだけれども、 remote build では入れたファイルが使われるのだけれども local build では全く使われない。
build の方法によって変わってしまうとなると折角一元管理を目指していたのにめんどくさい
事になってしまった。

Phonegap:iOS用ファイルにプラグインが出力されない
今回はphonegapが提供している追加のプラグインを使用していますが、
iOS用のファイルをリリースする為に local build したものをXcodeで開いたらpluginファイルが
ありませんでした。(remote builde は未確認)
phonegapのgithubから直接ファイルをダウンロードしてきてXcode上でファイルを自分で追加する羽目になり、結構悩んだ。ここはどうにかして欲しい。


コード自体はHTMLとjavascriptなので概ねGoogle Play用、iOS用に対して共通のコードで開発できました。
ただ、画像等のリソース管理、コンパイルやストアへのアップロード等でそれぞれ別の問題に突き当たるのは避けられなかった。まぁ避けられないのは仕方の無いことだろうか。
いやーな事が結構書いてますが、あまり複雑な事はしていない場合に日本語名とpluginが出力されないのを我慢できれば Phonegap の採用はありかな。