2010年7月25日日曜日

開発合宿やってみた(第4回目-2日目&3日目)

2泊3日の開発合宿の中で一番過酷な2日目がやってきました!
(というか、過酷過ぎてブログ書く暇がなかった・・・)


本当は開発合宿に来る前に、使用する技術要素とかの調査は80%くらいは終わらせておきたかったんだが、、、
業務が忙しくなってしまい1日目は調査で終わってしまいました。
といっても調査すら80%くらいしかできませんでした。。。

そして、2日目・・・
順調に機能を追加していったが、chrome extensionsの罠にはまりまくり辛かった。
さっきは動いていたのに、同じソースで動かなかったり・・・まじ困ります

コンテント・スクリプトはどうやら、拡張機能の再読込だけだと反映されないようで、
画面をリロードする必要があるみたい。
まー、コンテント・スクリプトは画面で動くからそういうものなのか?

ちなみに、夕飯はこんな感じです。
量も味も文句なし!
めっちゃ美味しいです。

2泊3日だと2日目は地獄です・・・
1日目の調査があまりはかどらなかったので、3時間くらいしか寝ていないし、、、
実装中に色々とハマる事があったり、、、

3日目は10時から発表するって決まっていたので、残りXX時間しかないっていうプレッシャーもありつつ
省ける機能は省いたり、どうにか発表に持っていく感じです・・・
でも、この感じがいつも面白い!

そして、最終日!
みんなの発表!
いやー、すごかった!
ちゃんと完成させてきて、いい感じのものを見れた。
残念ながら、私のが一番完成度が低かった・・・

いやー、くやしい!
前回の夏の開発合宿も完成しなかった気がする・・・
やっぱ、夏は事前準備がやりにくいのかな、とりあえず次は事前準備バッチリで望みます!

あっ、こんな感じで花火も楽しんだりしてました!
・・・遊びすぎたか(>_<)/

2010年7月17日土曜日

開発合宿やってみた(第4回目-1日目)

群馬県水上のペンション木馬で第4回目の開発合宿をやっています!
今回は12人の参加で、2泊3日の日程です。
最終日に発表会を行ない、そして帰ります!


開発合宿は冬と夏の年に2回のペースでやっていて、今回で4回目です。
そして、この場所は去年も来ています!

ホームページで開発合宿をうたっているだけあって、開発合宿をやるには最適な場所です!
設備も十分だし、食事の時間とか、チェックアウトの時間とかの融通がすごく聞くのがありがたい!
そして、食事が美味しい!

まだ、1日目だが来年もここでやりたい!

ちなみに、バーベキューも出来ます!

川で遊びすぎたら、怪我したww
そして、はしゃぎすぎてメガネをなくした・・・orz
PC作業用のメガネを持ってきていたのでセーフです。
備えあれば憂いなし!

あー、作るものですが
とりあえずGoogle Chrome Extensionsを使って何かを作ろうと思っています。
果たして完成するか・・・

2010年6月19日土曜日

ATNDから自分の参加するイベント一覧を取得してみた

私はATND というサービスをよく利用します。
このサイトは、イベントの参加登録ができるサイトで、よくIT系のイベントが登録されています。

ATNDはAPIが公開されており、APIを使って自由に検索ができるようになっています。
http://api.atnd.org/

そこで、私自身が参加しようとして登録してあるイベント一覧をこのブログに載せるガジェットを作ってみました。

とりあえず、自分自身が参加登録している一覧を取得するには下記のURLを使用します。
http://api.atnd.org/events/?user_id={個人のID}

私の場合はIDが21348なので
http://api.atnd.org/events/?user_id=21348
となります。

今回はjavascriptで全て実装したいので、jsonp形式でレスポンスをうけとります。
http://api.atnd.org/events/?user_id=21348&count=5&callback=atndCallback&format=jsonp


JSONPについては以前紹介した物がありますので、そちらを参照ください。
JSONPの使い方

作成したガジェット自体は、右の"参加予定のイベント"がそれになります!
javascriptだけで、これだけできるのでやっぱりjavascriptは便利です!
知っておいて損はないなー

