Android でライブラリプロジェクト

ソースコードをコピーするとプロジェクト間でコピーする前後で
機能差、バグ、バグの修正など、それぞれのバージョンで違うという状況が発生する
この場合、共通クラスを修正すると
他のプロジェクトにも繁栄するという面倒な作業が…….
これを一ヶ所にまとめれば、非常に効率的になる
というわけで
ライブラリプロジェクトを作成して
共通クラスをコピーしなくても使えるようにする
まずは、今回作成したYouTubeSearch プロジェクトに対してライブラリを適用
新規プロジェクトを作成して
プロジェクト名は
APILIBs
create acrtivity のチェックはいらないのではずして
build target は android 2.2
package name にはnet.linuxliker.APILIBs
テストもしてみたいのなら
JUnit テストプロジェクトも作成する(ただし、こちらはまだできていない)
とりあえず、できたら、プロジェクトのプロパティの設定
プロジェクトを右クリックして
Properties を選択
Android をクリックし、右側画面の下側にある
is Libray をチェック
Apply を押して適用します
liblary.png

Webサーバーログの多面解析

日経 Linux (リナックス) 2011年 12月号 [雑誌]
を参考に、Webサーバログの多面解析ソフト
Visitors をインストールしてみました

まずは、環境を整えます
sudo apt-get -y install ssh nautilus-open-terminal tasksel
sudo apt-get -y install vim
sudo apt-get -y install ia32-libs
sudo apt-get install build-essential graphviz
で必要なものをインストールします
ssh は、リモート操作に必須
nautilus-open-terminal は右クリックで端末を開くため
tasksel は LAMP を簡単構築するためです
vim はテキストエディタ
ia32-libs は32ビット互換ライブラリ
build-essential はC言語関連パッケージ
grahviz はグラフ作成です
sudo tasksel で起動して
LAMP を選択してインストールします
wget http://www.hping.org/visitors/visitors-0.7.tar.gz
でファイルを取得し
tar zxvf visitors-0.7.tar.gz
で解凍
cd visitors_0.7/
make
でファイルのコンパイル
sudo cp visitors /usr/bin/
でファイルを移動します
これで準備OKです
解析の手法は書籍どおりでOK
最後のほうで、自身のサイトのドメイン名を使うところがあるけど
これは
tasksel で apache2 がインストールされているから
http://localhost を指定すればOKです
実行した後、解析結果は
$HOME/visitors_0.7/
の中に
20111118_report.html
というように、年月日_report.html で保存されているので
解析結果をみたいのなら
このファイルをダブルクリックすれば
ブラウザが立ち上がり、解析結果をみることができます

is_array() について

PHPのめもです
配列かどうか調べるには
is_array() を使う
is_array() は、引数の変数の方が配列型であるなら、TRUE
そうでないなら FALSE を返す
is_array()
の使い方は
論理値 = is_array(変数);
sample では、ちょっとした三項演算子をまぜている
たとえば
echo “\$bool_var は”.((is_array_($bool_var))? “配列だよ” : “配列じゃねぇ”);
さて、これの解説
echo で、表示しているのが
\$bool_var は
というところ、
\がついているのは $の意味を無効化するため
無効化しないと、変数として作動してしまう
.(処理);
で続いているところの解説
. はPHPではその後に文字を書くことを意味している
つまり、その後の処理内容がかかれる
もし、is_array() の結果が配列なら
\$bool_var は配列だよ
となり、違うなら
\$bool_var は配列じゃねぇ
となる
あと、三項演算子が使われているけど、これを応用すると
いろいろとできる
今回の場合、is_array() の結果を三項演算子で使っている
まず、is_array() の実行結果が三項演算子の処理の条件にしていて
True なら、(配列の場合)
配列だよ
が実行され
FALSE なら(配列以外の場合)
配列じゃねぇ
が実行される

YouTube の Data API メモ


