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
人文系学部から始める 不思議のエンジニアキャリア / literature-student-t...
Search
KONDO Uchio
March 12, 2021
1
300
人文系学部から始める 不思議のエンジニアキャリア / literature-student-to-developer
第一回九州セキュリティシンポジウムでの、オンデマンド講演動画で利用した資料です。
(
https://www.kyusec.jp/
)
KONDO Uchio
March 12, 2021
Tweet
Share
More Decks by KONDO Uchio
See All by KONDO Uchio
大規模レガシーテストを 倒すための CI基盤の作り方 / #CICD2023
udzura
5
2.4k
Ruby x BPF in Action / RubyKaigi 2022
udzura
0
240
Narrative of Ruby & Rust
udzura
0
220
開発者生産性指標の可視化 / pepabo-four-keys
udzura
3
1.7k
Talk of RBS
udzura
0
450
Re: みなさん最近どうですか? / FGN tech meetup in 2021
udzura
0
780
Dockerとやわらかい仮想化 - ProSec-IT/SECKUN 2021 edition -
udzura
2
730
Device access filtering in cgroup v2
udzura
1
900
"Story of Rucy" on RubyKaigi takeout 2021
udzura
0
830
Featured
See All Featured
Facilitating Awesome Meetings
lara
54
6.4k
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
657
60k
Connecting the Dots Between Site Speed, User Experience & Your Business [WebExpo 2025]
tammyeverts
4
180
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
30
2.1k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
52
2.8k
How GitHub (no longer) Works
holman
314
140k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
34
3k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
PRO
181
53k
StorybookのUI Testing Handbookを読んだ
zakiyama
30
5.8k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
26
2.8k
Building Applications with DynamoDB
mza
95
6.4k
The Art of Programming - Codeland 2020
erikaheidi
54
13k
Transcript
ηΩϡϦςΟʹؔͨ͠Γ͠ͳ͔ͬͨΓ ୈ̍ճɹभαΠόʔηΩϡϦςΟγϯϙδϜ ݄ ۚ ʙ ਓจܥֶ෦͔Β࢝ΊΔ ෆࢥٞͷΤϯδχΞΩϟϦΞ
͡Ίʹຊൃදʹ͍ͭͯ wॴଐ৫Ͱͷ׆ಈʢݪଇͱͯ͠ެ։͞Εͨใɺެ։ͯ͠ͷͳ͍ ༰ͷΈΛؚΈ·͢ʣɺචऀͷܦݧΛͱʹͨ͠ݸਓͷҙݟͱͯ͠ ൃද͍ͯ͠·͢ɻൃද༰ʹؔ͢Δࢲݸਓʹ͋Γ·͢ɻ wॴଐ৫ͷߟ͑ͱඞͣ͠Ұக͠ͳ͍͜ͱ͕͋Γ·͢ɻ wͻͱΓͷج൫։ൃऀͱͯ͠ͷܦݧҙݟ͕ɺօ༷ͷΩϟϦΞͷࢀߟʹ ͳΕͱࢥ͍·͢ɻ
ൃදऀʹ͍ͭͯ
(.0ϖύϘגࣜձࣾγχΞϓϦϯγύϧ ٕज़෦ٕज़ج൫νʔϜॴଐ ۙ౻Ӊஐ࿕ !VE[VSB
ग़Ѫݝ๛ڮࢢ wݝཱ࣌शؗߴߍଔۀ wେֶ߹֨Λػʹ্ژ w౦ژେֶจֶ෦ຊޠຊจֶઐम՝ఔ w͍ΘΏΔจܥɾֶ࢜
ϚείϛͰهऀʹͳΔ͔ͱࢥ͍͖ w৽ଔۀքࢴͷग़൛ɾ৽ฉࣾʢʣɻ ࣾͷϚʔέςΟϯάσʔλूܭγεςϜͷӡ༻୲ʹɻ w-JOVYɺσʔλϕʔεͷجຊͱɺϓϩάϥϛϯάʢ3VCZʣ w3VCZΛॻ͘8FCΤϯδχΞʹͳΔͨΊະܦݧస৬ʢʣ w࣌3VCZϓϩάϥϚͷืूͳΜͯɺΫοΫύουΛ͡Ίࣾ͠ ͔ͳ͍ঢ়گ wͳΜͱ͔ΓࠐΈ8FC։ൃऀʹ
3VCZίϛϡχςΟͱͷग़ձ͍ w3BJMTΤϯδχΞʹͳͬͨͷͷɺࣾγεςϜͷத৺+BWB wͬͱ3VCZͷΛ͍ͨ͠ w౦ژ3VCZձٞ! wʮͻͱΓͰ3VCZΛॻ͍ͯΔΜ ɹ͡Όͳ͍Μͩʂʯͱ͍͏ײ͡
͞ΒͳΔస৬ wίϛϡχςΟͷਓʑͱग़ձ͍ɺ044ͷհ׆ಈߩݙ࢝ΊΔ wʮͬͱ͍͍ײ͡ͷ։ൃΛ͍ͨ͠ʯ wษڧձͰग़ձͬͨਓͷհͰࣾʹస৬ʢʣ wͦ͜ͰֶΜͩ͜ͱɺ3BJMTͱϑϩϯτΤϯυɺνʔϜ։ൃɺϨ ϏϡʔɺεΫϥϜɺߴෛՙ࣌ͷνϡʔχϯάɺΫϥΠΞϯταʔόͷ ࿈ܞɺ6OJUZɺͳͲͳͲ
ʮٕज़ج൫උΤϯδχΞʯͱͷग़ձ͍ wNJ[[Z͞ΜʮQBQFSCPZJTIJSJOHʯ wࣾʹ͍Δͱ͖ʹಡΉ wʮ͜ͷϙδγϣϯ͕ ɹࠓͷ৬ʹඞཁͩʂʯ ͱࢥ͏ɺ࣌ͷ$50ʹ ૬खʹ͞Εͣɻ ϖύϘશαʔϏεʹؔΘΔٕज़ج൫ͷඋ • ৽͍͠ํ๏ٕज़ͷಋೖ
• ։ൃख๏ͷඋ • େنͳϦϑΝΫλϦϯάɺϦϓϨʔε • ϞχλϦϯάɺΩϟύγςΟϓϥϯχϯάͷڧԽ • σʔλղੳ/ϩάղੳ • ηΩϡϦςΟؔ࿈ IUUQTNJ[[ZPSHCMPH
Ҡॅͷػӡ wࢠͲͷੜΛػʹɺલʑ͔Β͍ͯͨ͠ɺʮԬʹҠॅ͍ͨ͠Ͷʯ ͱ͍͏ܭըΛߦಈʹҠͦ͏ͱߟ͑ͨɻ wϖύϘ͕ԬʹࢧࣾΛ͍࣋ͬͯΔ͡Όͳ͍͔ʂ wμϝݩͰNJ[[Z͞Μʹಥܸ w͋ΕΑ͋ΕΑͰస৬͕ܾ·Δʢ݄ʣ w͜͏ͯ͠ɺϲ݄ӽ͠Ͱʮٕज़ج൫ʯʹܞΘΔ͜ͱʹͳͬͨɻ
ʮٕज़ج൫νʔϜʯʹ͍ͭͯ
ٕज़ج൫νʔϜͱʁ wΩʔϫʔυ wશࣾԣஅͷج൫։ൃ wԣ࣠Ͱͷ՝ղܾ w%9ʢ%FWFMPQFS&YQFSJFODFʣ w࠷ۙͷΣϒαʔϏεاۀͰಠཱཱͯͯ͠Δͱ͜Ζ૿༷͑ͨ
ଞࣾͷྫʢͳΔ͘ͷهࣄʣ w8BOUFEMZ͞Μʢ%94RVBEʣ ϛογϣϯʮະདྷͷ։ൃମݧʯ ࣮ࡍ%94RVBE্ཱ͕͕͔ͪͬͯΒߦ͖ͬͯͨλεΫ3BJMTͷ 6QHSBEF 3VCZͷ6QHSBEF (FNͷ6QEBUF EFBEDPEFͷআ $*ߴ Խ
qBLZTQFDͷमਖ਼ qBLZͳDPEFDPWFSBHFͷमਖ਼ͳͲະདྷΛऔΓʹߦ ͘ͱ͍͏ΑΓݱͷελϯμʔυʹΩϟονΞοϓ͢Δͱ͍͏ͷΛଟؚΜ Ͱ͍·͢ɻ IUUQTXXXXBOUFEMZDPNDPNQBOJFTXBOUFEMZQPTU@BSUJDMFT
ଞࣾͷྫʢͳΔ͘ͷهࣄʣ wϙέϥϘ͞Μ ͦͷதͰɺج൫νʔϜϚωʔδϟʔؚΊ໊ͯͱ͍͏গਫ਼ӶͷνʔϜͰɺ શϓϩμΫτͷٕज़αϙʔτΛߦ͓ͬͯΓɺϓϩμΫτॴଐͷϝϯόʔͷ૬ஊ ͱཱ͍ͬͨͪҐஔͰ͠ΐ͏͔ɻ ྫ͑ɺϓϩμΫτͷΤϯδχΞ͕ήʔϜຊମͷ੍࡞ʹूதͰ͖ΔΑ͏ʹ ɾJ04"OESPJE8JOEPXTͳͲ֤04ͷΈΛཧղ͍ͯ͠ͳ͍ͱ࣮ݱͰ͖ ͳ͍ͷ ɾ֤ϓϩμΫτͰ࠶ར༻Ͱ͖ΔͷΛ෦ԽɾγεςϜԽͯ͠อकɺಋೖα ϙʔτ
ɾղܾқͷߴ͍ٕज़త՝ʹରͯ͠ͷαϙʔτ ͳͲΛߦͳ͍ͬͯ·͢ɻ IUUQTOPUFDPNQPLFMBCPOOGDBBGB⒎
ϖύϘͷྫ IUUQTUFDIQFQBCPDPNTQFFFDBGFNFFUVQɹ IUUQTXXXTMJEFTIBSFOFUITCUBHJMFTBNVSBJCPPUDBNQɹ
ۙ౻ͷ׆ಈͷྫ wNJOOF IUUQTNJOOFDPN ͷΠϯϑϥͷίʔυԽɺ$.ରԠͷͨΊ ͷΞʔΩςΫνϟݟ͠ wϩϦϙοϓʂϚωʔδυΫϥυ IUUQTNDMPMJQPQKQ ͷ্ཱͪ ͛։ൃɺΞʔΩςΫνϟͷࡦఆɺඞཁͳϛυϧΣΞͷ։ൃ ʢίϯςφϥϯλΠϜؚΉʣ
wେ໊ΤϯδχΞΧϨοδͷ্ཱͪ͛ w$*ج൫ɺσʔλੳج൫ͷಋೖɾ։ൃඋ
ʮٕज़ج൫ʯͷະདྷ
;Γ͔͑ͬͯΈΔ wʢηΩϡϦςΟΛؚΉʣશࣾԣஅ৫Ͱ׆ಈͯ͠Ͳ͏͔ͩͬͨ wʮจܥʯͰ͋Δ͜ͱԿ͔ͷ͠ʹͳͬͨͷ͔ɺ͋Δ͍ແ͔ؔ w͋ͷ࣌ಌΕͨʮٕज़ج൫νʔϜʯࠓඞཁʁ
ʮશࣾԣஅ৫ʯͷίπ wΤϯδχΞ৫ͷΈཱͯํύλʔϯ wࣄۀ෦ܕWT৬ೳԣஅܕ wϖύϘϋΠϒϦου IUUQTUFDIQFQBCPDPNCMPHQFQBCPFOHJOFFSJOHTVNNFSQFQBCPFOHJOFFSDBSFFSWQEG
ݟ͍ͯΔํ͕ҧ͏ʢ͜ͱ͋Δʣ ࣄۀ෦ αʔϏεΛചΓ͍ͨ ৽͍͠αʔϏεΛग़͍ͨ͠ Ϣʔβ͕ͷલʹ͍Δͷ Ͱɺͦͷ՝ղܾΛ͍ͨ͠ ٕज़৫ ٕज़తʹਖ਼͍͜͠ͱΛ͍ͨ͠ ৽͍ٕ͠ज़Λಋೖ͍ͨ͠ ࣄۀ෦ͷΤϯδχΞͷ՝ղ
ܾΛ͍ͨ͠ w˞͋͘·ͰʮʯͰ͋Δ͜ͱཹҙ͞Ε͍ͨ
WTࢲͨͪ w৫తʹҧ͏ʹଟ༷ͳՁ؍͕͋Δɺ͜ͱΛ࠷େݶ׆͔͢ʹɺ ͖ͪΜͱʹϑΥʔΧε͢Δ͜ͱ͕ॏཁɻ wٕज़ج൫νʔϜͱͯ͠ʮΛܗࣜԽ͢ΔʯεΩϧେࣄɻ w͜Ε͕ͦ͜ʮશࣾతͳϊϋʯ IUUQTFTTBIBUFOBCMPHDPNFOUSZQɹ IUUQTOPUFDPNLVSBOVLJOOCBBFDF ΄͔
ʮจܥʯೳྗͱϓϩάϥϚɾΤϯδχΞ IUUQTKQRVPSBDPNߴͷจܥͰ͢ɻલճ
จԽਓྨֶʁߟݹֶʁ w͋ΔγεςϜ։ൃͷݱͰɺࠓͦͷͰ௨༻͍ͯ͠Δ։ൃख๏ɺϑ ϩʔɺश׳ɺ༻ޠɺνʔϜͷงғؾͳͲΛௐࠪͯ͠Ѳɺهड़ɺܗࣜ Խ͢Δۀ wˠจԽਓྨֶతʁϑΟʔϧυϫʔΫత͔ɻ w͋ΔใγεςϜʹ͍ͭͯɺͳ͔ͥͦ͏ͳ͍ͬͯΔ༷࣮͕ɺͳ ͥͦ͏ͳ͍ͬͯΔͷ͔Λগͳ͍ূڌ͔Βิ͍ͯ͘͠ۀ wˠߟݹֶతʁ
ݴޠֶͷ֓೦ w௨࣌ੑڞ࣌ੑʢγϯΫϩχγςΟͱʣ wڞ࣌తΞϓϩʔνɺͦͷྺ࢙Λߟྀͤͣʹɺ͋ΔॠؒͷݴޠΛߟ ྀ͢Δɻڞ࣌ଶݴޠֶɺಛఆͷ࣌ɺ௨ৗݱࡏͷݴޠΛهड़͢ Δ͜ͱΛతͱ͍ͯ͠Δ 8JLJQFEJBʮڞ࣌ଶͱ௨࣌ଶʯͰͷઆ໌ ɻ wιγϡʔϧݴޠֶͷԉ༻ wγεςϜΛʮڞ࣌తʯʹѲ͠ɺͨͩهड़ɾཧղ͢Δҙࣝ IUUQVTFSLFJPBDKQdSIPUUBIFMMPHIUNMͳͲࢀߟ
ਓͷϑΥʔΧε wϓϩάϥϚ͕Δ͖ͷ͜ͱʮਓؒʯΛΔ IUUQTKBXJLJTPVSDFPSHXJLJϓϩάϥϚ͕Δ͖ͷ͜ͱʮਓؒʯΛΔ
ͱݴͬͯ wߴߍੜʹΕΔͳΒͪΌΜͱֶΛΔ͜ͱɺͳʹ͔͠ΒʢཧܥͰͳ ͘ͱʣݚڀΛҰͭΓ͛Δ͜ͱΛ͓קΊ͢Δͱࢥ͏ wܭࢉػͷՌɺͱΛḷΔͱֶʹࢧ͑ΒΕ͍ͯΔ wࢄֶʢू߹ɺɺάϥϑʣ"*ʹܞΘΔͳΒղੳ wݚڀͷΞϓϩʔνͦͦݱͷΤϯδχΞͷΞϓϩʔνʹ͍ۙ
DGΤϯδχΞͱݚڀ wদຊ྄հ͞Μ ʮݚڀऀͱٕज़ऀͷڱؒͰײͨ͡ࣄ͕ࣗΛม͑Δʯ w ʮΠϯϑϥͷاۀݚڀͷՁͱ͜Ε͔Βʯ IUUQTICNBUTVNPUPSKQFOUSZɹ ͳͲ
ʮٕज़ج൫νʔϜʯࠓඞཁʁ w݁ϑΝʔετࠓ·Ͱͷܗͱগ͠มΘΔ͔͠Εͳ͍͕ɺඞཁ wٕज़ج൫ͷधཁগͣͭ͠มΘ͍ͬͯ͘ͷͰରԠ͢Δඞཁ͕͋Γͦ͏ wࠓޙɺʮ%9ʯʹϑΥʔΧε͠ɺओಋ͢Δ৫ͷधཁߴ·Γͦ͏
ʮٕज़ج൫ʯʹ͋ͨΔ෦ͷৄࡉԽ wNJ[[Z͞Μͷʮٕज़ج൫උʯ Λݟ͢ ϖύϘશαʔϏεʹؔΘΔٕज़ج൫ͷඋ • ৽͍͠ํ๏ٕज़ͷಋೖ • ։ൃख๏ͷඋ • େنͳϦϑΝΫλϦϯάɺϦϓϨʔε
• ϞχλϦϯάɺΩϟύγςΟϓϥϯχϯάͷڧԽ • σʔλղੳ/ϩάղੳ • ηΩϡϦςΟؔ࿈
ͦΕͧΕͷ߲Λ࠶ߟ wηΩϡϦςΟˠ͜ͷͰۃΊͯॏཁʹͳΓɺಠཱͨ͠৫͕͋Δ ͖߹͕ଟ͍ wϞχλϦϯάɺΩϟύγςΟϓϥϯˠ43&ͱ͍͏ϙδγϣϯ͕(PPHMF ͳͲʹΑΓݴޠԽ͞Εɺ·͍ͬͯΔ wσʔλղੳˠσʔλαΠΤϯεͱɺͦΕΛࢧ͑Δ%BUB0QTͷॏཁԽ w㱤NJ[[Z͞Μͷୡݟؒҧ͍ͳ͍͕ɺؒҧ͍ͳ͍ނʹͦΕͧΕͷϙδ γϣϯ͕ಠཱͨ͠৫ʹΓग़͞ΕΔΑ͏ʹͳͬͨ
͔ͦ͠͠ΕͰ wࠓɺ͋͑ͯʮೋͭͷ%9ʯݟ͞ΕΔ͖ͩͱࢥ͏ w%FWFMPQFS&YQFSJFODF։ൃऀͷੜ࢈ੑ w%JHJUBM5SBOTGPSNBUJPO৫ͷੜ࢈ੑ
%9$SJUFSJB IUUQTDUPBHJUIVCJPEYDSJUFSJB
ٕज़ج൫νʔϜͷϑΥʔΧε͖͢ྖҬ w ݸਓͷҙݟͰ͋Γ·͕͢ wʮੜ࢈ੑʯʹணͨ͠ࢧԉ׆ಈΛߦ͏ɻ w ։ൃऀ͕ࣗͷ࡞Γ͍ͨͷʹϑΥʔΧεͰ͖ΔΑ͏पลͷΤί γεςϜΛඋ͢Δɻ wFH(JUϗεςΟϯά$*ɺύϒϦοΫΫϥυͳͲϓϥοτϑΥʔ Ϝߏஙɺݚमɾڭҭɺ$IBUPQTͷΑ͏ͳϊϋͷৢ w
%9$SJUFSJBΛࢀߟʹɺෆ͍ͯ͠Δͱ͜ΖΛࢧԉ͢Δ
·ͱΊ
ٕज़ج൫νʔϜʹ͍ͭͯ wશࣾԣஅ৫ͷྫͱͯ͠ʮٕज़ج൫νʔϜʯΛհͨ͠ɻ wશࣾԣஅ৫ɺʮWTࢲͨͪʯΛΑΓҙࣝ͢Δͱྑͦ͞͏ wݱʹೖ͍ͬͯ͘ਓʹϑΥʔΧε͢Δٕज़ʮจܥʯత͔͠Εͳ ͍ wٕज़ج൫νʔϜͷରॲ͖͢ɺผͷνʔϜͱͯ͠ಠཱ͍ͯ͘͠ ྲྀΕ͕͋Δ͔ɻͦͷதͰίΞʮੜ࢈ੑʯͰͳ͍͔ɻ
ΤϯδχΞΛࢦ͢օ༷ wηΩϡϦςΟΤϯδχΞΛؚΉʮج൫తͳΤϯδχΞʯ໘ന͍ wʮԿ͔Λ࡞Γ͍ͨʯͱ͍͏ΑΓɺʮ໘ന͍ͷʹؔΘ͍͍ͬͯͨʯͱ ͔ɺʮԿ͔໘ന͍ͷ͕ੜ·ΕΔΑ͏ʹपΓΛࢧ͍͑ͨʯͱ͍͏ؾ࣋ ͕ͪ͋Δਓ͕͍͍ͯΔ͔ɻ wͦ͏͍͏օ༷ͷબࢶͷҰͭͱͯ͠ɺج൫ηΩϡϦςΟʹؔ͢ΔΤ ϯδχΞϦϯάྖҬΛࣔͤͨΒ͍