Google Readerの送信先に[mixiチェック]を追加する

画面右上の[設定]→[リーダー設定]をクリックする。
[Send To(送信先)]をクリックする。
[Create a custom link(カスタムリンクを作成)]をクリックする。


Name:mixi
URL:http://mixi.jp/share.pl?u=${url}&k=5e4317cedfc5858733a2740d1f59ab4088e370a7
Icon URL:http://mixi.co.jp/images/mixi_symbol_logo.jpg


これでGoogle Reader送信先に[mixiチェック]を追加できる。

.screenrcの設定

defutf8 on
defkanji utf-8
encoding utf-8 utf-8
defencoding utf-8

termcapinfo xterm* ti@:te@

# 修飾キーをctrl + z
escape ^Zz

#バッファサイズの変更
scrollback 4000
defscrollback 4000

# 最終行のウィンドウ一覧を表示
hardstatus alwayslastline "%w"

# 画面の一番下の行を反転させてハードステータス表示
hardstatus alwayslastline "%{= gk}[%m/%d %02c] %{gW} %-w%{= wk}%n %t%{-}%+w %=%{gk}$USER@$HOSTNAME[$LANG] (%l) "

# スタートメッセージを表示させない
startup_message off

# ビープを鳴らさない
vbell off

Google Readerの送信先に[はてなブックマーク]を追加する

画面右上の[設定]→[リーダー設定]をクリックする。
[Send To(送信先)]をクリックする。
[Create a custom link(カスタムリンクを作成)]をクリックする。


Name:はてなブックマーク
URL:http://b.hatena.ne.jp/add?mode=confirm&title=${title}&url=${url}
Icon URL:http://b.hatena.ne.jp/images/append.gif


これでGoogle Reader送信先に[はてなブックマーク]を追加できる。

instagramAPIを使ったアプリ開発

instagramAPIを使ったアプリ開発を行う。
instagramAPIはOAuth認証が必要なので、OAuth知らない人はここらへんを参考に。
まずは、instagramDeveloperページからinstagramの開発者登録して、アプリケーション登録をする。
Register your applicationをクリックして、instagramにログインする。
必要事項を記入すれば開発者登録は完了。
左の一覧から[Manage]をクリックし、[Register a New Client]をクリックする。
必要事項を記入すればアプリケーション登録は完了。
ここで表示されている「CLIENT ID」と「CLIENT SECRET」が重要。


次に、access_tokenを取得する必要があるので、
https://api.instagram.com/oauth/authorize/?client_id=CLIENT_ID&redirect_uri=REDIRECT_URI&response_type=code&scope=basic relationships comments likes
をブラウザで表示する。
CLIENT_IDやREDIRECT_URIの値は、アプリケーションを登録した際に発行したものを指定する。
認証画面でYesをクリックすると、redirect_uriにcodeというパラメータを付与してくれるので、このcodeを使用してアプリケーション側はaccess_tokenを取得する。
ターミナルで

curl \
    -F 'client_id=CLIENT_ID' \
    -F 'client_secret=CLIENT_SECRET' \
    -F 'grant_type=authorization_code' \
    -F 'redirect_uri=REDIRECT_URI' \
    -F 'code=CODE' \
    https://api.instagram.com/oauth/access_token

と入力すると、json形式でaccess_tokenが取得できる。


取得したaccess_tokenを使って、例えば、
https://api.instagram.com/v1/users/self/media/recent?access_token=**********************************
にアクセスすると、自分のアップロードした写真を新着順で取得できる。
また、
https://api.instagram.com/v1/users/search?q=QUERY&access_token=**********************************
でQUERYの値に検索語を入力しアクセスすると、検索語に適合する写真を取得できる。


他にも色々できるので、各種APIinstagramDeveloperページを参考に。

MacでAndroidアプリ開発の環境設定

まずは、Android SDKをダウンロードする。
ここからandroid-sdk_r10-mac_x86.zip(2011年3月現在)をダウンロードし、解凍する。
android-sdk-mac_x86」フォルダが作成されるので、「/Developer(任意のフォルダで可能)」にコピーする。
/Developer/android-sdk-mac_x86/toolsにパスを通す。

PATH=/Developer/android-sdk-mac_x86/tools:$PATH

を.zshrcに設定する。


次に、JDKMacOSにプリインストールされているので設定の必要はない。


