fc2ブログ

付録についていた count_word.pl

日経 Linux 2011-05 を参考に Hadoop を実験してみましたが
なぜかエラーになるので
一度ソースを見てみました
結果、付録DVDに入っていたスクリプトには

#!/usr/bin/perl
#use strict;
my %words;

while () {
chomp $_;
undef %words;
my @words = split ( /\s+/, $_ );
foreach $s ( @words ) {
$s =~ tr/A-Z/a-z/;
$s =~ s/\W+//g;
$s =~ s/([\w\d]+)/$1/g;
unless ( $s =~ /\w{4,}/ ) { next; }
print ($s . "\t" . 1 . "\n" );
}
}


となっていましたが
書籍のページでは

#!/usr/bin/perl
use strict;
my $s;

while () {
chomp $_;
my @words = split ( /\s+/, $_ );
foreach $s ( @words ) {
$s =~ tr/A-Z/a-z/;
$s =~ tr/a-z//cd;
if ( $s =~ /[a-z]{4,}/ ) {
print ($s . "\t" . 1 . "\n" );
}
}
}

となっています

コマンドで書き換えたような記憶はないので、
ソースそのものが違っているような気がします....

count_word.pl*
となっているので、他にも要因があるのかもしれません
スポンサーサイト



テーマ : Linux
ジャンル : コンピュータ

Pig の実験

引き続き、Pig の実験です


続いて、データ処理の実験のためのファイルをダウンロードします

http://131.193.40.52/data/
へアクセスし、
reviewsNew.rar
というファイルをダウンロードします

このファイルは。
.rar という形式なので、解凍するために
sudo apt-get -y install unrar
で必要なソフトをインストールします

解凍するには
unrar e reviewsNew.rar
を実行します

続いて解析の準備です
まず
hadoop dfs -mkdir amazon
hadoop dfs -copyFromLocal reviewsNew.txt amazon
を実行し


pig
で起動し、無事に起動成功すると
grunt>
という端末になります
本来、JobTracker へのアクセス成功などのメッセージが
でるようですが、なぜかこのあたりはエラーになりました

とりあえず、今回の実験では問題がなかったのですが
残念ながら、次の実験には使えませんでした

とりあえず、今回のログをメモしてみました

A = LOAD 'amazon/reviewsNew,txt';
A = LOAD 'amazon/reviewsNew.txt' as(mem_id:chararray,pro_id:chararray,date:chararray,
date:chararray,num_hf:int,num_f:int,
rating:double,title:chararray,body:chararray);
AG = GROUP A ALL;
A2 = FOREACH AG GENERATE COUNT(A),AVG(A.rating),MAX(A.rating),MIN(A.rating);
DUMP A2;
を実行すると
データ集計ができます

今回の設定は、ソースから行っていますが、
ubuntu の場合、apt-get でインストール、設定が可能のようです
[Hadoop][Pig]Pigのインストール
1台構成のHadoopを30分で試してみる(Ubuntu + Cloudera)
を参考に、一度 apt-get で環境を構築してみます

テーマ : Linux
ジャンル : コンピュータ

Pig の設定をスクリプトで実行

前回、Hadoop の設定をスクリプトで実行できるようにしたので
今回は Pig を設定してみます

Pig はすべての hadoop インストール済みのマシンにいれる
必要性はなく、どれか1つでよいようなので
別のスクリプトにしました

まず
vi setup_pig.sh
でファイルを作成し、内容を以下のようにします

#/bin/bash
sudo tar zxvf pig-0.8.0.tar.gz -C /opt
cd /opt/
sudo ln -s ./pig-0.8.0 pig
echo -e 'export PIG_INSTALL=/opt/pig/' >> $HOME/.bashrc
echo -e 'export PIG_CLASSPATH=/opt/hadoop/hadoop-0.21.0/conf/' >> $HOME/.bashrc
echo -e 'export PATH=$PIG_INSTALL/bin:$PATH' >> $HOME/.bashrc
source ~/.bashrc


保存したら
sh vi setup_pig.sh
を実行します

これで設定完了です


テーマ : Linux
ジャンル : コンピュータ

Hadoop の設定をスクリプトで実行

ディスク容量が足りなかったため
再度 設定することにしました

今度は、容量を大きめにつくってみました
前回、20GBで足りないので、今回の Vmware で作成した容量は
50GB 割当てしました

また、再度設定することも考えて、
セットアップスクリプトの作成をしてみます

vi setup_hadoop.sh
でファイルを作成し。内容を以下のようにしました

#!/bin/bash
./jdk-6u24-linux-i586.bin
sudo mv jdk1.6.0_24 /opt/
tar zxvf hadoop-0.21.0.tar.gz
sudo mkdir -p /opt/hadoop
sudo mv hadoop-0.21.0 /opt/hadoop/
echo -e 'export JAVA_HOME=/opt/jdk1.6.0_24/' >> $HOME/.bashrc
echo -e 'export HADOOP_INSTALL=/opt/hadoop/hadoop-0.21.0' >> $HOME/.bashrc
echo -e 'export PATH=$HADOOP_INSTALL/bin:$JAVA_HOME/bin:$PATH' >> $HOME/.bashrc
source ~/.bashrc
sudo apt-get -y install openssh-server
ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa
cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys
chmod 600 ~/.ssh/authorized_keys


これで、
ssh localhost
でログインできれば成功です

ちなみに、このスクリプトを実行する場合
jdk-6u24-linux-i586.bin
hadoop-0.21.0.tar.gz
をスクリプトと同じディレクトリにおいておくことが必要です

