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
910
最近JSを書く時に考えていること #GWD_Nulab
普段JSを書く時に考えていることの言語化にチャレンジしました。「雰囲気でJSを書いている」感が少し出ています。
Hiroyuki ANAI
July 20, 2018
Tweet
Share
More Decks by Hiroyuki ANAI
See All by Hiroyuki ANAI
compilerOptions、全部読んだ
pirosikick
1
140
Step Functionsの設計時に知っておいたほうがいいかもしれないこと
pirosikick
0
270
Go言語による並行処理「4.4 orチャネル」の図
pirosikick
0
300
サイボウズWebフロントエンド脱レガシーの今までとこれから
pirosikick
5
17k
@cybozu/eslint-configから学ぶ、全社共通ESLint configの運用
pirosikick
4
1.7k
Web Share Target API #w3fukuoka
pirosikick
0
610
Google I/O '19のWebをまとめる会
pirosikick
2
780
PuppeteerでいらないCSSを消す
pirosikick
24
28k
Progressive Hydration #react_fukuoka
pirosikick
5
1.6k
Other Decks in Programming
See All in Programming
Webの技術スタックで マルチプラットフォームアプリ開発を可能にするElixirDesktopの紹介
thehaigo
2
1k
ふかぼれ!CSSセレクターモジュール / Fukabore! CSS Selectors Module
petamoriken
0
150
PHP でアセンブリ言語のように書く技術
memory1994
PRO
1
170
macOS でできる リアルタイム動画像処理
biacco42
9
2.4k
「今のプロジェクトいろいろ大変なんですよ、app/services とかもあって……」/After Kaigi on Rails 2024 LT Night
junk0612
5
2.2k
Realtime API 入門
riofujimon
0
150
3 Effective Rules for Using Signals in Angular
manfredsteyer
PRO
0
100
C++でシェーダを書く
fadis
6
4.1k
みんなでプロポーザルを書いてみた
yuriko1211
0
280
EMになってからチームの成果を最大化するために取り組んだこと/ Maximize team performance as EM
nashiusagi
0
100
Jakarta EE meets AI
ivargrimstad
0
670
Streams APIとTCPフロー制御 / Web Streams API and TCP flow control
tasshi
2
350
Featured
See All Featured
Building an army of robots
kneath
302
43k
Building Applications with DynamoDB
mza
90
6.1k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
665
120k
KATA
mclloyd
29
14k
Side Projects
sachag
452
42k
VelocityConf: Rendering Performance Case Studies
addyosmani
325
24k
Unsuck your backbone
ammeep
668
57k
Into the Great Unknown - MozCon
thekraken
32
1.5k
Visualization
eitanlees
145
15k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
44
6.8k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
280
13k
Mobile First: as difficult as doing things right
swwweet
222
8.9k
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 ͖ͪΜͱݴޠԽ͢ΔͨΊʹܧଓతʹֶͿ
͋Γ͕ͱ͏ ͍͟͝·ͨ͠