投稿

10月, 2014の投稿を表示しています

Cordova/PhoneGap開発のデバッグを何とかする

イメージ
Cordova/PhoneGapアプリは、ネイティブアプリでラッピングしたWebView内で動くWebアプリだと言える。

これをデバッグするには、そのWebViewからconsole.log等のデバッグ情報を取る必要があるが、どのように取得するのか?いくつかの方法を試した。


Monacaで開発する - NG

MonacaはWebアプリとして作られたIDEだ。

Monaca - HTML5モバイルアプリ開発プラットフォーム

Monacaには「Monaca Debugger」というアプリがAppStoreやGooglePlayで配布されている。

Monaca デバッガー - Monacaドキュメント

これをターゲットデバイスにインストールしておくと、ほぼリアルタイムにコードの変更を反映してくれる。コンソールはもちろん、スクリーンショットを取ったりする機能もある。


ちゃんと動いてくれればベストだったが、残念ながらコードの変更を反映するタイミングが少々遅いのと、いつまで経っても反映されないという状況に何度も陥った。

というわけで、コンソールを使う以前の問題で撃沈。


weinreを使う - NG

weinre(わいなりー)は「WEb INspector REmote」の略で、Webアプリのリモートインスペクターだ。Cordova/PhoneGapの開発では最も一般的な方法らしい。

weinre - Home

Webアプリ内に開発機上のサーバーとコミュニケーションできるようにするスクリプトを埋め込む必要があるので少々面倒だが、ChromeのDevToolsのような感じで取っつきやすい。


実際に使ってみるとconsole.logの内容は出るものの、WebViewが出すエラー(function not defined的なやつとか)がコンソールに出ない。調べてみたが、WebViewが出すエラーを表示する方法は見つからなかった。

これでは非常にキビシイ。。。というわけで撃沈。


Chromeのリモートデバッグを使う - (・∀・)

Android 4.4(kitkat)以降はAndroid上のChromeだけでなくWebViewのデバッグもできるようになった。

Remote Debugging on Android with Chrome - Google Chrome

これは完璧だった。


iOSの…

ドコモの2年縛りからの解放時に「最も美しく」解約するタイミング

色々とMVNOのSIMに移行させているけれど、まだ1台だけドコモの機体がありまして。来月の上旬には晴れて2年縛りから解放されることとなる。

ところで、2年縛りからの解放時に「最も美しく」解約するタイミングはいつなのか?

それを聞くためだけにわざわざドコモショップへ行った。案の定待たされた。しかし、話はすぐに終わった(^^);

「来月5日でご契約が満二年になりますので、その月いっぱいになります。つまり、12月1日に解約すれば違約金などが発生しません。」との趣旨のお話し。

つまり、「契約満期日の翌月の1日」が最も美しく解約するタイミングだそうだ。

これから実際に12月1日を待って実証したいと思う。

追記14.12.01:(あとで結果を書く)

Cordova/PhoneGap開発を加速するライブリロードを何とかする 〜 「LiveReload + GapReload plugin」編

イメージ
この記事は「PhoneGap Developer App」編の続きです。

「PhoneGap Developer App」についてのJohannesさんの記事のコメントでSebastienさんが、カスタムプラグインをサポートしつつライブリロードする別の方法についてコメントしている。

Livereload for Phonegap/Cordova/Ionic - Johannes Schickling

