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
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
12
1.4k
Deep Space Network (abreviated)
tonyrice
0
65
Ten Tips & Tricks for a 🌱 transition
stuffmc
0
71
Fantastic passwords and where to find them - at NoRuKo
philnash
52
3.6k
Prompt Engineering for Job Search
mfonobong
0
160
Music & Morning Musume
bryan
47
7.1k
Amusing Abliteration
ianozsvald
0
110
The Impact of AI in SEO - AI Overviews June 2024 Edition
aleyda
5
740
世界の人気アプリ100個を分析して見えたペイウォール設計の心得
akihiro_kokubo
PRO
66
37k
For a Future-Friendly Web
brad_frost
182
10k
[RailsConf 2023] Rails as a piece of cake
palkan
59
6.3k
Measuring Dark Social's Impact On Conversion and Attribution
stephenakadiri
1
130
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の機能を使ってコードを追う • 密度が高い時間 ◦ 技術面において ◦ チームとのコミュニケーション おわりに