2010-01-01から1年間の記事一覧

FNVハッシュ関数

FNVハッシュ関数は簡単に実装できるハッシュ関数です。 Twitterで見かけたので忘れないうちにメモ。 FNV-1 hash hash=offset_basis for each octet_of_data to be hashed hash=hash*FNV_prime hash=hash xor octet_of_data return hash octet_of_dataは変換…

CakePHPでOAuth

Twitter等で使われているOAuthをCakePHPで使うライブラリを紹介します。 OAuth consumers for CakePHP - by cakebaker 導入方法 OAuth consumer classをダウンロード CakePHPのルートディレクトリか、appディレクトリで展開する(それぞれ「vendors/OAuth」か…

安全になったRequestHandler->getClientIP()

RequestHandler->getClientIP()の事を調べていたら、RequestHandler->getClientIP()が返す結果は信用できないという記事を見つけました。 CakePHPのgetClientIPを使っていいのは小学生までだよねー 簡単に言うと、HTTP_X_FORWARDED_FORは簡単に偽装できるの…

actionにパラメータを渡す時に注意すべき文字

CakePHPでは「action名/値1/値2/...」 のような形式でアクセスすると、各値をactionの引数として渡す事ができます。しかし、文字によってはうまくいかない場合があるようなので、確認できた範囲内で書いておきます。 #、%23 #又は%23以下が捨てられる %、%25…

日付時刻(2)

asctime_r()、ctime_r()、gmtime_r()、localtime_r() char *asctime_r(const struct tm *tm,char *buf); char *ctime_r(const time_t *timep,char *buf); struct tm *gmtime_r(const time_t *timep,struct tm *result); struct tm *localtime_r(const time_t…

日付時刻(1)

asctime()、ctime()、gmtime()、localtime()、mktime()、timegm() 標準のCで使える関数ですが、知らない人が多いと思うので紹介しておきます。 #include <time.h> struct tm { int tm_sec; /* 秒 */ int tm_min; /* 分 */ int tm_hour; /* 時間 */ int tm_mday; /* </time.h>…

RPGの素人と玄人を見分ける10の方法

オープニングを見て喜ぶのは素人。開発の背景について語り出すのは玄人。readme.txtがオープニングなのがローグライカー 見た目の美しさを褒めるのは素人。見えない所まで作り込んでいる事を褒めるのは玄人。アスキー文字に萌えるのがローグライカー 壮大な…

スリープ

プログラムの実行を一時的に休止する関数として、sleep()、usleep()、nanosleep()があります。 sleep()は秒単位、usleep()はマイクロ秒(100万分の1秒)単位、nanosleep()はナノ秒(10億分の1秒)単位で休止できます。 sleep() #include <unistd.h> unsigned int sleep(uns</unistd.h>…

一度も動かしてないTwitterクライアントがTwitterにブロックされた。何を言っているのか(ry

昨日、Twitterから「規約に反しているから、そちらのクライアントに割り当てたOAuth tokenを無効にした」という旨のメールが来ました。 OAuth tokenというのはTwitterで認証をするために必要な物で、あらかじめTwitter側にクライアントを登録して割り当てて…

同一セッションで複数のアクションを同時に呼べなくなったときの対処法

CakePHPでサイトを構築していると、時間がかかるアクションの実行中に他のアクションが実行できなくなる時があります。 他のページに移動できないだけなら問題ないのですが(むしろ有り難い)、Ajaxで途中経過を別アクション経由で取得したい時等に困ります。 …

投げ銭として簡単に利用できそうなサービス

プログラマー、デザイナー、ブロガーが手軽に投げ銭を受け取れたらいいなぁ、と思うので、投げ銭として簡単に利用できそうなサービスをまとめてみました。 日本でも欧米の様に投げ銭が普及するといいですね。 はてなポイント 送信できる人:はてなユーザ 受…

諸葛亮Bot作りました

『諸葛亮集』の内容を呟く諸葛亮Botを作りました。 諸葛亮のtwitter bot 朝10時に一回だけ呟きます。 なお、botの作成には次のサイトを参考にさせて頂きました。 プログラミングができなくても作れるTwitter botの作り方 プログラミングができない人もみんな…

退院しました

一月二日から盲腸の手術をする為に入院していましたが、先ほど無事に退院しました。 今日から又がんばっていきたいと思います。