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
Android Day1
Search
Recruit
PRO
September 09, 2022
Technology
2.8k
1
Share
Android Day1
2022年度リクルート エンジニアコース新人研修の講義資料です
Recruit
PRO
September 09, 2022
More Decks by Recruit
See All by Recruit
ストリーム処理基盤のFlink移行検証と適材適所の実践
recruitengineers
PRO
2
37
AI 時代の Platform Engineering
recruitengineers
PRO
2
350
巨大プラットフォームを進化させる「第3のROI」
recruitengineers
PRO
2
3.1k
データ戦略を加速させる プラットフォーム エンジニアリングと進化的アーキテクチャ
recruitengineers
PRO
2
82
まなび領域における生成AI活用事例
recruitengineers
PRO
2
280
AI時代にエンジニアはどう成長すれば良いのか?
recruitengineers
PRO
1
510
AIを用いたカスタマーサポートの業務プロセス・組織変革の実現
recruitengineers
PRO
1
230
問い合わせ自動化の技術的挑戦
recruitengineers
PRO
2
340
「Air ビジネスツールズ」のクライアントサポートにおける生成 AI 活用
recruitengineers
PRO
0
170
Other Decks in Technology
See All in Technology
AI Engineering Summit Tokyo 2026 AIの前に、やることがある 〜医療データ企業の4フェーズ〜
dtaniwaki
0
1.4k
JJUG CCC 2026 Spring AI時代の開発こそ標準化を武器に! ― 方式・プロセス・プラットフォームの標準化
s27watanabe
2
690
「気づいたら仕事が終わっている」バクラクAIエージェント本番運用の裏側 / layerx-bakuraku-aie2026
yuya4
18
9k
[モダンアプリ勉強会]今更聞けないGit/GitHub入門
tsukuboshi
0
180
AI時代の私の技術インプットとアウトプット術
tonkotsuboy_com
16
8.3k
Mastering Ruby Box
tagomoris
3
140
MIERUNE JCT 発表資料「宇宙から伊能忠敬ごっこ」
syuchimu
0
110
個人の発見を、組織の知恵に 〜生成AI活用を"探索"から"組織の仕組み"へ〜
kintotechdev
2
800
Claude code Orchestra
ozakiomumkj
3
920
先取りMaven4 ~16年ぶりのメジャーアップデート、その進化とは?~
ogiwarat
0
140
Spring Boot における AOT Cache 活用テクニックと 起動時間改善事例
ntt_dsol_java
0
200
関西に縁あるMicrosoft MVPsが語るCopilotの未来
kasada
0
1k
Featured
See All Featured
Bootstrapping a Software Product
garrettdimon
PRO
307
120k
A designer walks into a library…
pauljervisheath
211
24k
Being A Developer After 40
akosma
91
590k
Faster Mobile Websites
deanohume
310
31k
Code Review Best Practice
trishagee
74
20k
Organizational Design Perspectives: An Ontology of Organizational Design Elements
kimpetersen
PRO
1
720
The AI Revolution Will Not Be Monopolized: How open-source beats economies of scale, even for LLMs
inesmontani
PRO
3
3.5k
HDC tutorial
michielstock
2
690
Why You Should Never Use an ORM
jnunemaker
PRO
61
9.9k
Keith and Marios Guide to Fast Websites
keithpitt
413
23k
Ethics towards AI in product and experience design
skipperchong
2
300
Leading Effective Engineering Teams in the AI Era
addyosmani
9
2k
Transcript
BootCamp2022 Android講習 Recruit BootCamp 2022 Android. 1
二日間の目的とゴール 目的 Androidチーム配属のときに摩擦なく開発を始められる前提知識を身につける。 詳細 現場で使う:「アプリを作れるようになる」ではなく、「アプリチームで働く一助にな る」こと。 摩擦なく:必要になった時にこの講義に立ち返ると学びの一歩目が得られる。 前提知識:Androidアプリがどうやって動いているか、どこに気をつけて開発する必要が あるかの肝を知る。 Recruit
BootCamp 2022 Android. 2
講師紹介 名前:河内友佑(2020年入社) 所属:HRプロダクト開発2G 担当:タウンワークAndroid Recruit BootCamp 2022 Android. 3
講師紹介 名前:石井潤(2018年入社) 所属:HRプロダクト開発2G 担当:タウンワークiOS/Android Recruit BootCamp 2022 Android. 4
現場での仕事の解像度を上げる タウンワークって? 引用元 タウンワーク90万原稿の掲載を支えるレガシーバッチチューニング Recruit BootCamp 2022 Android. 5
アプリが価値を生む 例① エンハンス開発 価値が生まれるまでの時間を短く 生まれる価値を上げ (スコープ外) 障害を出さないよう にリリースすること 引用元 事業価値とエンジニアリン
グ 61期リクルート新人研修 Recruit BootCamp 2022 Android. 6
アプリが価値損失を防ぐ 例② 安定稼働タスク 検知からリリースまでを最速 見つける 原因の切り分け 解決策 修正→リリース 引用元 事業価値とエンジニアリン
グ 61期リクルート新人研修 Recruit BootCamp 2022 Android. 7
"エンハンス開発"の価値を最大化するのに必要なこと Recruit BootCamp 2022 Android. 8
"安定稼働タスク"を実施するのに必要なこと Recruit BootCamp 2022 Android. 9
二日間の目的とゴール(再掲) 目的 Androidチーム配属のときに摩擦なく開発を始められる前提知識を身につける。 詳細 現場で使う:「アプリを作れるようになる」ではなく、「アプリチームで働く一助にな る」こと。 摩擦なく:必要になった時にこの講義に立ち返ると学びの一歩目が得られる。 前提知識:Androidアプリがどうやって動いているか、どこに気をつけて開発する必要が あるかの肝を知る。 Recruit
BootCamp 2022 Android. 10
現場で使うとは いろいろと気を遣う部分があります。 Android開発ができるという一般的なスキル以外にも 1. 開発フローの話:チーム開発・案件の策定からリリースまでのフロー 2. 既存コードの理解:技術的負債(ソースコードの負債・古いライブラリ) 3. プロダクトの理解・仕様理解 4.
障害対応 5. OS/IDEの最新版追随対応:非推奨対応 6. 肥大するコードへの対応:ビルド時間問題・潜在的なリスク などへのケアが必要です。 Recruit BootCamp 2022 Android. 11
摩擦なく Android開発において必要な知識や用語を満遍なく知ることによって、必要になった際に、 「何を学べばいいか」がわかっている状態になることが目標です。そのために、アプリ開発 や言語の知識だけでなく、ところどころで実際にあった事象を例に小噺を差し込み、「そん なことがあるんだ」という導入の部分だけでも知っておいてもらうことを意識しています。 Recruit BootCamp 2022 Android. 12
前提知識 Android開発ができるようになる上で、知っておくべきことは多岐にわたります。 1. 言語知識:Kotlin/Java (そのほかにも環境によってはGroovyなど) 2. IDE知識:Android Studioの使い方を知る必要があります。 3. アプリ開発基礎知識:UI、ロジックの実装方法、データストアの方法など
4. Androidの動き方:スレッドがどう動くのか、どこで非同期処理を操るかなど こういった部分の始まりの部分を2日間に詰め込み、「やったことあるな」という状態にし ておくことを意識しています。 Recruit BootCamp 2022 Android. 13
コンテンツ 初日: 導入 Kotlinの基礎(2時間ぐらい) [座学+実際に触る] Android開発の基礎(2時間ぐらい) [座学+実際に触る] エンハンス体験 [実際に触る] 二日目:
エンハンス体験 [実際に触る] ところどころ小噺 クロージング Recruit BootCamp 2022 Android. 14
講習中のお願い・注意事項 3. チャットはSlackに統一します。発言自由にするので、質問や進捗報告、わかったアピー ル、わからないアピールなど何にでも使ってください。 4. 座学中・演習中問わず、常に口頭での質問で遮ってください。歓迎です。 5. 受講者の間で意見を交換するのも、会話をするのも自由です。 6. グループ分けはしません。
Recruit BootCamp 2022 Android. 15
コンテンツ詳細 Kotlinの学習 目的 後続のコンテンツ(エンハンス体験)をする際に「知らない・読めない」を極力なく する程度の必要最低限レベルを習得すること ゴール スムーズに書けなくても、例題やリファレンスに立ち返ればわかる、どこを質問す ればいいかわかるぐらいになる Recruit BootCamp
2022 Android. 16
Androidアプリ開発の基礎 目標 エンハンス体験をする際に、何か目的をもって変更しようとして、ソースコード以 外の部分で困ることがないこと ゴール どこにファイルを追加したらいいかがわかる、また、どこにソースコードを書けば いいかがわかること Recruit BootCamp 2022
Android. 17
Android OSの話 目標 価値の最大化・損失の最小化をするための第一歩。 ゴール 「Androidってそういうことがあるのか」と何となく頭の中に残ることです。 ところどころでAndroid OSに関する小ネタを挟みます。 昨今のライブラリを上手に活用すると意識しなくてすむ部分が多いのですが、歴史の長いプ ロダクトであればあるほど古い基盤に依存しているものが多いです。
ある程度OSがどういう処理をしているのかを知っていないと、実装上思わぬ危険性を埋め込 むことになったり、実行時エラーが発生してクラッシュしたりすることがあります。途中か らエンハンス体験中心になりますが、定期的に小ネタを挟みながら、実際にアプリケーショ ンを作る際に気にするべきところを学んでいきましょう。 Recruit BootCamp 2022 Android. 18
エンハンス体験(メインコンテンツ) 目標 「実際の案件っぽい」テーマのエンハンスをしてみることによって、Android開発 の基礎がわかり、満遍なく一度調べたこと・触ったことがあるという状態になるこ と ゴール いずれAndroid開発に関与することになったときに、既存実装を追いやすくなるこ と、簡単な案件であれば摩擦なく実施できること Recruit BootCamp
2022 Android. 19
コンテンツ(再掲) 初日: 導入 → Kotlinの基礎(2時間ぐらい) [座学+実際に触る] Android開発の基礎(2時間ぐらい) [座学+実際に触る] エンハンス体験 [実際に触る]
二日目: エンハンス体験 [実際に触る] ところどころ小噺 クロージング Recruit BootCamp 2022 Android. 20
環境構築の確認 Recruit BootCamp 2022 Android. 21
はじめる前に 環境確認 必要なもの Android Studio (2021.1.1以上) Android Emulator GitLabの権限 動作確認
Android Emulator AVDを使ってEmulatorを追加してみる Recruit BootCamp 2022 Android. 22
Kotlinの基礎 Recruit BootCamp 2022 Android. 23
Why Kotlin? Kotlinとは JetBrain社が開発したオープンソースの静的型付け言語。 Java仮想マシン上で動作するので、Javaと同程度に早くコンパイルされ動作される。 Javaとの互換性を残しつつ、Java内の互換性維持のためJavaでは実現できない機能を追加し たり、将来的にJavaで実現したいことを先読みして採用したり、Scalaから関数型言語の良さ の一部を採用したりしている。(糖衣構文など) 2019年にGoogleがKotlinをAndroid開発の推奨言語に指定した。 (※
ここまでwikipedia) Recruit BootCamp 2022 Android. 24
Why Kotlin? 公式ページに行ってみよう Kotlin https://kotlinlang.org/#why-kotlin Develop Android with Kotlin https://developer.android.com/kotlin?hl=ja
Recruit BootCamp 2022 Android. 25
Kotlin研修の進め方 GitLabとKotlin Playgroundで進めます 1. GitLab の lesson/kotlin を開いて下さい。 2. テーマごとのディレクトリに
README.md が含まれています。 3. 各章について、本当に簡単に説明します。 4. その後各自で各章の内容を読み、練習問題に取り組んでください。 5. 練習問題の回答をSlackのチャットで共有してください。 6. 追加の説明事項があれば補足した上で、次の章に進みます。 7. 2-6を繰り返します。 Recruit BootCamp 2022 Android. 26
Kotlin Playgroundについて 開き方 練習問題 https://pl.kotl.in/dzgYxklC4?theme=darcula Open in Playground → を選択する。
Recruit BootCamp 2022 Android. 27
Kotlin Playgroundについて 実行方法 の ▶︎ を選択 Recruit BootCamp 2022 Android.
28
Kotlin Playgroundについて 共有方法 <> を選択すると、右のようなダイア ログが出現するので、 Medium を選択してその下のURLをコ ピーする。 Recruit
BootCamp 2022 Android. 29
ハンズオン開始 GitLabに移ります。 ここからは『通話 + ハンズオン』 Recruit BootCamp 2022 Android. 30
コンテンツ(再掲) 初日: 導入 Kotlinの基礎(2時間ぐらい) [座学+実際に触る] → Android開発の基礎(2時間ぐらい) [座学+実際に触る] エンハンス体験 [実際に触る]
二日目: エンハンス体験 [実際に触る] ところどころ小噺 クロージング Recruit BootCamp 2022 Android. 31
Android開発の基礎 GitLabに移ります。 ここからは『通話 + ハンズオン』 Recruit BootCamp 2022 Android. 32
コンテンツ(再掲) 初日: 導入 Kotlinの基礎(2時間ぐらい) [座学+実際に触る] Android開発の基礎(2時間ぐらい) [座学+実際に触る] → エンハンス体験 [実際に触る]
二日目: エンハンス体験 [実際に触る] ところどころ小噺 クロージング Recruit BootCamp 2022 Android. 33
Androidエンハンス体験 実際にソースコードを触ってみよう ここでは、サンプルアプリを使って実際にAndriodアプリの機能追加をしていきます。 1. まずアプリの中身を覗いてみる 2. 実際にちょっと触ってみる 3. Issueベースでどんどん進めていく という流れで進めていきましょう。
Recruit BootCamp 2022 Android. 34
MyGithubApp 今回のお題について 今回お題として準備したのは、GitHubAPIを利用した簡単な検索アプリです。 講師陣が普段触っているタウンワークもそうですが、リクルートが提供しているクライアン ト向けアプリは、 「検索」→「一覧表示」→「詳細表示」→「アクション」 という動きをするものが多いです。(リクルートに限りませんが) なので、今回はその動きを模したアプリを使って、実際に現場で発生しそうなテーマを実装 しながら、Android開発について学んでいきましょう。 Recruit
BootCamp 2022 Android. 35
環境構築 GitLabから引っ張ってくる リポジトリをフォークしてください。 立ち上げます $ cd 任意の場所 $ git clone
hogehoge $ cd MyGithubApp $ studio . で立ち上がります。 ( studio コマンドを使うために) ※ AndroidStudio側で、 Tools→Create Command-line Launcher をクリック→OKを選択く ださい。 Recruit BootCamp 2022 Android. 36
実際に動かしてみる ▷をクリックして起動する。 Recruit BootCamp 2022 Android. 37
ここからはたくさん書いて触れ合ってみましょう 開発体験 進め方 1. GitLabのIssueが課題になります。順番に進めていってください。 2. いつでも質問対応するので、メンションをください。 おすすめ問題 (これをやればまんべんなくいろいろ見れる) *
Issue1 * Issue4 * Issue7 * Issue10 * Issue12 ※ 当日はGitLabで実施しました。公開用にGitHubに移行しているのでこちらをご覧くださ い。 Recruit BootCamp 2022 Android. 38
ルール 1. issueそれぞれに対して、 enhance/issue{number} を切って main ブランチへのPRを 作成してください。 2. PRが作れたら、メンションしてください。
3. 講師が確認し、共有できそうなところや補足があれば共有します。 4. みんなの間での会話、何か調べ物をする行為などは自由です。 5. お昼休みは明示的に取ります。それ以外の細かい休憩は各自で取得して下さい。 Recruit BootCamp 2022 Android. 39
Issueの見方 問題 今の状態での困りごと 要件 やってほしいこと ヒント 参考になるスライドページなど 学び この案件で学べること 実際の業務では
実際にあった似たような案件 Recruit BootCamp 2022 Android. 40