bit.ly API を試してみる

短縮URLといったら

bitly
https://bitly.com/
Twitterが突発的に流行りだした時に一緒に有名になった短縮URLサービス。bit.ly ちょっとAPI調べて使ってみます。

bit.lyで短縮URL出すにはAPIキーが必要

これAPIリクエストの制限とかあるのかな。

とりあえずアカウント作る

create account のところをクリック 20120802033214

アカウント作ったらトップページへ

20120802033248

右上メニューからSETTINGS

20120802033601

APIキーを取得

20120802033601

当て込んでブラウザのアドレスバーにコピペ

http://api.bit.ly/shorten?version=2.0.1&login=ログインアカウント名&apiKey=APIキー&longUrl=http://www.yahoo.co.jp/

JSONでなんかデータでてくる

{
errorCode: 0,
errorMessage: "",
results: {
    http://www.yahoo.co.jp/: {
        userHash: "Qflg0g",
        shortKeywordUrl: "",
        hash: "INPsu",
        shortCNAMEUrl: "http://bit.ly/Qflg0g",
        shortUrl: "http://bit.ly/Qflg0g"
    }
},
statusCode: "OK"
}Code language: JavaScript (javascript)

ここまでJavascriptコードにする

var xh = new XMLHttpRequest();
xh.open("GET", "http://api.bit.ly/shorten?version=2.0.1&login=ログインアカウント名&apiKey=APIキー&longUrl=http://www.yahoo.co.jp/", false);
xh.send();
var obj = JSON.parse(xh.responseText);
for (var i in obj.results){
    var url = obj.results[i].shortUrl;
}
alert(url);Code language: JavaScript (javascript)

結果

“http://bit.ly/Qflg0g”

API制限について詳しくはこちら

bit.lyのAPI制限は開発者にやさしい?
http://ken.quoit.jp/2011/02/10/bit-ly%E3%81%AEapi%E5%88%B6%E9%99%90%E3%81%AF%E9%96%8B%E7%99%BA%E8%80%85%E3%81%AB%E3%82%84%E3%81%95%E3%81%97%E3%81%84%EF%BC%9F/

Javascriptでオブジェクトのディープコピー

参照型
Javascriptでオブジェクトをコピーということは基本的にできないみたい。Javascriptにおけるオブジェクトというのは、DOM要素と配列({} と [])などはオブジェクトとして扱われ、 1 とか “1” は 数値と文字列として扱われる。
var a = [1, 2, 3 ];
var b = a;
b[0] = 100;
alert(a);Code language: JavaScript (javascript)
こうすると、bの変数の配列を一番目を変更したのにも関わらずaの配列の値が変わってる。これは変数aと変数bに格納されているデータを「参照」しているアドレスが同じ場所になってしまっているからなんだそうです。これを参照渡しと言って、Javascriptではどうあがいてもオブジェクトは参照渡しになってしまう。 ただ、DOM要素や関数が配列内に含まれていなければある方法でオブジェクトをディープコピーできる。

JSON

var a = [1, 2, 3 ];
var b = JSON.parse(JSON.stringify(a));
b[0] = 100;
alert(a);Code language: JavaScript (javascript)

Mac OSXでたった5分でRedMineを使えるようにする方法

OSXのローカル環境にちょっと一手間だけで簡単にRedMineを使えるようにするパッケージ

BITNAMI
http://bitnami.org/ja/stack/redmine

このBITNAMIを使用することで、GUI環境にて、一切Terminalに触れることなくRedMineがインストールできてしまいます。インストールされるポートは8080なのでほかと競合しないように注意が必要です。

もちろん、ポートを開放したり、ファイアウォールによるポート制限を解除したりすればこのURLで複数のPCからもアクセスできるようになるので便利。いいものを見つけました!