Google Android WebAPIプログラミング入門
をみながら YouTube Data API のサンプルを再現してみたときに
つまづいたことがあったのでメモです
インターネットに接続するのに必要なパーミッション
<uses-permission android:name=”android.permission.INTERNET”></uses-permission>
そして
アプリを実行して、検索結果のリストを出すときに
<activity android:name=”SearchActivity” android:icon=”@drawable/icon” android:label=”@string/app_name”></activity>
が必要になります
ちなみに、サンプルソースをダウンロードして、
プロジェクトをインポートしたときに
インターネットに接続するのに必要なパーミッション
<uses-permission android:name=”android.permission.INTERNET”></uses-permission>
が AndroidManifest.xml の中で抜けているため、
そのまま実行してもエラーとなりますのでご注意
また、JUnit Test のところも
数値が異なるため、JUnit のテスト結果にある
エラーメッセージを参考に、コードの修正が必要になります

Pocket WiFi GP02 検討中

Pocket WiFi GP02 への機種変を最近検討しています
現在、使用している端末が D12HW というかなり古い機種です
これを ubuntu で使うには
ubuntu でイーモバイル接続(D12HW)
で記述した方法を使います
今回、機種変を考えているのは、このGP02 を使うことで
WiFi 環境ができるのなら、Apple iPod touch 32GB MC544J/A
を外出時につかったり

現在、Android開発の実験端末に使用している
Creative ZEN Touch 2 Android エンターテイメントプレーヤー 8GB ブラック ZN-T28G-BK

これらも使うことができそうなためです
あと、もう一つ気になるのが、米国などではすでに行われているパケット定額の見直し
現在、au の IS04 使っていますが
通信速度をみても、GP02 のほうが早いし
パケット料金を抑えるのにも使えるかもしれません
ちなみに、GP02の詳細は
Pocket WiFi (GP02)
です
ただ、懸念すべきものがあります
それは、使っている環境が Mac でも Windows でもなく
ubuntu ということ
以前、設定ファイルを変更したりといろいろと手間取ったように
今回も設定ができるのかが微妙な点です
このあたりを ubuntu GP02 で検索してみました
Pocket WiFi GP02 設定
を参考にさせていただきました
Pocket WiFi GP02を繋ぐためには「プロファイルの設定」
が必要とのことです
ちなみに、もう一つ考えているのが通常は 4G回線で届くのでOK
では、トンネルなどの電波のとどかない場所では
WiFi 機能だけは使えるのか?それともどちらもNGなのか?
というところです
こればかりは、実験してみないとわかりません
バッテリーの持ちも気になりますので、できれば予備のバッテリーの購入なども
検討したほうがいいのかもしれません
現在、情報収集と資金の検討していますので、
実機導入後、また書き込んで行こうと思います

連動する様々なクロス通貨レート

ひさしぶりに、お昼のニュースで為替レートで
ユーロ円がでていたので、書き込んでみました
とはいっても表示されていたのが数日前ですが
表示されていたのが、ユーロ円でした
ちなみに、ユーロ円の値動きの要因は
ユーロ/ドル と ドル/円 がメインで決まります
クロス円の計算は、対ドルレート x ドル円レートですので
さて、このユーロの値動きに影響を与える要素が実は他にもいくつか
存在します
例えば、ユーロ/スイスフラン
そして、
ユーロ/ポンド
この2つが意外に関係します
ドル円、ユーロドルの通貨ペアに特に値動きがないときには
この通貨ペアが影響していることが多いのです
特に、突然の影響を受けるのがスイスフランです
スイスフランも、日本円と同様に、リスク回避のときには買われる通貨です
以前、リーマンショックのときには、円高であると同様に
スイスフランがかなり高値を更新しました
スイスフランは、まれにスイスフラン高により介入しますので
値動きの要因の1つとして考えられます
FX取引の場合、クロス円単体で見がちですが
その国に関係する通貨をみることで、ある程度の要因をつかむことができます
ユーロ/ポンド 以外にも
剛ドル/NZドル
とか、クロススイスフランレートなどもありますので
円以外にも注目してみると取引のチャンスがでてきます

Zabbix でサーバ監視 その3

Zabbix でサーバ監視 その2
の続きになります
日経 Linux (リナックス) 2011年 12月号 [雑誌]
によれば、これで firefox を起動し、
http://localhost/zabbix
へアクセスすればOKとなっていますが、見事にエラーです
Zabbix is temporally unavailable !
となり、使えません
画面上部に
mysql_connect Access denied for user ‘zabbix@localhost'(using passord:YES)
/usr/share/zabbix/include/db.inc.php:58
とでています
原因を探るため、エラーメッセージを google で検索
Google 検索で、検索した結果、どうやら
PHPのタイムゾーンが設定されていないのが原因ということのようです
これを修正するには
php.ini のdate,tunezone を設定する必要があるようです
sudo /etc/php5/apache2/php.ini
で設定ファイルを開き、
/date.timezone
で検索し
;date.timezone =

