Upgrade to Pro — share decks privately, control downloads, hide ads and more …

学生エンジニアが解く大規模アプリ

tuvy
June 18, 2018
460

 学生エンジニアが解く大規模アプリ

eurekaでの社外発表向けの資料

tuvy

June 18, 2018
Tweet

Transcript

  1. Copyright © 2018 eureka, Inc. All rights reserved. Tomosugi Tasaka

    1995年3月7日生まれ 明治大学大学院 修士2年 現在はeurekaのインターン生と学生の両刀です 好きなお酒はハイボールと梅酒です 自己紹介
  2. Copyright © 2018 eureka, Inc. All rights reserved. 2017年 9月

    eurekaのサマーインターンに参加 2017年10月 Pairs Global Androidチームに長期インターンで参加 2018年 4月 Pairs Japan Androidチームに異動 自己紹介
  3. Copyright © 2018 eureka, Inc. All rights reserved. • 大規模アプリを目の前に読み解く時に工夫したこと

    ◦ 未経験な状態でどのように読み解いたか? -Pairs Global- ◦ ある程度のスキル、仕様理解がある状態でどのように読み解いたか? -Pairs Japan- • おわりに アジェンダ
  4. Copyright © 2018 eureka, Inc. All rights reserved. • 大規模アプリを目の前に読み解く時に工夫したこと

    ◦ 未経験な状態でどのように読み解いたか? -Pairs Global- ◦ ある程度のスキル、仕様理解がある状態でどのように読み解いたか? -Pairs Japan- • おわりに アジェンダ
  5. Copyright © 2018 eureka, Inc. All rights reserved. • Pairsにはどのような機能があるのか?

    ◦ いいね ◦ あしあと ◦ メッセージ • 「いいね」機能で何ができるのか? ◦ 相手の自分が「いいね」したことを通知する ◦ お互い「いいね」するとマッチング状態になる 未経験者が大規模アプリを読み解く
  6. Copyright © 2018 eureka, Inc. All rights reserved. • 問題

    ◦ 人間が仕様書 • 解決方法 ◦ 人に聞く ◦ 機能追加や修正ごとに仕様を理解していく 未経験者が大規模アプリを読み解く
  7. Copyright © 2018 eureka, Inc. All rights reserved. • 初仕事

    ◦ コードリーディング&画面の一部修正 ◦ 海藤さん「あしあと画面のヘッダーをスクロールすると隠れるようにして」 未経験者が大規模アプリを読み解く
  8. Copyright © 2018 eureka, Inc. All rights reserved. • 問題

    ◦ あしあと画面のソースコード(Activity)が見つからない、、、 ◦ ファイルの量が多くて、当てずっぽうで探せない ◦ どの画面がどのActivityと対応しているのかわからない ◦ そもそも台湾語で読めない(台湾・韓国版Pairsなので) 未経験者が大規模アプリを読み解く
  9. Copyright © 2018 eureka, Inc. All rights reserved. • ヒント

    ◦ 海藤さん「今表示されているのは◦◦Activityだよ」 ◦ 海藤さん「cmd押しながらクリックするとジャンプできるよ」 未経験者が大規模アプリを読み解く
  10. Copyright © 2018 eureka, Inc. All rights reserved. • 統合開発環境(Android

    Studio)の旨味を利用する ◦ このクラスはどこから呼んでいるのか? ◦ この関数はどこから呼ばれているのか? 未経験者が大規模アプリを読み解く
  11. Copyright © 2018 eureka, Inc. All rights reserved. • データの保持方法

    ◦ Fluxアーキテクチャ • Fluxアーキテクチャを理解する上で ◦ 「いいね」状態をどうやって画面間で同期させているのか? ◦ どのようにデータが流れているのか? 未経験者が大規模アプリを読み解く
  12. Copyright © 2018 eureka, Inc. All rights reserved. • 大規模アプリを目の前に読み解く時に工夫したこと

    ◦ 未経験な状態でどのように読み解いたか? -Pairs Global- ◦ ある程度のスキル、仕様理解がある状態でどのように読み解いたか? -Pairs Japan- • おわりに アジェンダ
  13. Copyright © 2018 eureka, Inc. All rights reserved. • Pairs

    GlobalからJapanに異動 • Pairs Japanの仕様を理解する ある程度の経験者が大規模アプリを読み解く
  14. Copyright © 2018 eureka, Inc. All rights reserved. • 法律

    ◦ 数え年と満年齢 • 行動原理 ◦ ネガティブとポジティブ ある程度の経験者が大規模アプリを読み解く
  15. Copyright © 2018 eureka, Inc. All rights reserved. • 規模の大きさ

    ◦ 関わっている人数の多さ ◦ 細かなアニメーション ある程度の経験者が大規模アプリを読み解く
  16. Copyright © 2018 eureka, Inc. All rights reserved. • Pairs

    Japanでの初仕事 ◦ 決済画面のリニューアル ◦ モブワークの初始動 ある程度の経験者が大規模アプリを読み解く
  17. Copyright © 2018 eureka, Inc. All rights reserved. • 問題

    ◦ 人間が仕様書 • 解決方法 ◦ 人に聞く ◦ 機能修正・追加ごとに仕様を確認 • 感じたこと ◦ 機能修正・追加ごとに仕様を文章化するべき? ある程度の経験者が大規模アプリを読み解く
  18. Copyright © 2018 eureka, Inc. All rights reserved. • どの関数がどのような計算をしているのか?

    • 処理の順番は? • どの画面がどのActivityと対応しているのか? ある程度の経験者が大規模アプリを読み解く
  19. Copyright © 2018 eureka, Inc. All rights reserved. • adbコマンド

    • デバッグ機能 • 通信内容の監視 ある程度の経験者が大規模アプリを読み解く
  20. Copyright © 2018 eureka, Inc. All rights reserved. • adbコマンド

    ◦ 通知 ◦ 現在表示されているActivity ◦ 文字列の入力 • デバッグ機能 • 通信内容の監視 ある程度の経験者が大規模アプリを読み解く
  21. Copyright © 2018 eureka, Inc. All rights reserved. • adbコマンド

    • デバッグ機能 ◦ ブレイクポイント ◦ 変数の監視 • 通信内容の監視
  22. Copyright © 2018 eureka, Inc. All rights reserved. • adbコマンド

    • デバッグ機能 • 通信内容の監視 ◦ stetho ◦ chrome://inspect/#devices ある程度の経験者が大規模アプリを読み解く
  23. Copyright © 2018 eureka, Inc. All rights reserved. • 大規模アプリを目の前に読み解く時に工夫したこと

    ◦ 未経験な状態でどのように読み解いたか? -Pairs Global- ◦ ある程度のスキル、仕様理解がある状態でどのように読み解いたか? -Pairs Japan- • おわりに アジェンダ
  24. Copyright © 2018 eureka, Inc. All rights reserved. • 大規模アプリ開発の未経験者→ある程度の経験者

    ◦ 仕様については恐れずに聞く ◦ Android Studioの機能を使ってコードを追う • 密度が高い時間 ◦ 技術面において ◦ チームとのコミュニケーション おわりに