Posted by yamada on 2011/09/19 – 09:00
Gmail以来、各種データをGoogleに預けたり、Dropbox使ったりしてクラウドサービスを恩恵に預かりまくっています。
そして、最近、自宅サーバが壊れたのを機に、バージョン管理もホスティングサービスに依存してみることにしました。
XP-Dev.com
最近使い始めたVCSリポジトリのクラウドサービスは、XP-Dev.com。

200MBのフリープランがあるので、まずはサイズが小さなプロジェクトで試してみました。
フリープランでも、プライベートリポジトリを2つまでは作ることができ、複数アカウントによる使用にも問題ありません。さらにリポジトリと連動したtracもあります!
もちろんオープンにも出来るので、ちょっとしたライブラリやプログラムの開発にも使えますね。
というか、アカウントを作って、リポジトリの設定をちょっと選択すれば出来る簡単さには驚きました。
有料プラン
そして、ちょっと大きめの案件のリポジトリ管理もしたいので、有料プランを使うことにしました。
有料プランはいくつかあるのですが、違いはストレージサイズのみ。
無料プランとの大きな違いはSSLが使えること、ウェブの設定画面に広告がでてこないこと、バックアップされること、です。
一番安価な有料プランはPro Smallというもので、ストレージサイズは2GB。とりあえずこれを使ってみることにしました。
Subversion or Git (or Mercurial)
XP-Dev.comでは、SubversionにGit、さらにMercurialまで使えるのですが、どのバージョン管理システムを使えばいいのでしょうか?
最近はやりのGitも気になるし、Gitも使ってみようかな?と思ったのですが、XP-Dev.comではリポジトリサイズがコストに跳ね返ってくる。そこでちょっとリポジトリサイズについて調べてみたら次のページを見つけました。
Subversion、Mercurialに比べてGitのリポジトリサイズの増えっぷりが怖い!ということで、XP-Dev.comの場合、Subversion(かMercurial)を選ぶのが良さそうですね。
Mercurialが気になる!という方は、下記のMercurialのメリットが並べられた記事も読むといいかもしれません。
年契約で割引!
一番安いプランは$5/monthなのですが、年契約では20%のディスカウントがあり、$48/yearとなります!
支払いはPaypalオンリーなので、注意が必要ですが、Paypalは為替レートにあわせてくれるので、円高の今なら結構安い感じになります。自分の場合、3,787円/年となりました。
Amazon S3へのバックアップオプション
追加料金になりますが、Amazon S3にバックアップするオプションもあります。
しかし、$2/Monthと安いし、年間契約すればディスカウントされて$19.20/Yearとなります。
企業で大きな案件を抱えるときにはこのオプションを使っておくと安心ですね。
結論
XP-Dev.com、超おすすめ!
自分でサーバを管理したり、セットアップする手間を考えたら、安い!安い!
そういう管理の人を雇っていると思ったらほんとうに安い!そしてその辺りのことをしっかり任せられるので、仕事のクォリティも上がる!
[AD]
↓お!なんか面白そうな本発見!

ルーター自作でわかるパケットの流れ
著者/訳者:小俣 光之
出版社:技術評論社( 2011-07-09 )
定価:¥ 1,974
Amazon価格:¥ 1,974
単行本(ソフトカバー) ( 192 ページ )
ISBN-10 : 4774147451
ISBN-13 : 9784774147451
↓テスト、していますか?

ソフトウェア・テスト PRESS 総集編
著者/訳者:ソフトウェア・テストPRESS編集部 編
出版社:技術評論社( 2011-07-15 )
定価:¥ 2,594
Amazon価格:¥ 2,594
大型本 ( 80 ページ )
ISBN-10 : 4774147338
ISBN-13 : 9784774147338
↓iOSアプリでOpenGL使うなら読んでおいたほうがよいかもしれない。

初めてのOpenGL ES
著者/訳者:山下 武志
出版社:オライリージャパン( 2011-07-21 )
定価:¥ 2,940
Amazon価格:¥ 2,940
大型本 ( 270 ページ )
ISBN-10 : 4873114969
ISBN-13 : 9784873114965
Posted by yamada on 2011/09/12 – 09:00
Objective-C向けのJSONを扱うライブラリを探してみたのですが、JSONのページによるとJSON解析ライブラリはいくつかあるようです。
json-frameworkというのがトップに紹介されており、また、ライセンスも修正BSDライセンスですので、これを使ってみることにしました。
現在は、SBJsonという名前に変わっているようです。

