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
Recruit Technologies
August 21, 2020
Technology
23
81k
エンジニアとして この先生きのこるために
2020年度リクルート新人ブートキャンプ エンジニアコースの講義資料です
Recruit Technologies
August 21, 2020
Tweet
Share
More Decks by Recruit Technologies
See All by Recruit Technologies
障害はチャンスだ! 障害を前向きに捉える
rtechkouhou
1
720
Flutter移行の苦労と、乗り越えた先に得られたもの
rtechkouhou
3
12k
ここ数年間のタウンワークiOSアプリのエンジニアのチャレンジ
rtechkouhou
1
1.5k
大規模環境をAWS Transit Gatewayで設計/移行する前に考える3つのポイントと移行への挑戦
rtechkouhou
1
1.9k
【61期 新人BootCamp】TOC入門
rtechkouhou
3
42k
【RTC新人研修 】 TPS
rtechkouhou
1
41k
Android Boot Camp 2020
rtechkouhou
0
41k
HTML/CSS
rtechkouhou
10
51k
TypeScript Bootcamp 2020
rtechkouhou
9
46k
Other Decks in Technology
See All in Technology
GCASアップデート(202508-202510)
techniczna
0
250
文字列操作の達人になる ~ Kotlinの文字列の便利な世界 ~ - Kotlin fest 2025
tomorrowkey
2
420
Oracle Database@Google Cloud:サービス概要のご紹介
oracle4engineer
PRO
0
420
AIエージェントによる業務効率化への飽くなき挑戦-AWS上の実開発事例から学んだ効果、現実そしてギャップ-
nasuvitz
5
1.6k
累計5000万DLサービスの裏側 – LINEマンガのKotlinで挑む大規模 Server-side ETLの最適化
ldf_tech
0
150
猫でもわかるAmazon Q Developer CLI 解体新書
kentapapa
1
290
サブドメインテイクオーバー事例紹介と対策について
mikit
13
5.1k
datadog-incident-management-intro
tetsuya28
0
120
オブザーバビリティと育てた ID管理・認証認可基盤の歩み / The Journey of an ID Management, Authentication, and Authorization Platform Nurtured with Observability
kaminashi
2
1.6k
Databricks Free Editionで始めるMLflow
taka_aki
0
740
進化する大規模言語モデル評価: Swallowプロジェクトにおける実践と知見
chokkan
PRO
3
440
SOTA競争から人間を超える画像認識へ
shinya7y
0
670
Featured
See All Featured
Fashionably flexible responsive web design (full day workshop)
malarkey
407
66k
Testing 201, or: Great Expectations
jmmastey
46
7.7k
Documentation Writing (for coders)
carmenintech
76
5.1k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
359
30k
Java REST API Framework Comparison - PWX 2021
mraible
34
8.9k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
16
1.7k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
PRO
192
56k
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
658
61k
[RailsConf 2023] Rails as a piece of cake
palkan
57
6k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
34
2.3k
Navigating Team Friction
lara
190
15k
Bash Introduction
62gerente
615
210k
Transcript
ΤϯδχΞͱͯ͠ ͜ͷઌੜ͖ͷ͜ΔͨΊʹ ాਓ "QS !ϦΫϧʔτςΫϊϩδʔζ
UXBEB U@XBEB UXBEB ాਓ
मɺ༁ɺ༁ͨ͠ຊͨͪ
テスト書いてますか!! ελϯυ໊ϫΠϧυɾαόϯφ
wେֶࡏֶத͔ΒઃܭͱϓϩάϥϛϯάͷΞϧόΠτ Λ࢝ΊΔ wଔۀޙϓϩάϥϚͱͯ͠ͷΩϟϦΞΛ։࢝ wిࢠͷαϒϓϩδΣΫτ ઍਓن ͰϦʔυ ϓϩάϥϚ w91ͷίʔνͱͯ͠ਓͷΞδϟΠϧνʔϜʹࢀՃ wߨԋɺࣥචɺ044׆ಈΛ࢝ΊΔ wݱࡏٕज़ސۀΛߦ͍ͬͯΔ
ΩϟϦΞతͳͷ
ΑΖ͓͘͠ئ͍͠·͢
None
None
ֶͼଓ͚Δ࢟
lৗʹ͋ͳͨͷ ࣝϙʔτϑΥϦΦ ʹࢿ͢Δ͜ͱz
ٕज़ΛֶͿͷͰ ͳ͘ɺٕज़ͷ ֶͼํΛֶͿ
Agenda ֶͼํΛֶͿ ݱϓϩάϥϚͰ͍ΔͨΊʹ ͓ΘΓʹ
࢛ظຖʹٕज़ॻΛಡΉ खΛಈֶ͔ͯ͠Ϳ ຖগͳ͘ͱͭͷݴޠΛֶश͢Δ ͷճΓΛϓϩάϥϛϯάରʹ͢Δ ΞτϓοτΛߦ͏
l࢛ظຖʹ ٕज़ॻΛಡΉz
None
感覚記憶 0.5 〜 2sec 短期記憶 15 〜 30 sec 長期記憶
死ぬまで? ֶͼͷΈ
ΠϯσοΫεΛ࡞Δ ピッカーを育てる = 反復練習 何度も長期記憶から出し入れする 荷物を他の荷物とくっつける 連想記憶を育てる
1999 2000 2001 2002 2003 2004 2005 2006 ͨͱ͑ɺ࣌ܥྻʹฒΔ
࢛ظຖʹٕज़ॻΛಡΉ खΛಈֶ͔ͯ͠Ϳ ຖগͳ͘ͱͭͷݴޠΛֶश͢Δ ͷճΓΛϓϩάϥϛϯάରʹ͢Δ ΞτϓοτΛߦ͏
lखΛಈ͔͠ ֶͯͿz
Ͱ͖Δ ͖ʹͳΔ Δ ҹਖ਼ͷଓ ࠜݩ͕૿͑Εઌ૿͑Δɻ ࠜݩ͕ݮΕઌݮΔ
σʔϧͷԁਲ਼
ࣸܦ
IUUQUXJUUFSDPNU@XBEBTUBUVTFT
࢛ظຖʹٕज़ॻΛಡΉ खΛಈֶ͔ͯ͠Ϳ ຖগͳ͘ͱͭͷݴޠΛֶश͢Δ ͷճΓΛϓϩάϥϛϯάରʹ͢Δ ΞτϓοτΛߦ͏
lຖগͳ͘ͱ ҰͭͷݴޠΛ ֶश͢Δz
ୈೋͷݴޠʹɺੋඇͱɺ࠷ॳͷݴޠͱύϥμΠϜ ͷҧ͏ݴޠΛબͿ͖Ͱ͢ɻͦΕͳ͔ͥͱ͍͏ͱɺύ ϥμΠϜͷҧ͏ݴޠΛֶͿͱɺΞϧΰϦζϜɺΠσΟΦ Ϝɺύλʔϯͷ࣮ʹ͍ͭͯݏͰߟ͑ΔΑ͏ʹͳΔ͔ ΒͰ͢ɻ ಉ༷ͷΞϧΰϦζϜΛ࣮͢Δʹͯ͠ɺ৭ʑͳΓ͔ ͕ͨ͋ΓಘΔ͜ͱʹؾ͖ͮ·͢ɻ͜ͷମݧ͕ɺϓϩάϥ Ϛͷٕज़Λେ্͖ͤ͘͞·͢ɻ ϓϩάϥϛϯάݴޠෳशಘ͖͢
"OEZ)VOUͱ%BWF5IPNBTɺଟ͘ͷਓʹӨڹΛ༩ ͑ͨஶॻʰୡਓϓϩάϥϚʔʱͷதͰɺʮຖɺ৽ͨͳ ϓϩάϥϛϯάݴޠΛֶͭͿ͜ͱʯͱקΊ͍ͯ· ͢ɻࢲͦͷΞυόΠεʹै͍ɺաڈԿ͔ͷؒʹ࣮ࡍ ʹଟ͘ͷݴޠΛֶΜͰ͖·ͨ͠ɻ ͦͯ͠ɺͦͷதͰʮݴޠΛֶͿͱ͍͏ͷɺͨͩจ๏ɺ ߏจΛֶͿ͜ͱͰͳ͘ɺͦͷഎܠʹ͋ΔจԽֶͿ ͜ͱʯͱ͍͏ॏཁͳڭ܇Λಘ·ͨ͠ɻ ݴޠ͚ͩͰͳ͘จԽֶͿ
http://www.thoughtworks.com/radar/languages-and-frameworks
http://www.thoughtworks.com/radar/languages-and-frameworks
http://www.thoughtworks.com/radar/languages-and-frameworks
http://www.thoughtworks.com/radar/languages-and-frameworks
http://www.thoughtworks.com/radar/languages-and-frameworks
lӳޠ͕Ͱ͖ΔΑ͏ʹͳΔͱ͍͏ͷɺ ʮେ͖ͳਤॻؗͷ伴ʯΛ͞ΕΔΑ͏ͳ ͷͰ͢ɻҰਓͻͱΓͷਓੜʹ͍ΖΜͳ ՄೳੑΛ༩͑ͯ͘Ε·͢z ߴদचࢠ http://blogos.com/article/85541/ ٕज़ऀͱӳޠ
࢛ظຖʹٕज़ॻΛಡΉ खΛಈֶ͔ͯ͠Ϳ ຖগͳ͘ͱͭͷݴޠΛֶश͢Δ ͷճΓΛϓϩάϥϛϯάରʹ͢Δ ΞτϓοτΛߦ͏
ͷճΓΛ ϓϩάϥϛϯά ରʹ͢Δ
ϓϩάϥϚ͚ͷຊͷमऀ Ͳ͏͋Δ͖͔
ϓϩάϥϚΒ͘͠ ଵଦɺၗຫɺؾ ϓϨʔϯςΩετΛΉ ͯ͢Λόʔδϣϯཧ͢Δ ͯ͢ΛࣗಈԽ͢Δ มԽΛ๊༴͢Δ
ϓϩάϥϚΒ͘͠ ݪߘNBSLEPXOܗࣜ ݪจεΫϨΠϐϯάͯ͠औಘ HJUΛ͍όʔδϣϯཧ IFSPLVʹQVTIͯ͠αΠτʹө मࠩEPDEJGGͰදࣔ
None
None
࠷ۙͭͬͨ͘ͷ ࢠҭͯڭҭؔͷ -*/&#PU "NB[PO"MFYB4LJMM ͳͲ
࢛ظຖʹٕज़ॻΛಡΉ खΛಈֶ͔ͯ͠Ϳ ຖগͳ͘ͱͭͷݴޠΛֶश͢Δ ͷճΓΛϓϩάϥϛϯάରʹ͢Δ ΞτϓοτΛߦ͏
Ξτϓο τΛߦ͏
σʔϧͷԁਲ਼
https://twitter.com/ProfFeynman/status/981943455508148225
Πϯϓοτ Ξτϓοτ ਖ਼ͷϑΟʔυόοΫϧʔϓ ҹਖ਼ͷଓ ࠜݩ͕૿͑Εઌ૿͑Δɻ ࠜݩ͕ݮΕઌݮΔ
ྔ࣭ʹసԽ͢Δ http://d.hatena.ne.jp/KZR/20080808/p1
CMPHΛॻ͘
lใൃ৴ɺCMPH ൃ ද ެ։ͳͲɺֶͷ ະղܾͷ ূ໌Ͱ ͳ͘ɺྉཧͷΑ͏ͳ ͷz
ࣥච͢Δ ·ͣࡶࢽ͔Β
HJIZPKQͷ࿈ࡌ ʰʦಈըͰղઆʧాਓͷlςετۦಈ։ൃzߨ࠲ʱ IUUQHJIZPKQEFWTFSJBMUEE શճͯ͢ಈը͖ղઆ χίχίಈըͰݟΕ·͢ 8&# %#աڈهࣄͷಛઃαΠτͱಈը
ίʔυΛެ։͢Δ
assert(typeof item.id === 'strong') | | | | | |
| false | | "foo" | Item{id:"foo",name:"bar"} "string" --- [string] 'strong' +++ [string] typeof item.id @@ -1,6 +1,6 @@ str -o +i ng power-assert IUUQTHJUIVCDPNQPXFSBTTFSUKTQPXFSBTTFSU
ߨԋ͢Δ
ϥΠϒίʔσΟϯά͕࠷ϋΠϦεΫϋΠϦλʔϯ
w5XJUUFS wCMPH 2JJUB wࡶࢽهࣄ 8FC ࢴഔମ ిࢠഔମ wॻ੶ ڞஶ
༁ ༁ ୯ஶ wߨԋ ࣾษڧձ ࣾ֎-5 ࣾ֎ߨԋ wϥΠϒίʔσΟϯά w(JU)VC Ξτϓοτͷνϟωϧ
JOUFSWBM
Agenda ֶͼํΛֶͿ ݱϓϩάϥϚͰ͍ΔͨΊʹ ͓ΘΓʹ
ຖίʔυΛॻ͘ Լ͔ΒֶͿ աڈ͔ΒະདྷΛݟΔ ਓͷͭ͘ΔӔΛݟΔ େࣄͳ͜ͱʹूத͢Δ
ຖίʔυΛ ॻ͘
w K2VFSZ࡞ऀ+PIO3FTJHिʹࣗͷϓϩ μΫτ։ൃΛؤுΖ͏ͱ͕ͨ͠ɺࣦഊɻ w ฏͱಉ͡അྗͰॻ͚ͳ͍ w શͯͷि͕ۭ͍͍ͯΔΘ͚Ͱͳ͍ w Ұिؒ ͋Δ͍ೋिؒ
͍ɻίʔυ ΛΕͯ͠·͏ w ͦ͜Ͱ+PIO3FTJH͕ߦͬͨ͜ͱʜʜ ͋ͷ+PIO3FTJHͰ͏·͍͔͘ͳ͍͜ͱ
IUUQFKPIOPSHCMPHXSJUFDPEFFWFSZEBZ
ຖίʔυΛॻ͘͜ͱɻϒϩάɺυΩϡϝϯ τɺͦͷଞίʔυΛॻ͍ͨΒͬͯΑ͍ɻ ҙຯͷ͋ΔίʔυΛॻ͘͜ͱɻΠϯσϯτ ϑΥʔϚοτͷमਖ਼ɺՄೳͳΒϦϑΝΫ λϦϯάίʔυॻ͖ʹΧϯτ͠ͳ͍ɻ ਂ࣌લʹऴΘΒͤΔ͜ͱɻ ॻ͍ͨίʔυΛHJUIVCͰશͯ044ʹ͢Δ ͜ͱɻ ࢛ͭͷϧʔϧ IUUQFKPIOPSHCMPHXSJUFDPEFFWFSZEBZ
࣌ͷ !KFSFTJHͷHJUIVCQSPpMF IUUQTHJUIVCDPNKFSFTJH
w ඞཁ࠷খݶͷίʔυͷूதҰʙ࣌ؒఔͰҙ ຯͷ͋ΔίʔυΛॻ͘͜ͱ͕ڧ͍ΒΕΔ ٳʹͬͱ ͔͚ΒΕΔ w ϓϩάϥϛϯάͷश׳ԽHJUIVCʹΛੜ͢ͷ͕తͰ ͳ͍ɻࣗͰࣗࣗͷͨΊʹੜ׆श׳Λม͑Δͷ͕େ ࣄ
w ෆ҆ͱͷઓ͍ҎલʮेʹʯਐΜͰ͍Δ͔ɺʮे ʹʯ͍ͯ͠Δ͔ɺෆ͕҆͋ͬͨɻຖίʔυΛॻ͍ͯ ΈͯɺਐΜͰ͍Δͱ͍͏࣮ײɺ࣮ࡍͷਐḿͱಉ͘͡Β͍ ॏཁͩͱ͍͏ؾ͖ͮΛಘͨ +PIO3FTJHʹىͬͨ͜มԽ
w िͷա͔ͨ͝͠Ҏલ։ൃͷશͯΛिʹṌ͚ࣦͯ ഊ͍͕ͯͨ͠ɺ͍·िͦΕ΄ͲॏཁͰͳ͘ͳ ΓɺϦΞϧϥΠϑΛॆ࣮Ͱ͖ΔΑ͏ʹͳͬͨ w όοΫάϥϯυॲཧࢄาதɺγϟϫʔதɺৗʹίʔ υͷ͜ͱΛόοΫάϥϯυͰߟ͑ΔΑ͏ʹͳΓɺྑ ͍ΞΠσΞ͕ු͔ͿΑ͏ʹͳͬͨ w ίϯςΫετεΠονҎલिʹҰճͷ։ൃͩͬͨͷ
ͰίϯςΫετεΠονͷίετ͕͕͋ͬͨɺ͍· ຖͳͷͰͦΕ͕ͳ͍ +PIO3FTJHʹىͬͨ͜มԽ
w ϫʔΫϥΠϑόϥϯεࣄੜ׆ࣗͷϓϩδΣΫτ ͷόϥϯεͷऔΓํ͕͔ͬͨͷ͕࠷େͷऩ֭ͩͬͨɻ ຖΔͱ͍͏͜ͱɺόϥϯεΛऔΔͱ͍͏͜ͱ w ·ΘΓ͔ΒͷཧղʮຖίʔυΛॻ͘ʯͱ͍͏श׳Λ ެݴͨ͜͠ͱͰɺύʔτφʔ͔ΒͷཧղಘΒΕΔΑ͏ ʹͳͬͨ w ͲΕ͚ͩίʔυΛॻ͍͔ͨ͜ͷश׳Λଓ͚Δͱॻ͘
ίʔυΞτϓοτࣗͰ֮͑ΒΕͳ͍͘Β͍ͷ ྔʹͳΓɺॆ࣮ײΛಘΒΕΔ +PIO3FTJHʹىͬͨ͜มԽ
ʮ͍·ɺখ͞ͳ͜ͱΛଟ͘ੵΈ্ ͛Δ͜ͱ͕ɺͱΜͰͳ͍ͱ͜Ζ ߦͨͩ͘ͻͱͭͷಓͳΜͩͳͱ ͍͏;͏ʹײ͍ͯ͡·͢ʯ Πνϩʔ͕ʹ/#"ؒ࠷ଟ҆ଧΛߋ৽ͨ͠ͱ͖ͷݴ༿
ࢲ݁ߏଓ͚·ͨ͠
ࣄྫ
ݱࡏͷ!KFSFTJHͷHJUIVCQSPpMF IUUQTHJUIVCDPNKFSFTJH
࢝ൃӺۙ͘ʹॅΈɺ࠲ΕΔՄೳੑΛίϯτϩʔϧ͢Δ
ຖίʔυΛॻ͘ Լ͔ΒֶͿ աڈ͔ΒະདྷΛݟΔ ਓͷͭ͘ΔӔΛݟΔ େࣄͳ͜ͱʹूத͢Δ
Լ͔Β ֶͿ
lҰੜϓϩάϥϚʔͰ͍ ΕΔ͔Ͳ͏͔ɺݴ͍ ͑ΕԼ͔Βֶ Δ͔൱͔ɻz
Ͱ͖Δ ͖ʹͳΔ աద߹ͱλίπϘԽ ҹਖ਼ͷଓ ࠜݩ͕૿͑Εઌ૿͑Δɻ ࠜݩ͕ݮΕઌݮΔ
wఆظతʹࣗͷεΩϧΛ୨Է͢͠Δ wੵۃతʹ֎෦ʹग़ͯɺࣗͷεΩϧΛ ૬ରԽ͢Δ w͏ಓ۩Λఆظతʹม͑Δ wະͷίϛϡχςΟʹࢀՃ͢Δ wएऀ͔ΒֶͿ wएऀͱಉ͡ඨͰڝ͏ ϕϯνϚʔΫͱΞϯϥʔχϯά
ペアプログラミング ベテランにはアンラーニングのチャンス
ຖίʔυΛॻ͘ Լ͔ΒֶͿ աڈ͔ΒະདྷΛݟΔ ਓͷͭ͘ΔӔΛݟΔ େࣄͳ͜ͱʹूத͢Δ
աڈ͔Β ະདྷΛΔ
ٕज़ʮৼΓࢠʯ
ٕज़ʮΒͤΜʯ
IUUQTTQFBLFSEFDLDPNUXBEBVOEFSTUBOEJOHUIFTQJSBMPGUFDIOPMPHJFT
IUUQXXXQVCMJDLFZKQCMPHIUNM
IUUQTGVLBCPSJGN
ʮ5ࣈܕʯͰͳ͘ෳͷபΛ
ຖίʔυΛॻ͘ Լ͔ΒֶͿ աڈ͔ΒະདྷΛݟΔ ਓͷͭ͘ΔӔΛݟΔ େࣄͳ͜ͱʹूத͢Δ
ਓͷͭ͘Δ ӔΛݟΔ
৫ͷ͔࣌Βݸਓͷ࣌
ݸ͕ଟ͘ू·ΔͱԿ͔͕ى͜Δ
ϩʔυϚοϓࢦ͔ΒΤίγεςϜࢦ
IUUQEIBUFOBOFKQFTTBQ
l͔͠͠ɺࠓͷۀքɺʮΤίγεςϜʯͷ࣌ͩɻ ଳӍྛͷΑ͏ʹɺ৯͍͍͋ͭͭڞੜ͋͠͏͞·͟ͳ λΠϓͷϓϨΠϠʔ͕ɺࣗͷҝ͚ͩͷݸผͷҙࢥܾ ఆΛͯ͠ɺͦͷ૬ޓ࡞༻Ͱٕज़͕ൃల͍ͯ͘͠ɻʮΤ ίγεςϜʯໃ६ͩΒ͚Ͱɺ͋Δٕज़͕ൃల͢Δͷ ͱಉ࣌ʹɺͦͷΞϯνςʔθͱͳΔٕज़৳ͼΔz lʮϩʔυϚοϓʯ͕ࢦࣔ͢͠ະདྷͷํͱҧ͏ํ ʹਐΉ͜ͱக໋తͳؒҧ͍͕ͩɺʮΤίγεςϜʯ Ή͠Ζத৺෦͕ϨουΦʔγϟϯͰɺपล෦ʹੜ͖ Γ͕༰қͳϒϧʔΦʔγϟϯ͕͋Δz
IUUQEIBUFOBOFKQFTTBQ
lී௨ͷਓʮϩʔυϚοϓʯ ͷதͰਅΜதΛਐΉ͖Ͱɺ ʮΤίγεςϜʯͷதͰਅΜ தΛආ͚Δ͖ͩz IUUQEIBUFOBOFKQFTTBQ
IUUQDIBTFOPSHdEBJUJNUFYUXPSTFJTCFUUFSKBIUNM 5IF3JTFPGl8PSTFJT#FUUFSz
IUUQTUXJUUFSDPNU@XBEBTUBUVT
IUUQTTQFBLFSEFDLDPNUXBEBXPSTFJTCFUUFSVOEFSTUBOEJOHUIFTQJSBMPGUFDIOPMPHJFTFEJUJPO
ຖίʔυΛॻ͘ Լ͔ΒֶͿ աڈ͔ΒະདྷΛݟΔ ਓͷͭ͘ΔӔΛݟΔ େࣄͳ͜ͱʹूத͢Δ
େࣄͳ͜ͱʹ ूத͢Δ
IUUQTXXXBNB[PODPKQEQ
None
Agenda ֶͼํΛֶͿ ݱϓϩάϥϚͰ͍ΔͨΊʹ ͓ΘΓʹ
ֶͼଓ͚Δ࢟
ٕज़ΛֶͿͷͰ ͳ͘ɺٕज़ͷ ֶͼํΛֶͿ
ތΓ͋Δϓϩʹͳ͍ͬͯͩ͘͞ ͝ਗ਼ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