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
120
研究開発と実装OSSと プロダクトの好循環 / A virtuous cycle of research and development implementation OSS and products
linyows
1
570
コードジェネレーターで 効率的な開発をする / Efficient development with code generators
linyows
0
350
研究を支える拡張性の高い ワークフローツールの提案 / Proposal of highly expandable workflow tools to support research
linyows
0
480
非コンテナ環境において宣言的Deploymentを手軽に実現する / Declarative deployment in non-container environments
linyows
0
280
メール送信サーバの集約における透過型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
510
研究の再現性を高める 仕組みをGoでつくる / Creating a system to improve the reproducibility of research using go
linyows
1
270
奥が深いメールのシステム / The depth of Email system
linyows
4
640
Other Decks in Technology
See All in Technology
社内お問い合わせBotの仕組みと学び
nish01
0
210
AI Agentと MCP Serverで実現する iOSアプリの 自動テスト作成の効率化
spiderplus_cb
0
490
生成AIで「お客様の声」を ストーリーに変える 新潮流「Generative ETL」
ishikawa_satoru
1
310
空間を設計する力を考える / 20251004 Naoki Takahashi
shift_evolve
PRO
3
330
AIが書いたコードをAIが検証する!自律的なモバイルアプリ開発の実現
henteko
1
340
Exadata Database Service on Dedicated Infrastructure(ExaDB-D) UI スクリーン・キャプチャ集
oracle4engineer
PRO
2
5.4k
DataOpsNight#8_Terragruntを用いたスケーラブルなSnowflakeインフラ管理
roki18d
1
340
Shirankedo NOCで見えてきたeduroam/OpenRoaming運用ノウハウと課題 - BAKUCHIKU BANBAN #2
marokiki
0
140
10年の共創が示す、これからの開発者と企業の関係 ~ Crossroad
soracom
PRO
1
170
いまさら聞けない ABテスト入門
skmr2348
1
200
フルカイテン株式会社 エンジニア向け採用資料
fullkaiten
0
9k
20201008_ファインディ_品質意識を育てる役目は人かAIか___2_.pdf
findy_eventslides
0
120
Featured
See All Featured
Testing 201, or: Great Expectations
jmmastey
45
7.7k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
52
5.6k
Designing Experiences People Love
moore
142
24k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
33
2.5k
Building Flexible Design Systems
yeseniaperezcruz
329
39k
Writing Fast Ruby
sferik
629
62k
Bootstrapping a Software Product
garrettdimon
PRO
307
110k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
667
120k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
32
1.6k
The MySQL Ecosystem @ GitHub 2015
samlambert
251
13k
For a Future-Friendly Web
brad_frost
180
9.9k
Optimizing for Happiness
mojombo
379
70k
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
͓ΘΓ