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
スーパーエンジニアを「育て」られるか? / how-to-let-an-engineer-to...
Search
sunecosuri
September 06, 2018
Programming
0
1.4k
スーパーエンジニアを「育て」られるか? / how-to-let-an-engineer-to-grow-up-into-a-hacker
sunecosuri
September 06, 2018
Tweet
Share
More Decks by sunecosuri
See All by sunecosuri
'Securing Web Apps with Modern Platform Features' を意訳してみる / Translate Securing Web Apps with Modern Platform Features
sunecosuri
2
320
Vue.js × TypeScript でclass style componentを廃止した話 / migrated-class-style-component -for-vuejs-and-typescrpit
sunecosuri
2
4.3k
Nuxt.js のbuid速度が早くなるオプションのいくつかについて / Increase-build-speed-for-Nuxt.js
sunecosuri
1
1.3k
about-vue-hooks.pdf
sunecosuri
1
690
Nuxt.js におけるCSPの連携について / content security policy for Nuxt.js
sunecosuri
0
2.4k
ロリポップマネージドクラウドでAlexaスキルを開発しよう / let's development alexa skill by lolipop managed cloud
sunecosuri
1
180
マネージドクラウドのリリース速度を上げるお話 / Increase release speed for managed cloud
sunecosuri
2
310
Reconsider Content Security Policy for WEB Application
sunecosuri
0
88
Other Decks in Programming
See All in Programming
PHPで作るWebSocketサーバー ~リアクティブなアプリケーションを知るために~ / WebSocket Server in PHP - To know reactive applications
seike460
PRO
2
770
快速入門可觀測性
blueswen
0
500
Androidアプリのモジュール分割における:x:commonを考える
okuzawats
1
280
月刊 競技プログラミングをお仕事に役立てるには
terryu16
1
1.2k
QA環境で誰でも自由自在に現在時刻を操って検証できるようにした話
kalibora
1
140
Итераторы в Go 1.23: зачем они нужны, как использовать, и насколько они быстрые?
lamodatech
0
1.4k
知られざるDMMデータエンジニアの生態 〜かつてツチノコと呼ばれし者〜
takaha4k
1
420
良いユニットテストを書こう
mototakatsu
11
3.6k
watsonx.ai Dojo #6 継続的なAIアプリ開発と展開
oniak3ibm
PRO
0
170
Findy Team+ Awardを受賞したかった!ベストプラクティス応募内容をふりかえり、開発生産性向上もふりかえる / Findy Team Plus Award BestPractice and DPE Retrospective 2024
honyanya
0
140
ESLintプラグインを使用してCDKのセオリーを適用する
yamanashi_ren01
2
240
Beyond ORM
77web
11
1.6k
Featured
See All Featured
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
29
960
A Tale of Four Properties
chriscoyier
157
23k
Side Projects
sachag
452
42k
Product Roadmaps are Hard
iamctodd
PRO
50
11k
Git: the NoSQL Database
bkeepers
PRO
427
64k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
330
21k
Docker and Python
trallard
43
3.2k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
44
9.4k
Making Projects Easy
brettharned
116
6k
How GitHub (no longer) Works
holman
312
140k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
49
2.2k
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
656
59k
Transcript
໐ւ߂ً(.01FQBCP *OD %FWFMPQFST4VNNJU'6,60," εʔύʔΤϯδχΞΛ ʮҭͯʯΒΕΔ͔ʁ ϖύϘͷΤϯδχΞڭҭͷઓɹ
ຊͷ͓ ϖύϘͱΘͨ͠ ଐޙɺ ࣮ࡍʹಇ͍ͯΈͯ w Θͨ͠ʹ͍ͭͯ w ϖύϘΧϨοδͱ w ड͚ͯΈͨײ
w ଐޙʹ͍ͭͯ w ̍ܦͬͨࠓͳʹͯ͠Δʁ
ΤϯδχΞʢϖύΧϨظੜʣ ໐ւ߂ً!TVOFDPTVSJ ϗεςΟϯάࣄۀ෦ϗεςΟϯάάϧʔϓ ϚωʔδυΫϥυνʔϜ
۽ຊͷจܥେֶΛଔۀ ৽ଔͰ8&#੍࡞ձࣾʹ8&#ϓϩάϥϚͱͯ͠ೖࣾ ɾϓϩάϥϛϯάະܦݧ ɾडୗҊ݅ͰϑϧεΫϥονͰ࡞ΒΕͨ$.4ͷӡ༻։ൃ͕ϝΠϯ 1)1ɺ.Z42- ݄ʹ(.0ϖύϘʹೖࣾ ɾϖύϘΧϨοδظੜ
ϩϦϙοϓϚωʔδυΫϥυͷαʔϏε։ൃʹऔΓΉ ɾݱࡏΫϥΠΞϯταΠυΛத৺ʹ։ൃ͍ͯ͠·͢
ϖύϘΧϨοδʁ
ϖύϘΧϨοδͱ w̍ϲ݄ͷ8FC։ൃݚमΛܦͯଐ͞ΕΔ த్࠾༻ϓϩάϥϜ w8FCۀքະܦݧऀ͚ աڈʹΧελϚʔαʔϏεσΟϨΫλʔɺফ࢜ͳͲҟۀछͳͲ͔Βʜ w݄͔Β։࢝
ϖύϘΧϨοδͱ ظ 8FCΤϯδχΞ ظ "OESPJEΤϯδχΞ ظ 8FCΤϯδχΞ ظ J04ΤϯδχΞ ظ
8FCΤϯδχΞ ظ ΠϯϑϥΤϯδχΞ w౦ژɾԬͦΕͧΕͰ߹ܭظ·ͰߦΘΕ͖ͯͨ
ϖύϘΧϨοδͱʢؔ࿈ࢿྉʣ IUUQTUFDIQFQBCPDPNQFQBCPDPMMFHF@OE IUUQTUFDIQFQBCPDPNQFQBCPDPMMFHFTUJOUFSWJFX
िʢϙʔτϑΥϦΦݚमʣ w աڈͷܦݧΛৼΓฦΔ ࣗͷڧΈɾऑΈ ਓੜͷλʔχϯάϙΠϯτʹ͍ͭͯ ڞʹൃද͠߹͏
ि w ։ൃڥͷߏஙɺπʔϧͷհ (JUͷ͍ํΛϋϯζΦϯܗࣜͰֶͿ ࠓޙͷ։ൃʹඞཁͳπʔϧͷ४උศརػೳͷհ QFDP [TI HIR w UJHͳͲ
िʢ3VCZ 3BJMTݚमʣ w 3VCZͷݴޠॲཧΛΫΠζܗࣜͰ࣮ફ w 3BJMTʹ͍ͭͯͷ࠲ֶ5PEPΞϓϦΛ࡞ w ϫʔΫγϣοϓ &3% &3ਤ
3&45ͷߟ͑ํʹ͍ͭͯ
िʢ+BWB4DSJQUݚमʣ w +BWB4DSJQUݚम ϑϩϯτΤϯυͷ։ൃϑϩʔ +BWB4DSJQUͷྺ࢙ݴޠಛ༗ͷߟ͑ํ ֤πʔϧͷׂ ɹτϥϯεύΠϧλεΫϥϯφʔͳͲ 3FBDUºXFCQBDLΛͬͯ5P%PΞϓϦΛ࡞Δ
िʢΠϯϑϥݚमʣ w αʔόʔΛϋϯζΦϯܗࣜͰԽߏ·Ͱ࡞ w *UBNBFͰ࡞ͨ͠αʔόʔΛίʔυԽ *OGSBTUSVDUVSFBT$PEFʹ͍ͭͯ w αʔόʔࢹख๏ʹ͍ͭͯ࠲ֶʢ֎ܗࢹɺܗࢹʣ w
ෛՙௐࠪͷߟ͑ํར༻͢ΔίϚϯυʹ͍ͭͯ σόοάͷํϩάͷݟํ ݪҼͷΓ͚ํͳͲΛʹ͚ͭΔ͜ͱ͕త
िʢεΫϥϜݚमͱαʔϏεاըʣ w ։ൃख๏ʹ͍ͭͯͷ࠲ֶ ΥʔλʔϑΥʔϧ ΞδϟΠϧ εΫϥϜ w εΫϥϜ։ൃख๏ʹ͍ͭͯͷϫʔΫγϣοϓ w αʔϏεݚमʹ͚ͯͷϦʔϯΩϟϯόε࡞
ि αʔϏεݚम w ࡞ͬͨϦʔϯΩϟϯόεΛݩʹͰ αʔϏεΛ࡞Δ w αʔϏεɺϦϦʔεཁ݅ͷఆٛ w σΠϦʔεΫϥϜΛ௨ͯ͡ νʔϜʹͳΔաఔΛײ͡Δ͜ͱ͕Ͱ͖ͨ
w ࠷ऴతʹ3VCZPO3BJMTº7VFKTͰ ϨϏϡʔґཔαʔϏεΛ࡞ͬͨ
ϖύΧϨΛ௨ͯ͠ w ΤϯδχΞͱͯ͠ඞཁͳࣝɺٕज़ͳͲମܥతʹֶͨ ςετίʔυͷߟ͑ํɺίʔυϨϏϡʔɺνʔϜͰͷ։ൃख๏ͳͲ ࠲ֶͱԋशΛ௨ֶͯ͠Ϳ͜ͱ͕Ͱ͖ͨ w Ұํɺใྔ͕ଟͯ͘ཧղ͖͠Εͳ͍෦͋ͬͨ ࣗͷʮΘ͔Βͳ͍ʯ͕ͳʹ͕Θ͔Βͳ͍ͷ͔ΛΔ͜ͱ·Ͱ͕Ͱ͖ͨ w ಉ͡৬छͰͷಉظ͕͍Δ҆৺ײ
த్࠾༻ʹؔΘΒͣɺ٧·ͬͨΓ͢Δͱ૬ஊ͍͢͠͠ҰॹʹΜͰऔΓΊͨ
ϖύΧϨऴྃޙ
ϩϦϙοϓϚωʔδυΫϥυνʔϜ
ϩϦϙοϓʂ ϚωʔδυΫϥυ
w ݄ʹਖ਼ࣜ൛ΛϦϦʔε w ฐࣾ!VE[VSBͷ)BDPOJXBʹΑΔ ίϯςφϕʔεϗεςΟϯά w ΦʔτεέʔϧػೳΛࡌ
ଐ࣌ʹ͍ͭͯ wЋϦϦʔεʹ͚ͯ։ൃਅͬத w ͜Ε·Ͱͷܦݧ͕΄΅׆͔ͤͳ͍ϓϩδΣΫτ ࠾༻ݴޠٕज़5ZQF4DSJQU /VYUKTʢ7VFKTʣ FDIP (P w
ΞʔΩςΫνϟ͕ෳࡶ .JDSP4FSWJDFT"SDIJUFDUVSFΛ࠾༻͍ͯͯ͠ߏཁૉ͕ଟ͍
ଐ࣌ʹ͍ͭͯ wЋϦϦʔεʹ͚ͯ։ൃਅͬத w ͜Ε·Ͱͷܦݧ͕΄΅׆͔ͤͳ͍ϓϩδΣΫτ ࠾༻ݴޠٕज़5ZQF4DSJQU /VYUKTʢ7VFKTʣ FDIP (P w
ΞʔΩςΫνϟ͕ෳࡶ .JDSP4FSWJDFT"SDIJUFDUVSFΛ࠾༻͍ͯͯ͠ߏཁૉ͕ଟ͍ Ͳ͏ͬͯΩϟονΞοϓ͢Εʜ Ͳ͏ͨ͠ΒνʔϜʹߩݙͰ͖ΔͩΖ͏ʜ
ଐͯͬͨ͜͠ͱ w લ৬ʹҰ൪͍ۙϨΠϠʔ͔ΒཧղΛਂΊ͍ͯ͘ 8&#੍࡞ձࣾͩͬͨͷ͋ͬͯ͠Έ͍͢ϑϩϯτΤϯυϨΠϠʔ͔Β ˠ7VFKTͱ5ZQF4DSJQUΔͧʂʂ w 5ZQF4DSJQUઌഐʹϨϏϡʔΛ௨ͯ͡গֶͣͭ͠Ϳ +BWB4DSJQUʹ͍ͭͯ.P[JMMBͷϦϑΝϨϯεͳͲҰ࣍ใΛࢀর͢ΔΑ͏ʹҙࣝ͢Δ w )5.-ʹ͍ۙ7VFKT͔Βࡉ͔͍λεΫΛͰ͖Δͱ͜Ζ͔Βணख
࣍ใΛಡΈࠐΈͳ͕Β࣮ࡍʹखΛಈ͔ͯ͠ૉৼΓ ςΩετͷमਖ਼ιʔγϟϧϘλϯΛίϯϙʔωϯτʹΓग़࣮͢ͳͲ
ଐͰॳϦϦʔε
ϖύΧϨΛܦͯײͨ͋͡Γ͕ͨΈ
ͱʹ͔͘ ΪϟοϓΛײ͡ʹ͔ͬͨ͘ʂʂ
w(JUͷݚम ͜Ε·ͰҰਓͰ͍ͬͯͨHJUͩͱ(JU8PSLqPXͱ͔ॻ੶ΛಡΜͰ ཧղ͠ʹ͔ͬͨ͘ͷ͕ͩɺ՝ใͷఏग़͕13ϕʔεͩͬͨͷ ͋ͬͯଐޙεοͱ13ΛૹΔͷʹ᪳͠ͳ͘ͳͬͨ wମܥతʹֶͨ ʮݱͰಇ͘ΤϯδχΞʯ͔Βಇ্͘ͰͷϚΠϯυ͔Β֤ϨΠϠʔʹ ΘͨΔٕज़·Ͱڭ͑ͯΒ͑Δ͜ͱͰɺΞϓϦέʔγϣϯ͚ͩͰ ͳ͘ଞͷϨΠϠʔͷڵຯͱཧղͷ্͕͕ͬͨ͢͠͞
ݱࡏ͍ͬͯΔ͜ͱ w ϑϩϯτΤϯυΤϯδχΞʹͳΔͨΊʹ 7VFKTXFCQBDLͳͲ044ͷίʔυΛಡΜͰπʔϧϓϥάΠϯΛ࡞ͬͯΈΔ ंྠͷ࠶։ൃࣸܦΛ͢Δ ίϛϡχςΟʹॴଐ͢Δ w ৽ػೳ։ൃʹ͚ͯػೳ୯ҐͰϦϦʔε·Ͱר͖औΕΔΑ͏ʹ ϑϩϯτͷλεΫΛҰ෦ݗҾͰ͖ΔΑ͏ʹͳͬͨ w
(Pͱ5ZQF4DSJQUͰ"1*ͷઃܭ͔Β࣮·Ͱ࡞ΕΔΑ͏ʹ όοΫΤϯυ͔ΒϑϩϯτΤϯυ·ͰϊϯετοϓͰ։ൃͰ͖ΔΑ͏ʹͳͬͨʂ (Pʢ"1*ʣˠ5ZQF4DSJQU "1* ˠ7VFKT ϖʔδσβΠϯͷ࣮
·ͱΊ w ϖύΧϨΤϯδχΞͱͯࣗ͠Ͱ͖ΔΑ͏ͳߏʹͳ͍ͬͯΔ ɾମܥతͳٕज़ ɹ࠷લઢͰݱʹ͍ͭͯಇ͍͍ͯΔΤϯδχΞ͔ΒֶͿ͜ͱ͕Ͱ͖Δ w ϖύϘͰಇ͘ͱ ࣗʹͳʹ͕Γͳͯ͘ɺͲ͏͢ΕΑ͍ͷ͔͕Θ͔Γ͍͢ ఆظతʹߦΘΕΔPOͰৼΓฦΓɺظ͝ͱͷධՁ໘ஊΛ௨ͯ͠লΛ܁Γฦ͢ ΤϯδχΞͱͯ͠ظ͞ΕͯΔ͜ͱΔ͖͜ͱͷํੑ͕ݟ͑ͯ͘Δ
w ·͞ʹʮ͍Δ͚ͩͰͰ͖ΔڥʯΛମײ͢Δ͜ͱ͕Ͱ͖Δ
͍Δ͚ͩͰ Ͱ͖Δڥ
ҰॹʹαʔϏεΛ࡞Γ·ͤΜ͔ʁ ࠷৽ͷ࠾༻ใΛνΣοΫˠ !QC@SFDSVJU