Web

iPhoneアプリを開発して思ったこと。

Android同様バタバタ開発してたけど、Androidと比較しつつメモ。

(1)iOSの標準パーツがAndroidよりも整っている。

標準パーツが整っているため、UI実装はAndroidよりも工数はかからない。
様々なアプリが標準パーツを使っているので、Androidと比較して、一般的に操作性に統一感がある。

(2)WebViewはなるべく使わない方が良さげ。

ネットワークが3G回線で、そこそこ重い画面をWebView実装すると表示速度が遅い。
しかも、レスポンスを測ったらAndroid>iPhoneだった。(電波状況によりますが。)

(3)古いiOSのverはサポートに含めない方が良い。

iOS3.xとか旧verは対象にしない方が、コストは抑えられる。

(4)メモリ管理はしっかりと。

開発言語はObjective-Cだけど、普通のC言語と同様にメモリリークに気をつける。
メモリリークを起こすとアプリが落ちる。iPhone4と3GSだと、メモリが少ない3GSだとより起こりやすい。

※ActivityMonitor,Leaksといった、動的にチェックできるツールを使うべき。
※ちなみに、JavaだけどAndroidでもメモリリーク対策は必要。

(5)Apple審査期間を考慮しましょう。

Androidは、申請→即Androidマーケット公開の流れだけど、iPhoneは新規だとApp Storeに掲載されるまで1~2週間を要する。

(6)UIを設計する際は、エンジニア&デザイナー共同で。

上流(要件定義)からガッツリと入った方が良い。後々開発の手戻りが発生しないように。

WordPressの表示速度を高速化したい!!

WordPressプラグイン「WP Hyper Response」をインストールして、ページ表示を高速化。

このstocker.jpさんの「WP Hyper Response」は、何をするプラグインかと言うと、
phpのflush()関数を使って表示を高速化しますよ、というプラグイン。

で、何故速くなるかと言うと、通常WordPressで作られたページは、
htmlの最後の</html>までをWebサーバからブラウザに返却するところを、
flush()関数が呼ばれた時点でWebサーバからブラウザに返却するため、
体感速度が速くなるとのこと。

実際、プラグイン導入後に高速化されるのかどうかを、
サーバレスポンス時間測定」で計測。

■導入前
測定結果 = 0.237(秒)

site-speed

■導入後
測定結果 = 0.207(秒)

site-speed
結果若干ではありますが、レスポンスが向上しました!!!

ただし、Apacheのモジュール「mod_gzip」と比較すると、Webサーバの負荷が
高くなるようなので、大量のトラフィックがあるサイトには向いていないそうです。
※当サイトにはあまり関係ないです(T-T*)

Oracle日付別カウント数集計

※2011/10/5 追記:Mototakerさんのご指摘により、一部修正を行いました。

Oracle(10g)での日付別集計の取得クエリに関するメモ。

前提:マツダスタジアムは、入場時に日付(date型)を時:分:秒までOracleに保存している。
欲しいデータ:2011年6月の入場者数を日別に抽出したい。

※テーブル名:zoom_zoom
※入場日付カラム名:enter_dt

SELECT

enter_dt as 入場日付,

count(enter_dt) as 入場者数

FROM

zoom_zoom

WHERE

enter_dt between to_date(‘2011/06/01′,’yyyy/mm/dd’) AND

to_date(‘2011/06/30′,’yyyy/mm/dd’)

GROUP BY

enter_dt

ORDER BY

enter_dt asc;

とすると、時:分:秒ごとにグルーピングされてしまい、日別にならない(T△T)

入場日付 |入場者数
—————————-+————-
2011/06/01 10:56:24 | 1
2011/06/01 11:12:12 | 1
2011/06/01 11:23:38 | 1
2011/06/01 11:38:32 | 1


なので、to_date関数を使ってenter_dtを日付変換することで、日別のカウントを取得。

SELECT

trunc(enter_dt) as 入場日付,

count(trunc(enter_dt)) as 入場者数

FROM

zoom_zoom

WHERE

enter_dt between to_date(‘2011/06/01 00:00:00′,’yyyy/mm/dd hh24:mi:ss’) AND

to_date(‘2011/06/30 23:59:59′,’yyyy/mm/dd hh24:mi:ss’)

GROUP BY

trunc(enter_dt)

ORDER BY

trunc(enter_dt) asc;

こうすると、日別の入場者数が取得可能にo(*^▽^*)o

入場日付 |入場者数
——————-+————-
2011/06/01 | 30,498
2011/06/02 | 32,129
2011/06/03 | 31,949
2011/06/04 | 32,134


がんばれ広島カープ!
マツダスタジアム行きたい!!

Androidアプリを開発して思ったこと。

バタバタと開発してたけど、気づいた点、感じた点を覚書き。

