Pipes で RSS

RSS といえば、Google リーダーを使っていますが
残念ながら、すべてのサイトでRSS提供はしていません
そこで、今回興味をもったのが
日経 Linux (リナックス) 2011年 12月号 [雑誌]
に掲載されていた Yahoo! Pipes を使って
WebページからRSSを生成するプログラムの作成
それではまずは、米国の Yahoo! のアカウントを取得します
なぜなら、このYahoo! Pipesは 米Yahoo! が提供するサービス
であるためです
http://pipes.yahoo.com/pipes
へアクセスし、画面右上の Join Now をクリックします
Screenshot-Ubuntu 64-bit - VMware Player-3
次の画面で登録に必要な個人情報を入力します
Screenshot-Ubuntu 64-bit - VMware Player-4
英語で表示されているのでわかりにくいかもしれませんが
入力すべき項目は
氏名 Name
性別 Gender
(男性なら Male 女性なら Female )
誕生日 Birthday
Select MOnth で上から1月~12月になっています
Day に日 Year に年数
1975年12月20日なら December 20 1975 となります
居住国 Country
日本なら Japan を選択
郵便番号 Postal Code
になります
Language の選択がありますが、日本語には対応していません
------------------------------
次に
Selcet an ID and password の項目で
希望の Yahoo ID を入力します
ただし、他の人とかぶるのはダメです
Password を入力し
Re-type Passwoerd で確認のため、もう一度パスワードを入力します
このときに、よこに strong という文字とバーがでますが
これはパスワードの強度です
英数字の組み合わせ、大文字小文字の組み合わせ、長さなどが影響しています
----------------------------------------—
この次に、In case you forget your ID or password
つまり、IDやパスワードを忘れたときの対処です
Alternate Email (optional)
にいざというときに届けてもらうメルアドを入力します
次に、秘密の質問を決めます
Secret Question 1 の中から選択します
例えば、この中の1つ
What is your oldest child’s nickname?
なら子供のときのニックネームは?
となり、自分にのみわかりそうな答えを
Your Answer のところへ入力します
そして、もうひとつ秘密の質問を設定します
Secret Question 2 の中から選択します
今回は、What is the name of your favorite books ?
あなたの好きな本の名前は?
で答えを Your Answer のところへ入力します
-------------------------------------------------------------
ここまで入力したら、次に
Type the code shown のところに
認証用の文字を入力します
すこし歪んでいるような書体で書いてあるのでわかりにくいですが
頑張って入力してください
入力しにくいときには
Try a new code をクリックすると別の文字に切り替わりますで
入力しやすい文字になるまで変えることもできます
最後に
Create My Account をクリックすれば
アカウント作成の確認画面になりますので
contine をクリックします
アカウント作成が成功すると
ログイン状態になります
次回はいよいよ Pipes の作成を行って行きます

Android Twitter アプリ作成 その2

Android Twitter アプリ作成
アプリの登録をして、
Consumer key
Consumer secret
Access token URL
Callback URL
を取得したら
次に twitter4j をダウンロードします
http://twitter4j.org/ja/index.html#download
へアクセスし
最新安定版ビルドをダウンロードします
2011/11/29 の時点では
twitter4j-android-2.2.6-SNAPSHOT.zip(Android向けのスリムバージョン)
が新しいようです
書籍に載っていたのは
twitter4j-android-2.1.12-SNAPSHOT.zip
でしたので、もしかしたら
再現できずに途中でつまづくかもしれませんが
まずは実験です
ダウンロードしたら、解凍します
使っている環境が ubuntu なので、
ホームディレクトリのダウンロードディレクトリにありますので
mkdir twitter4j
cd twitter4j
unzip $HOME/ダウンロード/twitter4j-android-2.2.6-SNAPSHOT.zip
これで解凍します
これで下準備完了なので、
さっそくEclipse でプロジェクトを作成します
ついでに、テスト環境も作成するので
JUnit でテストできるようにします
今回はプロジェクト名を twitter4j にしてみました
ここへ twitter4j のライブラリをコピーしたいので
プロジェクトを右クリックして
new > Folder

フォルダを新規作成します
すると、assets ディレクトリの下に
libs ができます
ここへ
先ほど解凍した $HOME/twitter4j/lib/twitter4j-core-android-2.2.6-SNAPSHOT.jar
をコピーします
コピーはドラッグ&ドロップでOKです
最後にプロジェクトを右クリック > Properties

Java Build Path をクリックし
Add JARs … をクリック
ディレクトリの中から
witter4j-core-android-2.2.6-SNAPSHOT.jar
を選んでOKを押せば完了です
ちなみに、私の場合は
Twitter4j プロジェクトの中の libs ディレクトリにあります
twitter4j.png

Android Twitter アプリ作成

