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
12
3.5k
Node.js v12の気になる変更点 / #kng6
関西Node学園 6時限目でNode.js v12の変更点について話しました。
https://nodejs.connpass.com/event/126358/
Masashi Hirano
May 08, 2019
Tweet
Share
More Decks by Masashi Hirano
See All by Masashi Hirano
Protocol Buffers and Connect for Frontend Development
masashi
0
100
You may not need XXX in Node.js
masashi
5
1.5k
OSSとコミュニティを支える
masashi
1
1.4k
英語ができなかった自分達が、グローバルチーム立ち上げに挑戦!?
masashi
1
3.4k
フロントエンド開発のためのセキュリティ入門について
masashi
1
540
フロントエンド開発のためのセキュリティ入門
masashi
49
18k
Node.jsの2022年と未来 / Node.js in 2022 and Future
masashi
1
1.1k
Corepack ~Node.jsに追加されたパッケージマネージャーマネージャー~ / #tng37
masashi
3
13k
Node.js + Web Compatibility
masashi
2
670
Other Decks in Programming
See All in Programming
私達はmodernize packageに夢を見るか feat. go/analysis, go/ast / Go Conference 2025
kaorumuta
2
460
(Extension DC 2025) Actor境界を越える技術
teamhimeh
1
210
LLMとPlaywright/reg-suitを活用した jQueryリファクタリングの実際
kinocoboy2
4
660
Web フロントエンドエンジニアに開かれる AI Agent プロダクト開発 - Vercel AI SDK を観察して AI Agent と仲良くなろう! #FEC余熱NIGHT
izumin5210
3
340
Build your own WebP codec in Swift
kishikawakatsumi
2
890
CSC305 Lecture 03
javiergs
PRO
0
230
NetworkXとGNNで学ぶグラフデータ分析入門〜複雑な関係性を解き明かすPythonの力〜
mhrtech
3
970
フロントエンド開発に役立つクライアントプログラム共通のノウハウ / Universal client-side programming best practices for frontend development
nrslib
7
3.9k
Serena MCPのすすめ
wadakatu
4
870
Swift Concurrency - 状態監視の罠
objectiveaudio
2
440
iOS 17で追加されたSubscriptionStoreView を利用して5分でサブスク実装チャレンジ
natmark
0
500
Your Perfect Project Setup for Angular @BASTA! 2025 in Mainz
manfredsteyer
PRO
0
110
Featured
See All Featured
Java REST API Framework Comparison - PWX 2021
mraible
33
8.8k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
30
2.9k
RailsConf 2023
tenderlove
30
1.2k
Intergalactic Javascript Robots from Outer Space
tanoku
273
27k
Stop Working from a Prison Cell
hatefulcrawdad
271
21k
How To Stay Up To Date on Web Technology
chriscoyier
791
250k
Keith and Marios Guide to Fast Websites
keithpitt
411
22k
Docker and Python
trallard
46
3.6k
Making the Leap to Tech Lead
cromwellryan
135
9.5k
Reflections from 52 weeks, 52 projects
jeffersonlam
352
21k
Product Roadmaps are Hard
iamctodd
PRO
54
11k
Six Lessons from altMBA
skipperchong
28
4k
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