テーマ : Linux
ジャンル : コンピュータ

Hadoop でエラーの意味

hadoop を使うため、
pig を実行したところ、エラーになりました

原因を探したところ、どうやらディスク容量が足りないのが
原因のようです

前回、VMware Player で容量を増やしたのですが
たしかに容量は増えたのですが、未使用領域が増えただけでした

実際のマシンに例えると
HDDがいっぱいになりかけているところに
外付けHDDを追加しただけに近い状態です

このため、根本的な解決にはなっていませんでした

Windwos の VMware の場合、コマンドを使うことで
領域の拡張などを行えるようですが、Linux 版の
Vmware Player の場合、この管理コマンドがありません

どうやら、Vmware Server が必要になりそうです

また、今回、VMのディスクを何も考えずに
2GBに分割していたため、
もしこれを拡張するのであるなら、
一度統合して、拡張する必要性がありそうです

おそらく、外付けHDDが FAT32のときのことを
考えての機能なのかもしれません
FAT32 のフォーマットの場合、最大4GB程度のファイルまでしか
取扱いができませんので

次回からは、仮想ディスクを分割しないこと
そして、
次の対処に備えて、VMware Server の導入を検討中です

なお、今回の原因究明には
Hadoop/インストール
参考にさせていただきました

また、仮想環境の容量拡張に関しては
VMware Player(Workstation)のメモ
分割仮想ディスクを結合する(by vmware-vdiskmanager)
【CentOS】LVMでディスク容量を拡張(VMwareのHDD容量を増やす)
を参考にさせていただきました

テーマ : プログラミング
ジャンル : コンピュータ

Pig でデータ処理

準備がほぼ整ったので、Pig でデータ処理してみました

しかし、雑誌のとおりにやったところエラーになります
原因は、Pig のクラスパスにありました

port PIG_CLASSPATH=/opt/hadoop/confとなっていました
これを
export PIG_CLASSPATH=/opt/hadoop/hadoop-0.21.0/conf
とすればエラーが消えました

仮想環境で構築していますが
失敗したときに、再度ダウンロードするのは時間がかかるので
一度、scp コマンドで取得したファイルをバックアップしておきます

scp wiki@192.168.10.218:/home/wiki/hado* pig* jdk* count* .
を実行し、ゲストOSへバックアップしておきます

コマンドを使ってファイルコピーするときには
* を使って文字をすべて書き込まないようにすれば時間短縮になります


テーマ : Linux
ジャンル : コンピュータ

VMware Player の仮想マシンの容量拡張

Vmware Player では、仮想マシンに割り当てたHDDの容量を拡張できます

作成した仮想マシンを選択し
Edit virtual machine settings
をクリック

hard Disk(SISI) をクリックし

Utils をクリックして Expand を選択

Maxium Disk size の容量を調整して、expand を
クリックすれば容量の拡張ができます
(数値をキーボードで変更してもなぜか保存できません)

今回、容量を拡張するのは、
Hadoop の実験のために仮想マシンを20GB 割り当てしたのですが
足りなくなったため、倍の容量へ増やすことにしました

テーマ : Linux
ジャンル : コンピュータ

.rar ファイルの解凍

日経 Linux 2011-05 を参考に、Hadoop の実験を開始しています

しかし、.rar 拡張子の解凍方法が載っていないので
検索してみました

unrar コマンドで解凍できるようなのですが
ubuntu 10.10 にはインストールされていないため、

sudo apt-get install unrar
でインストールしました

使い方は
Ubuntu: rar圧縮ファイルの操作(unrar コマンド) (メモ)
を参考にさせていただきました

unrar e reviewsNew.rar
でファイルを解凍します

ちなみに、 e オプションは、カレントディレクトリに解凍すると
いう意味になります

テーマ : Linux
ジャンル : コンピュータ

Pig の導入

前回、分散処理技術 Hadoop
で hadoop をインストールし
パスフレーズなしのSSHでSSH公開鍵認証で
ログインできるようになったので、今度は
Pig をインストールします

Pig は。大容量データの集計処理などに使うようです

Pig の使用例としては
米Yahoo! がログデータ解析に使ったということがあるようです

ほかにも、Pig の使用例を調べると
いろいろとでてきそうです

それでは、インストール開始です

今回もダウンロードの手間を省くため
日経 Linux 2011-05 の付録DVDに収録されているものを使います

cp /media/LIN201105/article/rensai_pighive/pig-0.8.0.tar.gz $HOME
でファイルをコピー

sudo tar zxvf pig-0.8.0.tar.gz -C /opt/
で/opt へディレクトリ展開

作業効率化のため
cd /opt
sudo ln -s ./pig-0.8.0 pig
でシンボリックリンク作成

環境変数の追加のため
vi $HOME/.bashrc
でファイルを開き

最終行へ
export PIG_INSTALL=/opt/pig/
export PIG_CLASSPATH=/opt/hadoop/conf/
export PATH=$PIG_INSTALL/bin:$PATH
を追記

設定内容を反映するために
source $HOME/.bashrc
を実行

ここまでで、Pig の準備完了です

続いて、データ処理の実験のためのファイルをダウンロードします

http://131.193.40.52/data/
へアクセスし、
reviewsNew.rar
というファイルをダウンロードします
容量は約1.7GB あるので、続きは明日以降になります

テーマ : Linux
ジャンル : コンピュータ

AppWidget概要

Appwidget は、ホームボタン長押しででるウィジェットを作成する

