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
Looking back on JavaScript
Search
linyows
April 27, 2017
Technology
4
520
Looking back on JavaScript
GMO pepabo Tech Meeting/Hosting#3 で話した資料です
linyows
April 27, 2017
Tweet
Share
More Decks by linyows
See All by linyows
Protocol Buffersの型を超えて拡張性を得る / Beyond Protocol Buffers Types Achieving Extensibility
linyows
0
110
研究開発と実装OSSと プロダクトの好循環 / A virtuous cycle of research and development implementation OSS and products
linyows
1
540
コードジェネレーターで 効率的な開発をする / Efficient development with code generators
linyows
0
340
研究を支える拡張性の高い ワークフローツールの提案 / Proposal of highly expandable workflow tools to support research
linyows
0
470
非コンテナ環境において宣言的Deploymentを手軽に実現する / Declarative deployment in non-container environments
linyows
0
270
メール送信サーバの集約における透過型SMTP プロキシの定量評価 / Quantitative Evaluation of Transparent SMTP Proxy in Email Sending Server Aggregation
linyows
0
1k
透過型SMTPプロキシによる送信メールの可観測性向上: Update Edition / Improved observability of outgoing emails with transparent smtp proxy: Update edition
linyows
2
500
研究の再現性を高める 仕組みをGoでつくる / Creating a system to improve the reproducibility of research using go
linyows
1
260
奥が深いメールのシステム / The depth of Email system
linyows
4
630
Other Decks in Technology
See All in Technology
5分でカオスエンジニアリングを分かった気になろう
pandayumi
0
260
KotlinConf 2025_イベントレポート
sony
1
140
共有と分離 - Compose Multiplatform "本番導入" の設計指針
error96num
2
1.1k
Codeful Serverless / 一人運用でもやり抜く力
_kensh
7
450
[ JAWS-UG 東京 CommunityBuilders Night #2 ]SlackとAmazon Q Developerで 運用効率化を模索する
sh_fk2
3
460
Django's GeneratedField by example - DjangoCon US 2025
pauloxnet
0
160
Android Audio: Beyond Winning On It
atsushieno
0
2.4k
サラリーマンの小遣いで作るtoCサービス - Cloudflare Workersでスケールする開発戦略
shinaps
2
470
新アイテムをどう使っていくか?みんなであーだこーだ言ってみよう / 20250911-rpi-jam-tokyo
akkiesoft
0
340
【NoMapsTECH 2025】AI Edge Computing Workshop
akit37
0
230
Create Ruby native extension gem with Go
sue445
0
130
なぜテストマネージャの視点が 必要なのか? 〜 一歩先へ進むために 〜
moritamasami
0
240
Featured
See All Featured
It's Worth the Effort
3n
187
28k
Building Flexible Design Systems
yeseniaperezcruz
329
39k
Product Roadmaps are Hard
iamctodd
PRO
54
11k
4 Signs Your Business is Dying
shpigford
184
22k
Why Our Code Smells
bkeepers
PRO
339
57k
KATA
mclloyd
32
14k
Code Reviewing Like a Champion
maltzj
525
40k
StorybookのUI Testing Handbookを読んだ
zakiyama
31
6.1k
Done Done
chrislema
185
16k
A designer walks into a library…
pauljervisheath
207
24k
The Invisible Side of Design
smashingmag
301
51k
Code Review Best Practice
trishagee
71
19k
Transcript
ͳΜͱͳ͘+4ॻ͍ͯΔਓ 5PNPIJTB0EB(.01FQBCP *OD 5FDI.FFUJOH)PTUJOH +BWB4DSJQUͷ;Γ͔͑Γձ
ϓϦϯγύϧΤϯδχΞ 5PNPIJTB0EB!MJOZPXT ٕज़෦ٕज़ج൫νʔϜ
͓΅͍͑ͯ·͔͢ʁ
'BOJDઑͬͯ·ͨ͠ʢ࣌ wϦΞϧλΠϜը૾มʢࠓͱͳͬͯී௨ w''NQFHϥούʔͰNQɺBBD૬ޓมKPC wTͷϦιʔεΰϛߴআKPC ʑɺ/PEFKTΛ༻͍ͯΠϕϯτϧʔϓ ϊϯϒϩοΩ ϯάΛ׆༻͍ͯͨ͠
͜Μͳํ͕ରͰ͢ wK2VFSZΛͱΓ͋͑ͣͬͯ·͢Α wQSPUPUZQFͬͯԿɺK2VFSZͷલʹྲྀߦͬͨͭʁ w&$."4DSJQUʁॳΊͯฉ͖·ͨ͠
XFCΞϓϦέʔγϣϯ։ൃͯ͠Δ ͕ɺKT͕ϝΠϯ͡Όͳ͍
ͳΜͱͳ͘+4ॻ͍ͯ·͢ʂ
+BWB4DSJQUͷ͜Ε·ͰམͪͿΕ wॳ಄ϒϥβͱͱʹੜ w&$."ઃཱʢ+TDSJQUͱ+BWB4DSJQUޓͷಈ͖ʣ wͱ͜Ζ͕ҙݟ͕·ͱ·Βͳ͍ wͦͷؒʹ"DUJPO4DSJQUͷ'MBTI͕·Δ w/BUJWF+4ͳΜͯཁΒΜͷ͡Όͱ͍͏งғؾʜաڈͷͷ
+BWB4DSJQUͷ͜Ε·Ͱ࠶ͼ w(PPHMF.BQͰ"KBY͕ར༻͞Ε+4͕࠶ͼΛ͋ͼ࢝ΊΔ w$ISPNFͱͱʹWNܕͰߴͳ+4Τϯδϯ7͕ެ։͞ΕΔ w7ΛͬͨαʔόαΠυͷSVOUJNF/PEFKT͕ੜ͢Δ wࠒ͔Β#BDLCPOFKTච಄ʹ"OHVMBS+43FBDU7VFKTͳͲ ͷํόΠϯσΟϯάϑϨʔϜϫʔΫ͕ొ͍ͯ͘͠ w&$."4DSJQUUIFEJUJPO͕ެ։͞ΕΔ
ํσʔλόΠϯσΟϯάͱ w6*ͱσʔλͷํͰใʢมԽʣΛڞ༗͢Δ w6*ʢJOQVUʣΛมߋͨ͠Βσʔλʹө͠ɺσʔλ͕ߋ৽͞ΕͨΒ6* ͕มԽ w۩ମతʹWJFXNPEFMํͰΓͱΓ͢Δ
&$."4DSJQUUIFEJUJPO w͍ΘΏΔ&4&4 wݴޠ༷Λ࠶ఆٛ wࠓޙԿόάमਖ਼ͱখ͞ͳػೳՃͰຖϦϦʔε w͜Εʹ߹Θͤɺαʔόͱϒϥβͷ+4͕౷߹ʹ ͔͍ͬͯΔʁͣ
&4ͬͯ͑Δͷ w&4͕͏͙͢ʜ w֤αʔϏεͷޓදIUUQLBOHBYHJUIVCJP DPNQBUUBCMFFT wओཁϒϥβɺ࠷৽/PEFKTͰ΄΅ରԠࡁΈͳͷͰେ ମ͑Δͱݴ͑Δ wେମͳͷͰτϥϯεύΠϧΔͷ͕ແ
5SBOTQJMF τϥϯεύΠϥ w#BCFM w#VCMF τϥϯεύΠϧ͕ඞཁͳݴޠ w5ZQF4DSJQU w$P⒎FF4DSJQU
Ͱɺ&4Կ͕͏Ε͍͠ͷʁ
&4Ͱ͏Ε͍͜͠ͱ wQSPUPUZQFϕʔεͰઃܭ͠ͳͯ͘ྑ͘ͳΔDMBTTͱ FYUFOET w͖Ε͍ͳTZOUBYʢBSSPXGVODUJPOQSPNJTFʜ ʣ w4ZNCPMΒ.BQͳͲศརػೳ ৄ͘͠IUUQQPTUEDDFTDIFBUTIFFU
ʘͦͦ Α͘Θ͔Βͳ͍Ͱ͢ ϓϩτλΠϓϕʔε ʢͪͳΈʹ͖Ͱ͢ʣ
Ͱ͢ΑͶ ??
ܧঝͷྫ function Employee() { this.name = ""; this.dept = "general";
} function Manager() { Employee.call(this); this.reports = []; } Manager.prototype = Object.create(Employee.prototype); function Worker() { Employee.call(this); this.projects = []; } Worker.prototype = Object.create(Employee.prototype); function Engineer() { Partner.call(this); this.dept = "engineering"; } Engineer.prototype = Object.create(Worker.prototype); var opo = new Engineer(); opo.dept; // => "enginneering"
֦ுͷྫ function Point(x, y) { this.x = x; this.y =
y; } var p = new Point(3, 4); p.x // => 3 p.y // => 4 Point.prototype.r = function() { return Math.sqrt((this.x * this.x) + (this.y * this.y)); }; p.r();
ײ wܧঝͱ͍͏ΑΓίϐʔʹ͍ۙ wநԽ͞Εͨͷͱ࣮ଶͷ͕ؔͳ͍શ࣮ͯଶ wͳͷͰΑΓૄ݁߹ͳΦϒδΣΫτ
·ͱΊ w͍ྺ࢙ΛܦͯͬͱҰ؏ੑ͕ग़͖ͯͭͭ͋Δ wͨͩ͠ɺաظͳͷͰ༷ʑͳπʔϧपลϥΠϒϥϦ ͕ࢁग़ݱͯ͠ফ͍͍͑ͯͬͯΔ wࠓͳ͓৽͍͠ϓϩϙʔαϧ͕HJUIVCʹ্͕͍ͬͯͯ มԽ͍ͯ͠Δதɺϒϥβ͔ΒαʔόαΠυͨ·ͨ ϞόΠϧΧόʔ͢ΔݴޠແࢹͰ͖ͳ͍ͷͰ͋Δ
߈Ί͍ͯ͜͏+BWB4DSJQU
܅αϩϯʹ͓͍Ͱʁ ࠷৽ใΛνΣοΫˠ !MJOZPXT
͓ΘΓ