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
930
最近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
390
compilerOptions、全部読んだ
pirosikick
1
210
Step Functionsの設計時に知っておいたほうがいいかもしれないこと
pirosikick
0
410
Go言語による並行処理「4.4 orチャネル」の図
pirosikick
0
370
サイボウズWebフロントエンド脱レガシーの今までとこれから
pirosikick
5
17k
@cybozu/eslint-configから学ぶ、全社共通ESLint configの運用
pirosikick
4
1.8k
Web Share Target API #w3fukuoka
pirosikick
0
680
Google I/O '19のWebをまとめる会
pirosikick
2
830
PuppeteerでいらないCSSを消す
pirosikick
23
29k
Other Decks in Programming
See All in Programming
Understanding Kotlin Multiplatform
l2hyunwoo
0
240
DynamoDBは怖くない!〜テーブル設計の勘所とテスト戦略〜
hyamazaki
0
100
可変性を制する設計: 構造と振る舞いから考える概念モデリングとその実装
a_suenami
8
1.1k
リッチエディターを安全に開発・運用するために
unachang113
1
310
顧客の画像データをテラバイト単位で配信する 画像サーバを WebP にした際に起こった課題と その対応策 ~継続的な取り組みを添えて~
takutakahashi
4
1.4k
中級グラフィックス入門~効率的なメッシュレット描画~
projectasura
3
2k
Git Sync を超える!OSS で実現する CDK Pull 型デプロイ / Deploying CDK with PipeCD in Pull-style
tkikuc
4
490
Quality Gates in the Age of Agentic Coding
helmedeiros
PRO
1
110
CLI ツールを Go ライブラリ として再実装する理由 / Why reimplement a CLI tool as a Go library
ktr_0731
3
820
No Install CMS戦略 〜 5年先を見据えたフロントエンド開発を考える / no_install_cms
rdlabo
0
390
MCP連携で加速するAI駆動開発/mcp integration accelerates ai-driven-development
bpstudy
0
190
The Niche of CDK Grant オブジェクトって何者?/the-niche-of-cdk-what-isgrant-object
hassaku63
1
730
Featured
See All Featured
The Pragmatic Product Professional
lauravandoore
35
6.8k
How To Stay Up To Date on Web Technology
chriscoyier
790
250k
Principles of Awesome APIs and How to Build Them.
keavy
126
17k
Build your cross-platform service in a week with App Engine
jlugia
231
18k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
16k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
29
2.8k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
PRO
182
54k
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.4k
A designer walks into a library…
pauljervisheath
207
24k
The Language of Interfaces
destraynor
158
25k
Imperfection Machines: The Place of Print at Facebook
scottboms
267
13k
Bootstrapping a Software Product
garrettdimon
PRO
307
110k
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 ͖ͪΜͱݴޠԽ͢ΔͨΊʹܧଓతʹֶͿ
͋Γ͕ͱ͏ ͍͟͝·ͨ͠