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
最近JSを書く時に考えていること #GWD_Nulab
Search
Hiroyuki ANAI
July 20, 2018
Programming
4
940
最近JSを書く時に考えていること #GWD_Nulab
普段JSを書く時に考えていることの言語化にチャレンジしました。「雰囲気でJSを書いている」感が少し出ています。
Hiroyuki ANAI
July 20, 2018
Tweet
Share
More Decks by Hiroyuki ANAI
See All by Hiroyuki ANAI
fukuoka.ts #3 社内でESLintの共通設定を配りたい2025年春版
pirosikick
2
410
compilerOptions、全部読んだ
pirosikick
1
220
Step Functionsの設計時に知っておいたほうがいいかもしれないこと
pirosikick
0
430
Go言語による並行処理「4.4 orチャネル」の図
pirosikick
0
380
サイボウズWebフロントエンド脱レガシーの今までとこれから
pirosikick
5
17k
@cybozu/eslint-configから学ぶ、全社共通ESLint configの運用
pirosikick
4
1.8k
Web Share Target API #w3fukuoka
pirosikick
0
690
Google I/O '19のWebをまとめる会
pirosikick
2
840
PuppeteerでいらないCSSを消す
pirosikick
23
29k
Other Decks in Programming
See All in Programming
意外と簡単!?フロントエンドでパスキー認証を実現する WebAuthn
teamlab
PRO
2
760
Processing Gem ベースの、2D レトロゲームエンジンの開発
tokujiros
2
130
Compose Multiplatform × AI で作る、次世代アプリ開発支援ツールの設計と実装
thagikura
0
160
Vue・React マルチプロダクト開発を支える Vite
andpad
0
110
請來的 AI Agent 同事們在寫程式時,怎麼用 pytest 去除各種幻想與盲點
keitheis
0
120
2025 年のコーディングエージェントの現在地とエンジニアの仕事の変化について
azukiazusa1
24
12k
Putting The Genie in the Bottle - A Crash Course on running LLMs on Android
iurysza
0
140
MCPとデザインシステムに立脚したデザインと実装の融合
yukukotani
4
1.4k
AIと私たちの学習の変化を考える - Claude Codeの学習モードを例に
azukiazusa1
10
4.2k
Laravel Boost 超入門
fire_arlo
3
220
Introducing ReActionView: A new ActionView-compatible ERB Engine @ Rails World 2025, Amsterdam
marcoroth
0
690
時間軸から考えるTerraformを使う理由と留意点
fufuhu
16
4.8k
Featured
See All Featured
StorybookのUI Testing Handbookを読んだ
zakiyama
31
6.1k
Keith and Marios Guide to Fast Websites
keithpitt
411
22k
The Straight Up "How To Draw Better" Workshop
denniskardys
236
140k
How to Think Like a Performance Engineer
csswizardry
26
1.9k
Bash Introduction
62gerente
615
210k
Measuring & Analyzing Core Web Vitals
bluesmoon
9
580
Producing Creativity
orderedlist
PRO
347
40k
Writing Fast Ruby
sferik
628
62k
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
4k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
34
3.1k
Building Applications with DynamoDB
mza
96
6.6k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
231
53k
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 ͖ͪΜͱݴޠԽ͢ΔͨΊʹܧଓతʹֶͿ
͋Γ͕ͱ͏ ͍͟͝·ͨ͠