次に、Eclipse3.6のインストールと日本語化を行う。
ここからEclipse IDE for Java DevelopersのMac OS X 64 Bitをダウンロードし、解凍する。
Eclipse」フォルダが作成されるので「/Applications」にコピーする。
これでEclipse3.6のインストールは完了。
日本語化を行うためにここからPleiades本体をダウンロードし、解凍する。
pleiades」フォルダが作成されるので、「pleiades/features」と「pleiades/plugins」の中のファイルを、「/Applications/eclipse/features」と「/Applications/eclipse/plugins」の中にコピーする。
ターミナルを開いて

echo "-javaagent:/Applications/eclipse/plugins/jp.sourceforge.mergedoc.pleiades/pleiades.jar" >> /Applications/eclipse/Eclipse.app/Contents/MacOS/eclipse.ini

と入力すると、Eclipse3.6の日本語化は完了。


次に、Androidの開発に必要なプラグインAndroid Development Tools(ADT)プラグイン」をインストールする。
Eclipseを起動して、[Help(ヘルプ)]メニューの[Install New Software(新規ソフトウェアのインストール)]をクリックする。
Installダイアログが表示されたら[Add(追加)]をクリックして
Name(名前):Android Plugin
Location(ロケーション):https://dl-ssl.google.com/android/eclipse/
を入力する。
サイトの登録を行ったら[Work with(作業対象)]から登録したサイト「Android Plugin」を選択する。

一覧に[Developer Tools(開発ツール)]が表示されるので、それにチェックして[Next(次へ)]をクリックし、指示に従ってインストールを進める。
[Restart(再起動)]を選択すると、ADTプラグインのインストールは完了。


次に、Android SDKの設定を行う。
Eclipseの[環境設定]メニューから、左の一覧から[Android]を選択し、[SDK Location(SDK ロケーション)]にAndroid SDKのパス「/Developer/android-sdk-mac_86」を指定する。


次に、開発に必要なコンポーネントをダウンロードする。
[ウインドウ]メニューの[Android SDK and AVD Manager]を選択する。
左の一覧から[Availabe Packages]を選択すると,インストール可能なパッケージが一覧表示される。
一覧のコンポーネントすべてにチェックして[Install Selected(選択項目をインストール)]をクリックする。
ライセンスに同意を求めるダイアログが表示されるので、内容の確認を行って[Accept All(全て受諾)]を選択して[Install(インストール)]をクリックする。


最後に、Androidエミュレータで確認。
[ウインドウ]メニューの[Android SDK and AVD Manager]を選択する。
左の一覧から[Virtual Device]を選択して[New(新規)]をクリックする。
[Create new AVD]ダイアログが表示されたら、パラメータの指定を行う。
[Name(名前):]
エミュレータの名前を指定する。
OSのバージョンと解像度を含む名前にするとわかりやすい。
[Target:]
ターゲットのOSを指定する。
[SD Card:]
エミュレータが使用するSDカードの容量を指定する。
ほとんどの場合、大容量は必要ないので32MBもあれば十分。
[Snapshot:]
使用可能にチェックする。
[Skin:]
[Built-in:]は、エミュレータの画面解像度で一般的な[HVGA]を設定する。

パラメータの指定が完了したら[Create AVD]をクリックする。
しばらくすると、一覧に作成したエミュレータが表示されるので、右の一覧から[Start(開始)]をクリックすると、エミュレータが起動する。

さくらVPSでssh設定

さくらVPSのセキュリティ対策のために、sshでサーバにログインする際に
パスワード認証ではなく公開鍵認証を使うようにする。
公開鍵認証についてはこことかにわかりやすく書いてるから参考にするといい(かも)。


まず、VPSに接続する手元のPC上で公開鍵と秘密鍵のペアを生成する。

$ mkdir -m 700 ~/.ssh
$ ssh-keygen
Generating public/private rsa key pair.
Enter file in which to save the key (/Users/hogehoge/.ssh/id_rsa): .ssh/id_rsa
Enter passphrase (empty for no passphrase): 
Enter same passphrase again: 
Your identification has been saved in .ssh/id_rsa.
Your public key has been saved in .ssh/id_rsa.pub.
The key fingerprint is:
12:34:56:78:90:ab:cd:ef:12:34:56:78:90:ab:cd:ef hogehoge@hogehoge.local
The key's randomart image is:
+--[ RSA 2048]----+
|          .  . ++|
|         +    + =|
|        . =    ==|
|         + .  .E+|
|        S   . * *|
|             . + |
|                .|
|                 |
|                 |
+-----------------+

