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
functionalなアプローチで動的要素を排除する
ryopeko
1
210
見えないメモリを観測する: PHP 8.4 `pg_result_memory_size()` とSQL結果のメモリ管理
kentaroutakeda
0
940
ErdMap: Thinking about a map for Rails applications
makicamel
1
660
QA環境で誰でも自由自在に現在時刻を操って検証できるようにした話
kalibora
1
140
asdf-ecspresso作って 友達が増えた話 / Fujiwara Tech Conference 2025
koluku
0
1.4k
技術的負債と向き合うカイゼン活動を1年続けて分かった "持続可能" なプロダクト開発
yuichiro_serita
0
300
Swiftコンパイラ超入門+async関数の仕組み
shiz
0
180
Amazon Nova Reelの可能性
hideg
0
200
DMMオンラインサロンアプリのSwift化
hayatan
0
190
各クラウドサービスにおける.NETの対応と見解
ymd65536
0
250
DevFest - Serverless 101 with Google Cloud Functions
tunmise
0
140
Featured
See All Featured
A better future with KSS
kneath
238
17k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
666
120k
Speed Design
sergeychernyshev
25
740
Writing Fast Ruby
sferik
628
61k
Optimizing for Happiness
mojombo
376
70k
Building Applications with DynamoDB
mza
93
6.2k
GraphQLとの向き合い方2022年版
quramy
44
13k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
28
9.2k
Designing on Purpose - Digital PM Summit 2013
jponch
116
7.1k
Become a Pro
speakerdeck
PRO
26
5.1k
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
3
240
Mobile First: as difficult as doing things right
swwweet
222
9k
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