エミュレータでウィジェットを画面に
追加し、実際の動作確認をしたいのなら
menu と書いてあるボタンをクリックし
Add をクリック
次に
Widget をクリックすれば
自作アプリのウィジェットのテストができる

AppWidget は、ホーム画面に常駐するけど
実際には更新処理我ないかぎり、同じイメージを表示し続けるあぷり
なので、そこまで電池消費はないらしい

更新を頻繁にするなら話はべつみたいだけど

ただ、仕組みについては複雑で
原因は、常駐アプリゆえの省電力設計

動作はしていないので
更新が必要なときにイベントが発行されるという仕組みらしい

更新処理の仲介には
Provider クラスを経由してイベントを処理しているらしい

テーマ : プログラミング
ジャンル : コンピュータ

パスフレーズなしのSSH

今回、Haddop の実験を行うにあたって

パスフレーズなしのSSH接続が必要になるので、
これについて勉強してみました

日経 Linux 2011-05 には
ssh-keygen -t dsa
を実行し、パスフレーズを空白のまま Enter となっていました

ほかにも参考になるものを探していて
Hadoopインストール手順(0.20.1)


# sshの鍵作る
$ ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa
$ cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys

が気になったので調べてみました

オプションなどに関しては
ssh-keygen で検索し
SSH-KEYGEN (1)
を参考に調べました

-t は鍵の種類を指定します
通常なら RSA鍵ですが、Hadoop では DSA 鍵を使うため
このオプションを使用

-P はパスフレーズを記述します
今回は '' となっているので、空白を意味するようです

-f で鍵を格納するファイルを指定します
-f ~/.ssh/id_dsa
なので
~/.ssh/id_dsa
に鍵を格納するということになります

テーマ : Linux
ジャンル : コンピュータ

分散処理技術 Hadoop

日経Linux 2011-05で短期連載で
Hadoop の特集があるので、これを実験

hadoop に関しては、Wikipedia の記事
Hadoop
を見ました

なにごとも手をつけて実験してみると
なにか得るものがあるかも

まずは、Hadoop をインストール
実験環境は VMで作成した ubuntu 10.10 32bit

まずは、sun-java の jdk をインストール
http://java.sun.com/javase/ja/6/download.html
へリンクし
jdk-6u24-linux-i586.bin
をダウンロードします

きりんさん日記の
1台構成のHadoopを30分で試してみる(Ubuntu + Cloudera)
には、apt-get を使った方法が載っていました

とりあえず、今回は雑誌記事の内容をもとにインストールしてみます

ダウンロード完了後
cd ダウンロード
chmod 755 jdk-6u24-linux-i586.bin
これで、実行権限をつけます

./jdk-6u24-linux-i586.bin
を実行すると、
jdk1.6.0_24/
ができているので

sudo mv jdk1.6.0_24/ /opt
でディレクトリ移動

続いて、付録DVDに収録されている Hadoop をHDDにコピーします
cp /media/LIN201105/article/rensai_pighive/hadoop-0.21.0.tar.gz $HOME

cd
で 一旦 ホームディレクトリに移動し、
tar zxvf hadoop-0.21.0.tar.gz
で解凍してから
sudo mkdir -p /opt/hadoop
でディレクトリ作成
sudo をつけないと権限がないので、作成できません
また -p をつけると、パスが存在しなくても新規にディレクトリ作成できます

sudo mv hadoop-0.21.0 /opt/hadoop
でディレクトリごと移動します

ただ、これをみると
sudo mkdir -p /opt/haddop
sudo tar zxvf hadoop-0.21.0.tar.gz -C /opt/hadoop
でもよさそうですが

それはさておき、
次に JDKのディレクトリ指定です

sudo apt-get -y install vim
で vim をインストールし
vi .bashrc
でファイルを開き、最終行へ
export JAVA_HOME=/opt/jdk1.6.0_24/
export HADOOP_INSTALL=/opt/hadoop/hadoop-0.21.0
export PATH=$HADOOP_INSTALL/bin:$JAVA_HOME/bin:$PATH
を追記

source .bashrc
で設定内容を反映します

また、Hadoop に必要なものとして
ssh の公開鍵認証が必要らしいので、
ubuntu にはデフォルトで入っていない ssh を
sudo apt-get -y install ssh
でインストールします

これで、公開鍵認証を行うまでの準備が整いました

テーマ : Linux
ジャンル : コンピュータ

IS04 で Edy でポイント設定

IS04 で Edyでポイントを設定しました

いまだに対応しているポイントは少なく、
以前であればTポイントにしたのですが、
今回は、200円でたまるのは。
楽天かANAマイルなので、ここは新しい実験のために
ANAマイルを選択しました

先日、ようやくANAのマイルのEdy つきカードがきましたので
さっそく登録

しかし、思わぬエラーが続出しました

登録するときには、IS04 のデフォルトの
ブラウザを使わないと、通信エラーになってしまいます

通常は、Dolphin Browzer を使っている私としては
これに気づかず、かなり時間がかかりました

とはいっても、切り替え方法がわからないため、
仕方がないので、
Edy アプリを起動、Edy でポイント
でリンクした Dolphine Browzer の画面のURLをコピペして
IS04 デフォルトのブラウザのURLにはりつけ
そこから手続きしました

こういった仕様はかなり面倒で
Windows の Internet Explorer でないとみれません
というものを思い出しました

テーマ : Android携帯
ジャンル : 携帯電話・PHS

動画をつかった学習

