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-to-developer
Search
KONDO Uchio
March 12, 2021
1
230
人文系学部から始める 不思議のエンジニアキャリア / 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.1k
Ruby x BPF in Action / RubyKaigi 2022
udzura
0
130
Narrative of Ruby & Rust
udzura
0
140
開発者生産性指標の可視化 / pepabo-four-keys
udzura
3
1.4k
Talk of RBS
udzura
0
320
Re: みなさん最近どうですか? / FGN tech meetup in 2021
udzura
0
650
Dockerとやわらかい仮想化 - ProSec-IT/SECKUN 2021 edition -
udzura
2
580
Device access filtering in cgroup v2
udzura
1
670
"Story of Rucy" on RubyKaigi takeout 2021
udzura
0
570
Featured
See All Featured
XXLCSS - How to scale CSS and keep your sanity
sugarenia
242
1.2M
Learning to Love Humans: Emotional Interface Design
aarron
267
39k
Making the Leap to Tech Lead
cromwellryan
125
8.5k
Fashionably flexible responsive web design (full day workshop)
malarkey
398
65k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
188
16k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
222
21k
For a Future-Friendly Web
brad_frost
172
9k
WebSockets: Embracing the real-time Web
robhawkes
59
7k
YesSQL, Process and Tooling at Scale
rocio
165
13k
Being A Developer After 40
akosma
66
580k
The World Runs on Bad Software
bkeepers
PRO
61
6.7k
Git: the NoSQL Database
bkeepers
PRO
423
63k
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ͦ͏͍͏օ༷ͷબࢶͷҰͭͱͯ͠ɺج൫ηΩϡϦςΟʹؔ͢ΔΤ ϯδχΞϦϯάྖҬΛࣔͤͨΒ͍