・ガジェットのソース
var atndEdit = function() {
 //jsonp
 var url = 'http://api.atnd.org/events/?user_id=21348&count=5&callback=atndCallback&format=jsonp';
 var ele = document.createElement('script');
 ele.type = 'text/javascript';
 ele.src = url;
 document.body.appendChild(ele);
 //今日の日付作製
 var nowDate = new Date();
 var month = (nowDate.getMonth() + 1);
 month = month.length === 2 ? month : '0' + month;
 var day = nowDate.getDate();
 day = day.length === 2 ? day : '0' + day;
 var nowStrDate = nowDate.getFullYear() + month + day;
 //出力先
 var output = document.getElementById('atnd-div');
 var count = 0;
 return {
  disp : function(events) {
   var eventDate = events.ended_at.substring(0, 10).replace(/-/g, '');
   if(eventDate < nowStrDate) {
    if(count == 0) {
     output.innerHTML = '参加予定のイベントはありません';
    }
    return;
   }
   count++;
   var title = events.title;
   var url = 'http://atnd.org/events/' + events.event_id;
   var start = events.ended_at.substring(0, 10);

   var ele = document.createElement('a');
   ele.href = url;
   ele.target = '_blank';
   ele.innerHTML = title;

   var date = document.createElement('span');
   date.innerHTML = '・' + start + '';
   output.appendChild(date);
   output.appendChild(document.createElement('br'));
   output.appendChild(ele);
   output.appendChild(document.createElement('br'));
  }
 };
}();
function atndCallback(data) {
 var events = data.events;
 for(var i = 0; i < events.length; i++) {
  var eventDate = events[i].ended_at.substring(0, 10).replace(/-/g, '');
   atndEdit.disp(events[i]);
 }
}

2010年6月18日金曜日

phpMyAdminを使ってみた

MySQLは以前から使っていたが、基本的にターミナルベースで操作をしていた。

今回は、人が作ったモジュールのテーブルの中身を見たかったので、GUIが欲しくなりインストールしてみました。

といっても、設定は簡単でした。。。

■前提条件
OS: CentOS 5系
Apache: 2系(Apacheインストールを参照)
もちろん、PHPが動くことが必須(PHPが動かない人は、PHPインストールを参照して)

■インストール
とりあえずダウンロードして、解凍する。
今回は、MySQLのバージョンの都合でphpMyAdminが最新のが使えなかったので2系をダウンロードしました。
3系でも基本的に設定は同じなようです。

cd $APACHE_HOME/htdocs
> wget http://sourceforge.net/projects/phpmyadmin/files%2FphpMyAdmin%2F2.11.10%2FphpMyAdmin-2.11.10-all-languages.zip/download
> unzip phpMyAdmin-2.11.10-all-languages.zip
> mv phpMyAdmin-2.11.10-all-languages phpMyAdmin
> cd phpMyAdmin
> cp -ip config.sample.inc.php config.inc.php
> vi config.inc.php
//$cfg['blowfish_secret'] = ''; //ここに適当な文字を入れてあげてください
//$cfg['Servers'][$i]['host'] = 'localhost'; //という項目を見つけ、MySQLのあるサーバ名を記述してください!
以上で、インストールと設定が終わりです。

http://hogehoge/phpMyAdmin
というURLでアクセスすると下記画面が表示されます!
DBのユーザとパスワードをログイン画面に入力すると、ログインできます!
 あとは、直感にしたがって操作すれば、テーブルの中身が見れます!

2010年6月15日火曜日

Geolocation APIを使ってみた

HTML5では位置情報が取得出来るようなので、取得してみました!

緯度経度以外にも、標高も取得出来ます!


・プロパティーの一覧はこんな感じです

位置情報のプロパティcoordsのプロパティ説明
coordscoords緯度
longitude経度
altitude標高(利用できない場合はnull)
accuracy緯度・経度の正確さ(単位はメートル)
altitudeAccuracy標高の正確さ(単位はメートル)
headingデバイスの進行方向。真北に対する時計回りの角度。利用できない場合はnull
speedデバイスの進行速度。利用できない場合はnull
timestamp位置情報を取得した時間(1970/1/1からのミリ秒


-サンプル
GeolocationAPIを一通り使ってみました

緯度経度のみならず、標高も取得出来るのは驚いた。
標高がわかる携帯電話とかから使えば大丈夫なのかな?