スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

yiicのwebappが動かない時の対処法

PHPのYiiフレームワークではアプリケーションのひな形を作成するときに

yiic webapp myapp

というコマンドを打ちます。
コマンド入力後、通常ならアプリを作りますか?yes/noみたいなのが表示されるはずなんですが、何も表示されず待ちぼうけになることがあります。
最初フリーズしてるのかなぁ?なんて思っていたのですが、どうやらyes/noの表示が出ていないだけのようでした。
ということで、何か表示されようが表示されまいがとにかく

yes

を入力すればアプリが作成されます。
以前macで動かないと思ってわざわざubuntu環境で作成して、持ってきたことがありましたがそんな必要はなかったようです。
スポンサーサイト

Facebook Graph Apiでinsightの情報を取得する

Facebook Graph Apiでinsightの情報を取ってくるのは
http://developers.facebook.com/docs/reference/api/insights/
にあるんですが、期間指定の方法がまったく書いてありません。
ページの下の方にあるみんなのコメントをひもといていくと、ようやくその全貌があきらかになります。

URLの構造は以下のようになります。
https://graph.facebook.com/ページID/insights/取得したい項目/期間?since=開始日時(この日を含む)&until=終了日時(この日を含まない)&access_token=アクセストークン

例えば、以下のようになります。
https://graph.facebook.com/125154490859093/insights/page_fans/lifetime?since=2011-06-01&until=2011-07-01&access_token=アクセストークン

結果は以下のようになります。

{
"data": [
{
"id": "125154490859093/insights/page_fans/lifetime",
"name": "page_fans",
"period": "lifetime",
"values": [
{
"value": 170,
"end_time": "2011-06-01T07:00:00+0000"
},
{
"value": 170,
"end_time": "2011-06-02T07:00:00+0000"
},
{
"value": 171,
"end_time": "2011-06-03T07:00:00+0000"
},
{
"value": 173,
"end_time": "2011-06-04T07:00:00+0000"
},
{
"value": 173,
"end_time": "2011-06-05T07:00:00+0000"
},
{
"value": 173,
"end_time": "2011-06-06T07:00:00+0000"
},
{
"value": 175,
"end_time": "2011-06-07T07:00:00+0000"
},
{
"value": 179,
"end_time": "2011-06-08T07:00:00+0000"
},
{
"value": 181,
"end_time": "2011-06-09T07:00:00+0000"
},
{
"value": 184,
"end_time": "2011-06-10T07:00:00+0000"
},
{
"value": 183,
"end_time": "2011-06-11T07:00:00+0000"
},
{
"value": 185,
"end_time": "2011-06-12T07:00:00+0000"
},
{
"value": 186,
"end_time": "2011-06-13T07:00:00+0000"
},
{
"value": 187,
"end_time": "2011-06-14T07:00:00+0000"
},
{
"value": 189,
"end_time": "2011-06-15T07:00:00+0000"
},
{
"value": 189,
"end_time": "2011-06-16T07:00:00+0000"
},
{
"value": 190,
"end_time": "2011-06-17T07:00:00+0000"
},
{
"value": 195,
"end_time": "2011-06-18T07:00:00+0000"
},
{
"value": 196,
"end_time": "2011-06-19T07:00:00+0000"
},
{
"value": 196,
"end_time": "2011-06-20T07:00:00+0000"
},
{
"value": 199,
"end_time": "2011-06-21T07:00:00+0000"
},
{
"value": 201,
"end_time": "2011-06-22T07:00:00+0000"
},
{
"value": 204,
"end_time": "2011-06-23T07:00:00+0000"
},
{
"value": 205,
"end_time": "2011-06-24T07:00:00+0000"
},
{
"value": 207,
"end_time": "2011-06-25T07:00:00+0000"
},
{
"value": 207,
"end_time": "2011-06-26T07:00:00+0000"
},
{
"value": 207,
"end_time": "2011-06-27T07:00:00+0000"
},
{
"value": 208,
"end_time": "2011-06-28T07:00:00+0000"
},
{
"value": 209,
"end_time": "2011-06-29T07:00:00+0000"
},
{
"value": 220,
"end_time": "2011-06-30T07:00:00+0000"
}
],
"description": "Lifetime The total number of people who have liked your Page. (Total Count)"
}
],
"paging": {
"previous": "https://graph.facebook.com/125154490859093/insights/page_fans/lifetime?since=1304294400&until=1306886400&access_token=アクセストークン",
"next": "https://graph.facebook.com/125154490859093/insights/page_fans/lifetime?since=1309478400&until=1312070400&access_token=アクセストークン"
}
}