GitHubから取得
適当な場所で次のようにコマンドをタイプします。
$ git clone git://github.com/stig/json-framework.git
これで json-framework/ というディレクトリが作成され、その中にライブラリソースやサンプルソースがダウンロードされます。
(ちなみに、Mac OS XでGit環境を整えた時のメモはこちら→「Gitを使ってみた « TORQUES LABS」)
上記コマンドでダウンロードしてきた中にはサンプルコード”Examples”があるので、使い方の参考になります。
SBJsonを使ってみる
上記Examplesの中には2つのサンプルプロジェクトがありますが、参考になるのはTweetStreamというサンプル。NSURLRequestを使った非同期通信での使い方が分かります。
JSONの読込完了時に呼ばれるのは、- (void)parser:(SBJsonStreamParser*)parser foundObject:(NSDictionary*)dict というメソッドなので、受信後の処理はここに書けば良さそうです。
SBJsonを使うと、JSONオブジェクトは、NSDictionaryとNSArrayの組みわせになります。ルート部分が上記メソッドの引数 (NSDictionary*)dict となります。
試しにGoogleカレンダーのサンプルJSONで試してみました。
http://www.google.com/calendar/feeds/developer-calendar@google.com/public/full?alt=json
このURLにアクセスして取得できるJSONの一部をコピペすると下記のような構造になっています。
(後述する操作説明のために、feedの下にtestValueという値を追加しています。)
{
version: "1.0"
encoding: "UTF-8"
-
feed: {
testValue: 3
id: {
$t: http://www.google.com/calendar/feeds/developer-calendar%40google.com/public/full
}
-
link: [
-
{
rel: "alternate"
type: "text/html"
href: http://www.google.com/calendar/embed?src=developer-calendar@google.com
}
-
{
rel: http://schemas.google.com/g/2005#feed
type: "application/atom+xml"
href: http://www.google.com/calendar/feeds/developer-calendar%40google.com/public/full
}
]
}
}
この中の値を取得するコードを載せておきます。
“encoding”の値を出力してみる
ここは普通にNSDictionaryとしてアクセスできますので次のようなコードになります。
NSLog(@"%@", [dict objectForKey:@"encoding"]);
“feed”の下の”link”の値を出力してみる
ここは2階層目がNSArrayなので、次のようなコードでループを回すことが出来ます。
NSDictionary* feed = [dict objectForKey:@"feed"];
NSArray* links = [feed objectForKey:@"link"];
NSEnumerator* enumLink = [links objectEnumerator];
NSDictionary* item;
while (item = (NSDictionary*)[enumLink nextObject]) {
NSLog(@"%@", [item objectForKey:@"href"]);
}
Number値をintとして取得
NSDictionary* feed = [dict objectForKey:@"feed"];
int testValue = [[feed objectForKey:@"testValue"] intValue];
SBJsonWriterでデバッグ出力
デバッグなどでJSONの中身をザックリと確認したい時にはSBJsonWriterというクラスが用意されているので、これを使って次のように簡単にデバッグ出力が可能です。
// debug.
SBJsonWriter* writer = [[[SBJsonWriter alloc] init] autorelease];
writer.humanReadable = YES;
writer.sortKeys = YES; // キーをソート.
NSLog(@"%@", [writer stringWithObject:dict]);
参考サイト
[AD]
↓新モバイルブースター。iPadの充電に対応できているし、容量もアップ!充電速度もアップ!
↓これは!!!!SIMの抜き差しが多い人には超便利!
↓緊急時用のライトもこれなら普段から出しておける!
↓手をグルグル回して充電可能!
Posted by yamada on 2010/08/14 – 18:28
Filed under git, 仕事ツール
Tagged as git, OS X
最近はいろいろなオープンソースプロジェクトがGitHubで公開されていることが多いのですが、私はgitを使ったことがなかったので、その手順をメモします。
ちなみに、私の環境は、Mac OS X 10.6.4です。
gitをインストール
まずは、下記のURLからgitをインストールします。
最新のdmgファイルをダウンロードして、開いて出てくるpkgファイルを開けば、インストーラが立ち上がるのでそのままインストールします。
これで、ターミナル上でgitと打ってみると、無事インストール出来ていることが分かります。
$ git --version
git version 1.7.2
githubからプロジェクトを取得
例えば、rePublishというプロジェクトがありますので、このコードを取得する流れを試してみます。
このコードを取得するには、画面中央の”Git Read-Only”というボタンをクリックし、gitのプロジェクトURLを表示させます。このURLをコピーします。

次に、このプロジェクトを取得したいフォルダを適当な場所に作り、ターミナルでそこに移動します。
例えば、下記のようなフォルダを準備し、移動します。
$ cd /Users/Torques/github
あとは、次のgit cloneコマンドを実行すれば取得が開始されます。
$ git clone git://github.com/blaine/rePublish.git
..
$ ls
rePublish
感想
今まで仕事のソース管理にはSubversionをメインで使っているのですが、gitとか分散バージョン管理を始めるべきかな、と思いました。
ディレクトリ直下に .git 一つ、というのがいい!上記の例でいうと、github/rePublish/.git のみなのです。Subversionだと、ディレクトリ毎に.svnが出来るのですが、それが無い、ということです。プロジェクト管理の単位が違う、ということなのですが、すっきりしていて気持ちがいい。
[AD]
↓Git本。

入門git
著者/訳者:Travis Swicegood
出版社:オーム社( 2009-08-12 )
定価:¥ 2,520
Amazon価格:¥ 2,520
単行本(ソフトカバー) ( 208 ページ )
ISBN-10 : 427406767X
ISBN-13 : 9784274067679
↓オライリーのGit本。

実用Git
著者/訳者:Jon Loeliger
出版社:オライリージャパン( 2010-02-19 )
定価:¥ 2,940
Amazon価格:¥ 2,940
大型本 ( 372 ページ )
ISBN-10 : 4873114403
ISBN-13 : 9784873114408