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
hakobe (Yohei Fushii)
December 06, 2016
3
6.6k
はてなで一人前のエンジニアになる方法
hakobe (Yohei Fushii)
December 06, 2016
Tweet
Share
More Decks by hakobe (Yohei Fushii)
See All by hakobe (Yohei Fushii)
はてなにおけるプログラミング言語の歴史とこれから
hakobe
0
590
ざっとわかるPython
hakobe
4
6.7k
契約による設計の紹介
hakobe
6
20k
アクターによる 並行処理アプケーション アーキテクチャ
hakobe
4
3.3k
Scala In Perl Company
hakobe
11
12k
TDDの練習 Coding Kata の実践
hakobe
0
1.3k
なめらかにGHEに移行する方法
hakobe
19
7.7k
開発フロー@はてなブックマーク
hakobe
0
150
Git on WebApp with Perl
hakobe
1
3.8k
Featured
See All Featured
Done Done
chrislema
179
15k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
502
140k
The Cost Of JavaScript in 2023
addyosmani
31
4.7k
Gamification - CAS2011
davidbonilla
78
4.9k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
12
3.8k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
245
1.2M
The Illustrated Children's Guide to Kubernetes
chrisshort
39
47k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
16
1.6k
Designing with Data
zakiwarfel
96
5k
KATA
mclloyd
20
13k
Making Projects Easy
brettharned
111
5.7k
How to train your dragon (web standard)
notwaldorf
79
5.5k
Transcript
ͯͳͰ ҰਓલͷΤϯδχΞ ʹͳΔํ๏ id:hakobe932
ࣗݾհ ෬Ҫ ༸ฏ id:hakobe932 @hakobe νʔϑΤϯδχΞ(৽ถ) ͯͳϒϩά ΤϯδχΞ
http://developer.hatenastaff.com/entry/2016/09/01/163542
@YAPC::Asia 2014 http://yapcasia.org/2014/talk/show/d557ddbe-fde4-11e3-b7e8-e4a96aeab6a4
http://hakobe932.hatenablog.com/entry/2016/04/15/142756
৽ଔ̓
ͯͳϒϩάͯͳϒοΫϚʔΫ .BDLFSFMͯͳμΠΞϦʔ ͯͳΩʔϫʔυ#,6."ͯͳελʔ ਓྗݕࡧͯͳͯͳϑΥτϥΠϑ ͏͝ϝϞͯͳͯͳίίϓϥοτϑΥʔϜ
ͯͳͰҰਓલͷ ΤϯδχΞʹͳΔํ๏
ฉ͑͜Δݬௌ
ҰਓલͷΤϯδχΞͬͯ? ˒͜͏ͳΓ͍ͨͱࢥ͏ΤϯδχΞͷ૾ ❖͓·͑ҰਓલͷΤϯδχΞͳͷ͔? • ͨͿΜৗʹҧ͏… ❖Ͱ৽ଔͷ͜Ζͷ͕ࣗࠓͷࣗΛݟͨΒ ͦ͏ݴͬͯ͋͛ΕΔ͔
͓͢Δ͜ͱ ❖ͯͳʹ͓͚ΔΤϯδχΞ੍ ❖͋Δ৽ଔΤϯδχΞ(hakobe932)ͷ߹ ❖ҰਓલͷΤϯδχΞʹͳΕΔ৫ʹ
ͯͳʹ͓͚Δ ΤϯδχΞ੍
❖ 2001ژͰۀɻ ❖ ࣾһ100໊ (ژɾ౦ژ΄΅ಉ) • ΤϯδχΞͦͷ͘Β͍ ❖ ΣϒαʔϏεΛͭͬͯ͘·͢ •
ͯͳϒοΫϚʔΫɺͯͳϒϩάɺetc.. ❖ 20162݄ Ϛβʔζ্ ͯͳ
❖ ΞϓϦέʔγϣϯΤϯδχΞ • αʔϏενʔϜʹॴଐ͠ΞϓϦέʔγϣϯͷ։ൃΛߦ͏ ❖ ΣϒΦϖϨʔγϣϯΤϯδχΞ • αʔϏεΛࢧ͑ΔγεςϜΠϯϑϥͷߏஙӡ༻ ΤϯδχΞͷ৬छ
ΤϯδχΞͷ୲ྖҬ ωοτ ϫʔΫ αʔό ӡ༻ ϛυϧ ΣΞ ӡ༻ όοΫ Τϯυ
ϑϩϯτ Τϯυ ΞϓϦ νʔϜ ӡ༻ αʔϏε اը ΞϓϦέʔγϣϯ ΤϯδχΞ Σϒ ΦϖϨʔγϣϯ ΤϯδχΞ ୲ྖҬ
• ΤϯδχΞΛࢧԉ͢ΔνʔϜԣஅͷ৫ ❖γχΞΤϯδχΞ • ΤϯδχΞҰਓͻͱΓͷϝϯλϦϯά/ڭҭ/ධՁ ٕज़ྗ্/ࢧԉ ❖νʔϑΤϯδχΞ • ํΛܾΊΔ/શମͷ·ͱΊ ΤϯδχΞ৫:
ٕज़άϧʔϓ
✓ઐੑΛߴΊͯ׆༂ ✓ٕज़άϧʔϓͰ׆༂ • → γχΞ → νʔϑ ✓νʔϜӡ༻اըྗΛߴΊͯ׆༂ • →
σΟϨΫλ ͯͳΤϯδχΞͷΩϟϦΞ
͋Δ৽ଔΤϯδχΞ hakobe932 ͷ߹
• 2008 ॳͯͳΠϯλʔϯࢀՃ → ֶੜΞϧόΠτ • ࣾһελοϑ͔ΒͷࢦࣔͰλεΫΛ͜ͳ͢ ❖ ٕज़ •
Perl / JavaScript / MySQL / git / ςετͷΓํ / λεΫͷਐΊํ ೖࣾલ: Πϯλʔϯ → ΞϧόΠτ
❖ Ұϲ݄ΈͬͪΓֶͿ • ࣮ࡍͷαʔϏε։ൃΛମݧ͢Δ • ಇ͖ํελοϑͷงғؾΛֶͿ • ޭମݧɺ͍͚ͬͯΔࣗ৴ ❖ Πϯλʔϯग़ऀଟ͍
• 3ׂऑ͘Β͍ ͯͳαϚʔΠϯλʔϯ (2008 ~)
• Πϯλʔϯܦݧऀٕज़ݚमͳ͠ (※ࠓ͋Γ·͢) • αʔϏεʹଐ → ͯͳίί ❖ ٕज़ •
αʔόߏͷཧղ / σϓϩΠ / ϩάͷݟํ / ίʔυϨϏϡʔͷํ/ αʔϏεاըͷؔΘΓํ 1: ৽ଔೖࣾ → αʔϏεʹଐ
❖ΠϯλʔϯͷWebΞϓϦ։ൃΧϦΩϡϥϜ ❖ΤϯδχΞ͕ߨٛܗࣜͰհ • WebγεςϜͷجૅ (ΞϓϦฤ/Πϯϑϥฤ) • ͯͳಛ༗ͷγεςϜߏʹ͍ͭͯ • ΞϓϦέʔγϣϯઃܭ֓ •
োରԠԋश ࠷ۙͷ৽ਓݚम
• → ৽ࣄۀ։ൃ → ͯͳϒοΫϚʔΫ → ϓϥοτϑΥʔϜ • ࣾษڧձͷࢀՃ։࠵/Πϕϯτొஃ ❖
ٕज़ • ΞϓϦέʔγϣϯͷઃܭ / iPhone,Android ։ൃ / োରԠ / ύϑΥʔϚϯεվળ / ϓϥοτϑΥʔϜͷࣝ / Ϣʔβߦಈੳ 2~3: νʔϜΛΓา͍ͯमߦ
νʔϜҟಈ͕͍͢͠จԽ ❖ νʔϜʹΑͬͯ৮ΕΒΕΔٕज़ҧ͏ • ৽αʔϏενʔϜ ‣ ৽نΞϓϦέʔγϣϯͷઃܭٕज़ • طଘαʔϏενʔϜ ‣
େྔΞΫηεΛ͘͞ύϑΥʔϚϯεɾνϡʔχϯά • ΞϓϦ͕ओྗͷνʔϜ ‣ iPhone/Android ։ൃͷٕज़
ޓ͍ʹֶͿจԽ ❖ Slack (࣌IRC) • ؾܰʹٕज़ͷڞ༗ • ٕज़ڞ༗bot ❖ ͯͳάϧʔϓ
• ·ͱ·ͬͨͪ͜ΒͰ • ͱʹ͔͘ࡶʹΞτϓοτͰ͖Δ
ࣾษڧձ ❖ ༗ࢤʹΑΔྠಡձ͕ܧଓͯ͠։࠵ • ”LinuxΧʔωϧ2.6ղಡࣨ “ ྠಡձ • ”࣮ફDDD” ྠಡձ
• “Algorithms on strings” ษڧձ ✓ ॻ੶ߪೖิॿଧ্ͪ͛Λαϙʔτ
http://developer.hatenastaff.com/entry/tech-group-snapshot-2016
• → ͯͳϒϩά → Mackerel • اۀ͚ͷϒϩάOEMͷΈͷ։ൃ • mackerel-agentMackerelͷ՝ۚͷΈͳͲΛ։ൃ ❖
ٕज़ • ScalaGo ৽ݴޠͷಋೖ / DDDͳͲͷઃܭɾϞσϦϯά / εΫϥϜ։ൃ / BtoB։ൃ 4~6:৽ٕज़ઃܭݟΛ׆͔ͯ͠։ൃ
Πϯλʔϯҕһ ❖ ٯͷཱͰΠϯλʔϯΛड͚ೖΕΛऔΓ·ͱΊ • ΧϦΩϡϥϜࡦఆ • Scala ߨٛͷ৽ઃ • ืू/બߟ
• ͦͷଞσΟϨΫγϣϯ
γχΞΤϯδχΞ ❖ ଞͷΤϯδχΞΛࢧԉ͢Δཱʹ ❖ ͳΜͰγχΞʹ? → ͦΕ·Ͱͷ׆ಈͷࣗવͳԆͩͬͨ • Πϯλʔϯҕһ •
ษڧձ։࠵ • GitHub EnterpriseͳͲͷڞ༗Ϧιʔεͷϝϯς ❖ ͋͘·ͰαʔϏενʔϜͰͷΤϯδχΞϦϯά͕ϝΠϯ
ݱࡏ:৽ถνʔϑΤϯδχΞ&ͯͳϒϩά։ൃ ✓ νʔϑΤϯδχΞͱͯ͠ • ٕज़άϧʔϓͷӡ༻ٕज़తͳஅ • γχΞΤϯδχΞΛ·ͱΊͯ ࣾษڧձαϒ৫ͷӡ༻ϝϯλϦϯά ✓ ̍ਓͷΤϯδχΞͱͯ͠
• اۀϒϩά͚ͷػೳ։ൃ • ৽ٕज़ษڧ: ΞϧΰϦζϜ ػցֶश ిࢠֶ
ҰਓલͷΤϯδχΞʹ ͳΕΔ৫ʹ
ҰਓલͷΤϯδχΞʹͳΕΔ৫ ❖ֶͼଓ͚ΒΕΔ ❖جૅΛେࣄʹ͢Δ ❖ٕज़ྗΛՌͷݪಈྗʹͰ͖Δ ❖ϞνϕʔγϣϯΛେࣄʹ͢Δ
ֶͼଓ͚ΒΕΔ৫ ✓ ҰਓલͷΤϯδχΞ: ৽͍ٕ͠ज़ΛֶΜͰ͠ଓ͚Δ ❖ ֶͼ͕ਪ͞ΕΔڥ • ษڧձ/ΠϕϯτͷࢀՃ։࠵Λิॿ ❖ ֶͼΛେࣄʹ͢Δϝϯόʔ
• ޓ͍ʹֶͼܹ͠߹͏ • ֶ৺Λॏࢹ
جૅΛେࣄʹ͢Δ৫ ✓ ण໋ͷ͍جૅٕज़Λେࣄʹ͢Δ ❖ 10ޙ͑ΔࣝΛֶͿ • ϑϨʔϜϫʔΫϥΠϒϥϦ͚ͩͰͳ͘ɺͦͷࢥ • ݴޠιϑτΣΞ͚ͩͰͳ͘ɺͦͷཧ
ٕज़ྗΛՌͷݪಈྗʹͰ͖Δ৫ ✓ ޭମݧࣗ৴͕ΤϯδχΞΛͤ͞Δ • ͏·͍ͬͯ͘Δײେࣄ ❖ ٕज़ಓ۩ → ٕज़Λ׆͔ͯ͠ՌΛͤΔΛ࡞Δ •
Ϗδωεͱͷڠௐੑ • ྫ: Mackerel, اۀ͚ϒϩά
ϞνϕʔγϣϯΛେࣄʹ͢Δ৫ ✓ ΤϯδχΞͷϞνϕʔγϣϯ༗ݶ • ݩؾʹࣄ͢Δͷେࣄ ❖ ݸਓ͕Ͳ͏͍͏ϞνϕʔγϣϯΛ͍࣋ͬͯΔ͔ΛΔ • γχΞΤϯδχΞʹΑΔϝϯλϦϯά ❖
Ϟνϕʔγϣϯʹ߹ΘͤͯۀʹऔΓΊΔڥ • ࠷ύϑΥʔϚϯε͕ग़Δͣ
·ͱΊ
͓ͨ͜͠ͱ ❖ͯͳʹ͓͚ΔΤϯδχΞ੍ ❖͋Δ৽ଔΤϯδχΞ(hakobe932)ͷ߹ ❖ҰਓલͷΤϯδχΞʹͳΕΔ৫ʹ
ͯͳͰҰਓલͷΤϯδχΞʹͳΔ ❖ ҰਓલͷΤϯδχΞʹͳΕͨͷ? • ͯͳͷֶͼଓ͚ΔจԽʹҭͯΒΕͨ • ͔͠͠ແݶʹ࣍ͷεςοϓ͕ͬͯΔ ❖ ͜Ε͔Β •
͓͠Ζ͍͜ͱΓଓ͚ΒΕΔΑ͏ʹٕज़ΛֶͿ • νʔϑͱͯ͠ΤϯδχΞ͕ͦΕͧΕͷҰਓલΛ ࢦͤΔ৫Λεέʔϧͤ͞Δ