まず、最初に
過去記事のtwitter のアプリ登録
を参考に、Twitter アプリの登録をします
これは自分の過去記事なので、
もっとわかりやすい説明としては
Twitterアプリケーション登録の仕方
が参考になります
こちらは画像なども入っていますのでとても参考になります
それでは、作成開始です
まず
https://dev.twitter.com/
へアクセスし
Create an app をクリックします
次に、ログインする画面になりますので、
twitter アカウントとパスワードを入力
*がついているところは必須項目の入力事項です
まず
Name にはtwitter アプリの名前
これは、公開されるので、他の人とかぶるのはダメです
http: で始まるドメインとおなじですね
ただし、twitter の文字をふくむことはできませんので注意
Description
これには、アプリの概要をかきます
Android テストアプリとかそんなかんじで
Website
これは、自分のWebサイトのURLを書き込みます
ない場合には、この機会に適当にブログをつくってみましょう
Callback URL
これはほとんどつかうことはないようです
(本来は使うかもしれませんが、今回はテストなので)
あと、使うときの規約に同意しましたという意味の
Yes I agree
というチェックボックスへチェックをいれます
最後に、ちょっとわかりにくいのですが
認証の文字が崩したようなかんじで載っているので
これをスペースでわけて入力します
例えば、
ABC EDF
みたいなかんじで
最後に create twitter application
をクリックします
これで、作成が完了すると
Consumer key
Consumer secret
Access token URL
Callback URL
がわかるので、メモしておきます

Capistrano を使って複数サーバーのコントロール

Capistrano を使うことで、複数のサーバーで任意のコマンドを同時に
実行できるらしいので、さっそく実験
さすがに複数マシンを用意するのは現実的ではないので、
VMware Player でクライアントとサーバーのマシンを作成
使っているマシンは ubuntu にしてみました
ただし、注意点として
クライアント、サーバーともに
共通のユーザをつくってパスワードも同じじゃないとダメらしいです
ちなみに、操作性をあげるため、VMware Tools をインストール
しています
Virtual Machine > Install VMware Tools
の後に
cd /tmp
tar zxvf /media/VMware\ Tools/VMwareTools-8.8.1-528969.tar.gz
cd vmware-tools-distrib/
sudo ./vmware-install.pl
の後に再起動すれば反映されます
まずはクライアント側で
sudo apt-get install ruby1.8
sudo apt-get install rubygems1.8
で ruby と gems をインストール
sudo gem install capistrano
で capistrano をインストールします
次に
echo “export PATH=/var/lib/gems/1.8/bin:\$PATH” >> ~/.bashrc
でライブラリ参照パスを設定
source .bashrc
で設定を反映
ssh-keygen -t rsa
で公開鍵ファイルを作成
パスフレーズを聞かれるけど、ひたすらEnter でパスフレーズなしのものを作成
ここまでがクライアントの設定
今度はサーバー設定
sudo apt-get install ssh
でssh サーバーをインストール
ついでに ifconfig でIPアドレスを確認しておきます
192.168.10.114
次に、クライアントで scp を使って鍵のコピー
scp .ssh/id_rsa.pub snowpool@192.168.10.114:~
でコピー
文法としては、
scp ファイルの置き場のパス ユーザ名@IPアドレス:コピー先のパス
となります
またサーバに戻って設定をします
cat ~/id_rsa.pub >> ~/.ssh/authorized_keys
で認証済みの鍵として登録
chmod 600 ~/.ssh/authorized_keys
でパーミッション変更
ここまで完了したら、次に
またクライアント ubuntu に戻ります
vimcapfile でファイルを新規作成
日経 Linux 2011-12 についているDVDにスクリプト内容が記述されているので
これを使いました
ただし、注意点として ubuntu 11.10 の場合エラーになります
そのまま
cap addJava_home
を実行しても
Invalid gemspec in [/var/lib/gems/1.8/specifications/capistrano-2.9.0.gemspec]: invalid date format in specification: “2011-09-24 00:00:00.000000000Z”
/usr/lib/ruby/vendor_ruby/1.8/rubygems.rb:926:in `report_activate_error’: Could not find RubyGem capistrano (>= 0) (Gem::LoadError)
from /usr/lib/ruby/vendor_ruby/1.8/rubygems.rb:244:in `activate_dep’
from /usr/lib/ruby/vendor_ruby/1.8/rubygems.rb:236:in `activate’
from /usr/lib/ruby/vendor_ruby/1.8/rubygems.rb:1307:in `gem’
from /usr/local/bin/cap:18
というようにエラーになります
原因は
[tips]gemのインストール時に invalid date format in specification でエラー
に載っているように
日付のフォーマットの記述がおかしくなっているためでした
sudo vim /var/lib/gems/1.8/specifications/capistrano-2.9.0.gemspec
でファイルを開き
s.date = %q{2011-09-24 00:00:00.000000000Z}

s.date = %q{2011-09-24}
へ修正
これで、無事に実行することができます
まだ、構文などの詳しいところは勉強中です

数値のフォーマット情報を取得する

