UbuntuでWinMergeのようなGUIのdiffツール
備忘録
以下でUbuntuで使用できるグラフィカルなDiffツールmeltが紹介されていました。
グラフィカルなDiffツール
http://blog.livedoor.jp/leaf_hiro/archives/51168483.html
macにもあるらしいです。
テストフレームワークGHUnitを試してみた
こんにちは。InputだけでなくOuputして、技術を身につけたいと思っている涼風です。
そこで今回はxUnitと呼ばれる単体テストのフレームワーク中で、iOSでないかと探しましたら、GHUnitがありました。今回は、こちらの記事をもとにGHUnitを試してみました。
★ GHUnitのダウンロード 以下URLから「GHUnitIOS-x.x.xx.zip」をダウンロードします。 https://github.com/gabriel/gh-unit/downloads
2012/11/15現在、最新のGUnitIOS-0.5.6.zipをダウンロードしました。 Mac OS X バージョン10.8.2を使用しました。
SampleTestMain.mないでGHUStackTraceFromException(exception)がコンパイルエラーになったため、[GHTesting descriptionForException:exception]に変更し、#import <GHUnitIOS/GHTesting.h>を追加しました。
SampleTestMain.m
#import <GHUnitIOS/GHUnit.h> #import <GHUnitIOS/GHTesting.h> void exceptionHandler(NSException *exception) { NSLog(@"%@\n%@", [exception reason], [GHTesting descriptionForException:exception]); } int main(int argc, char *argv[]) { NSSetUncaughtExceptionHandler(&exceptionHandler); NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init]; int retVal = 0; if (getenv("GHUNIT_CLI")) { retVal = [GHTestRunner run]; } else { retVal = UIApplicationMain(argc, argv, nil, @"GHUnitIPhoneAppDelegate"); } [pool release]; return retVal; }
判定するマクロ GHAssertEqualsは以下のような引数を持ちます。
GHAssertEquals(左の値, 右の値, 失敗したときに標準出力に表示する文字列)
左の値と右の値が異なるときに失敗します。
@"test"を@"計算結果に誤りがあります"に変更します。
- (void)testDivideRoundUp { NSInteger num = [Calc divideRoundUp:100 denominator:3]; GHAssertEquals(num, 33, @"計算結果に誤りがあります"); }
ほかに判定マクロはGHUnitIOS.framework/Headers/GHTestMacros.hにあります。
GHAssertNotNil(オブジェクト, 失敗したときに標準出力に表示する文字列)
オブジェクトがnilのとき失敗します。
GHAssertTrue(評価式, 失敗したときに標準出力に標示する文字列)
評価式がfalseのときに失敗します。
他にもまだマクロはたくさんあります。
UbuntuにPostgreSQL 9.1をインストールする
UbuntuにPostgreSQLをインストールする方法を説明します。
OSはUbuntu 12.04 LTS,データベースはPostgreSQLで動作確認しました。
PostgreSQLをインストールする。$はコマンドプロンプトです。$の次から入力してください。
$ apt-get install postgresql
PostgreSQLのバージョンを確認する。
$ psql --version psql (PostgresSQL) 9.1.3
私が確認した環境ではPostgreSQLのバージョンは9.1.3でした。
PostgreSQLのスーパーユーザーであるpostgresユーザーに変更し、設定ファイルを編集します。
$ sudo su - postgres $ cd /etc/postgresql/9.1/main/
$ vim ./pg_hba.conf
pg_hba.confファイルから以下の記述までカーソルを移動します。
# "local" is for Unix domain socket connections only
local all all peer
ローカルホストでどんなユーザーでもパスワード認証できるようにします。peerをmd5に変更します。
# "local" is for Unix domain socket connections only
#local all all peer
local all all md5
PostgreSQLを起動します。ただし、インストール後、自動的に起動しますので必要ありません。
/etc/init.d/postgresql start
PostgreSQLを再起動します。
/etc/init.d/postgresql restart
データベースを作成します。
createuser -a blog createdb -E UTF8 -O blog blog_devlopment -T template0 psql -c "alter user blog with password 'blog'"
※パスワードは説明のために簡単なパスワードを使用していますが、ランダムな長い文字列が良いでしょう。
blogユーザーでデータベースにログインします。
$ psql -U blog blog_devlopment blog_deplopment=#
PostgreSQLを停止します。
/etc/init.d/postgresql stop
iPhoneの文字描画位置
iPhoneにおける文字描画位置について解説します。
では画面におなじみの「Hello, world」を描画するサンプルコードを見てみましょう。
サンプルコード
UIFont* font=[UIFont systemFontOfSize:24];
NSString* str=@"Hello, world";
[str drawAtPoint:CGPointMake(0,0) withFont:font];
画面座標は左上が(0,0),右上が(319,0),左下が(0,479),右下が(319,379)になります。
「Hello, World」が(0,0)に表示されます。これは文字描画 「H」の文字の左上を起点に表示されるためです。
また、Androidでは、文字の底の部分、「g」の下にでいない位置を基準に描画されます。