便利な tee コマンド

同じサーバー構築するときに何度も実行するのは面倒なので
スクリプトを作成するとかなり便利になります
ほとんどの場合、コマンドをつかうことになれる必要があります
そんなときに役立つのが tee コマンドです
これをつかうと
コマンドの実行結果をファイルに保存することができます
例えば
echo $HOSTNAME | tee host.txt
とすると
ホスト名がファイルに保存され、端末にも実行結果が得られます
また、
echo $HOSTNAME | tee -a host.txt
というように -a オプションをつければ
>> を使ったファイルへのリダイレクトのように
末尾への追記もできます
参考サイトは
UNIXの部屋 コマンド検索: teeです

Ustream API

Ustream API (Ustream Data API) を使うと
Ustrem でライブ配信されている番組、
そして過去に配信されたビデオを検索、表示するアプリを作成できます
Ustream API の詳細については
http://developer.ustream.tv/home
に載っています(英語サイトです)
ちなみに、このAPIを使うには
アカウントを登録して APIキーを取得する必要があります
アカウント登録に関しては以下のURLから行います
http://developer.ustream.tv/user/register
ust.png
username にユーザ名
Email address にメルアドを入力し
Create new accounts を押すと
登録したメルアドに
devsupport@ustream.tv
から
初期パスワードつきのメールが届くので
これにログインします
ついでに、パスワードも変更しておきます
ログインしたら
右上のほうにある MyAccount をクリックし
History
Ustream Data API Key
You currently do not have an API key. Generate one!
をクリックします
すると
Ustream Data API Key
の下にAPIキーがでますので
以降このAPIキーを使ってアプリ作成をおこないます
登録や使い方に関しては
ustream api などで検索するとかなりでてきます

iPod touch のOSアップデート

iCloud と iTune U を使うため
2年前に購入した iPod touch のiOS をアップデートしました
このとき、中のデータが初期化されることも考え
いろいろとバックアップとかしてみたのですが
アップデートして消去されたのは、
パソコン経由で入れた音楽だけでした
まぁこれは iTunes で後で同期すれば元通りです
動画や撮影した写真、メモなどについては
アップデートのときにバックアップされるため
元通り復元されています
ただし、アップデートには2時間程度かかりますし
バックアップのためのデータが6GB程度必要なため
時間とHDDの容量には余裕を持って行いましょう

Google Ajax Fed API の処理の流れ

Google Ajax Feed API の処理の流れです
まず、google.load() を使って feeds モジュールをロード
コードにすると
google.load”feeds”.”1″);
第一引数のfeeds はモジュール名で
第2引数の 1 はAPIバージョン番号になります
次に
google.feeds.feed() でフィードのインスタンス生成
次に読み込みフォーマットや取得エントリ数などを設定
これをコードにすると
google.feeds.feed(“http;//読み込ませたいURL”);
load() でフィードをダウンロードして
コールバック関数を実行

HTML でリンク先を別のタグで開く場合

<a href=”http://fortune.jp.msn.com/” target=_blank”>MSN占い</a>
というように
target=_blank をリンク先の後に指定すれば
新しいタグでリンク先が開くようになります
ちなみに、以下を押すと実感できます
MSN占い
HTMLのちょっとしたメモでした
先月、プログラミングを覚えるのにどうやって
覚えたか?
という話題があったのを思い出したので、
ちょいメモです
実感を得るのが一番効率的かつモチベーション維持できそうなので
実感わきやすい
HTML(HTML5)
次に
CSS

javascript
PHP
mysql
java
Android
というようなかんじだと実感がわきやすいと思います
コンソールで hello world とかでてもうれしくないと
思うし…

Google Ajax Fed API

Google Ajax Feed API は
フィード(RSSとか ATOM) を java script だけでダウンロードすることが
できるAPI
Google Ajax Fed API を使うと
フィードで提供されるコンテンツを web サイトとかアプリに組み込める
Google Ajax Feed API に関しては
http://code.google.com/intl/ja/apis/feed/
を参考にしましょう
ちなみに、Google Ajax Feed API を使うにはAPIキーが必須です

地図座標の取得

住所から地図座標を取得するには
google.maps.Geocoder オブジェクトの
Geocoder.geocode() を使う
引数には
GeocodeRequest オブジェクト定数と
レスポンスの受け取り時に実行するコールバック関数を渡す
GeocodeRequest オブジェクト定数には
次のフィールドがあります
address
ジオコーディングする住所
bounds
この LatLngBounds内でジオコーディングの結果に
大きくバイアスをかける
language
結果を返す言語
region
IANA言語 region サブタグで指定された地域コード
ちなみに、address の代わりに latLng を渡すと
ジオコーダにより逆ジオコーディング可能

Google Eath API の処理の流れ

Google Earth API の処理の流れ
google.load() でearth モジュールをロード
google.earth.createInstance()で plugin の新しいインスタンスを生成
インスタンスが正常に作成されると
google.earth.createInstance() で指定した
コールバック関数 initCallback() を実行する
goole.load() の第1引数のロードするモジュール名には
earth
第2引数のAPIバージョン番号には1を指定
google.earth.createInstance() の第1引数には
インスタンスを追加するdiv要素
第2に引数には
インスタンスが正常に作成された時に呼び出されるコールバック関数
(成功のコールバック関数)の名前を指定する
成功のコールバック関数
initCallback() には
最初の表示に必要な処理を記述する
この処理には
GEWindow.setVisibility
ge.getWindow().setVisibility() が必要で
ウィンドウの表示を true にして
プラグインが div 要素内で表示されるようにする

google.load メソッドの使用

Google Earth API
Google Ajax API など
Google の提供する Ajax API 群を利用するには
まず
<script type=”text/javascript” src=”https://www.google.com/jsapi?key=APIキー”></script>
のタグをHTMLページの head 要素内に配置する
APIキーの場所へ取得したAPIキーに置き換えればOK
これで google.load メソッドをもつ javascript ファイルを参照できる
google.load メソッドは
指定した Ajax API モジュールロードに使用します
続いて
Google MAps API v3 のロードについて
Google Maps API ver3 を使うには
以下のコードを HTML ページの head 要素内に配置します
<script type=”text/javascript”
src=”https://maps.googleapis.com/maps/api/js/sensor=false”></script>
ちなみに
https://maps.googleapis.com/maps.api/js

javascirpt の位置になります
Linux で wget で取得するときのファイルのパスみたいなものです
ちなみに、最後の
sensor=false にしていますが
位置情報センサーを使いたいなら
sensor=true
にします
位置情報アプリとかだと true にします

AWS のポート設定

今回、AmazonEC2 のポート開放を行って気づいたのが
自宅サーバーの iptables 設定と ルータのポート開放に似ていると
いうことです
先日試した結果
3000番ポートを開放するには iptables の設定を変更し
セキュリティグループで Custom port の設定を行いました
どうやら、ウェルノウンポートと呼ばれる
一般的なポートについては、セキュリティグループの設定だけでもつながるようですが
それ以外の場合、両方設定する必要があるようです
例えば tomcat の 8080
ssh のポート変更などです
ssh はデフォルトの22番ポートの場合
すさまじい数のログになることがあります
念のため、公開鍵認証のみにして、パスワードログインを禁止していますが
やはり、ポートは変更したほうが無難と思われます