date.timezone =Asia/Tokyo
へ変更します
max_execution_time=30

max_execution_time=300
post_max_size = 8M

post_max_size = 16M
mbstring.func_overload = 0

mbstring.func_overload = 2
へ変更しました
設定変更については
Zabbixのインストール
を参考にさせていただきました
これでログインできるかと思ったのですが。相変わらずエラーのままです
ほかの解決方法がないか調べてみました
Zabbix Serverのインストール(Ubuntu Enterprise Server 11.04)
を参考にすることで、原因が判明しました
sudo vim /etc/zabbix/zabbix_server.conf
で見た
DBPassword=zabbix
に対して
sudo vim /etc/zabbix/dbconfig.php
の中の
$DB[“PASSWORD”] = “zabbix”;
となるべき部分が
$DB[“PASSWORD”] = “zabbixapp”;
になっていたのが原因でした
これを修正して、
sudo service apache2 restart
で apache2 を再起動
再度
http://localhost/zabbix
で無事にログインできました
ちなみに、初期のログインには
ユーザ名
admin
パスワード
zabbix
でログインになります

var_dump() について

PHP逆引き大全 516の極意
をみながらPHPの勉強をしています

今回、途中で var_dump() が出てきましたが
わかりにくかったので、検索
どうやら
引数として指定した変数の内容や命令の返値を画面上に出力するもの
というものらしいです
参考サイトは
PHPを学ぶ時、最初に憶えて欲しいvar_dump
です

Zabbix でサーバ監視 その2

Zabbix でサーバ監視
の続きです
sudo apt-get install zabbix-server-mysql zabbix-frontend-php zabbix-agent

必要なものをインストール
zabbix-server-mysql が Zabbix サーバー
zabbix-frontend-php が管理画面
zabbix-agent がエージェントソフトになります
インストールしている途中に
MySQL の管理者パスワードを聞かれるので、
前回設定した root ユーザパスワードを入力
次に、Zabbix サーバーの MySQLデータベースのパスワードを設定
今回は zabbix にしてみました
使うデータベースを選択する画面になるので、
mysql を選んで 了解を押します
今度は管理画面用のパスワードを聞かれますので
これも別のパスワードにしてみます
今回は
zabbixappuser
にしてみましょう
確認のため、もう一回入力するようにされるので
再度入力します
これで、インストールが完了になります
次回は、初期設定になります

Zabbix でサーバ監視

日経 Linux (リナックス) 2011年 12月号 [雑誌]
 で Linux 活用事例が載っていたので
さっそく再現開始

今回は、実機投入する前にテストを行うため
64bit Ubuntu デスクトップでできるかを調べるため
VMware Player 4 を使い、同じ環境を作ります
ちなみに、書籍に載っているのは 32bit 環境のようです
まずは最初に
sudo apt-get -y install nautilus-open-terminal
を入れる
次に
書籍に載っているのが 32bit での環境のようなので
32bit 互換ライブラリをインストールするため
sudo apt-get -y install ia32-libs
を実行
sudo apt-get install tasksel
でtasksel をインストールし
sudo tasksel
で起動
カーソルでLAMPまで移動して
スペースキーを押すと * がつくので
次に<了解>をクリック
Screenshot-Ubuntu 64-bit Server Test - VMware Player
あとは、自動で進んでいくので放置
パッケージ取得が完了すると
mysql-server の rootユーザのパスワードを設定するようになります
Screenshot-Ubuntu 64-bit Server Test - VMware Player-1
セキュリティのため、忘れずにパスワード設定しましょう
確認のため、もう一度聞かれるので
再度入力します
Screenshot-Ubuntu 64-bit Server Test - VMware Player-2
これで LAMP環境構築できました
ちなみに、LAMPは
Linux
Apache
MySQL
PHP
の略になります
たまに、PHP ではなく Perl だったりしますが