(1)機種依存/端末依存は当たり前。

OSバージョンが複数あって、そのOSをカスタマイズする端末メーカーも複数ある。
なので、いろんな部分で機種依存が出る。

例えば、画面遷移のアニメーションが左右にスライドする端末もあれば、フェードアウト/フェードインする端末もある。モノによっては、htmlの解釈も異なってくる。

解像度も多種多様なので、全端末で同じデザイン、動きにするのは至難の業。

(2)対象機種、OSは絞るべき。

世に出ているAndroid端末から、シェア上位機種や有名どころを押さえておいて、
対象機種を絞った方が良さげ。
全キャリア、全メーカー、全機種、見た目もすべてバッチリです!なんてモノを作ろうとすると、開発コストが大変なことになる。

(3)UIはなるべくシンプルに。

機種の解像度別にパーツを用意する必要があるので、それだけでもなかなか大変。
標準パーツで補えるところは存分に使った方が良い。
(ただ、標準パーツが貧弱だったりする。)

後々、「そんなUI実装できないよー」とならないように、アプリのデザインを策定する段階で、エンジニアにがっつり入ってもらうべき。

(4)iPhoneアプリとはまったく違うもの。

同じAndroid OS内で多々違いがあるわけなので、もちろんUIもiPhoneとは大きく違う。

■Android
User Interface Guidelines

■iPhone
iOS Reference Library

体験談のコメントお待ちしております。

Firefoxのメモリを最適化して、サクサク快適に!!

「Firefoxってさ、アドオンが豊富で使い易いんだけど、
↓な感じでメモリ喰っちゃって重いんだよねー」
Memory Fox

と言う声も多いんじゃないでしょうか。

確かに、タブを複数立ち上げて、長時間使ってると動きが重くなるし、
アドオンを多く入れてると、起動自体も重い。

そんな悩みを解決してくれるアドオンが、「Memory Fox」でございます。※Windows専用
このツールは、物理メモリ使用量を常に最適化してくれて、Firefoxが軽快に動くようになります。

■インストール・設定手順は以下の通り。
1.アドオンをインストール
2.Firefoxを再起動
3.「ツール」→「Memory Fox」→「Active Memory Fox – Browser Only」を選択

設定は以上。

ただ、色々調べてると、この手のアドオンは実メモリ⇔仮想メモリ間で、
頻繁にデータのやり取りが行われるので安定性の面でも懸念があるという指摘も。

しばらく使ってみて、ダメそうならアンインストールしよ。

スマートフォンのセキュリティ対策まとめ。

Android端末で脆弱性を修正していない機種が存在しているらしいので、
セキュリティ対策をしよう!!と言うお話。
※脆弱性とは、外部から攻撃されると、何らかの被害にあう弱点とか欠陥のこと。

一般的にスマートフォンでは、iPhoneよりもAndroidのほうが不正プログラムの被害が多いと言われていて、その理由は、アプリの配布形式とOSに原因があるとか。

iPhoneとAndroidのアプリ配布形式は、

iPhone・・・原則アップル側の審査を通ったものしかインストールできない
Android・・・公式のAndroidマーケットだけでなく、他のアプリ配布サイトからもインストール可能

OSの違いについては、

iPhoneのiOS・・・Appleが一括管理し、機種を問わずに共通のOSを配布・アップデートしている
Android OS・・・機種ごとにメーカーがカスタマイズしているため、Android OSを作っているGoogleが脆弱性を修正したとしても、メーカー側ですぐに対応できるとは限らない

スマートフォンでウィルスに感染したら、以下のような影響があると言われています。

・知らないうちに、電話やメールなどの通信やパケット通信を行う
・個人情報の漏えい(電話、メール、履歴、スケジュール、画像、動画など)
・断続的な着信拒否や無線機能の停止、端末の異常停止など

肝心な対策方法としては、以下のようなセキュリティー対策ソフトがあるので、さっそく導入しましょう。

NTTドコモ:「ドコモ あんしんスキャン powered by McAfee」 ※7月1日から導入予定
Softbank:「スマートセキュリティー powered by McAfee」 ※月額315円
au:「ウイルスバスター モバイル for Android ベータ版」 ※9月30日まで無料。3キャリア使えるみたい。

東日本最速スマートフォン!!

少し前、各キャリアスマートフォンの通信速度比較の記事が出てました。

計測方法は以下4機種の3G回線での比較。

NTTドコモ「Xperia arc SO-01C」
au「HTC EVO WiMAX ISW11HT」
ソフトバンクモバイル「GALAPAGOS」「iPhone 4」

トップは、au「HTC EVO WiMAX ISW11HT」が下り0.88Mbps/上り0.70Mbps。

続いてNTTドコモの「Xperia arc SO-01C」が下り0.79Mbps/上り0.44Mbps。