bashとcronでhttpサーバ監視

bashでhttpサーバ監視という記事を以前書きましたが、昨日書いた記事と同じようにcronで動かすbashスクリプトを作成しました。

#!/bin/bash

# エラー通知を受けるメールアドレス
MAIL=me@example.com

# チェックを無視するファイル
NOCHECK=/tmp/nocheck

# 監視したいURL
URL='http://www.example.com'

# 監視したい文字列
TARGET='alive'

# アクセスタイムアウト
TIMEOUT=10

# 監視回数、この回数回失敗した場合失敗とみなす
REPEAT=3

# 一回失敗した後のスリープ時間
REPEAT_SLEEP=2

# 指定したURLから指定した文字列が入っているかチェック
# 引数
# 1. チェックしたいURL
# 2. チェックしたい文字列
# 3. タイムアウト秒
# 返り値
# 含まれている数
function check_once() {
return `wget --timeout $3 -O - $1 2> /dev/null |grep $2|wc -l`;
}

# 指定したURLが生きているかチェック
# 引数
# 1. チェックしたいURL
# 2. チェックしたい文字列
# 3. タイムアウト秒
# 4. チェック回数
# 5. スリープ秒
function check() {
count=1
while [ $count -le $4 ]
do
check_once $1 $2 $3
if [ $? -ne 0 ];
then
return 0
fi
if [ $count -eq $4 ];
then
return 1
fi
sleep $5
count=`expr $count + 1`
done
return 1
}

# 監視チェックしないファイルが存在したら正常終了
if [ -e $NOCHECK ];
then
exit 0
fi

# チェック
check $URL $TARGET $TIMEOUT $REPEAT $REPEAT_SLEEP
if [ $? -ne 0 ];
then
echo fail_http $URL | mail -s fail_http $MAIL
exit 1
fi
exit 0

http_watch.shというファイル名で保存し、実行権限を与えます。
chmod 755 /opt/http_watch.sh

cronは以下の通りです。
10 * * * * /opt/http_watch.sh

毎時10分ごとに、指定のURLにアクセスして、指定の文字が入っているかチェックします。
ダメならメールを送信します。

また、一時的に監視を止めたい場合、/tmp/nocheckというファイルを作成すると
プロセスの状況によらず、このスクリプトは正常終了します。

東ホーム回屋内配線

税抜き200円也

プロバイダーからネット接続のための請求書が来ました。
NTTへの費用と様々なオプション費用の項目が書いてあるのですが唯一分からないのが、これ。
もうひとつのNTTへの項目である東回線終端装置900円はネットワークと光を結ぶための装置ということはわかります。
でも、この200円は何なんだろう?
最初プロバイダーに電話してみました。

「東ホーム回屋内配線って何ですか?」
「NTTが工事した屋内の配線です」
「具体的には屋内のどの部分ですか?」
「・・・詳しいことはNTTに聞いてください」

えー、請求書出してるくせに知らないの?
ということで、NTTに聞いてみました。
こちらは明瞭な回答でして、この200円というのは屋内に引いた回線修理のための保険みたいなものだそうです。
毎月払っておけば、何かあったときに無料で修理してくれるとのこと。
でも、自分で修理するからタダにしてというのは、できないそうです。
ちなみに、電話の場合は払って修理を無料にすることも、払わず修理は自費でやるのと選択できるとのこと。

3へぇくらいかな。

Movable Type4.21に移行

WordPressからMovable Typeにblogを移行しました。
WordPressでは、pingとトラックバックがうまく飛ばないバグがあるらしく、色々と手を入れてみましたがどうもうまくいかなかったので、問題なさげなMovable Typeに変更してみました。
WordPressから移行用のxmlを生成して、それをMovable Typeで読ませることで簡単に移行できます。
インポートする時の注意として、その他のオプションでテキストフォーマットを「改行を変換」に設定しておく必要があります。これをしないとうまく改行を扱えないようです。
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。