Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
学生エンジニアが解く大規模アプリ
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
tuvy
June 18, 2018
570
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
学生エンジニアが解く大規模アプリ
eurekaでの社外発表向けの資料
tuvy
June 18, 2018
Featured
See All Featured
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
31
3.4k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
28
3.7k
How to Ace a Technical Interview
jacobian
280
24k
Navigating Weather and Climate Data
rabernat
0
560
ラッコキーワード サービス紹介資料
rakko
1
5.4M
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
47
8.4k
The State of eCommerce SEO: How to Win in Today's Products SERPs - #SEOweek
aleyda
2
12k
The Straight Up "How To Draw Better" Workshop
denniskardys
239
140k
The SEO Collaboration Effect
kristinabergwall1
1
590
Fashionably flexible responsive web design (full day workshop)
malarkey
409
67k
Exploring the relationship between traditional SERPs and Gen AI search
raygrieselhuber
PRO
4
4.4k
Leo the Paperboy
mayatellez
10
2.4k
Transcript
Copyright © 2018 eureka, Inc. All rights reserved. 学生エンジニアが解く大規模アプリ eureka
Meetup #10 -Pairs Android開発の裏側-
Copyright © 2018 eureka, Inc. All rights reserved. Tomosugi Tasaka
1995年3月7日生まれ 明治大学大学院 修士2年 現在はeurekaのインターン生と学生の両刀です 好きなお酒はハイボールと梅酒です 自己紹介
Copyright © 2018 eureka, Inc. All rights reserved. 2017年 9月
eurekaのサマーインターンに参加 2017年10月 Pairs Global Androidチームに長期インターンで参加 2018年 4月 Pairs Japan Androidチームに異動 自己紹介
Copyright © 2018 eureka, Inc. All rights reserved. 学生エンジニアが大規模アプリ開発に放り込まれた その時に感じた自分への課題
どのように足掻いて解決していったか 話したいこと
Copyright © 2018 eureka, Inc. All rights reserved. • 大規模アプリを目の前に読み解く時に工夫したこと
◦ 未経験な状態でどのように読み解いたか? -Pairs Global- ◦ ある程度のスキル、仕様理解がある状態でどのように読み解いたか? -Pairs Japan- • おわりに アジェンダ
Copyright © 2018 eureka, Inc. All rights reserved. • 大規模アプリを目の前に読み解く時に工夫したこと
◦ 未経験な状態でどのように読み解いたか? -Pairs Global- ◦ ある程度のスキル、仕様理解がある状態でどのように読み解いたか? -Pairs Japan- • おわりに アジェンダ
Copyright © 2018 eureka, Inc. All rights reserved. 未経験な状態でどのように読み解いたか -仕様編-
Copyright © 2018 eureka, Inc. All rights reserved. • Pairsにはどのような機能があるのか?
◦ いいね ◦ あしあと ◦ メッセージ • 「いいね」機能で何ができるのか? ◦ 相手の自分が「いいね」したことを通知する ◦ お互い「いいね」するとマッチング状態になる 未経験者が大規模アプリを読み解く
Copyright © 2018 eureka, Inc. All rights reserved. • 問題
◦ 人間が仕様書 • 解決方法 ◦ 人に聞く ◦ 機能追加や修正ごとに仕様を理解していく 未経験者が大規模アプリを読み解く
Copyright © 2018 eureka, Inc. All rights reserved. 未経験な状態でどのように読み解いたか -技術編-
Copyright © 2018 eureka, Inc. All rights reserved. • 初仕事
◦ コードリーディング&画面の一部修正 ◦ 海藤さん「あしあと画面のヘッダーをスクロールすると隠れるようにして」 未経験者が大規模アプリを読み解く
Copyright © 2018 eureka, Inc. All rights reserved. • 問題
◦ あしあと画面のソースコード(Activity)が見つからない、、、 ◦ ファイルの量が多くて、当てずっぽうで探せない ◦ どの画面がどのActivityと対応しているのかわからない ◦ そもそも台湾語で読めない(台湾・韓国版Pairsなので) 未経験者が大規模アプリを読み解く
Copyright © 2018 eureka, Inc. All rights reserved. • ヒント
◦ 海藤さん「今表示されているのは◦◦Activityだよ」 ◦ 海藤さん「cmd押しながらクリックするとジャンプできるよ」 未経験者が大規模アプリを読み解く
Copyright © 2018 eureka, Inc. All rights reserved. • 統合開発環境(Android
Studio)の旨味を利用する ◦ このクラスはどこから呼んでいるのか? ◦ この関数はどこから呼ばれているのか? 未経験者が大規模アプリを読み解く
Copyright © 2018 eureka, Inc. All rights reserved. • データの保持方法
◦ Fluxアーキテクチャ • Fluxアーキテクチャを理解する上で ◦ 「いいね」状態をどうやって画面間で同期させているのか? ◦ どのようにデータが流れているのか? 未経験者が大規模アプリを読み解く
Copyright © 2018 eureka, Inc. All rights reserved. • 大規模アプリを目の前に読み解く時に工夫したこと
◦ 未経験な状態でどのように読み解いたか? -Pairs Global- ◦ ある程度のスキル、仕様理解がある状態でどのように読み解いたか? -Pairs Japan- • おわりに アジェンダ
Copyright © 2018 eureka, Inc. All rights reserved. ある程度経験した状態で読み解く -仕様編-
Copyright © 2018 eureka, Inc. All rights reserved. • Pairs
GlobalからJapanに異動 • Pairs Japanの仕様を理解する ある程度の経験者が大規模アプリを読み解く
Copyright © 2018 eureka, Inc. All rights reserved. • 法律
◦ 数え年と満年齢 • 行動原理 ◦ ネガティブとポジティブ ある程度の経験者が大規模アプリを読み解く
Copyright © 2018 eureka, Inc. All rights reserved. • 規模の大きさ
◦ 関わっている人数の多さ ◦ 細かなアニメーション ある程度の経験者が大規模アプリを読み解く
Copyright © 2018 eureka, Inc. All rights reserved. • Pairs
Japanでの初仕事 ◦ 決済画面のリニューアル ◦ モブワークの初始動 ある程度の経験者が大規模アプリを読み解く
Copyright © 2018 eureka, Inc. All rights reserved. • 問題
◦ 人間が仕様書 • 解決方法 ◦ 人に聞く ◦ 機能修正・追加ごとに仕様を確認 • 感じたこと ◦ 機能修正・追加ごとに仕様を文章化するべき? ある程度の経験者が大規模アプリを読み解く
Copyright © 2018 eureka, Inc. All rights reserved. ある程度経験した状態で読み解く -技術編-
Copyright © 2018 eureka, Inc. All rights reserved. • どの関数がどのような計算をしているのか?
• 処理の順番は? • どの画面がどのActivityと対応しているのか? ある程度の経験者が大規模アプリを読み解く
Copyright © 2018 eureka, Inc. All rights reserved. • adbコマンド
• デバッグ機能 • 通信内容の監視 ある程度の経験者が大規模アプリを読み解く
Copyright © 2018 eureka, Inc. All rights reserved. • adbコマンド
◦ 通知 ◦ 現在表示されているActivity ◦ 文字列の入力 • デバッグ機能 • 通信内容の監視 ある程度の経験者が大規模アプリを読み解く
Copyright © 2018 eureka, Inc. All rights reserved. • adbコマンド
• デバッグ機能 ◦ ブレイクポイント ◦ 変数の監視 • 通信内容の監視
Copyright © 2018 eureka, Inc. All rights reserved. • adbコマンド
• デバッグ機能 • 通信内容の監視 ◦ stetho ◦ chrome://inspect/#devices ある程度の経験者が大規模アプリを読み解く
Copyright © 2018 eureka, Inc. All rights reserved. • 大規模アプリを目の前に読み解く時に工夫したこと
◦ 未経験な状態でどのように読み解いたか? -Pairs Global- ◦ ある程度のスキル、仕様理解がある状態でどのように読み解いたか? -Pairs Japan- • おわりに アジェンダ
Copyright © 2018 eureka, Inc. All rights reserved. • 大規模アプリ開発の未経験者→ある程度の経験者
◦ 仕様については恐れずに聞く ◦ Android Studioの機能を使ってコードを追う • 密度が高い時間 ◦ 技術面において ◦ チームとのコミュニケーション おわりに