Download free for 30 days
Sign in
Upload
Language (EN)
Support
Business
Mobile
Social Media
Marketing
Technology
Art & Photos
Career
Design
Education
Presentations & Public Speaking
Government & Nonprofit
Healthcare
Internet
Law
Leadership & Management
Automotive
Engineering
Software
Recruiting & HR
Retail
Sales
Services
Science
Small Business & Entrepreneurship
Food
Environment
Economy & Finance
Data & Analytics
Investor Relations
Sports
Spiritual
News & Politics
Travel
Self Improvement
Real Estate
Entertainment & Humor
Health & Medicine
Devices & Hardware
Lifestyle
Change Language
Language
English
Español
Português
Français
Deutsche
Cancel
Save
EN
Uploaded by
Yuki Hirai
PDF, PPTX
29,201 views
エンジニア戦記 〜小さなチーム、大きな未来〜
2015/02/15の iOS オールスター勉強会の発表資料です。
Engineering
◦
Read more
44
Save
Share
Embed
Embed presentation
Download
Download as PDF, PPTX
1
/ 72
2
/ 72
3
/ 72
4
/ 72
5
/ 72
6
/ 72
7
/ 72
8
/ 72
9
/ 72
10
/ 72
11
/ 72
12
/ 72
13
/ 72
14
/ 72
15
/ 72
16
/ 72
17
/ 72
18
/ 72
19
/ 72
20
/ 72
21
/ 72
22
/ 72
23
/ 72
24
/ 72
25
/ 72
26
/ 72
27
/ 72
28
/ 72
29
/ 72
30
/ 72
31
/ 72
32
/ 72
33
/ 72
34
/ 72
35
/ 72
36
/ 72
37
/ 72
38
/ 72
39
/ 72
40
/ 72
41
/ 72
42
/ 72
43
/ 72
44
/ 72
45
/ 72
46
/ 72
47
/ 72
48
/ 72
49
/ 72
50
/ 72
51
/ 72
52
/ 72
53
/ 72
54
/ 72
55
/ 72
56
/ 72
57
/ 72
58
/ 72
59
/ 72
60
/ 72
61
/ 72
62
/ 72
63
/ 72
64
/ 72
65
/ 72
66
/ 72
67
/ 72
68
/ 72
69
/ 72
70
/ 72
71
/ 72
72
/ 72
More Related Content
PDF
JavaScript basic, jQuery animation
by
Yossy Taka
PDF
JavaScriptのオブジェクト:Mathオブジェクト、Dateオブジェクト
by
Yossy Taka
PDF
JavaScript Basic 02 jQuery
by
Yossy Taka
PDF
WebデザイナのためのjQuery入門。
by
Yossy Taka
PDF
Javascript入門-デジタル時計を作りながらJavaScriptを学ぼう-
by
Yossy Taka
PDF
JavaScript04 jquery プラグインを使おう
by
Yossy Taka
PDF
WEB開発を加速させる。アジャイル開発に最適なデータ構造とORマッパの形
by
Yusaku Watanabe
PDF
JavaScript Basic 01
by
Yossy Taka
JavaScript basic, jQuery animation
by
Yossy Taka
JavaScriptのオブジェクト:Mathオブジェクト、Dateオブジェクト
by
Yossy Taka
JavaScript Basic 02 jQuery
by
Yossy Taka
WebデザイナのためのjQuery入門。
by
Yossy Taka
Javascript入門-デジタル時計を作りながらJavaScriptを学ぼう-
by
Yossy Taka
JavaScript04 jquery プラグインを使おう
by
Yossy Taka
WEB開発を加速させる。アジャイル開発に最適なデータ構造とORマッパの形
by
Yusaku Watanabe
JavaScript Basic 01
by
Yossy Taka
Viewers also liked
PDF
iOS 通信のパフォーマンス改善 ・ iOSオールスターズ登壇資料
by
yohei sugigami
PDF
効率的なアプリ開発のベストプラクティス
by
yayugu
PDF
WatchKitを実際にさわってみてわかったこと
by
Shuichi Tsutsumi
PDF
WKWebViewとUIWebView
by
Yuki Hirai
PDF
VC「もしかして...」Model「私たち...」「「入れ替わってるー!?」」を前前前世から防ぐ方法
by
Kenji Tanaka
PDF
Swift らしい表現を目指そう #eventdots
by
Tomohiro Kumagai
PDF
卒研発表
by
yayugu
PDF
Procon 2010/10/16
by
yayugu
PDF
スマホスキャン 報道用 別紙資料
by
SumoWrestlersStew
PPTX
iOS bust #1
by
Ken Haneda
PDF
未踏成果発表
by
yayugu
PDF
freee社でのReactiveCocoa活用例
by
yo_waka
PDF
OHHTTPStubsを使ったiOSアプリ開発
by
今城 善矩
PDF
var RAC3 = ReactiveCocoa + Swift @ ReactiveCocoa Tokyo #rac_tokyo 10/18
by
Syo Ikeda
PDF
アップルのテンプレートは有害と考えられる
by
Brian Gesiak
PDF
サーバPUSHざっくりまとめ
by
Yasuhiro Mawarimichi
PDF
インフラで実践したチームビルディングそれはサバ天
by
ume3_
PDF
「地方零細スタートアップの失敗ノウハウ」in iOSスタートアップ勉強会 #3
by
Yukidama
PDF
みんなで Swift 復習会での談笑用スライド – 6th #minna_de_swift
by
Tomohiro Kumagai
PDF
distinctUntilChanged の使いどころ
by
正之 安宅
iOS 通信のパフォーマンス改善 ・ iOSオールスターズ登壇資料
by
yohei sugigami
効率的なアプリ開発のベストプラクティス
by
yayugu
WatchKitを実際にさわってみてわかったこと
by
Shuichi Tsutsumi
WKWebViewとUIWebView
by
Yuki Hirai
VC「もしかして...」Model「私たち...」「「入れ替わってるー!?」」を前前前世から防ぐ方法
by
Kenji Tanaka
Swift らしい表現を目指そう #eventdots
by
Tomohiro Kumagai
卒研発表
by
yayugu
Procon 2010/10/16
by
yayugu
スマホスキャン 報道用 別紙資料
by
SumoWrestlersStew
iOS bust #1
by
Ken Haneda
未踏成果発表
by
yayugu
freee社でのReactiveCocoa活用例
by
yo_waka
OHHTTPStubsを使ったiOSアプリ開発
by
今城 善矩
var RAC3 = ReactiveCocoa + Swift @ ReactiveCocoa Tokyo #rac_tokyo 10/18
by
Syo Ikeda
アップルのテンプレートは有害と考えられる
by
Brian Gesiak
サーバPUSHざっくりまとめ
by
Yasuhiro Mawarimichi
インフラで実践したチームビルディングそれはサバ天
by
ume3_
「地方零細スタートアップの失敗ノウハウ」in iOSスタートアップ勉強会 #3
by
Yukidama
みんなで Swift 復習会での談笑用スライド – 6th #minna_de_swift
by
Tomohiro Kumagai
distinctUntilChanged の使いどころ
by
正之 安宅
Similar to エンジニア戦記 〜小さなチーム、大きな未来〜
PDF
Cocoa Pro5
by
hasegawa
PDF
20140827_勉強会挨拶
by
Hiraku Komuro
PPTX
北海道勉強会_20140531
by
Hiraku Komuro
PPTX
最近のiOS開発の現状と実状
by
クラスメソッド株式会社
PDF
Amazon Web Servicesブース:UI×API×AWS 横田 聡
by
クラスメソッド株式会社
PDF
Web API のすすめ
by
Yuji Shimada
PDF
50分で掴み取る ASP.NET Web API パターン&テクニック
by
miso- soup3
PDF
Phpではじめるオブジェクト指向(公開用)
by
VOYAGE GROUP
PDF
DDD 20121106 SEA Forum November
by
増田 亨
PDF
Developers.IO / Developer day 2015 ”モバイル アプリ開発現場でよくある課題と対策”
by
Takeshi Fukasawa
KEY
軽量EvernoteクライアントSmartEverにおけるアプリ高速化の工夫と課題
by
Makoto Setoh
KEY
Ll xcode
by
Net Kanayan
PDF
iOS アプリのメンテナンス性を高めるための基本的な考え方
by
kakegawa-atsushi
PDF
スマホアプリ開発者のためのWeb api開発入門の入門
by
Kenyu Miura
PDF
Hypermedia: The Missing Element to Building Adaptable Web APIs in Rails (増補日本語版)
by
Toru Kawamura
PDF
LambdaとMobileの美味しいかもしれない関係
by
Hiraku Komuro
PDF
AWS as MBaaS 〜APIキーとかの話〜
by
Yuki Hirai
PDF
ドメイン駆動設計 ( DDD ) をやってみよう
by
増田 亨
KEY
1.29.user,user,user
by
Tonny Xu
PPTX
Web API(Dynamics 365 )勉強会
by
Kazuya Sugimoto
Cocoa Pro5
by
hasegawa
20140827_勉強会挨拶
by
Hiraku Komuro
北海道勉強会_20140531
by
Hiraku Komuro
最近のiOS開発の現状と実状
by
クラスメソッド株式会社
Amazon Web Servicesブース:UI×API×AWS 横田 聡
by
クラスメソッド株式会社
Web API のすすめ
by
Yuji Shimada
50分で掴み取る ASP.NET Web API パターン&テクニック
by
miso- soup3
Phpではじめるオブジェクト指向(公開用)
by
VOYAGE GROUP
DDD 20121106 SEA Forum November
by
増田 亨
Developers.IO / Developer day 2015 ”モバイル アプリ開発現場でよくある課題と対策”
by
Takeshi Fukasawa
軽量EvernoteクライアントSmartEverにおけるアプリ高速化の工夫と課題
by
Makoto Setoh
Ll xcode
by
Net Kanayan
iOS アプリのメンテナンス性を高めるための基本的な考え方
by
kakegawa-atsushi
スマホアプリ開発者のためのWeb api開発入門の入門
by
Kenyu Miura
Hypermedia: The Missing Element to Building Adaptable Web APIs in Rails (増補日本語版)
by
Toru Kawamura
LambdaとMobileの美味しいかもしれない関係
by
Hiraku Komuro
AWS as MBaaS 〜APIキーとかの話〜
by
Yuki Hirai
ドメイン駆動設計 ( DDD ) をやってみよう
by
増田 亨
1.29.user,user,user
by
Tonny Xu
Web API(Dynamics 365 )勉強会
by
Kazuya Sugimoto
エンジニア戦記 〜小さなチーム、大きな未来〜
1.
Copyright © Classmethod,
Inc.
2.
平井祐樹 29 2011/2 Classmethod入社 iOS 開発歴2年半 blog
http://dev.classmethod.jp/author/hirai-yuki
3.
Copyright © Classmethod,
Inc. って何の会社?クラスメソッド
4.
Copyright © Classmethod,
Inc. Solutions AWSコンサルティング Amazonクラウドに特化したサービス提供 iOSアプリ開発 iOS/Android ネイティブアプリケーション開発
5.
Copyright © Classmethod,
Inc. Developers.IO
6.
Copyright © Classmethod,
Inc. Developers.IO 月間平均 80 万PV
7.
Copyright © Classmethod,
Inc. こんな感じでしょ?
8.
Copyright © Classmethod,
Inc.
9.
Copyright © Classmethod,
Inc. こんな感じです。
10.
注:テーブルのお札はおもちゃです
11.
Copyright © Classmethod,
Inc. プロジェクト登場人物 デザイナー プロダクトオーナー Web API担当者 iOS エンジニア
12.
Copyright © Classmethod,
Inc. 今日のお話 Web API担当者iOS エンジニア
13.
Copyright © Classmethod,
Inc. 今日のお話 Web API との付き合い方 Web API 担当者ヲ攻略セヨ
14.
Copyright © Classmethod,
Inc. 突然ですが…
15.
Copyright © Classmethod,
Inc. プロジェクトに 参加してもらいます
16.
Copyright © Classmethod,
Inc. イメージしてみてください
17.
Copyright © Classmethod,
Inc. 今あなたはとあるプロジェクトの iOSエンジニアとしてアサインさ れました。 その一方で、 サーバーサイドエンジニアが WebAPIの実装をしています。
18.
Copyright © Classmethod,
Inc. Web API 完成 ?
19.
Copyright © Classmethod,
Inc. iOSの実装を進めていたあなたは と、日頃の戦いに疲れきっている のにも関わらずちょっと元気がで ます。 「よし!これで結合できるぞ!」
20.
Copyright © Classmethod,
Inc. おもむろに仕様書に目を通すと
21.
Copyright © Classmethod,
Inc. { "header": { "status": "success", "message": "..." }, "response": { "topics": [{ "topic_id": 123, "topic_title": "...", "topic_content": "...", "category_id": 456, "category_name": "..." }] } }
22.
Copyright © Classmethod,
Inc. あなたは気づいてしまいます。
23.
Copyright © Classmethod,
Inc. { "header": { "status": "success", "message": "..." }, "response": { "topics": [{ "topic_id": 123, "topic_title": "...", "topic_content": "...", "category_id": 456, "category_name": "..." }] } }
24.
Copyright © Classmethod,
Inc. { "header": { "status": "success", "message": "..." }, "response": { "topics": [{ "topic_id": 123, "topic_title": "...", "topic_content": "...", "category_id": 456, "category_name": "..." }] } } HTTPステータスコードで 表してくれればいいのに!
25.
Copyright © Classmethod,
Inc. このままだと…
26.
Copyright © Classmethod,
Inc. AFHTTPRequestOperationManager *manager; [manager GET:@"http://xxx.com/possts" parameters:nil success:^(...) { // 成功時の処理 } failure:^(...) { // 失敗時の処理 }]; エラーが発生しても こっち
27.
Copyright © Classmethod,
Inc. さらに
28.
Copyright © Classmethod,
Inc. { "header": { "status": "success", "message": "..." }, "response": { "topics": [{ "topic_id": 123, "topic_title": "...", "topic_content": "...", "category_id": 456, "category_name": "..." }] } }
29.
Copyright © Classmethod,
Inc. { "header": { "status": "success", "message": "..." }, "response": { "topics": [{ "topic_id": 123, "topic_title": "...", "topic_content": "...", "category_id": 456, "category_name": "..." }] } } いらないのに
30.
Copyright © Classmethod,
Inc. @interface CLMTopic : NSObject @property (nonatomic) NSInteger topicIdentifier; @property (nonatomic) NSString *topicTitle; @property (nonatomic) NSString *topicContent; @end 格好悪いなぁ
31.
Copyright © Classmethod,
Inc. あなたは Web API 担当者に こう提案します。
32.
Copyright © Classmethod,
Inc. { "topics": [{ "id": 123, "title": "...", "content": "...", "category_id": 456, "category_name": "..." }] }
33.
Copyright © Classmethod,
Inc. Web API 担当者は内心こう思います。
34.
Copyright © Classmethod,
Inc. (ったく、めんどくせぇな・・・)
35.
Copyright © Classmethod,
Inc. そんな空気を感じてもあなたは 動じず提案を続けました。
36.
Copyright © Classmethod,
Inc. すると、新しいAPIを手に入れる ことができました! これで実装への悪影響を回避する ことができますね。
37.
Copyright © Classmethod,
Inc. 一安心もつかの間・・・
38.
Copyright © Classmethod,
Inc. おもむろに仕様書に目を通すと
39.
Copyright © Classmethod,
Inc. { "categories": [{ "id": 456, "name": "..." }] }
40.
Copyright © Classmethod,
Inc. また あなたは気づいてしまいます。
41.
Copyright © Classmethod,
Inc. { "topics": [{ "id": 123, "title": "...", "content": "...", "category_id": 456, "category_name": "..." }] } { "categories": [{ "id": 456, "name": "..." }] }
42.
Copyright © Classmethod,
Inc. このままだと…
43.
Copyright © Classmethod,
Inc. @interface CLMTopic : NSObject @property (nonatomic) NSInteger identifer; @property (nonatomic) NSString *title; @property (nonatomic) NSString *content; @property (nonatomic) NSInteger categoryIdentifier; @property (nonatomic) NSInteger categoryName; @end @interface CLMCategory : NSObject @property (nonatomic) NSInteger identifier; @property (nonatomic) NSInteger name; @end しっくりこない・・・
44.
Copyright © Classmethod,
Inc. あなたは Web API 担当者に こう提案します。
45.
Copyright © Classmethod,
Inc. { "topics": [{ "id": 123, "title": "...", "content": "...", "category": { "id": 456, "name": "..." } }] }
46.
Copyright © Classmethod,
Inc. @interface CLMTopic : NSObject @property (nonatomic) NSInteger identifer; @property (nonatomic) NSString *title; @property (nonatomic) NSString *content; @property (nonatomic) CLMCategory *category; @end @interface CLMCategory : NSObject @property (nonatomic) NSInteger identifier; @property (nonatomic) NSInteger name; @end
47.
Copyright © Classmethod,
Inc. Web API 担当者は内心こう思います。
48.
Copyright © Classmethod,
Inc. (ああーーあーあーー)
49.
Copyright © Classmethod,
Inc. 変な空気を感じながらも あなたは提案を続けました。
50.
Copyright © Classmethod,
Inc. すると、また新しいAPIを手に入 れることができました! これでまた実装への悪影響を回避 することができますね。
51.
Copyright © Classmethod,
Inc. 一安心もつかの間・・・
52.
Copyright © Classmethod,
Inc. おもむろに仕様書に目を通すと
53.
Copyright © Classmethod,
Inc. 目的 エンドポイント トピック一覧取得 https://api.xxx.com/v1/topics/ カテゴリー一覧取得 https://api.xxx.com/v1/categories/ おすすめ商品取得 https://api.xxx.com/v1/products/recommend ユーザー情報取得 https://api.example.com/v1/user/
54.
Copyright © Classmethod,
Inc. またまた あなたは気づいてしまいます。
55.
Copyright © Classmethod,
Inc. ホーム画面 カテゴリー一覧取得API おすすめ商品一覧API ユーザー情報取得API トピック一覧取得API
56.
Copyright © Classmethod,
Inc. ホーム画面 カテゴリー一覧取得API おすすめ商品一覧API ユーザー情報取得API トピック一覧取得API 1画面表示するのに 何個API叩きゃいいんだ!?
57.
Copyright © Classmethod,
Inc. あなたは Web API 担当者に こう提案します。
58.
Copyright © Classmethod,
Inc. 1 Screen, 1 API call
59.
Copyright © Classmethod,
Inc. 1 Screen, 1 API call
60.
Copyright © Classmethod,
Inc. 1 Screen, 1 API call
61.
Copyright © Classmethod,
Inc. Web API 担当者は言いました。
62.
Copyright © Classmethod,
Inc. 「Ha?」
63.
Copyright © Classmethod,
Inc. あなたは続けます
64.
Copyright © Classmethod,
Inc. 1画面を表示するのに、何度も異なるAPIにアクセ スしなければならず、非効率ですし、画面を表示す るまでに時間もかかってしまい、ユーザーを待たせ てしまいます。これは良いユーザー体験とはいえま せん。何度もAPIへのアクセスを繰り返すことは、 速度の問題だけでなく、データの一部だけが表示さ れてしまうといった問題を引き起こす可能性もあり ます。したがってとにかくホーム画面で表示する情 報を1つに詰め込んだ "ホーム画面専用" APIを作 成し、それに1回アクセスするだけですべての情報 が取得できた方が確実に利便性が高いです。 詳しくは "Web API The Good Parts" をご覧ください。
65.
Copyright © Classmethod,
Inc. 「・・・なるほどですね」
66.
Copyright © Classmethod,
Inc. なるほどですね!
67.
Copyright © Classmethod,
Inc. その言葉を聞いてあなたは 実装に戻りました。
68.
Copyright © Classmethod,
Inc. すると、またまた新しいAPIを手 に入れることができました! これでまたまた実装への悪影響を 回避することができますね。
69.
Copyright © Classmethod,
Inc. こうして、 プロジェクトは順調に進み無事納 品することができたのでした。
70.
Copyright © Classmethod,
Inc.
71.
Copyright © Classmethod,
Inc. まとめ • Web API の知識は必須! • Web API The Good Parts を読もう! • 文句を言うのは簡単、改善案を提案 できる力を!
Download