先日、がっちりマンデーで
スシローの特集をしてました

その中でおもしろかったのが、動画で撮影された
研修ビデオをつかって、覚えるようにすること

そして、システムを導入することで
効率化することでした

回転寿司ってかなりハイテクなものだったんですね

でも、今回のテレビをみて、
やはり、動画で学習すると理解しやすいと思いました

以前、動画でわかる
というものを購入したことがありますが、たしかにとてもわかりやすいです

また、Android アプリを紹介されているときも
Youtube などでアプリの仕様が公開されていると
かなりわかりやすいので、こういった宣伝手法も使えるかも
と思います

テーマ : 思ったこと・感じたこと
ジャンル : 日記

Tltanium Mobile について

TItanium Mobile について少しまとめてみました

Titanium Mobile で作成されたアプリは、
Resourcesディレクトリの下にある
app.js
というjavas script が読み込まれて実行されるとのことです

この app.js を改造することで、アプリを簡単に改造できるようです

通常、ブラウザの java script で外部からデータを取得するには
XML HttpRequest
を使いますが

Titanium Mobile では
Ti.NetWork.createHTTPCrient
を使うことで、外部データの取得ができるようです

これを使えば、twitter API から情報を取得できるようです

参考に、日経 Linux 2011-05 を使いましたが、なぜかうまくいかず
理解できないこともあったため、やめました

まず、念のため、バックアップをとります
/home/wiki/Test1/Resources/app.js
を失敗したときに戻せるように
cp Test1/Resources/app.js app.js_back
でバックアップ作成

次に
vi Test1/Resources/app.js
でファイルを開き

var window = Titanium.Ui.createWindow({backgrounColor: "#000"});
var tableView = Titanium.Ui.createTableView({
data: [{title: "Test1"},{title: "Test2"}]
});
window.add(tableView);
window.show()
を記述するようなのですが、
どこを書き換えるのかもわからず、一旦すべて削除してから
追記してもエラーになります

このため、参考サイト第2回 TitaniumでTwitterクライアント
をベースに、以下のように記述することで
起動することができました

Titanium.UI.setBackgroundColor('#000');
var tabGroup = Titanium.UI.createTabGroup({});
var win1 = Titanium.UI.createWindow({
title:'Tab 1',
backgroundColor:'#fff'
});
var tab1 = Titanium.UI.createTab({
window:win1 //前回,必要な引数まで削除していました。すいません!
});


var window = Ti.UI.createWindow({backgroundColor: "#000"});

var tableView = Ti.UI.createTableView({
data: [{title: "Test1"},{title: "Test2"}]
});
win1.add(tableView);

win1.hideTabBar();
tabGroup.addTab(tab1);
tabGroup.open();

テーマ : プログラミング
ジャンル : コンピュータ

Tltanium Mobile その2

Tltanium Mobile
にて 32bit ubuntu 10.10 で実験を試みたのですが、ダウンロードした
ファイルがうまく解凍できないため、
今度は 64 bit で実験しました

準備するのは、32bit のときと変わりません

さて、今回からいよいよ TItanium Mobile を導入します

wget http://www.appcelerator.com/download-linux64
でファイルを取得し
tar xfz download-linux64
で解凍します

続いて
Titanium\ Developer-1.2.2/Titanium\ Developer
を実行したのですが

Titanium Developer-1.2.2/Titanium Developer: symbol lookup error: /usr/lib/libgtk-x11-2.0.so.0: undefined symbol: g_malloc_n

とエラーがでてしまうので、

rm .titanium/runtime/linux/1.0.0/libg*2.0.*
で競合ライブラリを削除します

このあたりの解説は
Titaniumの環境を作ってみた。
を参考にさせていただきました

しかし、次に新しい問題がでました

Titanium\ Developer-1.2.2/Titanium\ Developer
を実行すると

icedteanp plugin error: Failed to run /etc/alternatives/../../bin/java. For more detail rerun "firefox -g" in a terminal window.

これを解決するために、エラーメッセージをそのまま
google 検索

これにより
[android][Titanium]エラー解消.
を参考に対処しました

まず、一度、起動しているvTItanium Mobile を終了
次に、端末を開き
sudo ln -s /usr/bin/java /bin/java
を実行

再度
Titanium\ Developer-1.2.2/Titanium\ Developer
を実行すれば、エラーなしで起動します

しかし、初期のサインアップでまたしても問題発生します

文字をまともに入力できません
これを解決するには
システム>設定>入力メソッド切替器

Do not use input Method(none)
をクリックし、ibus を一時停止しておけばよいらしいのですが
解決しなかったので
Ubuntu10.10にtitaniumインストールしたが上手く動かせない
を参考に、
sudo apt-get install scim scim-anthy
で入力を scim へ変更し入力しました

入力項目ですが
Email へメールアドレス
Password へパスワード
Repeat Password へもう一度確認のためにパスワード入力
First Name へは名前
Last Name へは名字

以上を入力したら
Sign Up をクリックします

ここまで終われば。初期設定が完了します

余談ですが、参考になりそうなサイトをいくつか見つけたので
メモしてみました

Titanium Mobileで作る! iPhone/Androidアプリ
Titanium mobile で開発しだしたら役に立つ情報のまとめ
[Linux]Titanium Mobile 1.2.2をUbuntu10.10-i386に入れた

テーマ : プログラミング
ジャンル : コンピュータ

Ziio 7 を開発環境に利用

日経Linux 2011-05 を参考に、Ziio 7" を adb で認識できるようにしました

