The Pragmatic Ball boy

iOSを中心にやってる万年球拾いの老害エンジニアメモ

2012-01-01から1年間の記事一覧

CakePHPで The requested address not found

CakePHPでいかのようなエラーが出た場合、Error: The requested address ' ' was not found on this server.core.phpのConfigure::write('debug', 0);を0から1に変更したらなおった

root権限の付与

昔はこんなことしなくてよかったような気がするけど毎回忘れるので> su> visudoでviで設定ファイルが開かれ編集する。root ALL=(ALL) ALLのようにユーザーごとにsudoの権限を設定してやらないといけない

CoreDataのデータを全て削除

(BOOL)resetDatastore{ [[self managedObjectContext] lock]; [[self managedObjectContext] reset]; NSPersistentStore *store = [[[self persistentStoreCoordinator] persistentStores] lastObject]; BOOL resetOk = NO; if (store) { NSURL *storeUrl = …

半透明のviewを重ねる

半透明のviewの上にviewを以下のように重ねると子のviewのalphaも親のalphaに引きづられてしまい、子のviewのalphaを1.0に設定してもどちらも半透明になってしまう。 UIView* view = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 100,100)]; view.alpha …

iOS6変わったとこなど

相当すぎてますが、NDAも解禁ということで、、UIViewControllerでメソッドがDeprecateされたhttp://developer.apple.com/library/ios/#documentation/uikit/reference/UIViewController_Class/DeprecationAppendix/AppendixADeprecatedAPI.htmlmodalView系が…

Objective-Cのクラスメソッドの差し替え

テストのときにUIAlertViewの表示を消してくれるライブラリでどうやってUIAlertViewのメソッドをフックしてるのかと調べてみたところmethod_exchangeImplementations()を使って実装されてた。+ (void)swapInstanceMethodsForClass: (Class) cls selector: (S…

XP祭り2012に参加してきた

XP祭り2012に参加してきました。去年は参加だけだったので、今回はアウトプットをしようということでLTで登壇してきました。 Xp祭り2012 lt leanstartup from Yasuharu Yanamura これはUT Startup gymという半年間でアイデアをローンチまでするというプログ…

iOSでKiwiでテストする【基本編2】

つぎはテストコードの中身の書き方です。it のBlocksの中にテストコードを書きます。[テスト対象のオブジェクト should] マッチャー:期待される値];という書き方が基本です。マッチャーはequalなどですが、詳細はこちらを参照してください。https://github.c…

iOSでKiwiでテストする【基本編1】

詳細はこちら。http://www.kiwi-lib.info/specs.htmlRSpecのObjective-C実装といったところで、やはりRSpecと比べるとかなり機能が少なく最小限のようです。基本的な書き方は、ほぼRSpecと同じなので、RSpecの本とか読めば参考になりそう。使い方テンプレー…

iphone_dev_jp東京 mac/iphone Hackathonに参加してきた

使えるライブラリを作ろう!というハッカソンに参加してきました。個人的に家計簿アプリを作っていてNSDateがかなりいけていない(面倒なのが多い)のでそれを楽にするものを作りました。https://github.com/yanamura3/NSDateHelper実装自体は自分のソースコ…

中島さんの問題

中島聡さんのブログにでていたザッカーバーグの面接試験解いてみました。問題その1http://satoshi.blogs.com/life/2012/08/block.html回答https://github.com/yanamura3/HTTPLoaderGCDを使って同期リクエストをラップして非同期に見せかけるという一番シン…

【Ruby最低限の知識編】Ruby素人が「たのしい開発スタートアップRuby」を実践

結構ざっくりとした説明しか書かれていませんが、他の言語を使ったことがあると用意に理解できると思うので、短い割にちょうど良い程度の説明の仕方だなと思いました。ただこれまで経験したことのないものがポンとでてくるとちょっと理解に苦しみましたがそ…

【Rubyインストール編】Ruby素人が「たのしい開発スタートアップRuby」を実践

まずはインストール環境:Mac OS X 10.7.4$ ruby -vruby 1.8.7 (2011-12-28 patchlevel 357) [universal-darwin11.0]Homebrewを使ってやってみます$ brew install rubyWarning: It appears you have MacPorts or Fink installed.Software installed with oth…

Objective-Cのシングルトンパターン

Objective-Cのシングルトンの実装ですが、GCDにdispatch_onceという便利なのがあるので、これを利用するとすっきり書けますし、dispatch_onceだとXcodeによる補完が強力なので書くのも速いです。http://stackoverflow.com/questions/7568935/how-do-i-implem…

Objective-Cでprivateなインスタンス変数やメソッドを外部から変更したり参照する方法

UnitTestなどでテスト対象のクラスのprivateな変数(属性)を参照したり変更したりしたい場合があります。テストのためにアクセッサを追加したりするのはちょっとあれなので何かいい方法がないか調べてみたらObjective-Cだとテストフレームワークの力を借り…