…Hi, I wrote the GapReload plugin (https://github.com/fingerproof... which is a LiveReload Cordova/PhoneGap plugin that, unlike the PhoneGap app, works with custom plugins. Just wanted to let you know :) Hopefully you can try it and give me some feedback. …
これだね。早速試してみよう。

fingerproof/cordova-plugin-gapreload

全体的なイメージをつかむために、Sebastienさんが用意してくれているビデオを見ておいてもいいかもしれない。


GapReload Cordova/PhoneGap plugin demo from Sebastien Paul πtt° on Vimeo.

前提として、AndroidでCordovaアプリを動かす環境が整っていることとする。まだ整っていない場合はこの記事が参考になるだろう。

琴線探査: CordovaのAndroidアプリを動かすまで(MacOS XとAndroid Studioにて)


プロジェクトの作成とプラグインの組み込み

# cordova create TestApp
# cd TestApp
# cordova platform add android
# cordova plugin add https://github.com/fingerproof/cordova-plugin-gapreload --variable SERVER_HOST="192.168.xxx.xxx"

「LiveReloadの」インストールと設…

Cordova/PhoneGap開発を加速するライブリロードを何とかする 〜 「PhoneGap Developer App」編

イメージ
Cordova/PhoneGapでの開発は、HTMLやJavaScript、CSSなどの頻繁に変更されるファイルの編集がメインになる。

つまり、基本的にはこれらのファイルを変更するたびにコンパイルし直して端末・エミュレーターにインストールして…という非常に時間のかかる作業を繰り返すことになる。これでは極めて生産性が低い。

そこで、端末にインストールしたアプリのHTMLコンテンツの部分だけを変更のたびにライブリロードするという便利なネイティブアプリがあるので試してみる。(AndroidとiOS、WindowsPhone用)

PhoneGap Developer App

まず開発マシン上でWEBサーバーを起動し、

# phonegap serve
[phonegap] starting app server...
[phonegap] listening on 192.168.0.150:3000
[phonegap]
[phonegap] ctrl-c to stop the server
[phonegap]
アプリ側からサーバーに接続する。


ここでHTMLコンテンツの何かを変更すると、アプリが自動的にリロードしてくれるようになる。これでいちいちコンパイルとインストールを繰り返さなくて済むわけだ。

しかし、このシステムには大きなデメリットがある。それは、PhoneGapの標準プラグインは動作するものの、カスタムプラグインが動作しないことだ。

Livereload for Phonegap/Cordova/Ionic - Johannes Schickling

…PhoneGap Developer App doesn't support custom plugins yet…
しかし、このように書かれているので、将来的にはサポートされるかもしれない。

PhoneGap | PhoneGap Developer App


At the moment, we’re focusing on:

Windows Phone 8 support (already under development)
Custom plugin support support
Remote Web Inspector support
PhoneGap Build integration

日本でも「モバイルファースト」のアプローチを取るべきだということに納得するグラフ

イメージ
日経14.10.12朝 高1の9割スマホ保有 総務省調べ 利用も長時間に

…半数が休日に3時間以上使っている…平日でも3割強が3時間以上使っていた…

「パソコン」の保有率は52.2%まで低下…

休日で「6時間以上」は15.7%いた…

第1に、スマホ中毒的な子達が少なからずいること。最近の高校生は忙しいと言うけれど、実はスマホのせいかもね(^^);

第2に、もはやPCはほぼオワコンということ。

第3に、タブレットは高校生の間ではあまり使われていないこと。スマホがあれば十分というのと、コストの問題だろう。

第4に、PCからスマホへの転換点は2012年の中盤あたりだったということ。まあこれは今更知ってどうなるものでもないけれど、現実に転換点は過ぎているという確認の意味はあるだろう。

結論としては、モバイルファーストのアプローチを取らなければならないということだろう。PCサイトよりもモバイルサイトを、モバイルサイトよりもネイティブのアプリを作れということだ。

「アクアマリンふくしま」の入場者数はいまだピークの6割(´・ω・`)

日経14.10.11夕 ふるさと再訪 福島・いわき 2 アクアマリンふくしま

…安部義孝館長(73)。不思議なご縁である。海獣ショーも無く「サンマやイワシ、メヒカリなどカリスマ性のない魚」と「芸術」を前面に出した環境水族館。館内で釣った魚を食べて食物連鎖を学び、干潟・磯・砂浜で生物に触れるユニークさで年100万人近くを集客すると知り、安部館長の取材に通ったのが2010年9月だ…

再会から3年余。様々なドラマがあったが、館長は冷静だ。福島県というだけで観光客に敬遠され「13年度の入場者数はピーク時のまだ6割」。沿岸で捕獲した魚の放射線量を公開して風評被害の払拭に努める…
そうかぁ…まだ6割くらいしか戻ってないのかぁ(´・ω・`)

自分は震災の1年後くらいにアクアマリンふくしまに行った。

琴線探査: 「アクアマリンふくしま」のこの看板に涙が出た

琴線探査: サンマが泳ぐ姿@アクアマリンふくしま

琴線探査: 「アクアマリンふくしま」の愉快な面々

琴線探査: 「アクアマリンふくしま」バックヤードツアー

琴線探査: くじら汁とくじらフライ@アクアマリンふくしま

震災の影響でまだ色々と未整備な箇所があったものの、「環境水族館」というコンセプトのアカデミックな感じで、単に「楽しい」というより「興味深い」という意味でとても楽しめる水族館だった。

その後はきっと未整備な箇所も無くなってきているはずだけど、まだ6割とは…やっぱり風評被害というものがまだ根強くあるのだろうか。

自分はまた行きたいなと思っているけどね。

ルクセンブルクが1人あたりのGDP世界No1で、スノッブで、ライブでなかなかノってこない理由が分かった気がしたアマゾンの税優遇問題の記事

イメージ
日経14.10.08朝 アマゾン税優遇も調査 欧州委、ルクセンブルク対象に

【ロンドン=黄田和宏】欧州連合(EU)の執行機関である欧州委員会は7日、加盟国のルクセンブルクが米アマゾン・ドット・コムに適用してきた法人税の優遇策が欧州委の規定に違反する疑いがあるとして、正式に調査を始めたと発表…

米アップルのアイルランドなどの措置に続き、企業の「税逃れ」に厳しく臨む姿勢…

アマゾンの欧州販売子会社は、ウェブサイトの使用権などを名目として同国内の関連会社に税金を控除できるロイヤルティー(使用料)を支払ってきた。この関連会社はルクセンブルクで法人税を納める義務がなく…

最終的に違反と判断されれば、アマゾンは多額の追加納税を求められる可能性が…

アイルランドやルクセンブルク、オランダなどは低い法人税率や優遇措置を売り物に、インターネット関連などの企業の誘致に力を入れてきた…
まず、自分も色々とモノを買っている企業は、法律ギリギリのあらゆる手を尽くして世界中で活動してコストカットしてるんだなと。

これもビジネスモデルだと思うのだけど、その構造は複雑で一瞬では理解できない。いや、よく見た後でも理解できているかどうか。こんなのよく考えるな(^^);


正直、記事自体にはあまり興味が無い。それなのになぜ目にとまったかといえば、この記事が出る少し前にFRIED PRIDEがルクセンブルクでライブをやってきたという話を聞いていたからだ。

ルクセンブルクという国は聞いたことはあるけれど、どんな国だが全く知らないのでWikiをちょっと見てみた。

ルクセンブルク - Wikipedia

わが神奈川県と同じくらいの広さで、人口はたったの50万人足らず。神奈川県の人口は900万人以上というのだから凄まじい人口密度の低さだ。いや、神奈川県の方が異常なのか(^^);

さらに驚くべきは、一人当たりのGDPが世界No1だというところ!どんだけ頭がいいのか!どんだけ生産性が高いのか!

じゃあどんな産業があるのかというと、主な産業は重工業と金融だそうだ。人口が少ないことを考えると重工業はあまり儲からなそうなので、きっと金融がすごいんだろうなぁと思っていた。

そんな時にこの記事を見て、1人あたりのGDP世界No1という意味がなんとなく分かった気がした。あと、ルクセンブルク人がスノッブで、ライブでなかなかノってこな…

A4サイズ、約400g、iPhoneを約90分で急速充電可能なソーラーパネル「SunPad10」

イメージ
日経14.10.07朝 太陽光で急速充電 システムトークスの超薄型太陽光パネル「SunPad(サンパッド)10」

米アップルのスマートフォン(スマホ)「iPhone(アイフォーン)」を約90分で急速充電できる厚さ3ミリメートル、A4サイズ台の黒色の薄型パネル。重さは407グラムで携帯しやすい…6048円…

これですなぁ。

iPhoneを最短90分で急速充電できる発電力!SunPad 10新発売 SS-10SPD 

これ自体には充電池が付いていないようなので、干しておいて電気を貯める事はできないもののその分軽く、A4なので鞄などにもすっぽり入るところが良い。

ポイントなのはUSBだけでなく12Vの出力があるところ。12Vの出力があれば、最近気に入っているSONYのSRS-X5というBluetoothスピーカーも充電できそうだ。アウトドアでずっと大音量のBGMを流しておくなんてことが可能かもしれない。



システムトークス社のより大きなソーラーパネルなら、インバーターをかましてノートPCやルンバも充電可能らしい。これは布団を干す感じだね。

ナノ発電所 情報サイト / パーソナル・スマート・グリッド



最近Twitterでフォローしているガザの女の子が、電気が止まってiPhoneを充電できなかったり夜に明かりが無くて勉強できないなど色々と困っている。

もしこれがあれば…日本の電化製品のクオリティーは非常に高い。日本はこういったものでも国際貢献ができるかもしれないなぁと思う。

地震が多い日本の災害時にも有効だろう。ひとつ買ってみるかなぁ。こういうソーラー的なので当たったこと無いんだけど(^^);

CordovaのAndroidアプリを動かすまで(MacOS XとAndroid Studioにて)

イメージ
Android Studioのインストール

従来ならeclipseをインストールするところだが、ナウなヤングはAndroid Studioにしよう。

eclipseのADTプラグインはもう開発が停止しているようで、これから新しく始めるならこちらの方がいいと薦められている。

Android SDK | Android Developers

Get Android Studio Beta

Android Studio is a new IDE powered by IntelliJ that provides new features and improvements over ADT. It's currently in beta but will be the official Android IDE once it's ready.

If you're a new Android developer, you should consider starting with Android Studio, because the ADT plugin for Eclipse is no longer in active development.
また、eclipseよりAndroid開発に特化しているので扱いやすいというメリットもある。例えば、Android SDKは「Android Studio.app」の中に内蔵されているので、必要なファイルがバラけなくていい。

こちらからdmgをダウンロードして解凍する。

Android Studio | Android Developers

インストールは「Android Studio.app」をアプリケーションフォルダなどに放り込むだけだ。


Android SDK Managerで必要なパッケージをインストール

Android Studio.appを起動して適当なプロジェクトを作る。

ツールバーにこのようなアイコンがあるので、クリックしてSDK Managerを起動する。


Android SDK Build-Toolsは最新のものに入れ替えた。


Android 5.0(API 21)はインストールが初期選択。Android 4.4.2(API 19)は最新版のcordovaでAndroidアプリをビルドするの…

Mac OSX 10.10 YosemiteにアップグレードしたらApacheのVirtualHostが動かなくなった場合の対処

Mac OSX 10.10 YosemiteにアップグレードしたらApacheのVirtualHostが動かなくなった(º﹃º)

まず状況としては、Apacheは消えていない。そして /private/etc/apache2/httpd.conf が httpd.conf~previous とバックアップされていた。

そこで、以前のhttpd.confで独自に設定した部分を現在のhttpd.confに移植してapacheを再起動。

# sudo apachectl restart
いつものようにバーチャルホストにアクセスするが、authz_core関連のエラーが出てアクセスが拒否される。

通常ホストのポート80には普通にアクセスできていることから、バーチャルホストのDocumentRoot設定と通常ホストのDocumentRoot設定を比較して必要そうな設定行を特定。その結果、「Require all granted」の行が必要だと分かった。

ということで、バーチャルホストの設定は、例えばこのようになるだろう。

Listen 8000 <VirtualHost *:8000> DocumentRoot "/path/to/htdocs" ServerName localhost ErrorLog "/path/to/apache-error.log" CustomLog "/path/to/apache-access.log" common DirectoryIndex index.php index.html <Directory "/path/to/htdocs"> Options Indexes Includes FollowSymLinks AllowOverride All Require all granted </Directory> </VirtualHost>

メールアプリ「CloudMagic」でIMAPアカウントが追加できないのはレアなバグ

最近、クラウドを使って複数のメールアカウント情報を複数のデバイス間で同期できる「CloudMagic」というアプリが気に入っている。

CloudMagic is an award winning email app for iPhone, iPad and Android

IMAPはメールのクラウド同期を実現したが、CloudMagicはさらに上のレイヤーでクラウド同期を実現してる感じ。プッシュ通知に対応していない通常のIMAPアカウントもプッシュ通知にできるところもすごい。

ただ、ひとつ問題が出た。特定のIMAPアカウントを追加できないのだ。IMAPで追加できているアカウントがあるにも関わらずだ…その時のエラーメッセージはこうだ。

Your account xxx@xxx.co.jp is already added to CloudMagic.

そこでCloudMagicのサポートに問い合わせた。すると、すぐにこのように返答が来た。

Hi Masahito,

Looks like you have hit a rare bug in our implementation. We are already working on fixing this issue and will keep you posted on the availability of the same.

Thanks,
Ashwin

どうやらレアなバグだそうだ。彼らはすでにこの問題を認識していて、修正作業に入っているそうだ。

そのうち対応してくれるだろうから、同じ問題にはまっている人は期待して待っていましょう。

人間とは、何だ━(・∀・)━!!!! 〜 アンドロイド版「変身」平田オリザ×石黒浩@神奈川芸術劇場

イメージ
先日、カフカの「変身」の主人公をアンドロイドが演じるという劇を神奈川芸術劇場に観に行ってきた。きっかけはこの記事だ。


日経14.09.30夕 平田オリザのアンドロイド版「変身」 機械通じ人間の本質問う

…正体は「リプリーS1」というアンドロイド(ロボット)。大阪大学の石黒浩研究室が開発した。1世代前の「ジェミノイドF」は人間そっくりの美女だったが、関節が12しかなく、動きは不自由。新型は31となり、動きの組み合わせはほぼ無限に作り出せる…

今回の設計思想について石黒は「顔と手以外は皮膚をとり、運動性能を上げた。動きだけで人間に見えてくる」と説明する…

アンドロイドの役名はグレーゴル・ザムザ、カフカの名作「変身」の主人公だ…

海外で注目度の高いアンドロイド演劇だけに、新作の発注もフランスから…

平田はロボット工学の世界でいう「不気味の谷」という仮説を引き、アンドロイドが進化すれば人間とは何かが逆に問われるとみる…

この実験は、科学と芸術の接点を突く強烈な挑戦だろう…

平田オリザ氏のアンドロイド演劇や石黒浩教授のことは前から知っていた。

琴線探査: 「服を脱いだら、自分は一体何なのか?」わかりません | 平田オリザの神秘的なアンドロイド演劇 - 日経

琴線探査: 「人の内面なんてわからないし、俳優に心はいらない」劇に対する冷徹なまでの真剣さのあらわれか? | 未知の演劇を探す旅路1 劇作家・演出家 平田オリザさん - 日経

琴線探査: 平田オリザ氏のロボット演劇は見ておきたいね。やっぱり。 | ロボット演劇 海超える - 日経

琴線探査: 石黒教授最新作「米朝アンドロイド」相変わらずキモいですねぇ(^^);

けれど、遠かったりして行く機会が無かった。今回は横浜と近いので行ってみた。


神奈川芸術劇場はとても立派で、天井も高く、良い劇場だなぁと思った。新しいにおいがした。

演者は皆フランス人で、演劇セットに配置されたスクリーンに日本語字幕が投影される。アンドロイドの声はアンドロイドそのものからではなく、PAを通して出ていた。

劇が始まる前からBjork似のリプリーS1(グレゴール)はベッドに寝ていて、何やらもぞもぞと動いていた。劇中、アンドロイドはベッドから立つことは無かったが、上体や表情はよく動いていた。

この演劇のテーマを一言で言えば、「人間とは何か?」ということだと思う。

あ…

筋肉は一日でどれくらい失われるか?放っておくと筋力、代謝、そして「気持ち」のデフレスパイラルが始まる

日経 14.10.04朝 「筋肉枯れ」を防ぐには

…ベッドの上で安静にする入院生活を送っていると、筋肉量は1日で1〜1.5%程度減少する…

筋肉枯れは代謝低下のスパイラルを引き起こす…

第1に…簡単なエクササイズによってウオーミングアップの習慣をつける…

筋肉は何歳になっても増やせる。100歳を過ぎても増加したデータがあるほどなので、あきらめないで体を動かすようにしてほしい…

第2に…筋肉の元になるタンパク質や、代謝を促進する食物繊維、ビタミンB群などの栄養素を意識的に取るように…

最後に…体を温める様々な工夫をして代謝促進の習慣をつけるように…

効果が大きいのはやはり入浴…

(編集委員 平田浩司)
何と!1日で1%も減少するのか?!

ある時期まではしっかりランニングしてたのに、天気がよくなかったり時間が無くて2週間ほどブランクが空くと、急に足が弱くなった感じがするのは気のせいではないのかもしれない。

しかも、筋力の低下は代謝低下の悪循環を生む。個人的に筋力や代謝の低下よりも怖いのは、「気持ち」の低下だ。

一度走らなくなると、本当は走れるのに走りたくなくなる。そして「時間が無い」とか「今日は疲れている」とか、自分に言い訳をし始める。

そこからまたランニング習慣を復帰させるのは本当に大変。それはまるで停まっている車をローギアに入れてエンジンをふかすごとくであり、非常に大きなエネルギーが必要になる。

だから常に心と体を転がしておかなければならないと思っている。微速でもいいから、とにかく停車しないように。

停車しないように。