Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
最近JSを書く時に考えていること #GWD_Nulab
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
Hiroyuki ANAI
July 20, 2018
Programming
1k
4
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
最近JSを書く時に考えていること #GWD_Nulab
普段JSを書く時に考えていることの言語化にチャレンジしました。「雰囲気でJSを書いている」感が少し出ています。
Hiroyuki ANAI
July 20, 2018
More Decks by Hiroyuki ANAI
See All by Hiroyuki ANAI
安心して変更できるWebフロントエンドの作り方
pirosikick
5
2.7k
書き換えて学ぶTemporal #fukts
pirosikick
2
450
fukuoka.ts #3 社内でESLintの共通設定を配りたい2025年春版
pirosikick
3
500
compilerOptions、全部読んだ
pirosikick
1
310
Step Functionsの設計時に知っておいたほうがいいかもしれないこと
pirosikick
0
550
Go言語による並行処理「4.4 orチャネル」の図
pirosikick
0
500
サイボウズWebフロントエンド脱レガシーの今までとこれから
pirosikick
6
17k
@cybozu/eslint-configから学ぶ、全社共通ESLint configの運用
pirosikick
4
1.9k
Web Share Target API #w3fukuoka
pirosikick
0
750
Other Decks in Programming
See All in Programming
【高い買い物LT会】初任給で話題の国産フィジカルAIを買った話
akagami
PRO
0
160
WebRTC映像をAirPlayに対応させる挑戦.pdf
monolithic_adam
0
280
新卒PdEのリアル
ryu1013
1
500
Starting & Sustaining Code-Based E2E Testing for Non-Coding QA Teams( #jasstniigata )
teyamagu
PRO
1
350
Omarchy Tokyo やると聞いて UMPC 買ってセットアップしてきた
mtsmfm
0
140
Vibes Containers 〜AIで変わるコンテナ設計と運用〜
tkikuc
3
550
そのリトライ、死んだコネクションを使い回していませんか ── GoのHTTPクライアントとHTTP/2を実プロダクト障害から学び直す
myus4a
0
150
手動確認はもう限界 〜XCUITestでCustom URL Schemeの遷移を起動種別ごとに自動テストする〜 / Testing Custom URL Schemes with XCUITest
otouto
0
300
仕様駆動開発による爆速プロダクト開発 / Bakusoku Spec Driven Development
kobakei
0
120
XP祭りでしか伝わらないフリップネタ #xpjug
murabayashi
0
150
kubernetes コンポーネント開発入門 / 新卒N年目の勉強会&交流会!〜〇〇への誘い〜 #n_study
mazrean
0
240
数年滞っていたダークモード対応をおよそ2週間で完了させる
chigichan24
0
720
Featured
See All Featured
State of Search Keynote: SEO is Dead Long Live SEO
ryanjones
0
280
The agentic SEO stack - context over prompts
schlessera
0
940
Claude Code どこまでも/ Claude Code Everywhere
nwiizo
67
58k
Crafting Experiences
bethany
1
340
The #1 spot is gone: here's how to win anyway
tamaranovitovic
4
1.2k
We Are The Robots
honzajavorek
0
380
sira's awesome portfolio website redesign presentation
elsirapls
0
410
How Fast Is Fast Enough? [PerfNow 2025]
tammyeverts
3
890
Max Prin - Stacking Signals: How International SEO Comes Together (And Falls Apart)
techseoconnect
PRO
0
460
YesSQL, Process and Tooling at Scale
rocio
174
15k
DevOps and Value Stream Thinking: Enabling flow, efficiency and business value
helenjbeal
1
390
Prompt Engineering for Job Search
mfonobong
0
450
Transcript
࠷ۙ+4Λॻ࣌͘ʹ ߟ͍͑ͯΔ͜ͱ (FFLT8IP%SJOLJO'VLVPLB'SPOU&OE&EJUJPO ݀Ҫ!QJSPTJLJDL
ࣗݾհ ݀Ҫ!QJSPTJLJDL Ϡϑʔגࣜձࣾ ΤϯδχΞ ୈࠇଳʢ+BWB4DSJQUʣ ϦονϥϘגࣜձࣾ ΤϯδχΞ
3FBDUೖ ʢᠳӭࣾʣ 8&# %#13&44 ࿈ࡌʮͲΜͱ͍͜ϑϩϯτΤϯυ։ൃʯ Α͔ͬͨΒखʹͱͬͯΈ͍ͯͩ͘͞ʙ
ීஈͷࣄ ϦονϥϘגࣜձࣾ w ։ൃۀ w ࠂͷ։ൃ w ##πʔϧͷ։ൃ w डୗతͳ։ൃ
Ϡϑʔגࣜձࣾ w ࠇଳɺ+4ݴޠαϙʔτ w ૬ஊձͷ࣮ࢪFUD
ࠓ w ࣾͰ8FCϑϩϯτΤϯυͷ૬ஊʹͷΔػձ͕૿͑ͨ w ʮʙ͏ͱ͍͍ΑʯΑΓʮͳΜͰͦΕͳͷ͔ʯΛ ڭ͍͑ͯ͋͛ͨ w ڕΛ༩͑ΔΑΓΓํΛڭ͑Αɺతͳʂ w ීஈͲ͏͍͏͜ͱΛߟ͑ͯ+BWB4DSJQUΛॻ͍͍ͯΔͷ͔
ݴޠԽͯ͠Έͨ
w ҎԼͷࢹͰྨ w ։ൃΛ࢝ΊΔલ w ։ൃ͍ͯ͠Δ࣌
։ൃΛ࢝ΊΔલ
w ઈରೖΕΔOQNύοέʔδ w ܕ w ϑϨʔϜϫʔΫɾϥΠϒϥϦબఆ
ઈରೖΕΔOQNύοέʔδ w &4-JOU QSFUUJFS w OTQ w IVTLZ MJOUTUBHFE
&4-JOU UTMJOU QSFUUJFS w ఆ൪Ͱ͢Ͷ w FTMJOUDPOpHTUBOEBSE͕దʹΏΔͯ͘ ࠷͖͔ۙ w ίʔσΟϯάنΛ࡞Γɺ
ͦΕΛखͰӡ༻͢Δ࣌ऴΘͬͨ
OTQ w IUUQTXXXOQNKTDPNQBDLBHFOTQ w ੬ऑੑΛؚΉOQNύοέʔδΛڭ͑ͯ͘ΕΔ w ͕ɺͰऴྃͬΆ͍ w 5IFOQN#MPH5IF/PEF4FDVSJUZ1MBUGPSNTFSWJDF JTTIVUUJOH
w ࠓޙOQN!ͷʮOQNBVEJUʯΛͬͯͱͷ͜ͱ
None
IVTLZ MJOUTUBHFE w IVTLZ w HJUIPPLʹϑοΫͯ͠OQNTDSJQUΛ࣮ߦ͢Δ w MJOUTUBHFE w HJUBEE͞Ε͍ͯΔϑΝΠϧʹରͯ͠
ίϚϯυΛ࣮ߦ w ରΛߜͬͯ&4-JOUΛ࣮ߦ͢Δ
IVTLZ MJOUTUBHFE w ίϛοτલʢQSFDPNNJUʣ w FTMJOUpY QSFUUJFS w मਖ਼ޙɺউखʹHJUBEE w
ϓογϡલʢQSFQVTIʣ w OTQDIFDL OQNUFTU
ͦͷଞͷOQNύοέʔδ w ͦͷଞͷύοέʔδಋೖ৻ॏʹΔ w OTQͰਏ͘ͳΔ͜ͱ͕͋Δ w ʮࣗ࡞͢Δʯ͕બࢶʹൈ͚མ͕ͪͪ w ϓϩδΣΫτΛͳΔ͘γϯϓϧʹอͭ
ܕ w ͍͔ͪΒ࡞Δ࣌5ZQF4DSJQUઈର͏ w ࣮ຊ൪Ͱ·ͩͬͨ͜ͱͳ͍ ʢ'MPXUZQFͩͬͨͷͰʣ w 54ͷํ͕ܕఆٛϑΝΠϧ͕ଟ͘ఏڙ͞Εͯͦ͏ w ܕ͕͋Δ͜ͱͰγϯϓϧʹॻ͚Δ
ϑϨʔϜϫʔΫɾϥΠϒϥϦ બఆ w Α͘૬ஊΛड͚Δࣄ߲ w Ұൠతͳஅ࣠ w ރΕ͍ͯΔ͔ɺࣄྫ͋Δ͔ɺFUD w ʢҰൠతͳஅ࣠ͱผͷʣݸਓతͳஅ࣠
w ݱʹ'&͍͖ͬͯײͷ͋Δਓࡐ͕͍Δ͔
ݱʹ'&͍͖ͬͯײͷ͋Δ ਓࡐ͕͍Δ͔ w ͍͖ͬͯײʜ͍ͬͯͧ͘ʂͱ͍͏ؾ࣋ͪ w ϓϩμΫτͷ্ཱͪ͛وॏͳػձ w ݱͰ͍ͬͯͧ͘ʂͱ͍͏ਓ͕ډΔͳΒ ઓతબΛ͍͍ͯ͠ͱࢥ͏
/VYU/FYU w /VYU/FYUͰࡁΉͳΒͦΕ͕Ұ൪ w XFCQBDLɺ).3ɺ443ɺࣗલਏ͍ w ΕΔϨʔϧʹΔ w XFCQBDLDPOpHKTΛࣗલͰॻ͘ΑΓ DSFBUFSFBDUBQQΛͬͨ΄͏͕͍͍
ʢڱ͍Ϩʔϧ͕ͩʣ
ଥڠ͠ͳ͍ w '&ΤϯδχΞͱσβΠφʔͷ࡞ۀͷڥքઢ͕ᐆດͳࡢࠓ w ͓ޓ͍ʹؾΛݣͬͯɺଥڠ͢ΔͷΑ͘ͳ͍ w FY σβΠφʔ͕ಡΈॻ͖Ͱ͖ͳ͍͔Β 5ZQF4DSJQUΘͳ͍ w
'&ΤϯδχΞͱඇ'&ΤϯδχΞؒͰ w ϞϒϓϩɾϖΞϓϩͰղܾͰ͖Δ
։ൃ͍ͯ͠Δ࣌
w ୯ମςετͷ͢͠͞ w ϩδοΫΛϑϨʔϜϫʔΫ͔ΒΓ͢
୯ମςετͷ͢͠͞ w ୯ମςετ͕͍͢͠Α͏ʹ࡞Δ w ࣮ˍςετ͕γϯϓϧʹͳΔ w ϦϑΝΫλϦϯάͰ͖Δ w ݁߹ςετɺ&&ςετӡ༻ɾอक͕ਏ͍
͍͢͠ɾ͠ʹ͍͘ w ͍͢͠ w ࢀরಁաੑͷ͋Δؔ w 6OJWFSTBM+BWB4DSJQUFUD w ͠ʹ͍͘ w
ࢀরಁաੑͷͳ͍ؔ w ϒϥβͷ"1*Λ͍ͬͯΔ w ࣌ؒؔ࿈FUD
ࢀরಁաੑ w Ҿ͕ಉ͡ͳΒɺԿ࣮ߦͯ݁͠Ռ͕มΘΒͳ͍ w ෭࡞༻͕ແ͍
6OJWFSTBM+BWB4DSJQU 6OJWFSTBM+BWB4DSJQU %0.ͱ͔ ϑΝΠϧγεςϜͱ͔
6OJWFSTBM+BWB4DSJQU w /PEFKT্Ͱςετͨ͠ίʔυ͕ ͦͷ··ϒϥβͰಈ͘ w 443࣌ͳͷͰɺ Ͳͷίʔυ͕ڥґଘͳͷ͔ҙࣝͯ͠ॻ͘ඞཁ͕͋Δ w ڥґଘͷίʔυΛͰ͖Δͱ ࣮ˍςετ͕γϯϓϧʹͳΔ
͠ʹ͍͘෦ΛͲ͏ѻ͏͔ w ҾͰ͢ w நԽͯ͢͠Δ w ࠩ͠ସ͑Ͱ͖Δͱ͜Ζʹ͍ΔFUD w ʢͦͷ࣌ग़དྷಘΔखͷத͔Β ͍͍ͷΛબΜͰ͍Δ͔͠Εͳ͍ʣ
ҾͰ͢
நԽͯ͠
நԽͯ͠
நԽͯ͠ w ϞοΫ͘͢͠ͳΔˠςετίʔυ͕γϯϓϧʹͳΔ w ίʔυͷݟ௨͕͠Α͘ͳΔ
ࠩ͠ସ͑Ͱ͖Δͱ͜Ζʹ ͍Δ w ϓϥΨϒϧʹ͢Δ͜ͱͰɺ ࣮ߦڥʹԠͯࠩ͡͠ସ͑Δ w ྫʣ w /VYUʜ1MVHJO w
3FEVYʜ.JEEMFXBSFFUD
ϩδοΫϑϨʔϜϫʔΫͱ ͳΔ͘Γ࣮ͯ͢͠Δ w ྫʣ3FEVY7VFYͷ"DUJPOTʹϩδοΫΛॻ͔ͳ͍ w ϑϨʔϜϫʔΫɾϥΠϒϥϦʹ ϩοΫΠϯ͞Εͳ͍Α͏ʹ͢Δ w γϯϓϧ͞Λอͭ w
֤ϑϨʔϜϫʔΫɾϥΠϒϥϦͷ ΞοϓσʔτͷӨڹΛ࠷খݶʹ
ྫʣ7VFͷNJYJO
ྫʣ7VFͷNJYJO
·ͱΊʢ ʣ
ݴޠԽͯ͠Έͯ w ϩδοΫ͕͍͋ͬͯͬͯΔ͜ͱɺ ϩδοΫ͋Δ͕ͪΌΜͱݴޠԽͰ͖ͳ͍͜ͱɺ ࣮งғؾͰͳΜͱͳ͍ͬͯ͘Δ͜ͱ͕ೝࣝͰ͖ͨ w ։ൃதงғؾͰ͍ͬͯΔ͜ͱ͕ ଟ͔͔ͬͨ͠Εͳ͍ w શମతʹʮγϯϓϧ͞ʯΛ༏ઌ͍ͯ͠Δ͜ͱ͕Θ͔ͬͨ
ݴޠԽΉ͔͍ͣ͠ w ݴޠԽ͍͠ʹงғؾͰ͍ͬͯΔ෦ w νʔϜͰҰॹʹ্͍ͬͯ͘ͰݴޠԽͯ͠ ਖ਼͑͘͠Δ͜ͱ͕େࣄ w ࠓޙఆظతʹݴޠԽ͢Δ w ͖ͪΜͱݴޠԽ͢ΔͨΊʹܧଓతʹֶͿ
͋Γ͕ͱ͏ ͍͟͝·ͨ͠