今回の実験機材は



そのまま実行しても、うまくいかない点が多かったので
ここは
自分なりに調べたりして解決を目指します

最初の Android SDK の導入に関しては
以前から開発環境に使っている Android 開発環境の手順で導入しました

この環境の作成手順は
DropBox とスクリプトで開発環境
に書いてあります

さらに、この環境をカスタマイズします

sudo vi /etc/udev/rules.d/70-android.rules
でファイルを作成し
SUBSYSTEM=="usb",SYSFS{idVendor}=="2350",SYMLINK+= "android_adb",MODE="0666"
を記述します

echo 0x2350 >> ~/.android/adb_usb.ini

ベンダーIDを登録します

これで
sudo shutdown -r now
で再起動し、
adb devices

認識されていれば、成功です

Eclipse を立ち上げ、プロジェクトを実行すると
どの端末で実行するかを聞かれます

Android エミュレータが起動していると
エミュレータ と Ziio 7" を選べるので
このときに Ziio 7" を選ぶと
Ziio 7" でアプリが実行されます

実行した感想としては
やはりエミュレータよりも実機のほうが早いと思います

また、この機体には root 化するという方法もあります
ただし、保証がなくなったり、いろいろと面倒なことがおきたりするようです

iPod toich や iPhone の脱獄のようなものです

テーマ : Linux
ジャンル : コンピュータ

Tltanium Mobile

ubuntu 10.10 32bit へ
java Script でアプリを作成するソフト
Tlatanium Mobile をインストールしてみます

まず、新しい実験環境を
VMwarePlayer で作成、

操作性向上のため、
VMware Tools を

cd /tmp/
tar zxvf /media/VMware\ Tools/VMwareTools-8.4.6-385536.tar.gz
cd vmware-tools-distrib/
sudo ./vmware-install.pl
sudo shutdown -r now

でインストールし、反映

必要なソフトをインストールするため

アプリケーション > アクセサリ > テキストエディタ
で開き。

#!/bin/bash
sudo apt-get -y install ssh
sudo apt-get -y install vim
sudo apt-get -y install nautilus-opne-terminal
sudo add-apt-repository 'deb http://archive.canonical.com/ lucid partner'
sudo apt-get update
sudo apt-get -y install sun-java6-jdk
sudo update-alternatives --config java
mkdir $HOME/bin

を記述し、ファイル名を setup_ubuntu.sh
で保存

次に、sh setup_ubuntu.sh
を実行します

途中で、sun-java のライセンスで聞かれるので、了承するようにします
また、
もともと ubuntu に open-jdk が入っているので
sun-java と切り替えるために、
update-alternatives --config java
を実行しています

このときに2を選択すれば、sun-java が使えるようになります

次に Android SDK をインストールします
wget http://dl.google.com/android/android-sdk_r10-linux_x86.tgz
でダウンロードして、

sudo -s
で管理者権限になります

管理者権限でないと、/usr/local へファイルを展開しようとするとエラーに
なるので、これを回避するためです

管理者権限になると、
$ のマークが # になるので、わかりやすいと思います
例えば
wiki@testubuntu:$
だったのが
root@testubuntu:#
となっています

管理者権限になったのを確認後
tar xfs android-sdk_r10-linux_x86.tgz -C /usr/local/
でファイルを展開

ln -s /usr/local/android-sdk-linux_x86/platform-tools/adb /usr/local/android-sdk-linux_x86/tools/
でシンボリックリンクを作成

echo "export PATH=\${PATH}:/usr/local/android-sdk-linux_x86/tools" > /etc/profile.d/androidsdk.sh
でパスを通し

source /etc/profile
で設定を反映します

基本的に、 profile などのファイルを変更したときには
source コマンドを使って設定を反映させます

restart を使って apache などを再起動するようなかんじですね

次に、プラットフォームAPIをインストールするのですが
android
とコマンドをいれることで起動できるのですが
展開した先が管理者権限が必須な場所なので

管理者権限
sudo -s
を使った状態で
android
とコマンドを実行する必要があります

これを一般ユーザでやってみたのですが
普通に起動はしますが
Available packages
で必要なパッケージをインストールを始めるとエラーが続出し
終了してしまいます

このパッケージのダウンロードにはかなり時間がかかりますので
時間の余裕のあるときにおこないましょう

次回は、Taitanium Developer を導入してみます

テーマ : プログラミング
ジャンル : コンピュータ

ubuntu10.10 でGAE環境構築

ubuntu 10.10 32bit へ
Google App Engine の導入を行ってみます

いつも通り、実験段階なので、
仮想環境でまずは実験です

まず、普通にクリーンインストールします

次に、VMware Tool のインストール
を参考に、VmwareTools をインストールします

アプリケーション > アクセサリ > テキストエディタ
で開き。

#!/bin/bash
sudo apt-get -y install ssh
sudo apt-get -y install vim
sudo apt-get -y install nautilus-opne-terminal
sudo add-apt-repository 'deb http://archive.canonical.com/ lucid partner'
sudo apt-get update
sudo apt-get -y install sun-java6-jdk
sudo update-alternatives --config java
mkdir $HOME/bin

を記述し、ファイル名を setup_ubuntu.sh
で保存

次に、sh setup_ubuntu.sh
を実行します

途中で、sun-java のライセンスで聞かれるので、了承するようにします
また、
もともと ubuntu に open-jdk が入っているので
sun-java と切り替えるために、
update-alternatives --config java
を実行しています

このときに2を選択すれば、sun-java が使えるようになります

