学生エンジニアが解く大規模アプリ
by
tuvy
Link
Embed
Share
Beginning
This slide
Copy link URL
Copy link URL
Copy iframe embed code
Copy iframe embed code
Copy javascript embed code
Copy javascript embed code
Share
Tweet
Share
Tweet
Slide 1
Slide 1 text
Copyright © 2018 eureka, Inc. All rights reserved. 学生エンジニアが解く大規模アプリ eureka Meetup #10 -Pairs Android開発の裏側-
Slide 2
Slide 2 text
Copyright © 2018 eureka, Inc. All rights reserved. Tomosugi Tasaka 1995年3月7日生まれ 明治大学大学院 修士2年 現在はeurekaのインターン生と学生の両刀です 好きなお酒はハイボールと梅酒です 自己紹介
Slide 3
Slide 3 text
Copyright © 2018 eureka, Inc. All rights reserved. 2017年 9月 eurekaのサマーインターンに参加 2017年10月 Pairs Global Androidチームに長期インターンで参加 2018年 4月 Pairs Japan Androidチームに異動 自己紹介
Slide 4
Slide 4 text
Copyright © 2018 eureka, Inc. All rights reserved. 学生エンジニアが大規模アプリ開発に放り込まれた その時に感じた自分への課題 どのように足掻いて解決していったか 話したいこと
Slide 5
Slide 5 text
Copyright © 2018 eureka, Inc. All rights reserved. ● 大規模アプリを目の前に読み解く時に工夫したこと ○ 未経験な状態でどのように読み解いたか? -Pairs Global- ○ ある程度のスキル、仕様理解がある状態でどのように読み解いたか? -Pairs Japan- ● おわりに アジェンダ
Slide 6
Slide 6 text
Copyright © 2018 eureka, Inc. All rights reserved. ● 大規模アプリを目の前に読み解く時に工夫したこと ○ 未経験な状態でどのように読み解いたか? -Pairs Global- ○ ある程度のスキル、仕様理解がある状態でどのように読み解いたか? -Pairs Japan- ● おわりに アジェンダ
Slide 7
Slide 7 text
Copyright © 2018 eureka, Inc. All rights reserved. 未経験な状態でどのように読み解いたか -仕様編-
Slide 8
Slide 8 text
Copyright © 2018 eureka, Inc. All rights reserved. ● Pairsにはどのような機能があるのか? ○ いいね ○ あしあと ○ メッセージ ● 「いいね」機能で何ができるのか? ○ 相手の自分が「いいね」したことを通知する ○ お互い「いいね」するとマッチング状態になる 未経験者が大規模アプリを読み解く
Slide 9
Slide 9 text
Copyright © 2018 eureka, Inc. All rights reserved. ● 問題 ○ 人間が仕様書 ● 解決方法 ○ 人に聞く ○ 機能追加や修正ごとに仕様を理解していく 未経験者が大規模アプリを読み解く
Slide 10
Slide 10 text
Copyright © 2018 eureka, Inc. All rights reserved. 未経験な状態でどのように読み解いたか -技術編-
Slide 11
Slide 11 text
Copyright © 2018 eureka, Inc. All rights reserved. ● 初仕事 ○ コードリーディング&画面の一部修正 ○ 海藤さん「あしあと画面のヘッダーをスクロールすると隠れるようにして」 未経験者が大規模アプリを読み解く
Slide 12
Slide 12 text
Copyright © 2018 eureka, Inc. All rights reserved. ● 問題 ○ あしあと画面のソースコード(Activity)が見つからない、、、 ○ ファイルの量が多くて、当てずっぽうで探せない ○ どの画面がどのActivityと対応しているのかわからない ○ そもそも台湾語で読めない(台湾・韓国版Pairsなので) 未経験者が大規模アプリを読み解く
Slide 13
Slide 13 text
Copyright © 2018 eureka, Inc. All rights reserved. ● ヒント ○ 海藤さん「今表示されているのは○○Activityだよ」 ○ 海藤さん「cmd押しながらクリックするとジャンプできるよ」 未経験者が大規模アプリを読み解く
Slide 14
Slide 14 text
Copyright © 2018 eureka, Inc. All rights reserved. ● 統合開発環境(Android Studio)の旨味を利用する ○ このクラスはどこから呼んでいるのか? ○ この関数はどこから呼ばれているのか? 未経験者が大規模アプリを読み解く
Slide 15
Slide 15 text
Copyright © 2018 eureka, Inc. All rights reserved. ● データの保持方法 ○ Fluxアーキテクチャ ● Fluxアーキテクチャを理解する上で ○ 「いいね」状態をどうやって画面間で同期させているのか? ○ どのようにデータが流れているのか? 未経験者が大規模アプリを読み解く
Slide 16
Slide 16 text
Copyright © 2018 eureka, Inc. All rights reserved. ● 大規模アプリを目の前に読み解く時に工夫したこと ○ 未経験な状態でどのように読み解いたか? -Pairs Global- ○ ある程度のスキル、仕様理解がある状態でどのように読み解いたか? -Pairs Japan- ● おわりに アジェンダ
Slide 17
Slide 17 text
Copyright © 2018 eureka, Inc. All rights reserved. ある程度経験した状態で読み解く -仕様編-
Slide 18
Slide 18 text
Copyright © 2018 eureka, Inc. All rights reserved. ● Pairs GlobalからJapanに異動 ● Pairs Japanの仕様を理解する ある程度の経験者が大規模アプリを読み解く
Slide 19
Slide 19 text
Copyright © 2018 eureka, Inc. All rights reserved. ● 法律 ○ 数え年と満年齢 ● 行動原理 ○ ネガティブとポジティブ ある程度の経験者が大規模アプリを読み解く
Slide 20
Slide 20 text
Copyright © 2018 eureka, Inc. All rights reserved. ● 規模の大きさ ○ 関わっている人数の多さ ○ 細かなアニメーション ある程度の経験者が大規模アプリを読み解く
Slide 21
Slide 21 text
Copyright © 2018 eureka, Inc. All rights reserved. ● Pairs Japanでの初仕事 ○ 決済画面のリニューアル ○ モブワークの初始動 ある程度の経験者が大規模アプリを読み解く
Slide 22
Slide 22 text
Copyright © 2018 eureka, Inc. All rights reserved. ● 問題 ○ 人間が仕様書 ● 解決方法 ○ 人に聞く ○ 機能修正・追加ごとに仕様を確認 ● 感じたこと ○ 機能修正・追加ごとに仕様を文章化するべき? ある程度の経験者が大規模アプリを読み解く
Slide 23
Slide 23 text
Copyright © 2018 eureka, Inc. All rights reserved. ある程度経験した状態で読み解く -技術編-
Slide 24
Slide 24 text
Copyright © 2018 eureka, Inc. All rights reserved. ● どの関数がどのような計算をしているのか? ● 処理の順番は? ● どの画面がどのActivityと対応しているのか? ある程度の経験者が大規模アプリを読み解く
Slide 25
Slide 25 text
Copyright © 2018 eureka, Inc. All rights reserved. ● adbコマンド ● デバッグ機能 ● 通信内容の監視 ある程度の経験者が大規模アプリを読み解く
Slide 26
Slide 26 text
Copyright © 2018 eureka, Inc. All rights reserved. ● adbコマンド ○ 通知 ○ 現在表示されているActivity ○ 文字列の入力 ● デバッグ機能 ● 通信内容の監視 ある程度の経験者が大規模アプリを読み解く
Slide 27
Slide 27 text
Copyright © 2018 eureka, Inc. All rights reserved. ● adbコマンド ● デバッグ機能 ○ ブレイクポイント ○ 変数の監視 ● 通信内容の監視
Slide 28
Slide 28 text
Copyright © 2018 eureka, Inc. All rights reserved. ● adbコマンド ● デバッグ機能 ● 通信内容の監視 ○ stetho ○ chrome://inspect/#devices ある程度の経験者が大規模アプリを読み解く
Slide 29
Slide 29 text
Copyright © 2018 eureka, Inc. All rights reserved. ● 大規模アプリを目の前に読み解く時に工夫したこと ○ 未経験な状態でどのように読み解いたか? -Pairs Global- ○ ある程度のスキル、仕様理解がある状態でどのように読み解いたか? -Pairs Japan- ● おわりに アジェンダ
Slide 30
Slide 30 text
Copyright © 2018 eureka, Inc. All rights reserved. ● 大規模アプリ開発の未経験者→ある程度の経験者 ○ 仕様については恐れずに聞く ○ Android Studioの機能を使ってコードを追う ● 密度が高い時間 ○ 技術面において ○ チームとのコミュニケーション おわりに