Mais conteúdo relacionado Semelhante a 1.29.user,user,user (20) 1.29.user,user,user1. ユーザ! ユーザ! ユーザ!
Tonny (@tonnyxu)
genesix, Inc.
13. 自己紹介
Tonny
29.9999998才
情熱プログラマ
iPhone: 2008/7から
夢
百万人のユーザに
使ってもらえるサー
ビスを創る
43. プログラマとして何が出来る
自分のアイディアで貢献
エンジニアの知識を活用
可能なリスク?
企画
OS バージョンなど
優先順位
44. プログラマとして何が出来る
自分のアイディアで貢献
エンジニアの知識を活用
可能なリスク?
企画
OS バージョンなど
優先順位
実現可能?
45. プログラマとして何が出来る
自分のアイディアで貢献
エンジニアの知識を活用
可能なリスク?
企画
OS バージョンなど
優先順位
実現可能?
より良い案?
46. プログラマとして何が出来る
自分のアイディアで貢献
エンジニアの知識を活用
可能なリスク?
企画
OS バージョンなど
優先順位
実現可能?
より良い案?
...
52. プログラマとして何が出来る
UX = User eXperience
uXにアドバイス
ここはこのアニメション
設計
ここは高さの変化があるよ
53. プログラマとして何が出来る
UX = User eXperience
uXにアドバイス
ここはこのアニメション
設計
ここは高さの変化があるよ
ここはコードで実現できる
54. プログラマとして何が出来る
UX = User eXperience
uXにアドバイス
ここはこのアニメション
設計
ここは高さの変化があるよ
ここはコードで実現できる
ここは画像ください
55. プログラマとして何が出来る
UX = User eXperience
uXにアドバイス
ここはこのアニメション
設計
ここは高さの変化があるよ
ここはコードで実現できる
ここは画像ください
...
62. プログラマとして何が出来る
開発は本業だよね
プロになれ!
より速くできるか?
開発
より正確にできるか?
既にAPIがあるか?
63. プログラマとして何が出来る
開発は本業だよね
プロになれ!
より速くできるか?
開発
より正確にできるか?
既にAPIがあるか?
どこに答えがあるか?
64. プログラマとして何が出来る
開発は本業だよね
プロになれ!
より速くできるか?
開発
より正確にできるか?
既にAPIがあるか?
どこに答えがあるか?
...
69. プログラマとして何が出来る
ちゃんとやれ!
開発中
Unit Test
テスト サンプルアプリ
開発後
自動テストじゃなくても良い
テスト仕様書
75. プログラマとして何が出来る
終わりではない
ユーザーからのフィードバック
対応すべき?
公開
コスト?
KPT
Keep
Problem
Try
85. 昔のやり方
// Old fashion
[UIView beginAnimations:nil context:nil];
[UIView setAnimationDuration:0.8];
[UIView setAnimationDelegate:self];
[UIView
setAnimationDidStopSelector:@selector(finishDism
iss)];
self.alpha = 0;
[UIView commitAnimations];
87. 現在のやり方(iOS 4.0+)
// New fashion
[UIView animateWithDuration:0.8
animations:^{
self.alpha = 0;
}
completion:^(BOOL finished) {
[self finishDismiss];
}];
110. self.hogeを理解する
// different implementation: assign/retain/copy
// assign
property = newValue;
// retain
if (property != newValue){
[property release];
property = nil;
property = [newValue retain];
}
// copy
if (property != newValue){
[property release];
property = nil;
property = [newValue copy];
}
116. ネットワークに注意
// it’s real code
- (void)dealloc {
[[NSNotificationCenter defaultCenter]
removeObserver:self];
NSArray *allDownloads = [self.imageDownloadsInProgress
allValues];
if ([allDownloads count] > 0) {
[allDownloads
makeObjectsPerformSelector:@selector(cancelDownload)];
}
[imageDownloadsInProgress release];
[super dealloc];
}
123. NSZombieを使う
// NSZombieEnabled = YES
NSArray *myArr = [[NSArray alloc] init];
[myArr release];
[myArr release]; // 何が発生しますか?
------------------------------------
[Session started at 2011-01-23 23:34:42
+0900.]
2011-01-23 23:34:54.935 TestApp[453:207]
*** -[__NSArrayI retain]: message sent
to deallocated instance 0x6248040