次に、Eclipse をダウンロードし、インストールします
http://www.eclipse.org/downloads/download.php?file=/technology/epp/downloads/release/helios/SR2/eclipse-java-helios-SR2-linux-gtk.tar.gz
から
eclipse-java-helios-SR2-linux-gtk.tar.gz
をダウンロードします

次に、これを展開します
ダウンロードしたディレクトリに
cd コマンドで移動し、
tar zxvf eclipse-java-helios-SR2-linux-gtk.tar.gz -C $HOME/bin
で展開
されに
echo -e 'PATH=$PATH:$HOME/bin/eclipse' >> $HOME/.bashrc

eclipse というコマンドで起動するようにします

設定反映のため
source ~/.bashrc
を実行すれば、最初の準備は完了です

次に、プラグインのインストールになるのですが
Android のときのように時間がかかりそうなので、
続きはまた明日以降にします

テーマ : プログラミング
ジャンル : コンピュータ

VMware Tool のインストール

VMware Player の操作性を向上させるため、
Vmware Tool をインストールしました

インストールするには
VirtualMachine > install VMware Tools
を選択すると、画面にマウントされた Vmwware Tools の
ディスクがでてくるので、
これを確認したら

ubuntu の端末を開き。

cd /tmp/
tar zxvf /media/VMware\ Tools/VMwareTools-8.4.6-385536.tar.gz
cd vmware-tools-distrib/
sudo ./vmware-install.pl
を実行し、あとはその後でてくる質問ですべて
Enterを押し、完了したら

sudo shutdown -r now
で再起動すると、効果が反映されます

これがインストールされると、
VmwarePlayerで作成したマシンと、ホストマシンでの
文章のコピペなどもできるので、かなり便利になります

テーマ : Linux
ジャンル : コンピュータ

App Inventor を初体験

日経Linux 2011-05 を参考に、
パズルのように Android アプリを開発できると聞いた
App Inventor をインストール、実権してみました




今回、実権に使った環境は、ubuntu 10.10 32bit です

今回、必要なパッケージである
appinventor-setup_1.1_all.deb
は付録DVDに収録されていたので、これを使います

まず、最初に
cp /media/LIN201105/article/toku2/appinventor-setup_1.1_all.deb $HOME
でコピーします

java開発キット JDKが必要なので
sudo add-apt-repository 'deb http://archive.canonical.com/ lucid partner'
sudo apt-get update
sudo apt-get -y install sun-java6-jdk
でインストールします

次に
sudo dpkg -i appinventor-setup_1.1_all.deb
でインストール

firefox&
でブラウザを起動し

Alt + d でURLに移動

http://appinventor.googlelabs.com
へアクセスし、
google のアカウントを使い Sign inします

ここででてくる
I accept the terms of service
をクリックすれば、
ログイン完了です

プロジェクトをつくるには
画面右上の MyProjects をクリックします

残念ながら、ちょっと今回の書籍の説明だけではわかりにくいので
App inventor 使い方 とか 
App Inventor 入門などで検索して調べると
いろいろと情報がでてきます

テーマ : プログラミング
ジャンル : コンピュータ

Android アプリ作成(インテント編)その5

今回も、日経Linux 2011-05 を参考に
アプリ開発の勉強です

今回は Google ストリートビューを使ったものになります

前回使用したコードを改造します

public void onClick(View v){
Intent intent = new Intent(Intent.ACTION_VIEW,Uri.parse("http://itpro.nikkeibp.co.jp"));
startActivity(intent);
}

public void onClick(View v){
Intent intent = new Intent(Intent.ACTION_VIEW,Uri.parse("googles.treetview:cbll=35.710883,139.796321"));
startActivity(intent);
}
とします

この35.710803 が緯度
139.796321 が経度
となります

ちなみに、
public void onClick(View v){
Intent intent = new Intent(Intent.ACTION_VIEW,Uri.parse("geo:35.710883,139.796321"));
startActivity(intent);
}
にすると、Google マップのほうで表示されます

さらに、このストリートビューには
カメラ視点をかえることができます

緯度、経度の後に
&1,ヨー,,ピッチ,ズーム
を追加すればできます

ヨーは、北からの時計回りの角度

ピッチは少しわかりにくく、
真上は -90
真下は 90

ズームの倍率が少々わかりにくく
2倍なら 2.0なのに、
4倍になると 3.0
となるようです

少し検索してみましたが、
Anderoid googlestreetview ズーム
ではでませんでした

とりあえず、まずは実行して検証するということで
実権開始

public void onClick(View v){
Intent intent = new Intent(Intent.ACTION_VIEW,Uri.parse("google.streetview:cbll=35.710883,139.796321"));
startActivity(intent);
}

public void onClick(View v){
Intent intent = new Intent(Intent.ACTION_VIEW,Uri.parse("google.streetview:cbll=35.710883,139.796321&cbp=1,10,,10,1"));
startActivity(intent);
}
にして実行すると
見事に雷門の画像がでてきます

この経緯度を自分の好みの場所にすることで
画面に表示することができます

テーマ : プログラミング
ジャンル : コンピュータ

Android エミュレータのサイズ変更

Android エミュレータのサイズを変更してみました

今回の参考サイトは
Galaxy Tab の Android エミュレータの画面サイズを変更するです

通常の画面サイズでなら問題はなかったのですが
VMware Player でエミュレータを起動したら
大きすぎて入りませんでした

