~/.vimrc に以下を追加すればOK。 "コマンドラインをEmacs風に編集する :cnoremap <C-A> <Home> :cnoremap <C-F> <Right> :cnoremap <C-B> <Left></left></c-b></right></c-f></home></c-a>
/etc/ssh/sshd_configのPasswordAuthenticationを「no」にし、 # Change to no to disable tunnelled clear text passwords #PasswordAuthentication yes ↓ PasswordAuthentication noその後sshdを再起動すればOK。 $ /etc/init.d/ssh restart
NSMutableURLRequestクラスのsetValue:forHTTPHeaderField:メソッドを使う。NSURLRequestではなくNSMutableURLRequestを使うのがポイント。HTTPメソッドやHTTPヘッダをセットしたい場合はプロパティの変更が不可能(Immutable)なNSURLRequestじゃなくて変更可…
UIWebView上でJavaScriptを走らせたい場合はUIWebViewクラスのstringByEvaluatingJavaScriptFromString:メソッドを利用する。返り値には最後に評価した式の値が格納される。以下では最後に評価された「a + b」の結果である「3」が返る。 NSString *s = [webV…
SQL形式ので出力なら以下のコマンドでできるんだけど、 $ sqlite3 db_file ".schema" HTML形式で見たかったのでサックリとシェルスクリプトを書いた。あとでまた使うかもしれないのでメモっておく。 # sqlite_schema.sh sqlitedb=$1 echo "<html><body>" for i in `sqlit</body></html>…
とあるアプリが作成したsqliteのファイルを開こうと思ったら以下のようなエラーが出て開けなかった。 $ sqlite hoge.sqlite Unable to open database "/opt/services/galaxy/development/current/database/universe.sqlite": file is encrypted or is not a …
Amazon EC2用のUbuntuイメージを利用してるのだけど、ログインユーザであるubuntuのパスワードが分からなくていろいろ難儀してる。ログイン自体は公開鍵を利用したログインのためパスワードがなくてもログインできる。ログインできてるならpasswdコマンドを…
指定したディレクトリにMercurialをインストールしたい場合は、以下のようにPREFIXにインストール先のディレクトリを指定してmake installすればOK。 $ make PREFIX=/some/directory/mercurial-1.7 install以下はおまけ。ダウンロードからインストールして動…
つ http://developer.apple.com/library/ios/#documentation/StringsTextFonts/Conceptual/TextAndWebiPhoneOS/Introduction/Introduction.html
UIViewのサイズの変更のしかたをいつも忘れるので、メモっておく。 // オリジナルの枠を取得 CGRect original = aView.frame; // 枠の高さを半分に CGRect new = CGRectMake(original.origin.x, original.origin.y, original.size.width, original.size.heig…
これもいい加減スリーアウトなので、メモしておく。公開鍵をリモートサーバにコピーして以下の手順で ~/.ssh/authorized_keys に公開鍵を追加し、ファイルのパーミッションを600にすればOK。 $ cat id_dsa.pub >> ~/.ssh/authorized_keys $ chmod 600 ~/.ssh…
Ubuntu10でRubyのtwitterライブラリをgemでインストールしようとしたら $ gem install twitter WARNING: Installing to ~/.gem since /var/lib/gems/1.8 and /var/lib/gems/1.8/bin aren't both writable. WARNING: You don't have /home/thata/.gem/ruby/1.…
通常のdiffは行単位なのですが、文字単位でdiffをとりたくなったのでDocDiffというのを使ってみた。 DocDiff http://www.kt.rim.or.jp/~hisashim/docdiff/ インストール まずは以下の手順で ~/usr の下にDocDiffをインストール。 $ cd ~/usr $ curl http://w…
$ screen -rxでOK。
以下のコマンド実行後、~/.gitignore にリポジトリ間共通でignoreしたいファイルを記入する。 git config --global core.excludesfile ~/.gitignore# ~/.gitignore build/ *.pbxuser *.mode1v3 .svn
NSDateのクラスメソッドdateを呼ぶと現在の日時をもつNSDateのインスタンスが返されます。 NSDate *now = [NSDate date]; NSLog(@"Now: %@", now); // => Now: 2010-08-12 18:21:39 +0900
// ミリ秒単位のふたつの日時の差異を求めたい NSDate *now = [NSDate date]; NSLog(@"now: %@", now); for (int i=0; i<10; i++) { NSLog(@"delay!!"); } NSDate *then = [NSDate date]; NSLog(@"then: %@", then); NSLog(@"then - now: %1.3fsec", [then t…
// 文字列から日時を生成する NSDateFormatter *formatter = [[NSDateFormatter alloc] init]; [formatter setDateFormat:@"yyyy-MM-dd HH:mm"]; NSDate *date = [formatter dateFromString:@"2010-7-8 13:14"]; NSLog(@"Date: %@", date);
// 日時をフォーマット出力する // 書式はここ http://unicode.org/reports/tr35/tr35-6.html#Date_Format_Patterns NSDate *now = [NSDate date]; NSDateFormatter *formatter = [[NSDateFormatter alloc] init]; [formatter setDateFormat:@"yyyy-MM-dd(E)…
// n日後の日時をもとめる NSCalendar *calendar = [NSCalendar currentCalendar]; NSDate *now = [NSDate date]; NSDateComponents *sevenDays = [[NSDateComponents alloc] init]; [sevenDays setDay:7]; NSDate *sevenDaysLater = [calendar dateByAdding…
// ふたつの日時の差をもとめる(日時分のみ) NSCalendar *calendar = [NSCalendar currentCalendar]; NSDateComponents *comps1 = [[NSDateComponents alloc] init]; [comps1 setYear:2010]; [comps1 setMonth:4]; [comps1 setDay:5]; [comps1 setHour:10]; …
// ふたつの日時の差を求める(年月日のみ) NSCalendar *calendar = [NSCalendar currentCalendar]; NSDateComponents *comps1 = [[NSDateComponents alloc] init]; [comps1 setYear:2009]; [comps1 setMonth:3]; [comps1 setDay:10]; NSDate *date1 = [calen…
// 年月日、時分秒を指定して日時オブジェクトを生成する NSCalendar *calendar = [NSCalendar currentCalendar]; NSDateComponents *comps = [[NSDateComponents alloc] init]; [comps setYear:2010]; [comps setMonth:1]; [comps setDay:2]; [comps setHou…
NSDate *date = [NSDate date]; NSCalendar *calendar = [NSCalendar currentCalendar]; NSDateComponents *comps; // 年月日をとりだす comps = [calendar components:(NSYearCalendarUnit | NSMonthCalendarUnit | NSDayCalendarUnit) fromDate:date]; NSI…
を読んでほっこりした。四畳半神話体系で明石さんにやられちゃった人は、同じ世界を共有する本書も読んで二足歩行ロボットのモノマネでほっこりするべき。
Cocoaのリファレンスカウント式のメモリ管理で利用されるオートリリースプールはメインスレッドに対しては自動的に作られて自動的に解放されるので普段はあまり意識することはないのだけど、performSelectorInBackground:withObject:などを利用して別スレッ…
iPhoneアプリケーション開発ではガベージコレクションが使えないためJavaやRubyのようなガーベージコレクションを備えている言語環境と異なりメモリリークの危険と常に隣り合わせです。しかし、iOS SDKにはメモリリークの検出をサポートするためのツールが用…
for文でぐるぐるまわすのもいいけど、NSPredicateクラスと問い合わせ言語「Cocoa Predicates」を使うと便利。問い合わせ言語を渡してNSPredicateオブジェクトを生成したのち、配列のfilteredArrayUsingPredicate:メソッドを呼び出して指定したオブジェクトの…
iPhoneアプリでは、ひとつのビューから複数のモーダルビューを出そうとするとエラーが発生してしまう。モーダルビューの2重起動を防ぐには、モーダルビューを表示する前に UIViewController#modalViewController を確認して nil の時のみモーダルビューを表…