Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
学生エンジニアが解く大規模アプリ
Search
tuvy
June 18, 2018
0
540
学生エンジニアが解く大規模アプリ
eurekaでの社外発表向けの資料
tuvy
June 18, 2018
Tweet
Share
Featured
See All Featured
Believing is Seeing
oripsolob
1
58
Pawsitive SEO: Lessons from My Dog (and Many Mistakes) on Thriving as a Consultant in the Age of AI
davidcarrasco
0
68
The Spectacular Lies of Maps
axbom
PRO
1
530
How to optimise 3,500 product descriptions for ecommerce in one day using ChatGPT
katarinadahlin
PRO
0
3.4k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
287
14k
Paper Plane
katiecoart
PRO
0
46k
Raft: Consensus for Rubyists
vanstee
141
7.3k
GraphQLの誤解/rethinking-graphql
sonatard
74
11k
How People are Using Generative and Agentic AI to Supercharge Their Products, Projects, Services and Value Streams Today
helenjbeal
1
130
ラッコキーワード サービス紹介資料
rakko
1
2.3M
JAMstack: Web Apps at Ludicrous Speed - All Things Open 2022
reverentgeek
1
350
How To Speak Unicorn (iThemes Webinar)
marktimemedia
1
380
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の機能を使ってコードを追う • 密度が高い時間 ◦ 技術面において ◦ チームとのコミュニケーション おわりに