2008 -01-27 ( Sun )
北海道開発オフに参加しました
先日書いていた、北海道開発オフに参加しました。
札幌市某所のオフィスに設けられたPCを自由に使わせてもらい、twitterと連携したアプリケーションを粛々と作ったり、今まで扱ったことがなかったLinuxのインストールを教わったり。
参加者は初の開催にしては大めの8人。ときどき爆笑で制作が手につかなくなる愉快な勉強会でした。
施設提供と機材のセッティングをして下さった@smokeymonkeyさんはもちろん、SecondLife経由で参加してくれた@makiesさん、いろいろ興味深いことを教えてくださった参加者の皆さんに改めて御礼申し上げます。
さて、参加者中最もプログラミングの経験が浅い私が、開発オフで作ったのがコレです。
http://webbing.s41.coreserver.jp/twitter/
PHPはウェブサイトとの連携がしやすく、これも比較的簡単な関数を使って作ってます。
どんなものかは追記で書きます。
More
まず、このプログラムは「twitterの総合新着コメント」をXML形式で拾ってくるのですが、
その際に「60秒以内に70回以上アクセスすると通信を停止させられる」という「API制限」に気を遣わなければいけません。
なので「現在の時刻」と「前にアクセスした時刻」の差を記録して、短時間のリロードの場合はバックアップからのみログを取るようにしました。
取得したXMLの解析関係は、PHP5のSimpleXML関数を使えば、簡単に処理できるので問題ありません。
「asXML」を使用すれば、簡易ではありますがバックアップも取ってくれます。
手持ちの書籍のサンプルを組み込んで解析部分を作り、正規表現検索で本文に「@」が含まれているコメントだけ抜き出しました。
問題はこの後です。
短い時間でリロードすると、前回取得したログと、新しく取得したログがかぶってしまうのです。
それを避けるため、先にバックアップを抜き出し、新しいログとバックアップの内容がかぶっていないかチェックしてXMLを再構築する処理を加えましたが、私が書いたスクリプトが原始的過ぎてたまに失敗してしまいますorz
最後にサーバーにアップして、自動で動くようにcronを設定しました。
設定が間違っているのか動いていませんが。
翌日、PHPプログラマのmakiesさんに
「出力したXMLは直接URLを叩くとアクセスできてしまうのですが、それではまずいですか」と尋ねたら、やはりまずいらしいので、ログファイルをひとつ下のディレクトリに移して、全てのアクセスをはじくよう.htaccessを設定しました。
ひとまず、これで開発オフの課題は終了。
本当は「食べ物に関する話題」を拾って、料理名別に集計したら面白そうだなぁと思っていたのですが、まだまだ勉強不足。
今後はMySQLの使い方を覚えて、掲示板や簡単なCMS程度までは作れるようになりたいと思います。
私の技術レベルはさておき、意欲のある技術者さんたちと関わりを持つことができて、とても収穫の大きい勉強会でした。
設備の問題などがあって第二回は未定ですが、チャットや掲示板などを使って、Web上だけでも北海道開発オフ部を続けていきたいですね。
Trackback
- trackback URL
- http://webbingstudio.blog10.fc2.com/tb.php/505-a1c6585d
引用して記事を書く(FC2ブログ用)


Comment
Re:北海道開発オフに参加しました
他人宛にメッセージだけを抽出したいのであれば
if(substr($msg,0,1) == "@"){ //メッセージの0文字目から1文字が"@"だったら
//ここに処理
}
てなかんじで正規表現使わなくても良いんじゃないかな?
Re:北海道開発オフに参加しました
おぉΣ@@ 成る程です。
でも、先頭に「.」つけてる人がいたり、(私もよくやりますが)文章の中に@組み込んでいる人もいるんですよねー
単純に「役に立つログを取る」ことを考えると、「http://」が含まれるコメントを拾う、でもいいかなあとも考えてます。