どうやら、デフォルトは9ぐらいのようです
起動するエミュレータを選んで 
start を押して出てくるウィンドウで、
scale display to real size にチェックを入れ
Screen Size (in): を 7
にし、Launch するとちょうどよい大きさになりました

今回、起動させたモニタサイズは19インチです

テーマ : プログラミング
ジャンル : コンピュータ

Android アプリ作成(インテント編)その4

インテントで、地図を軽度、緯度で指定し、
geo:経度,緯度
で指定してもエミュレータでエラーになるので、検索してみました

その結果
謎めいたインテント
によりますと、
地図を使って表示するには、
エミュレータのターゲットとして「Google APIs」を選択する必要があるようです

これが原因でいくらやってもエラーになっていたようです

しかたがないので、
新規でエミュレータを作成し、起動します

この状態で、再度 Eclipse で実行をすると
どのエミュレータを使って検証するかを聞かれるので
新規に作成したエミュレータを選択し
実行することで解決しました

テーマ : プログラミング
ジャンル : コンピュータ

Android アプリ作成(インテント編)その3

インテントの中身を変更することで、
電話をかける画面を表示できるそうなので、
さっそく実験してみました

tel:電話番号
ということなので、
さっそくソースコードを改造します

public void onClick(View v){
Intent intent = new Intent(Intent.ACTION_VIEW,Uri.parse("http://itpro.nikkeibp.co.jp"));
startActivity(intent);
}
となっているのを
public void onClick(View v){
Intent intent = new Intent(Intent.ACTION_VIEW,Uri.parse("tel:123456789"));
startActivity(intent);
}
とします

これで、電話をかける画面がでてきます
ちなみに、実際の機体ではないので、自宅の電話番号や
携帯の番号でかける実験をしてもかかることはありませんでした

また、連絡帳を開くこともできるようです
パスである content://contacts/people/
を指定するとでるらしいのですが
私の環境では

You don't have any contacts to display
To add contacs, press menu and touch

Accounts to add or confiture an account with contqcts you can sync to the phone

new contact to create a new contact from scratch
Import/Export

とエラーがでます

おそらく、連絡帳がないためのエラーと思われます

ちなみに、変更して実権するなら
public void onClick(View v){
Intent intent = new Intent(Intent.ACTION_VIEW,Uri.parse("http://itpro.nikkeibp.co.jp"));
startActivity(intent);
}

public void onClick(View v){
Intent intent = new Intent(Intent.ACTION_VIEW,Uri.parse("content://contacts/people/"));
startActivity(intent);
}
というように変更します

このように、少し改造するだけでかなりの改良をすることができるので
なれてくると
さらにおもしろいものができそうです

テーマ : プログラミング
ジャンル : コンピュータ

Android アプリ作成(インテント編)その2

前回の続きになります

今度は、
Test4Activity.java の中身を編集します

public void onClick(View v){
}

を追記し、View のところに赤い波線でエラーが出ているので
これにマウスを持っていくと、メニューがでてくるので
import 'View'(android.view)
をクリックすると、自動的に
Eclipse へ追記されます

Eclipse には、このようにいろいろと自動処理してくれる機能があるので
便利なのですが、使い慣れないとかなり混乱します

ちなみに、今後 このimport という機能は多々使うことになります
もちろん、自分で最初に import の部分を記述してもいいのですが
なれないうちは、最初にソースを丸写しし
とりあえずインポートできるものはインポートする
ぐらいに考えておいたほうが混乱せずにすみます

今回、インテントの機能を使うために
次に追記するところがあるのですが
これも
同じようにインポートしないとエラーになります

Intent intent = newIntent(Intent.ACTION_VIEW,Uri.parse("http://itpro.nikkeibp.co.jp"));
startActivity(intent);

これを追記します
public void onClick(View v){
Intent intent = new Intent(Intent.ACTION_VIEW,Uri.parse("http://itpro.nikkeibp.co.jp"));
startActivity(intent);
}

というようになるのですが、
このときに Intent の部分にまたエラーがでますので、
前回と同じように
マウスをもっていき、
import 'Intent'(android.content)
を選択してインポートします

また、Intent.ACTION_VIEW
のような . の後に続く文は .を書いた後にリスト表示されることが
あるので、この中から選択することでタイプミスのリスクを
軽減できます

このインテントですが、
アクションとデータで構成されているようです

Intent.ACTION_VIEW の部分がアクションで
このデータを表示して
という意味になっているようです

,Uri.parse("http://itpro.nikkeibp.co.jp")
で、この指定したURLを表示するようにしています
ちょっと応用するなら、
http://itpro.nikkeibp.co.jp
の部分を
http://www.yahoo.co.jp
にすれば、表示するのは Yahoo! の画面になります

もうちょっと変更するなら、
main.xml でText の部分を
インテントを使う
ではなく、
Yahoo へジャンプ!
と書いて、とぶURLを yahoo にすることもできます

ソースをちょっと改造することが理解のコツです

テーマ : プログラミング
ジャンル : コンピュータ

Android アプリ作成(インテント編)

今回も日経Linux 2011-05 を参考に、
Android のプログラミングを行っています




今回、作成するアプリは
インテントという機能をつかったもののようです

このインテントですが
アプリから別のアプリの機能を呼び出し
処理をするようなものらしいです

マッシュアップのようなかんじですかね

まずは、いつものように新しく作成していきます

ちなみに、私の環境はubuntu で
Eclipse は日本語化していません

ゆえに、以下のログは
英語のメニューになっています

まず Eclipse を立ち上げ
File > new > Project

