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
1
2.7k
Android Day1
2022年度リクルート エンジニアコース新人研修の講義資料です
Recruit
PRO
September 09, 2022
Tweet
Share
More Decks by Recruit
See All by Recruit
まなび領域における生成AI活用事例
recruitengineers
PRO
2
65
AI時代にエンジニアはどう成長すれば良いのか?
recruitengineers
PRO
1
91
AIを用いたカスタマーサポートの業務プロセス・組織変革の実現
recruitengineers
PRO
1
57
問い合わせ自動化の技術的挑戦
recruitengineers
PRO
2
110
「Air ビジネスツールズ」のクライアントサポートにおける生成 AI 活用
recruitengineers
PRO
0
45
AI活用のためのアナリティクスエンジニアリング
recruitengineers
PRO
1
56
SaaS事業のデータマネジメント事例
recruitengineers
PRO
0
57
Kaggleで鍛えたスキルの実務での活かし方 競技とプロダクト開発のリアル
recruitengineers
PRO
1
68
LLM のプロダクト導入における開発の裏側と技術的挑戦
recruitengineers
PRO
1
70
Other Decks in Technology
See All in Technology
OSSで構築するIT基盤管理実践事例: NetBox・Snipe-IT・FreeRADIUS+PrivacyIDEA / Practical Case Studies of IT Infrastructure Management Using OSS
nttcom
0
140
大規模な組織におけるAI Agent活用の促進と課題
lycorptech_jp
PRO
5
7.6k
生成AI活用によるPRレビュー改善の歩み
lycorptech_jp
PRO
4
2k
Serverless Agent Architecture on Azure / serverless-agent-on-azure
miyake
1
130
サンタコンペ2025完全攻略 ~お前らの焼きなましは遅すぎる~
terryu16
1
570
男(監査)はつらいよ - Policy as CodeからAIエージェントへ
ken5scal
5
700
Devinを導入したら予想外の人たちに好評だった
tomuro
0
800
チームメンバー迷わないIaC設計
hayama17
5
3.5k
Webアクセシビリティ技術と実装の実際
tomokusaba
0
190
Databricksアシスタントが自分で考えて動く時代に! エージェントモード体験もくもく会
taka_aki
0
280
Security Diaries of an Open Source IAM
ahus1
0
190
トラブルの大半は「言ってない」x「言ってない」じゃねーか!!
ichimichi
0
290
Featured
See All Featured
Product Roadmaps are Hard
iamctodd
PRO
55
12k
4 Signs Your Business is Dying
shpigford
187
22k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
PRO
199
72k
The Illustrated Guide to Node.js - THAT Conference 2024
reverentgeek
1
280
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.6k
Making the Leap to Tech Lead
cromwellryan
135
9.7k
Data-driven link building: lessons from a $708K investment (BrightonSEO talk)
szymonslowik
1
950
Winning Ecommerce Organic Search in an AI Era - #searchnstuff2025
aleyda
1
1.9k
Why You Should Never Use an ORM
jnunemaker
PRO
61
9.8k
Designing Powerful Visuals for Engaging Learning
tmiket
0
250
New Earth Scene 8
popppiees
1
1.7k
Prompt Engineering for Job Search
mfonobong
0
180
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