最新 Android SDK には Eclipse
今回 Android SDK をアップデートしたところ
エラーになりました
エラー内容は
Cannot complete the install because one or more required items could not be found. Software being installed: Android DDMS 16.0.1.v201112150204-238534 (com.android.ide.eclipse.ddms.feature.group 16.0.1.v201112150204-238534) Missing requirement: Android
DDMS 16.0.1.v201112150204-238534 (com.android.ide.eclipse.ddms.feature.group 16.0.1.v201112150204-238534) requires 'org.eclipse.ui 3.6.2' but it could not be found
エラーログにあるように
Eclipse のbばバージョンが古いのが原因でした
今までは Galileo をつかっていましたが
これは ver 3.5
Synaptic でインストールも試したのですが
こちらも同じため
eclipse-jee-indigo-SR1-linux-gtk.tar.gz
から
eclipse-jee-indigo-SR1-linux-gtk.tar.gz
をダウンロードして使うことにしました
これで、無事に eclipse で ADT プラグインが使えるようになりました
Android は Linux のように
オープンソースで開発が早いのですが
Fedora
のように安定しないのが欠点です
ただいずれCentOS のように安定したOS
になると思いますが
それまでは開発や実験要素が多そうです
エラーになりました
エラー内容は
Cannot complete the install because one or more required items could not be found. Software being installed: Android DDMS 16.0.1.v201112150204-238534 (com.android.ide.eclipse.ddms.feature.group 16.0.1.v201112150204-238534) Missing requirement: Android
DDMS 16.0.1.v201112150204-238534 (com.android.ide.eclipse.ddms.feature.group 16.0.1.v201112150204-238534) requires 'org.eclipse.ui 3.6.2' but it could not be found
エラーログにあるように
Eclipse のbばバージョンが古いのが原因でした
今までは Galileo をつかっていましたが
これは ver 3.5
Synaptic でインストールも試したのですが
こちらも同じため
eclipse-jee-indigo-SR1-linux-gtk.tar.gz
から
eclipse-jee-indigo-SR1-linux-gtk.tar.gz
をダウンロードして使うことにしました
これで、無事に eclipse で ADT プラグインが使えるようになりました
Android は Linux のように
オープンソースで開発が早いのですが
Fedora
のように安定しないのが欠点です
ただいずれCentOS のように安定したOS
になると思いますが
それまでは開発や実験要素が多そうです
eclipse を synaptic でインストール
Android 開発をネットブックで行っていて
久しぶりに android sdk のアップデートをしたら
eclipse 起動のときにエラーがでてしまい、開発環境が使えなくなりました
いろいろと対策をおこなったのですが、残念ながら
解決には至らなかったため
一度 android SDK と eclipse を消すことにしました
両方ともソースからのインストールでしたので
展開したディレクトリを
rm -rf bin/android
rm -rf bin/eclipse
で消去し
.bashrc
に記述してあった
android と eclipse へのパスを消しました
今回、新たに Android SDK をダウンロードしたのですが
ディレクトリの構造が変わっています
展開したときに
以前
android-sdk_r08-linux_86.tgz
のときには
android-sdk-linux_86
でしたが
今回ダウンロードした
android-sdk_r16-linux_86.tgz
では
android-sdk-linux
になっていました
とりあえず、.bashrc へ android sdk へのパスを記述
続いて
Eclipse を
sudo synaptic で起動してから
検索で eclipse を入力し、インストールします
最近はネット回線が遅いため、おそらくeclipseを
インストールして終わりそうです
久しぶりに android sdk のアップデートをしたら
eclipse 起動のときにエラーがでてしまい、開発環境が使えなくなりました
いろいろと対策をおこなったのですが、残念ながら
解決には至らなかったため
一度 android SDK と eclipse を消すことにしました
両方ともソースからのインストールでしたので
展開したディレクトリを
rm -rf bin/android
rm -rf bin/eclipse
で消去し
.bashrc
に記述してあった
android と eclipse へのパスを消しました
今回、新たに Android SDK をダウンロードしたのですが
ディレクトリの構造が変わっています
展開したときに
以前
android-sdk_r08-linux_86.tgz
のときには
android-sdk-linux_86
でしたが
今回ダウンロードした
android-sdk_r16-linux_86.tgz
では
android-sdk-linux
になっていました
とりあえず、.bashrc へ android sdk へのパスを記述
続いて
Eclipse を
sudo synaptic で起動してから
検索で eclipse を入力し、インストールします
最近はネット回線が遅いため、おそらくeclipseを
インストールして終わりそうです
twitter4j 非同期APIの利用
twitter4j の非同期APIを利用することについて勉強中です
今回も、以前行った Ubuntu で行う予定でしたが
アップグレード失敗のため、バックアップをとった VM の仮想マシンから
復旧しました
このため、少し異なる環境になっています
まずは、再度 twitter4j のダウンロードページ
からダウンロードします
ダウンロードするのは
twitter4j-android-2.2.6-SNAPSHOT.zip(Android向けのスリムバージョン)
です
これをダウンロードしたら、
mkdir twitter4j
でディレクトリを作成して
cd twitter4j でディレクトリ移動し
unzip unzip ~/ダウンロード/twitter4j-android-2.2.6-SNAPSHOT.zip
で解凍します
次に、この解凍ディレクトリの中にある
twitter4j-async-android-2.2.6-SNAPSHOT.jar
twitter4j-core-android-2.2.6-SNAPSHOT.jar
を
Eclipse のライブラリに追加しますので
まず
追加したいプロジェクトを右クリックして
File > New > Folder
で
lib ディレクトリを作成します
次に、この lib ディレクトリに
これをダウンロードしたら、
mkdir twitter4j
でディレクトリを作成して
cd twitter4j でディレクトリ移動し
unzip unzip ~/ダウンロード/twitter4j-android-2.2.6-SNAPSHOT.zip
で解凍します
次に、この解凍ディレクトリの中にある
twitter4j-async-android-2.2.6-SNAPSHOT.jar
twitter4j-core-android-2.2.6-SNAPSHOT.jar
をコピーして
プロジェクトを右クリック > Properties
で
Java Build Path をクリックし
Add JARs ... をクリック
ディレクトリの中から
twitter4j-async-android-2.2.6-SNAPSHOT.jar
twitter4j-core-android-2.2.6-SNAPSHOT.jar
を選んでOKを押せば完了です
この2つのファイルは、解凍したファイルの
lib ディレクトリの中にあります
今回も、以前行った Ubuntu で行う予定でしたが
アップグレード失敗のため、バックアップをとった VM の仮想マシンから
復旧しました
このため、少し異なる環境になっています
まずは、再度 twitter4j のダウンロードページ
からダウンロードします
ダウンロードするのは
twitter4j-android-2.2.6-SNAPSHOT.zip(Android向けのスリムバージョン)
です
これをダウンロードしたら、
mkdir twitter4j
でディレクトリを作成して
cd twitter4j でディレクトリ移動し
unzip unzip ~/ダウンロード/twitter4j-android-2.2.6-SNAPSHOT.zip
で解凍します
次に、この解凍ディレクトリの中にある
twitter4j-async-android-2.2.6-SNAPSHOT.jar
twitter4j-core-android-2.2.6-SNAPSHOT.jar
を
Eclipse のライブラリに追加しますので
まず
追加したいプロジェクトを右クリックして
File > New > Folder
で
lib ディレクトリを作成します
次に、この lib ディレクトリに
これをダウンロードしたら、
mkdir twitter4j
でディレクトリを作成して
cd twitter4j でディレクトリ移動し
unzip unzip ~/ダウンロード/twitter4j-android-2.2.6-SNAPSHOT.zip
で解凍します
次に、この解凍ディレクトリの中にある
twitter4j-async-android-2.2.6-SNAPSHOT.jar
twitter4j-core-android-2.2.6-SNAPSHOT.jar
をコピーして
プロジェクトを右クリック > Properties
で
Java Build Path をクリックし
Add JARs ... をクリック
ディレクトリの中から
twitter4j-async-android-2.2.6-SNAPSHOT.jar
twitter4j-core-android-2.2.6-SNAPSHOT.jar
を選んでOKを押せば完了です
この2つのファイルは、解凍したファイルの
lib ディレクトリの中にあります
古いネットブックはBIOSアップデート必須
ようやく backtrak5 のUSB起動ができるようになったので
さっそくネットブックで実験してみましたが
残念ながらUSB起動できませんでした
どうやら、BIOSのアップデートをしないとダメみたいです
最初は起動しないので、いろいろと調べました
今回の参考にさせていただいたのは
BIOSアップデートの手順 †
そして BIOS関連については
BIOS設定方法からアップデートまで
に載っていました
BIOSのアップデートについてですが、いろいろと検索してみた結果
順番どおりにインストールしなくても
最新版をインストールすることが可能なようです
さっそくネットブックで実験してみましたが
残念ながらUSB起動できませんでした
どうやら、BIOSのアップデートをしないとダメみたいです
最初は起動しないので、いろいろと調べました
今回の参考にさせていただいたのは
BIOSアップデートの手順 †
そして BIOS関連については
BIOS設定方法からアップデートまで
に載っていました
BIOSのアップデートについてですが、いろいろと検索してみた結果
順番どおりにインストールしなくても
最新版をインストールすることが可能なようです
USB起動の backtrack5 を作成
無線LANセキュリティの教科書2012 を参考に
backtrack5 を USBメモリにインストールしました
掲載されていたのは Windows で作成する方法です
まず、
http://www.linuxliveusb.com/
へアクセスし
LiLi USB Creater をダウンロードします
ダウンロード完了後、インストールし
USBメモリを挿して、これにインストールします
今回はISOファイルを使いました
ISOは BT5-GNOME-32.iso を選択し
保存領域は4GBに設定
最後に雷マークのアイコンをクリックすればインストール開始されます
インストール完了後、設定の修正を行います
LiLi USB Creater を終了し
設定ファイルの書き換えを行います
今回は windows 環境なので、
TeraPad を使います
ちなみに、TeraPad はこちら
開くファイルは、USB メモリにある
syslinux/isolinux.cfg
を開きます
12行目に
append file=/cdrom/preseed/custom.seed boot=casper initrd=/casper/initrd.gz text splash vga=791--
となっているので、先頭に persistant を追記し保存します
これで完成です
あとは、起動させるマシンのBIOS設定を変更し、USBメモリから起動できるように設定すれば
起動します
ちなみに、backtrack は入門には向きません
backtrack5 を USBメモリにインストールしました
掲載されていたのは Windows で作成する方法です
まず、
http://www.linuxliveusb.com/
へアクセスし
LiLi USB Creater をダウンロードします
ダウンロード完了後、インストールし
USBメモリを挿して、これにインストールします
今回はISOファイルを使いました
ISOは BT5-GNOME-32.iso を選択し
保存領域は4GBに設定
最後に雷マークのアイコンをクリックすればインストール開始されます
インストール完了後、設定の修正を行います
LiLi USB Creater を終了し
設定ファイルの書き換えを行います
今回は windows 環境なので、
TeraPad を使います
ちなみに、TeraPad はこちら
開くファイルは、USB メモリにある
syslinux/isolinux.cfg
を開きます
12行目に
append file=/cdrom/preseed/custom.seed boot=casper initrd=/casper/initrd.gz text splash vga=791--
となっているので、先頭に persistant を追記し保存します
これで完成です
あとは、起動させるマシンのBIOS設定を変更し、USBメモリから起動できるように設定すれば
起動します
ちなみに、backtrack は入門には向きません
Twitter4j バージョンによる変更
Android web api プログラミング
を
参考に Twitter4j を使ってタイムラインを表示しようとしたのですが
import するところでつまづきました
import twitter4j.http.AccessToken;
import twitter4j.http.RequestToken;
この2つがインポートできずかなり悩みました
最初は、
twitter4j-android-2.2.6-SNAPSHOT.zip(Android向けのスリムバージョン)
というスリムバージョンをダウンロードしたのが原因かと思ったのですが
実際には、バージョンの違いによる変更が原因でした
参考書に載っていたのが ver2.1.12
今回使用しているのは ver 2.2.6 でした
バージョン 2.1.x から 2.2.x への移行
にこのあたりの変更点が載っていました
バージョンアップに伴い
twitter4j.http.* は twitter4j.auth.* へ移動しました。
ということでした
このため、
import twitter4j.auth.RequestToken;
import twitter4j.auth.AccessToken;
とすることでエラーがなくなりました
ちなみに、これに気がついたのは、
以前サーバー構築していたときに、バージョン違いにより再現できなくなることが
あると教えていただいたことを思い出したためでした
リファレンス関連の書籍の場合、このバージョン違いで
使い物にならなくなってしまうことがあるため
ある程度はネットで対処する必要性がありそうです
を
参考に Twitter4j を使ってタイムラインを表示しようとしたのですが
import するところでつまづきました
import twitter4j.http.AccessToken;
import twitter4j.http.RequestToken;
この2つがインポートできずかなり悩みました
最初は、
twitter4j-android-2.2.6-SNAPSHOT.zip(Android向けのスリムバージョン)
というスリムバージョンをダウンロードしたのが原因かと思ったのですが
実際には、バージョンの違いによる変更が原因でした
参考書に載っていたのが ver2.1.12
今回使用しているのは ver 2.2.6 でした
バージョン 2.1.x から 2.2.x への移行
にこのあたりの変更点が載っていました
バージョンアップに伴い
twitter4j.http.* は twitter4j.auth.* へ移動しました。
ということでした
このため、
import twitter4j.auth.RequestToken;
import twitter4j.auth.AccessToken;
とすることでエラーがなくなりました
ちなみに、これに気がついたのは、
以前サーバー構築していたときに、バージョン違いにより再現できなくなることが
あると教えていただいたことを思い出したためでした
リファレンス関連の書籍の場合、このバージョン違いで
使い物にならなくなってしまうことがあるため
ある程度はネットで対処する必要性がありそうです
twitter4j クライアントテスト その2メモ
twitter4jのテストをしていて
すこし失敗したので、そのときのメモです
書籍どおりに行っているはずが
twitter = factory.getInstance();
と変更するはずが
Twitter twitter = factory.getInstance();
となっていたため、Android JUnit test でエラーになりました
ちなみに、このテストを行うと、実際につぶやきが行われますが
連続でテストするとエラーになるようです
これは
Twitter は同じ内容の当校を2回連続で行うとエラーになるそうです
なので、2回めからのテストには、
try{
Status status = twitter.updateStatus("Twitter4j のテスト");
printStatus(status);
の
"Twitter4jのテスト"
のところを
"Twitter つぶやきテストその2"
というように変更する必要があります
すこし失敗したので、そのときのメモです
書籍どおりに行っているはずが
twitter = factory.getInstance();
と変更するはずが
Twitter twitter = factory.getInstance();
となっていたため、Android JUnit test でエラーになりました
ちなみに、このテストを行うと、実際につぶやきが行われますが
連続でテストするとエラーになるようです
これは
Twitter は同じ内容の当校を2回連続で行うとエラーになるそうです
なので、2回めからのテストには、
try{
Status status = twitter.updateStatus("Twitter4j のテスト");
printStatus(status);
の
"Twitter4jのテスト"
のところを
"Twitter つぶやきテストその2"
というように変更する必要があります
Yahoo 地図の リファレンス
Yahoo 地図を使ったものを作るときに参考になる
リファレンスのリンクです
JavaScriptマップ
一番使いそうなのが
コントロールの追加になる
ymap.addControl(control);
の関連
例えば
地図の縮尺を変更する横長スライダー形式のユーザーインターフェースを表示
する
var control = new Y.SliderZoomControlHorizontal();
ymap.addControl(control);
とか
地図検索を追加する
var control = new Y.SearchControl();
ymap.addControl(control);
などなど
リファレンスのリンクです
JavaScriptマップ
一番使いそうなのが
コントロールの追加になる
ymap.addControl(control);
の関連
例えば
地図の縮尺を変更する横長スライダー形式のユーザーインターフェースを表示
する
var control = new Y.SliderZoomControlHorizontal();
ymap.addControl(control);
とか
地図検索を追加する
var control = new Y.SearchControl();
ymap.addControl(control);
などなど
Gmail のセキュリティ強化と ipod touch
Gmail のアカウントのセキュリティ強化に伴い
認証コードを打つようになりました
ただし、これを行うと、さまざまな設定を行うという
面倒がでてきます
今回は、ipod touch での場合です
まず、設定を開き
次に
メール/連絡先/カレンダー
そして
Gmail > アカウントでアカウント確認画面を開き
パスワードを変更すれば再びログインできるようになります
ただ、このセキュリティ認証を行う場合、すべてのPC
端末に行う必要があるため
複数マシンをつかうには面倒になります
認証コードを打つようになりました
ただし、これを行うと、さまざまな設定を行うという
面倒がでてきます
今回は、ipod touch での場合です
まず、設定を開き
次に
メール/連絡先/カレンダー
そして
Gmail > アカウントでアカウント確認画面を開き
パスワードを変更すれば再びログインできるようになります
ただ、このセキュリティ認証を行う場合、すべてのPC
端末に行う必要があるため
複数マシンをつかうには面倒になります
Yahoo Maps API
来年から、Google map の使用について、一部有料化されるため
代替として Yaho 地図を使うことにしました
今回、Ustream の講習で、このAPIを使った講習をしていただいたので、
その事前準備に
Yahoo 地図を使うための登録を行いました
参考サイトとしては
ゼロからはじめるYahoo! Maps API
も参考になります
事前準備として Yahoo ID が必要になります
私の場合、メールに Yahoo メールを使用していたので
アカウントはこれをそのまま使いました
まず
http://developer.yahoo.co.jp/webapi/map/
へアクセスして
アプリケーションIDの登録 をクリックします
すると、確認のためのログイン画面になるので、ここでパスワードを入力し
再度ログインします
次に、新しいアプリケーションの開発 をクリックし
今回は
認証を必要としないAPIを使ったアプリケーション
を選択しました
アプリケーション名は、なにか適当にわかりやすいものを取得
サイトURLには、ブログやサーバーなど、自分の使用する予定のURLを入れます
アプリケーションの説明には、
今回作成したアプリの概要を書いておきます
最後に
ガイドラインに同意する にチェックをいれます
(というより、チェックいれないと使えません)
これで、アプリケーションIDが発行されます
代替として Yaho 地図を使うことにしました
今回、Ustream の講習で、このAPIを使った講習をしていただいたので、
その事前準備に
Yahoo 地図を使うための登録を行いました
参考サイトとしては
ゼロからはじめるYahoo! Maps API
も参考になります
事前準備として Yahoo ID が必要になります
私の場合、メールに Yahoo メールを使用していたので
アカウントはこれをそのまま使いました
まず
http://developer.yahoo.co.jp/webapi/map/
へアクセスして
アプリケーションIDの登録 をクリックします
すると、確認のためのログイン画面になるので、ここでパスワードを入力し
再度ログインします
次に、新しいアプリケーションの開発 をクリックし
今回は
認証を必要としないAPIを使ったアプリケーション
を選択しました
アプリケーション名は、なにか適当にわかりやすいものを取得
サイトURLには、ブログやサーバーなど、自分の使用する予定のURLを入れます
アプリケーションの説明には、
今回作成したアプリの概要を書いておきます
最後に
ガイドラインに同意する にチェックをいれます
(というより、チェックいれないと使えません)
これで、アプリケーションIDが発行されます
テーマ : インターネットサービス
ジャンル : コンピュータ
PayPal アカウント取得しました
WebサービスAPIの講習があり、決済に PayPal アカウントで行うか
もしくはゲスト扱いで、クレジットカードの情報を入力するかを
選ぶことになったので、この際、アカウントを作成することにしました
PayPalのアカウント取得と簡単な利用方法、使い方
を参考に、アカウントを取得しました
ちなみに、PayPal API を用いることで
決済方法として express checkout というものが使えるようになります
まだ詳しい情報は調べている途中ですが、
PayPalの使い方 その2 - Express Checkout APIによる課金システムの実装 解説
に解説が載っていましたので、今後使えるようにスキルアップしていこうと思います
ちなみに、express checkout の説明に関しては
エクスプレス チェックアウト
に掲載されています
もしくはゲスト扱いで、クレジットカードの情報を入力するかを
選ぶことになったので、この際、アカウントを作成することにしました
PayPalのアカウント取得と簡単な利用方法、使い方
を参考に、アカウントを取得しました
ちなみに、PayPal API を用いることで
決済方法として express checkout というものが使えるようになります
まだ詳しい情報は調べている途中ですが、
PayPalの使い方 その2 - Express Checkout APIによる課金システムの実装 解説
に解説が載っていましたので、今後使えるようにスキルアップしていこうと思います
ちなみに、express checkout の説明に関しては
エクスプレス チェックアウト
に掲載されています
テーマ : インターネットサービス
ジャンル : コンピュータ
VMware Player と twitter API
twitter4j クライアントテスト
で実験したときと同じエラーがでたため
再検証しました
原因は、VMwarePlayer の仮想マシンでした
前回は、メールが届いていないのと、時刻合わせと両方しましたが
今回は、再起動と時刻合わせのみです
再起動すると問題が解決しましたので、ある程度の時刻がずれている場合
一度再起動したほうがよさそうです
で実験したときと同じエラーがでたため
再検証しました
原因は、VMwarePlayer の仮想マシンでした
前回は、メールが届いていないのと、時刻合わせと両方しましたが
今回は、再起動と時刻合わせのみです
再起動すると問題が解決しましたので、ある程度の時刻がずれている場合
一度再起動したほうがよさそうです
いろいろとおもしろいネットでのイベント
プログラミングやサーバー構築など、さまざまな
スキルが求められるのですが、
個人でいろいろと独学でスキルを伸ばしたときに
なにか実感できるものがないかと思っていろいろと調べてみました
今回、興味深かったのが
Mash Up Awards
APIを組み合わせたりしてWEBアプリを作成します
賞金もでるようです
毎年行われているので、来年は参加できるようにスキルアップしていこうと思います
次に、こちらは22歳以下の学生が対象なのですが
セキュリティ&プログラミングキャンプ
セキュリティ関連に興味がある人にはよいかもしれません
ちなみに、私は年齢でアウトですが
そして、世界最大のハッカーの祭典「(DEF CON)デフコン」です
ちなみに、リンクはこちら
海外のサイトなので、オール英語です
調べるといろいろとでてきますので、また機会があったら掲載してみます
スキルが求められるのですが、
個人でいろいろと独学でスキルを伸ばしたときに
なにか実感できるものがないかと思っていろいろと調べてみました
今回、興味深かったのが
Mash Up Awards
APIを組み合わせたりしてWEBアプリを作成します
賞金もでるようです
毎年行われているので、来年は参加できるようにスキルアップしていこうと思います
次に、こちらは22歳以下の学生が対象なのですが
セキュリティ&プログラミングキャンプ
セキュリティ関連に興味がある人にはよいかもしれません
ちなみに、私は年齢でアウトですが
そして、世界最大のハッカーの祭典「(DEF CON)デフコン」です
ちなみに、リンクはこちら
海外のサイトなので、オール英語です
調べるといろいろとでてきますので、また機会があったら掲載してみます
Twitter ボット作成 その2
Twitter ボット作成
で必要なキーを取得したら
次に、サーバー側の設定を行います
今回の実験環境は ubuntu 11.10 64bit です
sudo apt-get install ruby1.8 rdoc irb rubygems1.8 libopenssl-ruby
で必要なソフトをインストールします
次に
sudo gem install twitter
を実行
ただし、ubuntu11.10 の場合、 gem 実行時にファイルがエラーになるため
修正が必要です
sudo vim /var/lib/gems/1.8/specifications/faraday-0.7.5.gemspec
を実行し
s.date = %q{2011-10-04 00:00:00.000000000Z}
を
s.date = %q{2011-10-04]
というように時刻を修正します
また、
vim /var/lib/gems/1.8/specifications/twitter-2.0.1.gemspec
を実行し
s.date = %q{2011-12-02 00:00:00.000000000Z}
も
s.date = %q{2011-12-02}
というように習性をします
vim がないなら、
gedit などでもOKですが、readonly設定なので
sudo を使って管理者権限でないと変更ができません
次に、パスを通します
echo "export PATH=/var/lib/gems/1.8/bin:\$PATH" >> ~/.bashrc
ちゃんと最終行に書き込まれているかは
vim .bashrc
でshift+g
で最終行をみれば確認できます
ほかのtail コマンドなどでも確認はできますが
パスを十したら
source .bashrc
を実行し、設定を反映します
これを行わないと、反映されませんのでご注意
次に、Ruby スクリプト作成のためのディレクトリを
midir twitter
で作成し
ここで使うスクリプトは
今回の付録に付属しているため、これをそのまま使いました
ファイル名は sp_twitter.rb となっています
このファイルへ
Consumer key
onsumer secret
Access token
Access token secret
の値を書き込みます
#認証・認可情報
CONSUMER_KEY = ''
CONSUMER_SECRET = ''
OAUTH_TOKEN = ''
OAUTH_TOKEN_SECRET = ''
となっていますので
#認証・認可情報
CONSUMER_KEY = 'Consumer key の文字列'
CONSUMER_SECRET = 'onsumer secret の文字列'
OAUTH_TOKEN = 'Access tokenの文字列'
OAUTH_TOKEN_SECRET = 'Access token secretの文字列'
というように書き込んで行きます
ただし、読み込み専用のため、書き込むには
vim の場合、最後に
:w!
とする必要があります
で必要なキーを取得したら
次に、サーバー側の設定を行います
今回の実験環境は ubuntu 11.10 64bit です
sudo apt-get install ruby1.8 rdoc irb rubygems1.8 libopenssl-ruby
で必要なソフトをインストールします
次に
sudo gem install twitter
を実行
ただし、ubuntu11.10 の場合、 gem 実行時にファイルがエラーになるため
修正が必要です
sudo vim /var/lib/gems/1.8/specifications/faraday-0.7.5.gemspec
を実行し
s.date = %q{2011-10-04 00:00:00.000000000Z}
を
s.date = %q{2011-10-04]
というように時刻を修正します
また、
vim /var/lib/gems/1.8/specifications/twitter-2.0.1.gemspec
を実行し
s.date = %q{2011-12-02 00:00:00.000000000Z}
も
s.date = %q{2011-12-02}
というように習性をします
vim がないなら、
gedit などでもOKですが、readonly設定なので
sudo を使って管理者権限でないと変更ができません
次に、パスを通します
echo "export PATH=/var/lib/gems/1.8/bin:\$PATH" >> ~/.bashrc
ちゃんと最終行に書き込まれているかは
vim .bashrc
でshift+g
で最終行をみれば確認できます
ほかのtail コマンドなどでも確認はできますが
パスを十したら
source .bashrc
を実行し、設定を反映します
これを行わないと、反映されませんのでご注意
次に、Ruby スクリプト作成のためのディレクトリを
midir twitter
で作成し
ここで使うスクリプトは
今回の付録に付属しているため、これをそのまま使いました
ファイル名は sp_twitter.rb となっています
このファイルへ
Consumer key
onsumer secret
Access token
Access token secret
の値を書き込みます
#認証・認可情報
CONSUMER_KEY = ''
CONSUMER_SECRET = ''
OAUTH_TOKEN = ''
OAUTH_TOKEN_SECRET = ''
となっていますので
#認証・認可情報
CONSUMER_KEY = 'Consumer key の文字列'
CONSUMER_SECRET = 'onsumer secret の文字列'
OAUTH_TOKEN = 'Access tokenの文字列'
OAUTH_TOKEN_SECRET = 'Access token secretの文字列'
というように書き込んで行きます
ただし、読み込み専用のため、書き込むには
vim の場合、最後に
:w!
とする必要があります
PHPファイルの属性を調べる
PHP のメモです
ファイル属性判別には
ファイル判別関数を使います
-----------------------------------------------------
ファイル判別関数の使い方
論理値 =is_dir(パス)
ディレクトリかどうか判別
論理値=is_file(パス)
ファイルかどうか判別
論理値=is_link(パス)
シンボリックリンクかづか判別
論理値=is_readable(パス)
読み込み可能か判別
論理値=is_writable(パス)
書き込み可能か判別
論理値=is_executable(パス)
実行可能か判別
論理値=is_uploaded_file()
HTTPのPOST()でアップロード可能か判別
----------------------------------------------
ファイル判別関数です疎くするファイル情報は
PHP内部キャッシュされるので
最新のファイル情報を取得するには
clearstatcache() を使ってキャッシュを削除する必要があります
ファイル属性判別には
ファイル判別関数を使います
-----------------------------------------------------
ファイル判別関数の使い方
論理値 =is_dir(パス)
ディレクトリかどうか判別
論理値=is_file(パス)
ファイルかどうか判別
論理値=is_link(パス)
シンボリックリンクかづか判別
論理値=is_readable(パス)
読み込み可能か判別
論理値=is_writable(パス)
書き込み可能か判別
論理値=is_executable(パス)
実行可能か判別
論理値=is_uploaded_file()
HTTPのPOST()でアップロード可能か判別
----------------------------------------------
ファイル判別関数です疎くするファイル情報は
PHP内部キャッシュされるので
最新のファイル情報を取得するには
clearstatcache() を使ってキャッシュを削除する必要があります
twitter4j クライアントテスト
twitter4j の Android アプリ作成の勉強をしています
JUnit Test をしたときに
junit.framework.AssertionFailedError
at com.sample.test.TwitterTest.testTwitter(TwitterTest.java:86)
at java.lang.reflect.Method.invokeNative(Native Method)
at android.test.AndroidTestRunner.runTest(AndroidTestRunner.java:169)
at android.test.AndroidTestRunner.runTest(AndroidTestRunner.java:154)
at android.test.InstrumentationTestRunner.onStart(InstrumentationTestRunner.java:529)
at android.app.Instrumentation$InstrumentationThread.run(Instrumentation.java:1447)
というエラーがでたため、VMware player の時刻合せをしたものの
エラーが治らないため
今度は、twitter のアカウントを確かめるため
twitter アカウントで再度ログイン
最初は、VMware の仮想マシンの時刻の問題、もしくは
twitter developers に登録したアプリの
Callback URL がダメなのかと思いましたが、ここではありませんでした
どうやらメールが届いていないというメッセージがでているので
再度プロフィールを確認
これでもまだエラーがでるため、再起動
なぜかこれで直りました
念のため、以前 作成したほうの Webアプリのサンプルのほうでも
実験してみましたが、問題なくコンパイルできました
次回、同じような現象がおきたら、もう一度探って見ようとおもいます
ちなみに、実行してエラーがない場合、タイムラインが
LogCat に表示されます

JUnit Test をしたときに
junit.framework.AssertionFailedError
at com.sample.test.TwitterTest.testTwitter(TwitterTest.java:86)
at java.lang.reflect.Method.invokeNative(Native Method)
at android.test.AndroidTestRunner.runTest(AndroidTestRunner.java:169)
at android.test.AndroidTestRunner.runTest(AndroidTestRunner.java:154)
at android.test.InstrumentationTestRunner.onStart(InstrumentationTestRunner.java:529)
at android.app.Instrumentation$InstrumentationThread.run(Instrumentation.java:1447)
というエラーがでたため、VMware player の時刻合せをしたものの
エラーが治らないため
今度は、twitter のアカウントを確かめるため
twitter アカウントで再度ログイン
最初は、VMware の仮想マシンの時刻の問題、もしくは
twitter developers に登録したアプリの
Callback URL がダメなのかと思いましたが、ここではありませんでした
どうやらメールが届いていないというメッセージがでているので
再度プロフィールを確認
これでもまだエラーがでるため、再起動
なぜかこれで直りました
念のため、以前 作成したほうの Webアプリのサンプルのほうでも
実験してみましたが、問題なくコンパイルできました
次回、同じような現象がおきたら、もう一度探って見ようとおもいます
ちなみに、実行してエラーがない場合、タイムラインが
LogCat に表示されます

Twitter ボット作成
日経Linux を参考に Twitter ボットをつくってみます
自分のアカウントでつくるより、サブアカウントを取得し
それをフォローしたほうがよさそうです
すでにアカウントを取得しているなら、別のメールアドレスを作成する
必要があります
twitter のアカウントは、メールアドレスと対になっているので
同じメールアドレスでは作成できません
この場合、Gmail などでもうひとつメールアドレスを取得する必要があります
このあたりについては
twitter サブアカウント取得
というように検索するとでてきます
サブアカウント取得ですが
まず
https://twitter.com/
へアクセスし
新しいアカウントを作成します
twitterアカウントの作成については
登録から基本的の使い方まで
を参考にするとわかりやすいと思います
アカウント作成したら
開発者向けサイトへアクセスします
http://dev.twitter.com/apps/
ログイン画面になるので、
IDとパスワードを入力し、ログインします
次に、create a new application をクリックし
登録作業を開始
Name にはアプリ名(ただし人とかぶらないもの)
Description には説明文
WebSite には ウェブサイト(ただし、適当でもOKらしい?)
を入力し、アプリを作成します
続いて、権限を変更したいので
setting タブをクリックして
Application Type を
Read only から read and Write にします
なぜか、2度行わないと設定が反映されていませんでした
ここまで終わったら、Detail タブをクリックして
下のほうにある
Create my access token をクリックし
Access token
と
Access token secret
を取得します
Yahoo! Pipes 実践編
まずは必要なパーツを作成
とりあえず、書籍どおりに
Fetch Site Feed を選んで
URlに
http://www.jiji.com/rss/ranking.rdf
を記述
これは時事ドットコムのRSSになる
--------------------------------------------------
次はRSS非対応のものを取り扱う
今回使用するのは 47NEWS
まず
Fecth Page を選び
http://www.47news.jp/AccessAnal/index.html
をURLに記述
ページ内の取得開始位置を
Cut content from のところへ記述
ランキング1位を示す 1: が始まりなので
今回は 1:
to のところへ
終了タグである
を記述
Split using delimiter には区切り文字を意味するので
<BR>タグを書きます
--------------------------------------------------
次に表示するアイテムを切り詰めたいので
Operators > Tuncale を選択して
10を入力することで、10ずつの表示になります

---------------------------------------------
このままだとアイテムの中身が
HTMLタグ と テキストが乱雑になっているので
記事タイトルとリンクを特定します
まず、
Operators > Regex
と
Options > Rename
で部品を追加します

Rename には
アイテムを別名でコピーできます
Mappings
のところをクリックすると、項目が増えます
項目には item.content として
Rename を Copy As へ変更 右側には title と入力します
もひとつ追加して
項目には item.content として
Rename を Copy As へ変更 右側には link と入力します
これで、title と link 以外の要素が排除できます
--------------------------------------------------------------
Rename モジュールの結果を受け取る Regex モジュールの設定
をします
regex モジュールは、正規表現による文字列の置換、検索ができます
今回は、タイトルの文字列の前後を取り除いた文字列に変換
これで RSS の最低限の要素であるタイトルとリンクをもつ
アイテムができあがりです

----------------------------------
これをUnion モジュールで追加します
書籍には載っていないのですが
Source > Fetch Feed で fetch Feed を作成し
http://www.jiji.com/rss/ranking.rdf
をURLに入力します

Union モジュールは
Operators > Union で追加できます

これを Fetch Feed とRegex をくっつけると、下のほうに表示されるようになります

------------------------------------------
ここからさらに、情報をフィルタリングします
Operation > Filter でパーツを追加します
初期設定だと、条件式ですべてブロックしていますので
all のところを any に変更して
item.title Contain PR とすると
PRという文字列を含むものが排除されます

--------------------------------------------------
最後に Pipe Output にくっつけて完了です
全体図は、以下のようになります

いちおう、できたのですが、47news 関連の記事にアクセスできませんでした
もう少しいろいろと勉強する必要がありそうです
テーマ : インターネットサービス
ジャンル : コンピュータ
Pipes で RSS その2
Pipes で RSS
でアカウントの取得ができたので、
さっそく Pipes を使って行きます
http://pipes.yahoo.com/pipes/
へアクセスし
ログイン状態で
Create Pipe をクリックします

以下が、最初の画面の状態です

ドラッグ&ドロップ。もしくは +ボタンを押してパーツを組み立てて行きます
でアカウントの取得ができたので、
さっそく Pipes を使って行きます
http://pipes.yahoo.com/pipes/
へアクセスし
ログイン状態で
Create Pipe をクリックします

以下が、最初の画面の状態です

ドラッグ&ドロップ。もしくは +ボタンを押してパーツを組み立てて行きます
Yahoo!地図 SDK for Android を調べてます
Yahoo!地図 SDK for Android について情報収集しています
まだ、実験するために必要な情報を得ていないので
まずは必要な情報、そして参考になるサイトをみています
書籍をみると、ほとんどが Google Maps API になっているため
ネットで探すことにしました
Android Map SDK
Yahoo!地図 SDK for Android を使ってみました
などなど、検索すればいろいろとでてきそうです
まだ、実験するために必要な情報を得ていないので
まずは必要な情報、そして参考になるサイトをみています
書籍をみると、ほとんどが Google Maps API になっているため
ネットで探すことにしました
Android Map SDK
Yahoo!地図 SDK for Android を使ってみました
などなど、検索すればいろいろとでてきそうです
PHP で カナ変換
PHPメモです
カンを全角カタカナや半角カタカナなどに変換するには
mb_convert_kana() を使います
mb_convert_kana() は
任意の文字列を特定の表記(全角カタカナ、半角カタカナなど)に変換する
変換オプションには
変換する文字の種類や変換方法を文字列で指定する
文字エンコードを指定することで
変換する文字列の文字エンコードも指定できる
文字エンコードを省略すると
mbstring.internal_encoding の設定値で処理される
---------------------------------------------------------
mb_convert_kana() の使い方
変換後文字列 = mb_convert_kana(文字列、変換オプション、文字列エンコード);
-----------------------------------------------------------
mb_convert_kana() のオプション
r
全角英字 > 半角英字
R
半角英字 > 全角英字
n
全角数字 > 半角数字
N
半角数字 > 全角数字
a
全角英数字 >半角英数字
A
半角英数字 > 全角英数字
s
全角スペース > 半角スペース
S
半角スペース > 全角スペース
k
全角カタカナ > 半角カタカナ
K
半角カタカナ ≫全角カタカナ
h
全角ひらがな > 半角カタカナ
H
半角カタカナ > 全角ひらがな
c
全角カタカナ ≫全角ひらがな
C
全角ひらがな > 全角カタカナ
V
濁点付きの文字を1文字に変換
これは K H のオプションと併用する
-----------------------------------------------------
使用例として
$string ="てすと";
echo "{$string} => mb_convert_kana($string,"C");
とすると
C は全角ひらがな を 全角カタカナにするため
$string が
てすと から テスト に変換される
Google Android WebAPIプログラミング入門
を参考に、twitter4j アプリ作成の勉強です
Android Twitter アプリ作成
で
Consumer key
Consumer secret
Access token URL
Callback URL
を取得し
Android Twitter アプリ作成 その2
で
twitter4j のダウンロードと解凍を行いました
今回はその続きになります
まず、最初に
AndroidManifest.xml へ
androdi.permission.INTERNET
を忘れないうちに追加しておきます
また、JUnitでテストするので
File > new > project で
Android Test Project を選択して
今回はプロジェクト名を Twitter4jTest
test target もじゃ
An existing Android project で Browse を選択して
作成したプロジェクトの tiwtter4j を選択します
あとは、Finish を押せば作成されます
こちらも libs ディレクトリを作成して
witter4j-core-android-2.2.6-SNAPSHOT.jar
を追加してビルドパスを追加します
今回は twitter4j の解析をしたいので
今回作成した JUnit test の方にも
AndroidManifest.xml へ
androdi.permission.INTERNET
を追加しておきます
ここまでで行えば、後は書籍どおりにできそうです
を参考に、twitter4j アプリ作成の勉強です
Android Twitter アプリ作成
で
Consumer key
Consumer secret
Access token URL
Callback URL
を取得し
Android Twitter アプリ作成 その2
で
twitter4j のダウンロードと解凍を行いました
今回はその続きになります
まず、最初に
AndroidManifest.xml へ
androdi.permission.INTERNET
を忘れないうちに追加しておきます
また、JUnitでテストするので
File > new > project で
Android Test Project を選択して
今回はプロジェクト名を Twitter4jTest
test target もじゃ
An existing Android project で Browse を選択して
作成したプロジェクトの tiwtter4j を選択します
あとは、Finish を押せば作成されます
こちらも libs ディレクトリを作成して
witter4j-core-android-2.2.6-SNAPSHOT.jar
を追加してビルドパスを追加します
今回は twitter4j の解析をしたいので
今回作成した JUnit test の方にも
AndroidManifest.xml へ
androdi.permission.INTERNET
を追加しておきます
ここまでで行えば、後は書籍どおりにできそうです