PHPで通貨関連表記できそうなものがあったのでメモです
実行環境における数値のフォーマットに関する情報を調べるには
localeconv() を使う
localeconv() は
ローカルな数値および通貨フォーマット情報を格納した連想配列を返す
連想配列キーは以下のようになる
decimal_point
小数点文字
thousands_sep
1000ごとの区切り文字
grouping
数値集合を有す配列
int_curr_symbol
国債通貨記号
mon_deciamal_point
通貨用の小数点文字
currency_symbol
ローカル通貨記号
mon_thousands_sep
通貨用の1000ごとの区切り文字
mon_grouping
通貨集合を有する配列
positive_sign
正の値を表す記号
negarive_sign
負の値を表す記号
int_frac_digits
国債分割桁
frac_digits
ローカル分割桁

iPod touch を複数PCで同期


で iCloud を使ってみようとおもうのですが
どうやら iOS 5 以降のようなので、まずはシステム更新のひつようがありそうです
まずは、念のためバックアップしたかったのですが
現在使用しているノートパソコンで iTunes のアップデート&インストールが
できないため
VMware Player へインストールした Windows XP で
アプリなどのバックアップすることにしました
とりあえず iTunesをインストールし
次に、
1台のiPodを複数のパソコンで管理・iTunesで同期する方法
を参考に、まずはアプリを同期します
あとは、動画と音楽をバックアップする方法を調べてみます

OAuth 認証の認証手順(簡単な説明)

最初に、利用者登録をします
次に、コンシューマキーとコンシューマシークレット
を発行してもらいます
そしたら、コンシューマキーと
コンシューマシークレットを送信します
未承認のリクエストトークンが返ってくるので
ユーザIDとパスワードを入力し
Twitter の認証用画面にリダイレクトします
これで、認証されると
承認されたリクエストトークンが送られてきます
この承認のリクエストトークンを使うことで
アプリはTwitter サービスを利用できるようになります
このあたりのことを実際に動画でおこなっているものもあります
以前参加しました
Web サービス API 勉強会
でも取り扱っていましたので、ここを参考にするとよりわかりやすいと思います
Ustream でも動画配信されていましたので、実際に動画をみながらおこなうと
よりわかりやすいと思います
サンプルなどを探すには
web api twitter などというように検索すると
いろいろとでてきますので、こちらも試してみると
いろいろなヒントが得られるかもしれません

Twitter4j

ドキュメントサイトは
http://twitter4j.org/ja/index.html
ちなみに、これは日本語
Twitter4j 1は Twitter が公開しているAPI のラッパークラス
自分でAPI を実行する処理を記述しなくてもTwitter4j でAPIを実行し
結果を受け取る処理を実行してくれる
100% Pure Java で記述されているので、ライブラリは他に必要ない
もう一つ重要なキーワードが OAuth 認証
これは、オーオースと読みます
Twiter では OAuth 認証を使います
昔はBasic 認証だったけど、セキュリティ問題から
OAuth 認証に変わりました
この認証方式は、マッシュアップをするときによく使われます
OAuth に関しては
APIアクセス権を委譲するプロトコル、
OAuthを知る

とか
第147回 便利と危険は裏返し ~ 知っておきたい、OAuthの仕組み ~
などで詳しい説明が載っています
ほかにも OAuth 認証 で検索するとでてきます

Could not find YouTubeSearchAPIs.apk!の対処(未解決)

YouTube アプリでライブラリを利用するように変更したところ
エラーになってしまうため、解決するために情報収集してます
Android】「Could not find *.apk」のエラー対処
を参考に対処してみました
まず、debug.keystore を探さないといけないので
sudo find /home -name debug.keystore
でファイルを検索
$HOME.android/debug.keystore
に存在するので、これを元に対処
find コマンドは、システムからファイルを検索できるコマンド
使い方は
どこにあるか分からないファイルを検索
を参考にしてみました
rm -f .android/debug.keystore
でファイルを削除
次に、Eclipse で
Project > Clean を実行
どれを消すか聞かれるけど、とりあえず全部消してみるので
clean all projects
を選択してOK
しかし、これでもダメ
とりあえず、サンプルをインポートして実行するには問題ないのですが
自作のほうや、インポートした変更前のサンプルを改造すると
エラーになります
ソースなどを眺めて、解決策を調べてみます

脆弱性スキャン開始

まずは、ログインしてから
Task タグのところにあるメニューアイコンをクリックします
Screenshot-Ubuntu 64-bit - VMware Player
でてきた入力画面で
Name には管理タスク名を入力
今回はとりあえず test
Scan Config はそのままの Full and fast でフルスキャン
scan targets はどのサーバーを対称にするかなので
そのまま localhost を選択します
これらを入力したら、create ボタンをクリック
すると、新しいタスクができているので、再生ボタンをクリックすると
解析が始まります
結構時間がかかりますので、解析には時間に余裕を持って行ってください
Screenshot-Ubuntu 64-bit - VMware Player-1
ある程度待ってから refresh ボタンをクリックすると
Status が Done になっているので、これをダブるクリックし
Report をクリックするとスキャン結果のレポートが表示されます