Submit Search
Upload
Yahoo! JAPAN アプリという 大規模アプリの設計と開発 #yjcamp
•
2 likes
•
3,012 views
Yahoo!デベロッパーネットワーク
Follow
2017.03.16 CAMPFIRE iOS #1 https://yj-meetup.connpass.com/event/51735/ での発表内容です。
Read less
Read more
Technology
Report
Share
Report
Share
1 of 26
Download now
Download to read offline
Recommended
Goでヤフーの分散オブジェクトストレージを作った話 Go Conference 2017 Spring
Goでヤフーの分散オブジェクトストレージを作った話 Go Conference 2017 Spring
Yahoo!デベロッパーネットワーク
ホットペッパービューティーアプリリプレイスとMVCP
ホットペッパービューティーアプリリプレイスとMVCP
Recruit Lifestyle Co., Ltd.
Yahoo! JAPANが持つデータ分析ソリューションの紹介 #yjdsnight
Yahoo! JAPANが持つデータ分析ソリューションの紹介 #yjdsnight
Yahoo!デベロッパーネットワーク
go 1.8 net/http timeouts
go 1.8 net/http timeouts
Yahoo!デベロッパーネットワーク
Prestoクエリログの保存/分析機能の構築 #yjdsnight
Prestoクエリログの保存/分析機能の構築 #yjdsnight
Yahoo!デベロッパーネットワーク
Yahoo!ブラウザーにおける市場環境の分析と戦略化
Yahoo!ブラウザーにおける市場環境の分析と戦略化
Yahoo!デベロッパーネットワーク
Presto in Yahoo! JAPAN #yjdsnight
Presto in Yahoo! JAPAN #yjdsnight
Yahoo!デベロッパーネットワーク
ヤフオク!の快適なカスタマー体験を支えるモバイルアプリのライブアップデート技術
ヤフオク!の快適なカスタマー体験を支えるモバイルアプリのライブアップデート技術
Yahoo!デベロッパーネットワーク
Recommended
Goでヤフーの分散オブジェクトストレージを作った話 Go Conference 2017 Spring
Goでヤフーの分散オブジェクトストレージを作った話 Go Conference 2017 Spring
Yahoo!デベロッパーネットワーク
ホットペッパービューティーアプリリプレイスとMVCP
ホットペッパービューティーアプリリプレイスとMVCP
Recruit Lifestyle Co., Ltd.
Yahoo! JAPANが持つデータ分析ソリューションの紹介 #yjdsnight
Yahoo! JAPANが持つデータ分析ソリューションの紹介 #yjdsnight
Yahoo!デベロッパーネットワーク
go 1.8 net/http timeouts
go 1.8 net/http timeouts
Yahoo!デベロッパーネットワーク
Prestoクエリログの保存/分析機能の構築 #yjdsnight
Prestoクエリログの保存/分析機能の構築 #yjdsnight
Yahoo!デベロッパーネットワーク
Yahoo!ブラウザーにおける市場環境の分析と戦略化
Yahoo!ブラウザーにおける市場環境の分析と戦略化
Yahoo!デベロッパーネットワーク
Presto in Yahoo! JAPAN #yjdsnight
Presto in Yahoo! JAPAN #yjdsnight
Yahoo!デベロッパーネットワーク
ヤフオク!の快適なカスタマー体験を支えるモバイルアプリのライブアップデート技術
ヤフオク!の快適なカスタマー体験を支えるモバイルアプリのライブアップデート技術
Yahoo!デベロッパーネットワーク
Yahoo! JAPANのサービス開発を10倍早くした社内PaaS構築の今とこれから
Yahoo! JAPANのサービス開発を10倍早くした社内PaaS構築の今とこれから
Yahoo!デベロッパーネットワーク
グロースハック なぜ我々は無意味な施策を打ってしまうのか
グロースハック なぜ我々は無意味な施策を打ってしまうのか
Yahoo!デベロッパーネットワーク
市場で勝ち続けるための品質とテストの技術②
市場で勝ち続けるための品質とテストの技術②
Yahoo!デベロッパーネットワーク
行列ができるECサイトの悩み~ショッピングや決済の技術的問題と処方箋
行列ができるECサイトの悩み~ショッピングや決済の技術的問題と処方箋
Yahoo!デベロッパーネットワーク
Yahoo!ブラウザーアプリのプロダクトマネージャーが考えていること
Yahoo!ブラウザーアプリのプロダクトマネージャーが考えていること
Yahoo!デベロッパーネットワーク
Storm の新機能について @HSCR #hadoopreading
Storm の新機能について @HSCR #hadoopreading
Yahoo!デベロッパーネットワーク
市場で勝ち続けるための品質とテストの技術①
市場で勝ち続けるための品質とテストの技術①
Yahoo!デベロッパーネットワーク
データテクノロジースペシャル:Yahoo! JAPANにおけるメタデータ管理の試み
データテクノロジースペシャル:Yahoo! JAPANにおけるメタデータ管理の試み
Yahoo!デベロッパーネットワーク
Yahoo! JAPAN MeetUp #8 (インフラ技術カンファレンス)セッション④
Yahoo! JAPAN MeetUp #8 (インフラ技術カンファレンス)セッション④
Yahoo!デベロッパーネットワーク
Automation of Rolling Upgrade of Hadoop Cluster without Data Lost and Job Fai...
Automation of Rolling Upgrade of Hadoop Cluster without Data Lost and Job Fai...
Yahoo!デベロッパーネットワーク
決済金融から始めるデータドリブンカンパニー #yjmu
決済金融から始めるデータドリブンカンパニー #yjmu
Yahoo!デベロッパーネットワーク
データ利活用を促進するメタデータ
データ利活用を促進するメタデータ
Yahoo!デベロッパーネットワーク
Yahoo! JAPAN MeetUp #8 (インフラ技術カンファレンス)LT⑦
Yahoo! JAPAN MeetUp #8 (インフラ技術カンファレンス)LT⑦
Yahoo!デベロッパーネットワーク
Elasticsearch 5.2とJava Clientで戯れる #elasticsearchjp
Elasticsearch 5.2とJava Clientで戯れる #elasticsearchjp
Yahoo!デベロッパーネットワーク
Vue.js with Go
Vue.js with Go
Kazuhiro Kubota
[Growth hack]RakutenTravel App Development
[Growth hack]RakutenTravel App Development
Emi Takahashi
Yahoo! JAPAN MeetUp #8 (インフラ技術カンファレンス)LT③
Yahoo! JAPAN MeetUp #8 (インフラ技術カンファレンス)LT③
Yahoo!デベロッパーネットワーク
第2回 NIPS+読み会・関西 発表資料 山本
第2回 NIPS+読み会・関西 発表資料 山本
Yahoo!デベロッパーネットワーク
大規模クラスタでのHadoop課題
大規模クラスタでのHadoop課題
Yahoo!デベロッパーネットワーク
Yahoo! JAPAN MeetUp #8 (インフラ技術カンファレンス)セッション①
Yahoo! JAPAN MeetUp #8 (インフラ技術カンファレンス)セッション①
Yahoo!デベロッパーネットワーク
ゼロから始める転移学習
ゼロから始める転移学習
Yahoo!デベロッパーネットワーク
継続的なモデルモニタリングを実現するKubernetes Operator
継続的なモデルモニタリングを実現するKubernetes Operator
Yahoo!デベロッパーネットワーク
More Related Content
Viewers also liked
Yahoo! JAPANのサービス開発を10倍早くした社内PaaS構築の今とこれから
Yahoo! JAPANのサービス開発を10倍早くした社内PaaS構築の今とこれから
Yahoo!デベロッパーネットワーク
グロースハック なぜ我々は無意味な施策を打ってしまうのか
グロースハック なぜ我々は無意味な施策を打ってしまうのか
Yahoo!デベロッパーネットワーク
市場で勝ち続けるための品質とテストの技術②
市場で勝ち続けるための品質とテストの技術②
Yahoo!デベロッパーネットワーク
行列ができるECサイトの悩み~ショッピングや決済の技術的問題と処方箋
行列ができるECサイトの悩み~ショッピングや決済の技術的問題と処方箋
Yahoo!デベロッパーネットワーク
Yahoo!ブラウザーアプリのプロダクトマネージャーが考えていること
Yahoo!ブラウザーアプリのプロダクトマネージャーが考えていること
Yahoo!デベロッパーネットワーク
Storm の新機能について @HSCR #hadoopreading
Storm の新機能について @HSCR #hadoopreading
Yahoo!デベロッパーネットワーク
市場で勝ち続けるための品質とテストの技術①
市場で勝ち続けるための品質とテストの技術①
Yahoo!デベロッパーネットワーク
データテクノロジースペシャル:Yahoo! JAPANにおけるメタデータ管理の試み
データテクノロジースペシャル:Yahoo! JAPANにおけるメタデータ管理の試み
Yahoo!デベロッパーネットワーク
Yahoo! JAPAN MeetUp #8 (インフラ技術カンファレンス)セッション④
Yahoo! JAPAN MeetUp #8 (インフラ技術カンファレンス)セッション④
Yahoo!デベロッパーネットワーク
Automation of Rolling Upgrade of Hadoop Cluster without Data Lost and Job Fai...
Automation of Rolling Upgrade of Hadoop Cluster without Data Lost and Job Fai...
Yahoo!デベロッパーネットワーク
決済金融から始めるデータドリブンカンパニー #yjmu
決済金融から始めるデータドリブンカンパニー #yjmu
Yahoo!デベロッパーネットワーク
データ利活用を促進するメタデータ
データ利活用を促進するメタデータ
Yahoo!デベロッパーネットワーク
Yahoo! JAPAN MeetUp #8 (インフラ技術カンファレンス)LT⑦
Yahoo! JAPAN MeetUp #8 (インフラ技術カンファレンス)LT⑦
Yahoo!デベロッパーネットワーク
Elasticsearch 5.2とJava Clientで戯れる #elasticsearchjp
Elasticsearch 5.2とJava Clientで戯れる #elasticsearchjp
Yahoo!デベロッパーネットワーク
Vue.js with Go
Vue.js with Go
Kazuhiro Kubota
[Growth hack]RakutenTravel App Development
[Growth hack]RakutenTravel App Development
Emi Takahashi
Yahoo! JAPAN MeetUp #8 (インフラ技術カンファレンス)LT③
Yahoo! JAPAN MeetUp #8 (インフラ技術カンファレンス)LT③
Yahoo!デベロッパーネットワーク
第2回 NIPS+読み会・関西 発表資料 山本
第2回 NIPS+読み会・関西 発表資料 山本
Yahoo!デベロッパーネットワーク
大規模クラスタでのHadoop課題
大規模クラスタでのHadoop課題
Yahoo!デベロッパーネットワーク
Yahoo! JAPAN MeetUp #8 (インフラ技術カンファレンス)セッション①
Yahoo! JAPAN MeetUp #8 (インフラ技術カンファレンス)セッション①
Yahoo!デベロッパーネットワーク
Viewers also liked
(20)
Yahoo! JAPANのサービス開発を10倍早くした社内PaaS構築の今とこれから
Yahoo! JAPANのサービス開発を10倍早くした社内PaaS構築の今とこれから
グロースハック なぜ我々は無意味な施策を打ってしまうのか
グロースハック なぜ我々は無意味な施策を打ってしまうのか
市場で勝ち続けるための品質とテストの技術②
市場で勝ち続けるための品質とテストの技術②
行列ができるECサイトの悩み~ショッピングや決済の技術的問題と処方箋
行列ができるECサイトの悩み~ショッピングや決済の技術的問題と処方箋
Yahoo!ブラウザーアプリのプロダクトマネージャーが考えていること
Yahoo!ブラウザーアプリのプロダクトマネージャーが考えていること
Storm の新機能について @HSCR #hadoopreading
Storm の新機能について @HSCR #hadoopreading
市場で勝ち続けるための品質とテストの技術①
市場で勝ち続けるための品質とテストの技術①
データテクノロジースペシャル:Yahoo! JAPANにおけるメタデータ管理の試み
データテクノロジースペシャル:Yahoo! JAPANにおけるメタデータ管理の試み
Yahoo! JAPAN MeetUp #8 (インフラ技術カンファレンス)セッション④
Yahoo! JAPAN MeetUp #8 (インフラ技術カンファレンス)セッション④
Automation of Rolling Upgrade of Hadoop Cluster without Data Lost and Job Fai...
Automation of Rolling Upgrade of Hadoop Cluster without Data Lost and Job Fai...
決済金融から始めるデータドリブンカンパニー #yjmu
決済金融から始めるデータドリブンカンパニー #yjmu
データ利活用を促進するメタデータ
データ利活用を促進するメタデータ
Yahoo! JAPAN MeetUp #8 (インフラ技術カンファレンス)LT⑦
Yahoo! JAPAN MeetUp #8 (インフラ技術カンファレンス)LT⑦
Elasticsearch 5.2とJava Clientで戯れる #elasticsearchjp
Elasticsearch 5.2とJava Clientで戯れる #elasticsearchjp
Vue.js with Go
Vue.js with Go
[Growth hack]RakutenTravel App Development
[Growth hack]RakutenTravel App Development
Yahoo! JAPAN MeetUp #8 (インフラ技術カンファレンス)LT③
Yahoo! JAPAN MeetUp #8 (インフラ技術カンファレンス)LT③
第2回 NIPS+読み会・関西 発表資料 山本
第2回 NIPS+読み会・関西 発表資料 山本
大規模クラスタでのHadoop課題
大規模クラスタでのHadoop課題
Yahoo! JAPAN MeetUp #8 (インフラ技術カンファレンス)セッション①
Yahoo! JAPAN MeetUp #8 (インフラ技術カンファレンス)セッション①
More from Yahoo!デベロッパーネットワーク
ゼロから始める転移学習
ゼロから始める転移学習
Yahoo!デベロッパーネットワーク
継続的なモデルモニタリングを実現するKubernetes Operator
継続的なモデルモニタリングを実現するKubernetes Operator
Yahoo!デベロッパーネットワーク
ヤフーでは開発迅速性と品質のバランスをどう取ってるか
ヤフーでは開発迅速性と品質のバランスをどう取ってるか
Yahoo!デベロッパーネットワーク
オンプレML基盤on Kubernetes パネルディスカッション
オンプレML基盤on Kubernetes パネルディスカッション
Yahoo!デベロッパーネットワーク
LakeTahoe
LakeTahoe
Yahoo!デベロッパーネットワーク
オンプレML基盤on Kubernetes 〜Yahoo! JAPAN AIPF〜
オンプレML基盤on Kubernetes 〜Yahoo! JAPAN AIPF〜
Yahoo!デベロッパーネットワーク
Persistent-memory-native Database High-availability Feature
Persistent-memory-native Database High-availability Feature
Yahoo!デベロッパーネットワーク
データの価値を最大化させるためのデザイン~データビジュアライゼーションの方法~ #devsumi 17-E-2
データの価値を最大化させるためのデザイン~データビジュアライゼーションの方法~ #devsumi 17-E-2
Yahoo!デベロッパーネットワーク
eコマースと実店舗の相互利益を目指したデザイン #yjtc
eコマースと実店舗の相互利益を目指したデザイン #yjtc
Yahoo!デベロッパーネットワーク
ヤフーを支えるセキュリティ ~サイバー攻撃を防ぐエンジニアの仕事とは~ #yjtc
ヤフーを支えるセキュリティ ~サイバー攻撃を防ぐエンジニアの仕事とは~ #yjtc
Yahoo!デベロッパーネットワーク
Yahoo! JAPANのIaaSを支えるKubernetesクラスタ、アップデート自動化への挑戦 #yjtc
Yahoo! JAPANのIaaSを支えるKubernetesクラスタ、アップデート自動化への挑戦 #yjtc
Yahoo!デベロッパーネットワーク
ビッグデータから人々のムードを捉える #yjtc
ビッグデータから人々のムードを捉える #yjtc
Yahoo!デベロッパーネットワーク
サイエンス領域におけるMLOpsの取り組み #yjtc
サイエンス領域におけるMLOpsの取り組み #yjtc
Yahoo!デベロッパーネットワーク
ヤフーのAIプラットフォーム紹介 ~AIテックカンパニーを支えるデータ基盤~ #yjtc
ヤフーのAIプラットフォーム紹介 ~AIテックカンパニーを支えるデータ基盤~ #yjtc
Yahoo!デベロッパーネットワーク
Yahoo! JAPAN Tech Conference 2022 Day2 Keynote #yjtc
Yahoo! JAPAN Tech Conference 2022 Day2 Keynote #yjtc
Yahoo!デベロッパーネットワーク
新技術を使った次世代の商品の見せ方 ~ヤフオク!のマルチビュー機能~ #yjtc
新技術を使った次世代の商品の見せ方 ~ヤフオク!のマルチビュー機能~ #yjtc
Yahoo!デベロッパーネットワーク
PC版Yahoo!メールリニューアル ~サービスのUI/UX統合と改善プロセス~ #yjtc
PC版Yahoo!メールリニューアル ~サービスのUI/UX統合と改善プロセス~ #yjtc
Yahoo!デベロッパーネットワーク
モブデザインによる多職種チームのコミュニケーション改善 #yjtc
モブデザインによる多職種チームのコミュニケーション改善 #yjtc
Yahoo!デベロッパーネットワーク
「新しいおうち探し」のためのAIアシスト検索 #yjtc
「新しいおうち探し」のためのAIアシスト検索 #yjtc
Yahoo!デベロッパーネットワーク
ユーザーの地域を考慮した検索入力補助機能の改善の試み #yjtc
ユーザーの地域を考慮した検索入力補助機能の改善の試み #yjtc
Yahoo!デベロッパーネットワーク
More from Yahoo!デベロッパーネットワーク
(20)
ゼロから始める転移学習
ゼロから始める転移学習
継続的なモデルモニタリングを実現するKubernetes Operator
継続的なモデルモニタリングを実現するKubernetes Operator
ヤフーでは開発迅速性と品質のバランスをどう取ってるか
ヤフーでは開発迅速性と品質のバランスをどう取ってるか
オンプレML基盤on Kubernetes パネルディスカッション
オンプレML基盤on Kubernetes パネルディスカッション
LakeTahoe
LakeTahoe
オンプレML基盤on Kubernetes 〜Yahoo! JAPAN AIPF〜
オンプレML基盤on Kubernetes 〜Yahoo! JAPAN AIPF〜
Persistent-memory-native Database High-availability Feature
Persistent-memory-native Database High-availability Feature
データの価値を最大化させるためのデザイン~データビジュアライゼーションの方法~ #devsumi 17-E-2
データの価値を最大化させるためのデザイン~データビジュアライゼーションの方法~ #devsumi 17-E-2
eコマースと実店舗の相互利益を目指したデザイン #yjtc
eコマースと実店舗の相互利益を目指したデザイン #yjtc
ヤフーを支えるセキュリティ ~サイバー攻撃を防ぐエンジニアの仕事とは~ #yjtc
ヤフーを支えるセキュリティ ~サイバー攻撃を防ぐエンジニアの仕事とは~ #yjtc
Yahoo! JAPANのIaaSを支えるKubernetesクラスタ、アップデート自動化への挑戦 #yjtc
Yahoo! JAPANのIaaSを支えるKubernetesクラスタ、アップデート自動化への挑戦 #yjtc
ビッグデータから人々のムードを捉える #yjtc
ビッグデータから人々のムードを捉える #yjtc
サイエンス領域におけるMLOpsの取り組み #yjtc
サイエンス領域におけるMLOpsの取り組み #yjtc
ヤフーのAIプラットフォーム紹介 ~AIテックカンパニーを支えるデータ基盤~ #yjtc
ヤフーのAIプラットフォーム紹介 ~AIテックカンパニーを支えるデータ基盤~ #yjtc
Yahoo! JAPAN Tech Conference 2022 Day2 Keynote #yjtc
Yahoo! JAPAN Tech Conference 2022 Day2 Keynote #yjtc
新技術を使った次世代の商品の見せ方 ~ヤフオク!のマルチビュー機能~ #yjtc
新技術を使った次世代の商品の見せ方 ~ヤフオク!のマルチビュー機能~ #yjtc
PC版Yahoo!メールリニューアル ~サービスのUI/UX統合と改善プロセス~ #yjtc
PC版Yahoo!メールリニューアル ~サービスのUI/UX統合と改善プロセス~ #yjtc
モブデザインによる多職種チームのコミュニケーション改善 #yjtc
モブデザインによる多職種チームのコミュニケーション改善 #yjtc
「新しいおうち探し」のためのAIアシスト検索 #yjtc
「新しいおうち探し」のためのAIアシスト検索 #yjtc
ユーザーの地域を考慮した検索入力補助機能の改善の試み #yjtc
ユーザーの地域を考慮した検索入力補助機能の改善の試み #yjtc
Recently uploaded
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
FumieNakayama
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
akihisamiyanaga1
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
Hiroki Ichikura
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
UEHARA, Tetsutaro
SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものです
iPride Co., Ltd.
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
博三 太田
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
FumieNakayama
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
sugiuralab
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
Yuki Kikuchi
Recently uploaded
(9)
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものです
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
Yahoo! JAPAN アプリという 大規模アプリの設計と開発 #yjcamp
1.
Copyrig ht ©
2017 Yahoo Japan Corporation. All Rig hts Reserved. CAMPFIRE iOS #01 作井 吉満 Yahoo! JAPAN アプリという 大規模アプリの設計と開発 2017年3月16日
2.
Copyrig ht ©
2017 Yahoo Japan Corporation. All Rig hts Reserved. About me 2 • 作井吉満 • 2009年新卒入社 • フロントエンド開発を経て、2012年からアプリ開発
3.
Copyrig ht ©
2017 Yahoo Japan Corporation. All Rig hts Reserved.Copyrig ht © 2017 Yahoo Japan Corporation. All Rig hts Reserved. Yahoo! JAPAN アプリについて
4.
Copyrig ht ©
2017 Yahoo Japan Corporation. All Rig hts Reserved. Yahoo! JAPAN アプリ 4
5.
Copyrig ht ©
2017 Yahoo Japan Corporation. All Rig hts Reserved.Copyrig ht © 2017 Yahoo Japan Corporation. All Rig hts Reserved. 今日話したいこと
6.
Copyrig ht ©
2017 Yahoo Japan Corporation. All Rig hts Reserved. 話したいこと 6 開発体制は事業戦略やプロダクトの成長によって変わる その変化の中で、開発や設計にどう取り組んでいくか
7.
Copyrig ht ©
2017 Yahoo Japan Corporation. All Rig hts Reserved.Copyrig ht © 2017 Yahoo Japan Corporation. All Rig hts Reserved. 現在の体制
8.
Copyrig ht ©
2017 Yahoo Japan Corporation. All Rig hts Reserved. エンジニア 8 専属のiOSエンジニア 10数名 サービス連携などによる一時的ジョイン 数名 … …
9.
Copyrig ht ©
2017 Yahoo Japan Corporation. All Rig hts Reserved. Yahoo! JAPAN の特徴 9 • 異動こそ最大の人材育成 • http://business.nikkeibp.co.jp/article/report/20131129/256491/?rt=nocnt • 越境して、自己主張し、課題解決して感謝される──特殊部隊「SWAT」で学んだこと • http://linotice.tumblr.com/post/153250089339/20161116
10.
Copyrig ht ©
2017 Yahoo Japan Corporation. All Rig hts Reserved. 同時に開発している案件 10 20以上の施策 • 大(数ヶ月)、小(数日程度)の案件 • 社内サービスとの連携 • ユーザービリティ改善(ABテスト) • 技術推進(Swift3対応、新OS対応など)
11.
Copyrig ht ©
2017 Yahoo Japan Corporation. All Rig hts Reserved. 開発フローとリリースサイクル 11 2週間に1度 仕様検討 プロト開発 設計 レビュー 事前テスト PullRequest コード レビュー 結合テスト Submit
12.
Copyrig ht ©
2017 Yahoo Japan Corporation. All Rig hts Reserved. 現在の設計 12 View ViewController Multi DataFetcher DataFetcher HogeManager API Cache UI layer Domain layer Data layer Application layer Entity
13.
Copyrig ht ©
2017 Yahoo Japan Corporation. All Rig hts Reserved.Copyrig ht © 2017 Yahoo Japan Corporation. All Rig hts Reserved. 開発体制の変化
14.
Copyrig ht ©
2017 Yahoo Japan Corporation. All Rig hts Reserved. きっかけ 14 約1年前に、 これからの開発をよりスケールさせるために フルスクラッチでコードの刷新を実施 • Swiftへの移行 • レガシーコードの撤廃 • 全体的な仕様の見直し • パフォーマンス改善
15.
Copyrig ht ©
2017 Yahoo Japan Corporation. All Rig hts Reserved. どう変化していったか 15 既存版 Swift版 2016.01 2016.06 2016.08 2017.02 約10名 2名 案件ストップ 既存版のタスクが終わった メンバーから順次移動 5名 8名 12名 10名超10名 移行期間
16.
Copyrig ht ©
2017 Yahoo Japan Corporation. All Rig hts Reserved.Copyrig ht © 2017 Yahoo Japan Corporation. All Rig hts Reserved. 10人以上になって起きた課題
17.
Copyrig ht ©
2017 Yahoo Japan Corporation. All Rig hts Reserved. 10人以上になって起きた課題 17 • 全員で集まることが難しい(所属組織も拠点も違う) • こまかな仕様や、詳細な設計の共有が困難になっていく • 誰が何をやっているかわからない • 修正箇所のコンフリクトが増える • 知らないところで案件がうまれ、仕様が決まり、実装が進む • すべてをコードレビューすることも、量が多く困難 • 曖昧な設計であるため、コードの統一性は失われていく
18.
Copyrig ht ©
2017 Yahoo Japan Corporation. All Rig hts Reserved.Copyrig ht © 2017 Yahoo Japan Corporation. All Rig hts Reserved. 学んだこと
19.
Copyrig ht ©
2017 Yahoo Japan Corporation. All Rig hts Reserved. 学んだこと 19 開発体制は事業戦略やプロダクトの成長によって変わる その変化に素早く対応できるようにしておかなければいけない
20.
Copyrig ht ©
2017 Yahoo Japan Corporation. All Rig hts Reserved. 設計の改善に着手 20 同じ思想、パターンで並行開発できる設計が必要 設計を改善していく取り組みを開始
21.
Copyrig ht ©
2017 Yahoo Japan Corporation. All Rig hts Reserved.Copyrig ht © 2017 Yahoo Japan Corporation. All Rig hts Reserved. どこから手をつけるべきか?
22.
Copyrig ht ©
2017 Yahoo Japan Corporation. All Rig hts Reserved. Viewとロジックを分離する 22 • Viewの操作はPresenterで行う • ビジネスロジックはUseCaseに集約する • 新メンバーが入ってもスムーズに開発できるような状態にしておく • 最初はUIの修正や追加から入ってもらうケースが多い View Presenter UseCase
23.
Copyrig ht ©
2017 Yahoo Japan Corporation. All Rig hts Reserved. View同士の依存性をなくす 23 View Presenter UseCase Router • 画面遷移はRouterを介して行う • ABテストや仕様変更による画面遷移の変更に対応できるようにしておく
24.
Copyrig ht ©
2017 Yahoo Japan Corporation. All Rig hts Reserved. 役割を明確にして疎結合にする 24 • 役割を明確に定義したレイヤーに分割する • レイヤー間のインターフェースはプロトコルを定義 • それぞれが差し替えられる疎結合な作りにする • 仕様変更に素早く対応できるようにしておく
25.
Copyrig ht ©
2017 Yahoo Japan Corporation. All Rig hts Reserved. まとめ 25 • 開発体制は事業戦略やプロダクトの成長によって変わる • メンバーの増加や役割の変更など • 変化に素早く対応していくため、同じ思想で開発できる設計が必要 • プロダクトにとって効果の大きいところから改善する
26.
Copyrig ht ©
2017 Yahoo Japan Corporation. All Rig hts Reserved.Copyrig ht © 2017 Yahoo Japan Corporation. All Rig hts Reserved. ご清聴ありがとうございました Connpassのフォローお願いします! https://yj-meetup.connpass.com/
Download now