とすると、.ssh/に公開鍵のid_rsa.pubと秘密鍵のid_rsaが生成される。
次に、生成した公開鍵をVPSに送信する。【xxx.xxx.xxx.xxx】はサーバのIPアドレスを入力する。

$ sftp root@xxx.xxx.xxx.xxx
Are you sure you want to continue connecting (yes/no)? yes
password:
sftp>
put .ssh/id_rsa.pub
Uploading .ssh/id_rsa.pub to /root/id_rsa.pub
.ssh/id_rsa.pub                                                                                     100%  418     0.4KB/s   00:00
quit

次に、サーバ側の設定を行う。

$ ssh root@xxx.xxx.xxx.xxx

% mkdir .ssh
% chmod 700 .ssh
% mv id_rsa.pub .ssh/authorized_keys

この状態で手元のPCから

$ ssh -i ~/.ssh/id_rsa root@xxx.xxx.xxx.xxx

としてログインできたら成功。


また、サーバ側で

  1. sshのポート番号変更(10000〜65535ぐらいに)
  2. sshでrootログインの無効化
  3. パスワード認証の無効化

をしておく。
VPSにログインして

% sudo emacs /etc/ssh/sshd_config

としてから、

Port 22
PermitRootLogin yes
#PasswordAuthentication yes

を、

Port 12345     # ←ここは任意のポート番号に変更
PermitRootLogin no
PasswordAuthentication no

に変更する。


rootでパスワード認証はできないが公開鍵認証はしたい場合は、

PermitRootLogin without-password

に変更する。


次に、/etc/serviceのsshポート番号を変更する。

% sudo emacs /etc/services

としてから、

ssh            22/tcp
ssh            22/udp

を、

ssh            12345/tcp
ssh            12345/udp

に変更する。


最後に、sshd_configの設定を確認する。

% sudo sshd -t

と入力して、何も出力されなければ成功。

$ ssh -i ~/.ssh/id_rsa hoge@xxx.xxx.xxx.xxx -p 12345

とすると接続できる。


でも毎回入力するのは面倒なので、configにhost登録を行う。

$ emacs ~/.ssh/config
Host sakura
   User hoge
   HostName xxx.xxx.xxx.xxx
   IdentityFile    ~/.ssh/id_rsa
   Port 12345

これでターミナルに

$ ssh sakura

と入力するだけでログインできるようになる。

.zshrcの設定

# 補間
autoload -U compinit
compinit -u

# 文字コードの設定
export LANG=ja_JP.UTF-8

# パス設定
PATH=/sw/bin:$PATH
PATH=/usr/local:/usr/local/bin:$PATH
PATH=/opt/local/bin:/opt/local/sbin:$PATH
PATH=/usr/local/mysql/bin:$PATH

export PATH

# alias
alias ls='ls -GF'

# 直前と同じコマンドラインはヒストリに追加しない
setopt hist_ignore_dups

# 先頭にスペースを入れると履歴に残さない
setopt hist_ignore_space

# Ctrl+wで、直前の/までを削除する。
WORDCHARS='*?_-.[]~=&;!#$%^(){}<>'

# cdをしたときにlsを実行する
function chpwd() { ls }

# 補完の時に大文字小文字を区別しない(但し、大文字を打った場合は小文字に変換しない)
zstyle ':completion:*' matcher-list 'm:{a-z}={A-Z}'

# sudo も補完対象にする
zstyle ':completion:*:sudo:*' command-path /usr/local/sbin /usr/local/bin /usr/sbin /usr/bin /sbin /bin

nprom () {
    setopt prompt_subst
    local rbase=$'%{\e[33m%}[%~]%{\e[m%}' lf=$'\n'
    local pct=$'%0(?||%18(?||%{\e[31m%}))%#%{\e[m%}'
    RPROMPT="%9(~||$rbase)"
    case "$USER" in
      yatex)	PROMPT=$'%{\e[33m%}%U%m{%n}%%%{\e[m%}%u ' ;;
      java)	PROMPT=$'%{\e[36m%}%U%m{%n}%%%{\e[m%}%u ' ;;
      *)
    local pbase=$'%{\e[$[32+RANDOM%5]m%}%U%B%m{%n}%b'"$pct%u "
    PROMPT="%9(~|$rbase$lf|)$pbase"
    ;;
    esac
    [[ "$TERM" = "screen" ]] && RPROMPT="[%U%~%u]"
}
nprom