Xcode : TODO, FIXMEなどの記述

TODO, FIXMEなどのコメントを以下のようなフォーマットでつけるとcontrol + 6 でのメソッド一覧の表示の際に#pragma markと同様に簡単に見つけられるようになります。(参考)// TODO: "comment"// FIXME: "comment"// !!!: "comment"// ???: "comment"// MA…

Xcode : #pragma markで見出しをつける

プログラム上でたまに見かける #pragma mark *** の使い方です。(参考)#pragma mark を使うことでコードをXcodeで見やすくすることができます。C#知ってる人はC#のpragma regionと似たような感じに使うことができます。(begin-endはいらない)・書き方*** …

LL Decade に参加してきた

毎年行われているLLのイベント LL Decadeに参加してきました。昨年も参加しましたが、昨年はJavascript一色な感じでしたが、今年はバランスがよかったです。スピーカー陣は@miyagawa,@matzはじめ日本のそうそうたるメンバーが一同に介しとても豪華でした。特…

CocoaControl

CocoaControlいろいろなカスタムUIコントローラの部品が登録されていて便利そう。

アジャイルサムライ横浜道場「ユーザーストーリーを集める」に参加してきた

アジャイルサムライ横浜道場「ユーザーストーリを集める」に参加してきました。仕事で抜けられなくて約二ヶ月ぶりの参流れはいつものように5分の音読+10分議論の4セット+まとめ発表5分。今回?はまとめ発表が各グループ1分+質疑4分でした。今回の…

could not locate an NSManagedObjectModel for entity name

"could not locate an NSManagedObjectModel for entity name" というエラーがCoreDataで出た場合の対処方法。以下のようなコードで、色のついたコードの箇所で止まってしまう場合です。entity nameはあっているはずなのに・・・と悩んだわけですが、self.ma…

gitによる開発フロー

・設定エディタをviからemacsに変更git config --global core.editor 'emacs'・開発フローA successful git branching model をベースに開発を行う場合の手順。http://keijinsonyaban.blogspot.jp/2010/10/successful-git-branching-model.html・管理者gitリ…

iOS:StoryBoard Tips[初期画面を変更する]

StoryBoardありでプロジェクトを作ったりすると最初から初期画面が決まっている(→)がついていたり、空のStoryBoardにViewControllerを追加するとその画面が初期画面になりますが、StoryBoardでひと通り作成したあとに、やっぱりべつのViewControllerを初期…

iOSでOCMockでテストする【環境構築】

Objective-C用のMockライブラリ OCMockを使うための環境構築環境: Xcode 4.3.2 OCMock 2.0まずここからダウンロード。(ソースコードからやるやり方は後日追記予定)http://ocmock.org/"Download"のタブからdmgファイルをダウンロードします。http://ocmock…

OnLab Data Conferenceに参加してきた

Onlab Data Conferenceに参加してきました。データ分析に使えるサービスはよく知らなかったのでとても勉強になりました。リーン・スタートアップでも言われていますが、検証するためにはデータが非常に重要で、それを行うためには、何を分析するのかという目…

iOSでGHUnitでテストする【環境構築】

GHUnitの環境構築方法です。環境:Xcode4.3.2STEP1. プロジェクトの作成適当にTestGHUnitというプロジェクトを作ります。STEP2. GHUnitの取得2つの方法があります。git使っている人や男気があるひとは後者を使うといいと思います。方法その1.ビルドされて…

iOSでKiwiでテストする【環境構築】

Kiwiのドキュメントや他のサイトでも手順があったわけですが、そのままだとちょっとうまくいかなかったのでまとめておきます。(具体的にはKiwi.hのパスを通すところ) 環境 : iOS4.3.2 Kiwi : commit 04bf281d35f4cee2c763bfca5c196fdb75b28b36まず適当に…

UITableViewのcellForRowAtIndexPathのテンプレ

全部同じCellの場合はこれでOK。Cellによって配置とか構成を変える場合は、別のCellIdentifierを用意する。- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath { // See if there's an existing cell…

NSDictionaryのKeyにカスタムクラスを使う方法

NSDictionaryのKeyに自作のクラスを使う場合は以下の3つの実装が必要。- (id)copyWithZone:(NSZone*) zone- (BOOL)isEqual:(id)object- (NSUInteger)hashcopyWithZoneはKeyはコピーされてNSDictionaryに保存されるため、インスタンスのクローン処理を実装す…

iOSプログラミング忘備録その2

クラスの比較[self isKindOfClass:[object class]]toString的なもの - (NSString*)descriptionNSDictionaryの中を順番に取り出す方法for (NSString* key in xyz) {id value = [xyz objectForKey:key];// do stuff}キーボードを閉じる[searchBar resignFirstR…