Enviar búsqueda
Cargar
エンジニア戦記 〜小さなチーム、大きな未来〜
•
44 recomendaciones
•
29,109 vistas
Yuki Hirai
Seguir
2015/02/15の iOS オールスター勉強会の発表資料です。
Leer menos
Leer más
Ingeniería
Denunciar
Compartir
Denunciar
Compartir
1 de 72
Descargar ahora
Descargar para leer sin conexión
Recomendados
JavaScript basic, jQuery animation
JavaScript basic, jQuery animation
Yossy Taka
JavaScriptのオブジェクト:Mathオブジェクト、Dateオブジェクト
JavaScriptのオブジェクト:Mathオブジェクト、Dateオブジェクト
Yossy Taka
JavaScript Basic 02 jQuery
JavaScript Basic 02 jQuery
Yossy Taka
WebデザイナのためのjQuery入門。
WebデザイナのためのjQuery入門。
Yossy Taka
Javascript入門-デジタル時計を作りながらJavaScriptを学ぼう-
Javascript入門-デジタル時計を作りながらJavaScriptを学ぼう-
Yossy Taka
JavaScript04 jquery プラグインを使おう
JavaScript04 jquery プラグインを使おう
Yossy Taka
WEB開発を加速させる。アジャイル開発に最適なデータ構造とORマッパの形
WEB開発を加速させる。アジャイル開発に最適なデータ構造とORマッパの形
Yusaku Watanabe
JavaScript Basic 01
JavaScript Basic 01
Yossy Taka
Más contenido relacionado
Destacado
iOS 通信のパフォーマンス改善 ・ iOSオールスターズ登壇資料
iOS 通信のパフォーマンス改善 ・ iOSオールスターズ登壇資料
yohei sugigami
効率的なアプリ開発のベストプラクティス
効率的なアプリ開発のベストプラクティス
yayugu
let UIWebView as WKWebView
let UIWebView as WKWebView
Taketo Sano
WatchKitを実際にさわってみてわかったこと
WatchKitを実際にさわってみてわかったこと
Shuichi Tsutsumi
WKWebViewとUIWebView
WKWebViewとUIWebView
Yuki Hirai
VC「もしかして...」Model「私たち...」「「入れ替わってるー!?」」を前前前世から防ぐ方法
VC「もしかして...」Model「私たち...」「「入れ替わってるー!?」」を前前前世から防ぐ方法
Kenji Tanaka
Swift らしい表現を目指そう #eventdots
Swift らしい表現を目指そう #eventdots
Tomohiro Kumagai
卒研発表
卒研発表
yayugu
Procon 2010/10/16
Procon 2010/10/16
yayugu
スマホスキャン 報道用 別紙資料
スマホスキャン 報道用 別紙資料
SumoWrestlersStew
iOS bust #1
iOS bust #1
Ken Haneda
未踏成果発表
未踏成果発表
yayugu
freee社でのReactiveCocoa活用例
freee社でのReactiveCocoa活用例
yo_waka
OHHTTPStubsを使ったiOSアプリ開発
OHHTTPStubsを使ったiOSアプリ開発
今城 善矩
var RAC3 = ReactiveCocoa + Swift @ ReactiveCocoa Tokyo #rac_tokyo 10/18
var RAC3 = ReactiveCocoa + Swift @ ReactiveCocoa Tokyo #rac_tokyo 10/18
Syo Ikeda
アップルのテンプレートは有害と考えられる
アップルのテンプレートは有害と考えられる
Brian Gesiak
サーバPUSHざっくりまとめ
サーバPUSHざっくりまとめ
Yasuhiro Mawarimichi
インフラで実践したチームビルディングそれはサバ天
インフラで実践したチームビルディングそれはサバ天
ume3_
「地方零細スタートアップの失敗ノウハウ」in iOSスタートアップ勉強会 #3
「地方零細スタートアップの失敗ノウハウ」in iOSスタートアップ勉強会 #3
Yukidama
みんなで Swift 復習会での談笑用スライド – 6th #minna_de_swift
みんなで Swift 復習会での談笑用スライド – 6th #minna_de_swift
Tomohiro Kumagai
Destacado
(20)
iOS 通信のパフォーマンス改善 ・ iOSオールスターズ登壇資料
iOS 通信のパフォーマンス改善 ・ iOSオールスターズ登壇資料
効率的なアプリ開発のベストプラクティス
効率的なアプリ開発のベストプラクティス
let UIWebView as WKWebView
let UIWebView as WKWebView
WatchKitを実際にさわってみてわかったこと
WatchKitを実際にさわってみてわかったこと
WKWebViewとUIWebView
WKWebViewとUIWebView
VC「もしかして...」Model「私たち...」「「入れ替わってるー!?」」を前前前世から防ぐ方法
VC「もしかして...」Model「私たち...」「「入れ替わってるー!?」」を前前前世から防ぐ方法
Swift らしい表現を目指そう #eventdots
Swift らしい表現を目指そう #eventdots
卒研発表
卒研発表
Procon 2010/10/16
Procon 2010/10/16
スマホスキャン 報道用 別紙資料
スマホスキャン 報道用 別紙資料
iOS bust #1
iOS bust #1
未踏成果発表
未踏成果発表
freee社でのReactiveCocoa活用例
freee社でのReactiveCocoa活用例
OHHTTPStubsを使ったiOSアプリ開発
OHHTTPStubsを使ったiOSアプリ開発
var RAC3 = ReactiveCocoa + Swift @ ReactiveCocoa Tokyo #rac_tokyo 10/18
var RAC3 = ReactiveCocoa + Swift @ ReactiveCocoa Tokyo #rac_tokyo 10/18
アップルのテンプレートは有害と考えられる
アップルのテンプレートは有害と考えられる
サーバPUSHざっくりまとめ
サーバPUSHざっくりまとめ
インフラで実践したチームビルディングそれはサバ天
インフラで実践したチームビルディングそれはサバ天
「地方零細スタートアップの失敗ノウハウ」in iOSスタートアップ勉強会 #3
「地方零細スタートアップの失敗ノウハウ」in iOSスタートアップ勉強会 #3
みんなで Swift 復習会での談笑用スライド – 6th #minna_de_swift
みんなで Swift 復習会での談笑用スライド – 6th #minna_de_swift
Similar a エンジニア戦記 〜小さなチーム、大きな未来〜
フロントエンドエンジニアに伝えたい 常時SSLとCDNの話
フロントエンドエンジニアに伝えたい 常時SSLとCDNの話
Takahisa Iwamoto
CodeIgniterによるPhwittr
CodeIgniterによるPhwittr
kenjis
Treasure data demo.0517
Treasure data demo.0517
BigData Sios
Phpではじめるオブジェクト指向(公開用)
Phpではじめるオブジェクト指向(公開用)
VOYAGE GROUP
AWS as MBaaS 〜APIキーとかの話〜
AWS as MBaaS 〜APIキーとかの話〜
Yuki Hirai
AWS Black Belt Online Seminar - Amazon Lightsail
AWS Black Belt Online Seminar - Amazon Lightsail
Amazon Web Services Japan
AWS SDK for Smalltalk
AWS SDK for Smalltalk
Sho Yoshida
Elastic Cloudを活用!!ゼロトラストセキュリティの「はじめの一歩」
Elastic Cloudを活用!!ゼロトラストセキュリティの「はじめの一歩」
Hibino Hisashi
20120118 titanium
20120118 titanium
Hiroshi Oyamada
リクルート式 自然言語処理技術の適応事例紹介
リクルート式 自然言語処理技術の適応事例紹介
Recruit Technologies
[日本語・Japanese] Creative Technical Content for Better Developer Experience
[日本語・Japanese] Creative Technical Content for Better Developer Experience
Tomomi Imura
モバイルファースト時代のクラウドネイティブアーキテクチャ JAWS DAYS 2015
モバイルファースト時代のクラウドネイティブアーキテクチャ JAWS DAYS 2015
Rikitake Oohashi
JAZUG_TOHOKU_modeki_20230324_共有版.pdf
JAZUG_TOHOKU_modeki_20230324_共有版.pdf
Yuya Modeki
"今" 押さえておきたい! Web アプリ開発の技術トレンドとツールの進化
"今" 押さえておきたい! Web アプリ開発の技術トレンドとツールの進化
Akira Inoue
AWS Black Belt Online Seminar 2018 re:Invent 2017 Recap Machine Learning / Da...
AWS Black Belt Online Seminar 2018 re:Invent 2017 Recap Machine Learning / Da...
Amazon Web Services Japan
Kinesushi cmregrowth-2014-tokyo-20141216
Kinesushi cmregrowth-2014-tokyo-20141216
Ryo Suzuki
20180221 AWS Black Belt Online Seminar AWS Lambda@Edge
20180221 AWS Black Belt Online Seminar AWS Lambda@Edge
Amazon Web Services Japan
テキスト型Domain Specific Language (DSL) 開発フレームワークXtext の紹介
テキスト型Domain Specific Language (DSL) 開発フレームワークXtext の紹介
Shintaro Hosoai
リクルート式 自然言語処理技術の適応事例紹介
リクルート式 自然言語処理技術の適応事例紹介
Recruit Technologies
脱コピペ!デザイナーにもわかるPHPとWP_Query
脱コピペ!デザイナーにもわかるPHPとWP_Query
Hidekazu Ishikawa
Similar a エンジニア戦記 〜小さなチーム、大きな未来〜
(20)
フロントエンドエンジニアに伝えたい 常時SSLとCDNの話
フロントエンドエンジニアに伝えたい 常時SSLとCDNの話
CodeIgniterによるPhwittr
CodeIgniterによるPhwittr
Treasure data demo.0517
Treasure data demo.0517
Phpではじめるオブジェクト指向(公開用)
Phpではじめるオブジェクト指向(公開用)
AWS as MBaaS 〜APIキーとかの話〜
AWS as MBaaS 〜APIキーとかの話〜
AWS Black Belt Online Seminar - Amazon Lightsail
AWS Black Belt Online Seminar - Amazon Lightsail
AWS SDK for Smalltalk
AWS SDK for Smalltalk
Elastic Cloudを活用!!ゼロトラストセキュリティの「はじめの一歩」
Elastic Cloudを活用!!ゼロトラストセキュリティの「はじめの一歩」
20120118 titanium
20120118 titanium
リクルート式 自然言語処理技術の適応事例紹介
リクルート式 自然言語処理技術の適応事例紹介
[日本語・Japanese] Creative Technical Content for Better Developer Experience
[日本語・Japanese] Creative Technical Content for Better Developer Experience
モバイルファースト時代のクラウドネイティブアーキテクチャ JAWS DAYS 2015
モバイルファースト時代のクラウドネイティブアーキテクチャ JAWS DAYS 2015
JAZUG_TOHOKU_modeki_20230324_共有版.pdf
JAZUG_TOHOKU_modeki_20230324_共有版.pdf
"今" 押さえておきたい! Web アプリ開発の技術トレンドとツールの進化
"今" 押さえておきたい! Web アプリ開発の技術トレンドとツールの進化
AWS Black Belt Online Seminar 2018 re:Invent 2017 Recap Machine Learning / Da...
AWS Black Belt Online Seminar 2018 re:Invent 2017 Recap Machine Learning / Da...
Kinesushi cmregrowth-2014-tokyo-20141216
Kinesushi cmregrowth-2014-tokyo-20141216
20180221 AWS Black Belt Online Seminar AWS Lambda@Edge
20180221 AWS Black Belt Online Seminar AWS Lambda@Edge
テキスト型Domain Specific Language (DSL) 開発フレームワークXtext の紹介
テキスト型Domain Specific Language (DSL) 開発フレームワークXtext の紹介
リクルート式 自然言語処理技術の適応事例紹介
リクルート式 自然言語処理技術の適応事例紹介
脱コピペ!デザイナーにもわかるPHPとWP_Query
脱コピペ!デザイナーにもわかるPHPとWP_Query
エンジニア戦記 〜小さなチーム、大きな未来〜
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 を読もう! • 文句を言うのは簡単、改善案を提案 できる力を!
Descargar ahora