Signpostダウンロード

Twitter4j以外のサービスプロバイダー
Twitter4j以外のサービスプロバイダーとしては
Signpost
というライブラリがあります
http://code.google.com/p/oauth-signpost/
へアクセスし
download
をクリックし
jarファイルの
signpost-core-バージョン番号.jar

signpost-commonshttp4-バージョン番号.jar
の2つをダウンロードして
Eclipseに設定しておきます

OAuth利用の手順

OAuth利用の手順
1、事前にTwitterなどのWebサービスに、利用するアプリを登録し
Consumer key

Consumer Secret
というキーと値を取得し、OAuth認証利用許を得る
2、アプリから
Webサービス認証用URL
Consumer key
Consumer Secret
コールバックURL
を指定すると
Webサービスの認証機能から
Request Token
が引き渡される
そしたら、アプリからサービス認証機能に、
Request Tokenを認証画面のURLをつけてリダイレクトすることで
認証画面がでる
3、でてきたWebサービスの認証画面で
ログインID
パスワード
を入力(TwitterアプリならTwitterのアカウント)
ここで、ログインし、アプリの認証を許可
これで、
Webサービスの認証機能から
Access Token

Verifier
がアプリに引き渡される
4、再度、Webサービスの認証機能へリダイレクトして
Access Token

Access Token Secret
を取得
Twitterのつぶやきとか、Webサービスを使うときには
Access Token

Access Token Secret
を使い、HTTPリクエストに署名して通信する
こうした仕組みで
TwitterとかのWebサービスを提供する機能を
サービスプロバイダーといい
Webサービスと連携するアプリをコンシューマという
OAuth認証により
Webサービスと連携するプログラムをくむには
ライブラリを使う
Javaで
TwitterへOAuth認証してアクセスするには
Twitter4j
というライブラリがよく使われている

一時ファイル作成と削除

一時ファイルを作成するとき
他の一時ファイルと名前が被るとエラーをおこす
これを避けるには
mktemp コマンドを使う
mktempコマンドで指定する
X
の数は6つ以上でないとエラーになる
6以上は、Xになる
mktemp コマンドの解説は
http://www.atmarkit.co.jp/flinux/rensai/linuxtips/348mktempdir.html
にわかりやすい解説が載っています
一時ファイルの作成はこれでできるので
次に削除について
削除は
trap コマンドを使います
trap “rm -f 一時ファイルのパス” 0 1 3 15
で削除します
trap コマンドは
1番めの引数
“” で囲んだところに実行するコマンド
2番め以降の引数に
シグナル番号の指定をします
ここで指定したシグナルが発生したときに
コマンドが実行されます
0 1 2 3 15
は定番の書き方で、どんな場合でもコマンドが実行されます
ちなみに、シグナルの意味は
0正常終了

プロセスの再起動

プロセスに割り込み

プロセスを終了
15
プロセス終了
trap コマンドとプロセスに関しては
シグナルと trap コマンド
を参考にさせていただきました

shell script での && と ||

プログラミングをするときに
java とか C++ では
&&と||は論理演算子になります
&&は And
|| は OR です
しかし、シェルスクリプトでは
||
はリスト演算子になり
直前に実行したコマンドが異常終了や失敗したときに
直後のコマンドを実行します
よく使うのは
ping で生死確認して
反応なし、つまりサーバーダウンなら
メールを送信するというものです
また、&& も意味が違っていて
直前に実行したコマンドが成功した場合に
直後のコマンドを実行します
&&は||の逆になります

/dev/null 2>&1 について

/dev/null
にいれると、綺麗に消える
/dev/null
は特殊ファイルで、スクリプトのサンプルとかによく登場する
これは、書き込んだデータがすべて捨てられる
という変わったファイル
次に 2>&1 について
この 2 は
標準エラー出力のことで
エラーメッセージのこと
> はリダイレクト
> は上書き、>> は追記
1 は、標準出力のこと
つまり、2>&1 は
標準エラー出力を
標準出力にリダイレクトするということ
/dev/null 2>&1
とすることで
エラーメッセージが表示されなくなる
ということ

Webストレージに保存できるデータ

Webストレージに保存できるデータ
Webストレージはデータ保存ができるけど
画像データなどのバイナリデータはそのまま保存はできない
テキスト以外のデータは
Webストレージに保存できるように
一度テキストデータに変換してから保存する
テキストデータは、文字列のこと
Javascriptのオブジェクトも保存できるけど
これも同じで、一度テキストデータへ変換してから保存する
変換には、変換用のメソッドを使う
GPSデータは数値だけど
これもテキストデータに変換して保存される
ちなみに、数値の場合は自動的に文字列変換されてから
Webストレージに格納されるため
変換処理はいらない

Web Storageの制限について

Web Storageの制限について
保存できるデータサイズに制限があり
目安は5M B
保存できるデータは
同一オリジン単位
このため、ドメインやプロトコルが違うと
データの読み出しができない
Web Storageの制限について
保存できるデータサイズに制限があり
目安は5M B
保存できるデータは
同一オリジン単位
このため、ドメインやプロトコルが違うと
データの読み出しができない

OAuthの基本的な仕組み

OAuthの基本的な仕組み
ユーザーがアプリからWebサービスにアクセスするとき
アプリのログイン画面て
ID
パスワード
を直接入力せずに
Webサービス側が提供する認証画面にアクセスして
ID
パスワード
を入力してログインしている
そして、Webサービスの認証機能から
Webサービスを利用するためのAPIへのアクセス許可証になる
トークン
が引き渡され
アプリは、トークンをWebサービスへ渡すことで
そのWebサービスと
連携している

日経Linux 2012 10月号でスクリプト特集がありましたが
いまいちわかりにくかったのでメモです
tr コマンドは、文字を置き換えするというもの
ディレクトリのパスをファイルの名前には使えないので
こういうときに使う
dirback-usr-local-etc-2012121321.tgz
というファイルがスクリプト実行したらできたけど
これは、スクリプトで
tr / –
が実行されて
/usr/local/etc
がusr-local-etc
になったから
さらに最初に dirbackがついているのは
BKPREFIX=”/backup/dirback”
になっているから
もし
BKPREFIX=”/backup/shellback”
にしたら
shellback-usr-local-etc-2012121321.tgz
となる
-2012121321
の部分は
DATE=`date ‘+%Y%m%d%H’`
で実行したときの時間を取得していて
-${DATE}
がついているため
今回の参考書籍