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
Node.js v12の気になる変更点 / #kng6
Search
Masashi Hirano
May 08, 2019
Programming
3.6k
12
Share
Node.js v12の気になる変更点 / #kng6
関西Node学園 6時限目でNode.js v12の変更点について話しました。
https://nodejs.connpass.com/event/126358/
Masashi Hirano
May 08, 2019
More Decks by Masashi Hirano
See All by Masashi Hirano
フロントエンド開発のためのブラウザ組み込みAI入門
masashi
7
4.7k
Protocol Buffers and Connect for Frontend Development
masashi
0
160
You may not need XXX in Node.js
masashi
5
2k
OSSとコミュニティを支える
masashi
1
2k
英語ができなかった自分達が、グローバルチーム立ち上げに挑戦!?
masashi
1
3.7k
フロントエンド開発のためのセキュリティ入門について
masashi
1
590
フロントエンド開発のためのセキュリティ入門
masashi
50
18k
Node.jsの2022年と未来 / Node.js in 2022 and Future
masashi
1
1.2k
Corepack ~Node.jsに追加されたパッケージマネージャーマネージャー~ / #tng37
masashi
3
13k
Other Decks in Programming
See All in Programming
Sans tests, vos agents ne sont pas fiables
nabondance
0
140
GoogleCloudとterraform完全に理解した
terisuke
1
200
KMP × Kotlin 2.3 - How Android Got Slower While iOS Builds Improved by 47%
rio432
0
230
Augmenting AI with the Power of Jakarta EE
ivargrimstad
0
570
Agentic UI beyond Chats Architecture Patterns & Open Standards @ngMunich 05/2026
manfredsteyer
PRO
0
110
Kubernetesを使わない環境にもCloud Nativeなデプロイを実現する / Enabling Cloud Native deployments without the complexity of Kubernetes
linyows
3
430
エラー処理の温故知新 / history of error handling technic
ryotanakaya
7
1.9k
TypeScriptだけでAIエージェントを作る フロント・エージェント・インフラのフルスタック実践
har1101
4
720
1人1案件のプロダクトエンジニア時代に、"プロセス監督"としてチャレンジしたこと
non0113
0
120
20年以上続くプロダクトでも使い続けられる静的解析ツールを求めて
matsuo_atsushi
0
150
Skillは並べた。動かなかった。契約で繋いだ。— 65個のSkillから、自走する開発サイクルへ
junholee
0
650
🦞OpenClaw works with AWS
licux
1
370
Featured
See All Featured
Lightning talk: Run Django tests with GitHub Actions
sabderemane
0
180
The MySQL Ecosystem @ GitHub 2015
samlambert
251
13k
VelocityConf: Rendering Performance Case Studies
addyosmani
333
25k
svc-hook: hooking system calls on ARM64 by binary rewriting
retrage
2
250
Facilitating Awesome Meetings
lara
57
6.9k
KATA
mclloyd
PRO
35
15k
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
21
1.5k
The Cult of Friendly URLs
andyhume
79
6.9k
AI Search: Implications for SEO and How to Move Forward - #ShenzhenSEOConference
aleyda
1
1.2k
世界の人気アプリ100個を分析して見えたペイウォール設計の心得
akihiro_kokubo
PRO
70
39k
The Invisible Side of Design
smashingmag
302
52k
Lessons Learnt from Crawling 1000+ Websites
charlesmeaden
PRO
1
1.2k
Transcript
Node.js v12 Notable Changes ؔNodeֶԂ 6࣌ݶ Masashi Hirano(@shisama)
ฏ ণ࢜ / Masashi Hirano ɹɹɹɹ Kyoto office @shisama_ @shisama
Node.js Core Collaborator ؔNodeֶԂOrganizer
4/23ʹ12.0.0͕ϦϦʔε͞Ε·ͨ͠
https://nodejs.org/en/blog/release/v12.0.0/ ݄ʹ-54ʹ
https://nodejs.org/en/blog/release/v12.0.0/ W&0-ʹ
Node.js v12ͷಛʹؾʹͳͬͨ มߋΛհ͠·͢ʂ
https://nodejs.org/en/blog/release/v12.0.0/ /PEFKTͷެࣜϖʔδ(JU)VCͷ3FMFBTFϖʔ δʹ1VMM3FRVFTUͷϦϯΫ͕షͬͯ͋Δ
https://github.com/nodejs/node/pull/26685
V8(JSΤϯδϯ)͕7.4ʹ • Node.js v10ͷV86.8 • JavaScript(ECMAScript)৽ػೳ͕Ճ • async / await͕ߴԽ
• async-stack-trace͕Ճ etc…
https://twitter.com/mathias/status/1120700101637353473 JavaScript৽ػೳ
Array#{flat,flatMap} var arr1 = [1, 2, [3, 4]]; arr1.flat(); //
[1, 2, 3, 4] arr1.flatMap(x => [x * 2]); // [2, 4, 6, 8]
Private Class Field class Counter { #count = 0; get
value() { return this.#count; } increment() { this.#count++; } } const counter = new Counter(); counter.increment(); counter.#counter; // Error counter.value; // OK QSJWBUFʹ͍ͨ͠ϑΟʔϧυʹΛ͚ͭΔ
https://twitter.com/mathias/status/1120700101637353473 ଞʹͨ͘͞Μ͋Γ·͢ʂଓ͖WebͰʂ
https://speakerdeck.com/ajido/callback-to-promise-and-beyond લճˏAjido͞Μ͕ൃදͯ͘͠Ε·ͨ͠ʂ
https://blog.risingstack.com/node-js-12-new-features/ Async Stack Trace
https://blog.risingstack.com/node-js-12-new-features/ Async Stack Trace v11 V12
https://github.com/nodejs/node/pull/26685
llhttp • HTTPύʔαͷσϑΥϧτ͕http_parser͔Βllhttpʹ • http_parserվྑΛࢼΈ͚ͨͲ͔ͬͨ͠ • llhttpTypeScriptͰॻ͔Ε͍ͯͯϝϯς͘͢͠ͳ͍ͬͯΔ • http_parserΑΓ࣮ߦ͕͍ •
llparseͰCݴޠLLVMϏοτίʔυʹม
llhttp https://github.com/nodejs/llhttp
https://github.com/nodejs/node/pull/26209 εΫϦʔϯγϣοτ 2019-05-08 02.51.41.png
https://github.com/nodejs/node/pull/23814
tls • TLS 1.3Λ৽͘͠αϙʔτ • TLS1.0ɺ1.1σϑΥϧτͰαϙʔτର֎ʹ • 2020/03ʹϝϯς͞Εͳ͘ͳΔ • v12LTSͰ2022/04ͰEOL
https://github.com/nodejs/node/pull/25576
σϑΥϧτͷheapͷ࠷େ • ैདྷ700MB(32bit) / 1400MB(64bit)ݻఆͩͬͨ • v12͔Β༻ՄೳͳϝϞϦ༰ྔʹ߹Θͤͯ૿ݮ
https://github.com/nodejs/node/pull/23027 ͜ͷޙɺొஃ༧ఆʂ
https://github.com/nodejs/node/pull/27361 /PEFKTWͰ ྩରԠ͞Εͨ
Node.js v12ʹͳΔ͜ͱͰಈ͔ͳ͘ͳ Δύοέʔδଘࡏ͢Δ
https://github.com/nodejs/node/issues/25060
Node.js v12ͰյΕΔύοέʔδ͕͋Δ • uglify-jsbcryptͳͲ༗໊ͳͱ͜Ζ͕ର • طʹରԠࡁͷͷ͋Δ • CITGMͱ͍͏Node.js CoreͷCIδϣϒͰᖰΓग़͍ͯ͠Δ •
Α͘ΘΕΔύοέʔδͷςετ͕௨Δ͔ݕূ • https://github.com/nodejs/citgm • ੈͷதͷશͯͷnpmύοέʔδΛݕূ͍ͯ͠ΔΘ͚Ͱͳ͍
npmʹύοέʔδΛެ։͍ͯ͠Δਓ Node.jsͷϝδϟʔόʔδϣϯ͕ϦϦʔ ε͞ΕͨΒݕূͯ͠Έ·͠ΐ͏ʂ
·ͱΊ • V8ͷόʔδϣϯΞοϓͰJavaScriptͷ৽ػೳ͕Ճ͞Εͨ • Node.js Core෦తʹΞοϓσʔτ͞Ε͍ͯΔ • ϝδϟʔόʔδϣϯnpmύοέʔδ͕յΕͨΓ͢ΔͷͰݕূ ͕ඞཁ
͝੩ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠ʂ @shisama_ @shisama