Android project を選択し、next をクリック

Project Name に
本にあるように
Test4

Build Target へ
Android 2.2

Application name へ
Test4

Package name へは
jp.co.nikkeibp.test4

create Activity には
TestActivity

Min SDK Version へは
4
とします

できあがったプロジェクトの中の
res/layout/main.xml
を編集していきます

今回、行う作業は
Graphical Layout を使ったものになりそうです

いつもなら、そのまま雑誌の内容を再現するのですが
今回は少し変わっていますので

その変更点をメモしてみました

まず、ボタンの配置ですが
Form Widgets
の中に
Button というGUIのパーツがあるので、これを
ドラッグ&ドロップで配置してみました

次に、プロパティをだす方法ですが
ボタンの上で右クリックし、
次に
Show in > Propeties
を選択することで表示されます

このなかにある値で
Text
という項目を探します
アルファベット純に並んでいるので、
比較的見つけやすいと思います

この項目の Value
のところを変更します
この value は値という意味です

Text の value は、表示する文字ですので
これを変更することで、ボタンの表示文字が変わります

私の環境の場合、初期値は
Button でした
(書籍では @+id/Button01でした)

書籍では
Layout_width
を wrap_content から fill_parent にしていますが
とくに不便はないため
これは放置

wrap_content は
自動調整

fill_parent は画面と同じ幅で文字を表示という意味です

また、
on click の value のところに
onClick
としておくことで、イベントリスナーの
処理コードを書くのを省略できるようです

テーマ : プログラミング
ジャンル : コンピュータ

今回の日経Linux はおもしろそう

今回、日経 Linux 2011-05 を購入したのですが
かなり興味深い記事がありました



まだ、実際に実験に使う機材が届いていないので
今回は紹介だけです

まず。
低価格な Android タブレットPC Ziio 7"
のroot 権限奪取です

今回購入したのは、以下の機種になります


そして、プラグコンピュータを改造して
サーバーにするというものです

いままでは、仮想化を使うことで
サーバーの構築やプログラミング環境をつくったりしていますが
今回、もう少しスキルアップするために
ハードウェアの改造を行っていこうと思います

ポゴプラグというプラグコンピュータを改造するのですが
検索してみた結果では、いまいちわかりませんでした

参考記事として
pogoplugを買いました。
の記事をみながら、どの機材を購入するか、現在検討中です

テーマ : Linux
ジャンル : コンピュータ

IS04 ようやくアップデート

IS04 がようやくアップデートされます

情報ソースは
KDDI、「REGZA Phone IS04」のEメールなどを改善するソフトウェア更新を実施
からです

今回のアップデートにより

充電器に8時間以上接続し続けた場合、以降の充電が停止する
受信したEメールが文字化けする
ヘッダサイズの大きいEメールが受信できない
Eメールのあて先入力欄に表れるメールアドレス一覧が
ランダムに表示

という不具合が改善されるようです

IS04からの場合
「設定」→「システム設定」→
「ケータイアップデート」からアップデート
でアップデートできます

ただし、所要時間は最大約135分
約2時間ちょっとかかるようです

PC経由でのアップデートの所要時間は約20分
なのですが、
こちらは
S04に登録されたアドレス帳、
ダウンロードデータ、ユーザーが設定した情報、
インストールしたアプリなどのデータはすべて削除される
(初期化される?)
ようなので、やめました

PCからアップデートする場合、
富士通のWebサイトから「ソフトウェア更新」ファイルをダウンロードし、
PCと接続したIS04にインストール
するらしいのですが

家のネット速度が現在 28 kbps なので
ダウンロードは絶望的なのでやめました

家の回線は、YahooBB 26 Mbps なのですが
実測値は全然出ません
一番よくても、1.4Mbpsです
(まぁベストエフォートなので、実際に26Mbps はでません)

RedhatEnterPrise 6 の無償版をダウンロードするときには
友人の家で行って着ました

自宅でダウンロードの予想終了時間は24時間8分後でしたが
友人宅で
光回線(NTT西日本)でダウンロードしたときには
6分で終了しました


テーマ : Android携帯
ジャンル : 携帯電話・PHS

電子書籍作成公開サービス

最近、ようやく電子書籍が増えてきました

この背景には、iPhone や Android の影響もあり、
電子書籍を読む端末が増えてきたこともあるような気がします

今回、おもしろいと思ったのが、
週刊アスキーに載っていた

パブーというサービスです

利用そのものは無料で
自分で電子書籍の販売ができるようです

このときの売上の7割が収入となり、3割はパブーのものになります

なんだか、Android や iPhone アプリのようです
ちなみに、こちらのアプリ生成で得た利益の7割が収入になります

まぐまぐの有料メルマガの場合、作者には6割だったと思いました

肝心の利用方法(閲覧手段)ですが
iPhone iPad iPod touch なら
標準アプリの iBooks で読めます
(iTuneが必要になるようです)

Firefox で閲覧するならば、EPUBReader というプラグインを入れます

Android の場合なら、Androbook で
閲覧可能のようです

アプリ作成や電子書籍出版、有料メルマガ発行など
アイデアと実行力次第ではいろいろな収入源がつくれそうです

もっとも、簡単にはできませんが、苦労する甲斐はありそうです

テーマ : インターネット
ジャンル : コンピュータ

最新記事
検索フォーム
GREEハコニワ攻略サイト
リンク
カテゴリ
月別アーカイブ
フリーエリア
最新記事
FXプライムレート
最新コメント
最新トラックバック