ソフトバンクモバイルの「GALAPAGOS」「iPhone 4」は下り0.57Mbps/上り0.36Mbps。

OSバージョンとかCPUで通信速度は変わってくるけど、Android2.2の「HTC EVO WiMAX ISW11HT」が2.3の「Xperia arc SO-01C」より速かったのは意外。

スペック表を纏めた便利なデータベースサイトもあるので、
これからスマートフォンに乗り換える人はご参考までに。

プロ野球ファン必見!!試合速報Androidアプリ

西武もカープもなかなか順位が上がってこない状況ではありますが、
プロ野球ファンにはたまらないアプリです。

プロ野球速報Widget2011

プロ野球速報Widget2011

プロ野球セ・パ両リーグの試合速報、順位表をウィジェットで表示し、試合速報の情報は自動で更新可能。
※更新間隔は、5,10,15,20,30,60分から選択

プロ野球速報Widget2011

Android端末のホーム画面に設定し、さらに詳細を見たい場合はウィジェットをタップすると、ブラウザで「Yahoo!スポーツ」にアクセスします。

yahoo_baseball
西武とカープが日本シリーズで対戦できますよーに。

簡単設定!! WordPressにGoogle +1 ボタンを設置する方法

2011年6月1日に予定通り、“Google版いいね!”とも言える「+1」ボタンが、一般サイトにも提供が開始されました。

Google +1(プラスワン)とは、

・FacebookのLike(いいね!)の用に、Google検索サービス上でユーザー同士が
ウェブページのレコメンド(推薦)を行うことが出来る機能

・一般のウェブサイト運営者が、「+1」ボタンのコードを自身のウェブページに貼り付けることで
同ボタンを設置することも可能。

・ただし、2011年6月1日時点では「+1」によるお勧めが検索結果に反映されるのは今のところ、Google.comの英語版のみ。

早速設置するべ!!という訳で、WordPressプラグインをインストール。

(1)このサイトの「Google +1 Plugin for WordPress」リンクから、zipファイルをダウンロード
(2)解凍したら、”/wp-content/plugins”配下にフォルダごとコピー
(3)wordpress管理画面メニューの「プラグイン」を選択し、「ILC +1」を有効化
(4)ILC Plus One設定画面を開き、以下の項目を設定

Select language → 言語設定
Track +1 vote → とりあえずチェック
Include count → カウントを表示するかどうか。
Button Size: → ボタンの大きさ。
Button Placement in Posts/Pages: → 投稿記事の前か後どちらに設置するか。
Align left or right: → 位置は左寄せか右寄せか。
ilc-plus-one

WP Social Bookmarking Lightを併用する場合、且つ並べて設置したい場合は、以下phpファイルの修正を行う。

“wordpress/htdocs/wp-content/plugins/wp-social-bookmarking-light/modules/content.php”46行目
return “<div class=’wp_social_bookmarking_light’>{$out}</div>”;

これで設置完了!!日本語版対応はいつになるんでしょうか。

Xperia arc キャッシュクリア,ベンチマーク計測方法

Xperia arc特有の方法という訳ではないのですが、Android端末でアプリを使って端末のキャッシュをクリアするアプリと、ベンチマークを計測するアプリの紹介。
かなり便利なアプリなので、是非お試しを!!

まず、”1Tap Cleaner Free”アプリ(ver.1.32)を使って、キャッシュをクリア。

(1)Androidマーケットから、”1Tap Cleaner Free”を端末にインストール
(2)アプリを起動し、下記画面で「Cache Cleaner」をタップ
1Tap Cache Cleaner Free
(3)「Clear all cached files」をタップすると、下記ポップアップが表示される
1Tap Cache Cleaner Free
(4)自動的にキャッシュ容量を計算し、まとめてクリアするか聞かれるので、「OK」をタップ
※一覧から個別のアプリをタップすると、一つ一つキャッシュを消去することも可能

続いて、”Quadrant Standard Edition”アプリ(ver.1.1.7)を使って、ベンチマーク測定。

このアプリは、
・CPUスコア
・I/Oスコア
・3Dグラフィックススコア

の3つを合わせたベンチマークソフト。

(1)Androidマーケットから、”Quadrant Standard Edition”を端末にインストール
(2)アプリを起動し、下記画面で「Run full benchmark」をタップ
Quadrant Standard
(3)計測が終了すると下記画面で結果を表示するか聞かれるので、「OK」をタップ
Quadrant Standard

ベンチマーク計測結果は以下の通り。
キャッシュクリア前は、982だったのに対して、クリア後は、1046に上がりました。
Quadrant Standard
Quadrant Standard

この結果通り、画像の描画処理などは速くなる結果が出ているので、”1Tap Cleaner Free”で適度にキャッシュクリアしましょう。