|
| 1 | +--- |
| 2 | +title: "2024-12-19: Safari 18.2, State of Node.js Performance 2024, Astro Server Islands" |
| 3 | +author: "azu" |
| 4 | +translator: rewrite0w0 |
| 5 | +layout: post |
| 6 | +date: 2024-12-19T01:35:31.013Z |
| 7 | +category: JSer |
| 8 | +tags: |
| 9 | +- React |
| 10 | +- nodejs |
| 11 | +- sourcemap |
| 12 | +- ecma |
| 13 | +- spec |
| 14 | + |
| 15 | +--- |
| 16 | + |
| 17 | +JSer.info #719 - Safri 18.2가 출시되었습니다. |
| 18 | + |
| 19 | +- [WebKit Features in Safari 18.2 | WebKit](https://webkit.org/blog/16301/webkit-features-in-safari-18-2/) |
| 20 | + |
| 21 | +다음과 같은 변경이 있습니다. |
| 22 | + |
| 23 | +- CSS, `text-box`(Leading Trim)/`@view-transition`/`background-clip`/`scrollbar-width` 지원, 루비 주석 표현 개선 |
| 24 | +- HTML, `input type=week` 지원, `blocking=render` 속성과 `<link rel=expect>` 지원 |
| 25 | +- JavaScript, `Float16Array`/`Promise.try`/`RegExp.escape` 지원 |
| 26 | + |
| 27 | +---- |
| 28 | + |
| 29 | +[State of Node.js Performance 2024](https://nodesource.com/blog/State-of-Nodejs-Performance-2024)에서는, Node.js 20과 22 코어 모듈 자체의 성능 비교가 있습니다. |
| 30 | +Node.js 개선으로 인해, 코어모듈 성능 어느 정도 개선되었나 소개됩니다. |
| 31 | + |
| 32 | +---- |
| 33 | + |
| 34 | +[Next.js PPR과 비교해 이해하는 Astro Server Islands](https://zenn.dev/morinokami/articles/astro-server-islands-vs-nextjs-ppr)에서는, Astro Server Islands와 Next.js PPR 구조나 동작의 차이를 소개합니다. |
| 35 | + |
| 36 | + |
| 37 | +---- |
| 38 | + |
| 39 | +{% include inline-support.html %} |
| 40 | + |
| 41 | +---- |
| 42 | + |
| 43 | +<h1 class="site-genre">헤드라인</h1> |
| 44 | + |
| 45 | +---- |
| 46 | + |
| 47 | +## Node.js — Node v23.4.0 (Current) |
| 48 | +[nodejs.org/en/blog/release/v23.4.0](https://nodejs.org/en/blog/release/v23.4.0 "Node.js — Node v23.4.0 (Current)") |
| 49 | +<p class="jser-tags jser-tag-icon"><span class="jser-tag">nodejs</span> <span class="jser-tag">ReleaseNote</span></p> |
| 50 | + |
| 51 | +Node.js v23.4.0 출시. |
| 52 | +`assert.partialDeepStrictEqual` 추가, `--trace-env` 플래그 추가, `net.connect`에 `blockList` 옵션 추가 |
| 53 | + |
| 54 | + |
| 55 | +---- |
| 56 | + |
| 57 | +## Source map format specification |
| 58 | +[tc39.es/ecma426/](https://tc39.es/ecma426/ "Source map format specification") |
| 59 | +<p class="jser-tags jser-tag-icon"><span class="jser-tag">sourcemap</span> <span class="jser-tag">ecma</span> <span class="jser-tag">spec</span></p> |
| 60 | + |
| 61 | +Source Map 사양이 ECMA426으로 공개 |
| 62 | + |
| 63 | + |
| 64 | +---- |
| 65 | + |
| 66 | +## WebKit Features in Safari 18.2 | WebKit |
| 67 | +[webkit.org/blog/16301/webkit-features-in-safari-18-2/](https://webkit.org/blog/16301/webkit-features-in-safari-18-2/ "WebKit Features in Safari 18.2 | WebKit") |
| 68 | +<p class="jser-tags jser-tag-icon"><span class="jser-tag">safari</span> <span class="jser-tag">ReleaseNote</span></p> |
| 69 | + |
| 70 | +Safari 18.2 변경점에 대하여. |
| 71 | +CSS `text-box`(Leading Trim)/`@view-transition`/`background-clip`/`scrollbar-width` 지원. 또한 루비 주석 대응 개선. |
| 72 | +HTML `input type=week` 지원, `blocking=render` 속성과 `<link rel=expect>` 지원. |
| 73 | +Wasm GC/Wasm Tail Calls 지원, PointerEvent 대응 개선. |
| 74 | +JavaScript, `Float16Array`/`Promise.try`/`RegExp.escape` 지원 |
| 75 | + |
| 76 | + |
| 77 | +---- |
| 78 | + |
| 79 | +## Release v9.2.0 · reduxjs/react-redux |
| 80 | +[github.com/reduxjs/react-redux/releases/tag/v9.2.0](https://github.com/reduxjs/react-redux/releases/tag/v9.2.0 "Release v9.2.0 · reduxjs/react-redux") |
| 81 | +<p class="jser-tags jser-tag-icon"><span class="jser-tag">redux</span> <span class="jser-tag">React</span> <span class="jser-tag">library</span> <span class="jser-tag">ReleaseNote</span></p> |
| 82 | + |
| 83 | +React-Redux v9.2.0 출시. |
| 84 | +React 19 대응 |
| 85 | + |
| 86 | +- [Release v2.5.0 · reduxjs/redux-toolkit](https://github.com/reduxjs/redux-toolkit/releases/tag/v2.5.0 "Release v2.5.0 · reduxjs/redux-toolkit") |
| 87 | + |
| 88 | +---- |
| 89 | + |
| 90 | +## Release v11.0.0 · npm/cli |
| 91 | +[github.com/npm/cli/releases/tag/v11.0.0](https://github.com/npm/cli/releases/tag/v11.0.0 "Release v11.0.0 · npm/cli") |
| 92 | +<p class="jser-tags jser-tag-icon"><span class="jser-tag">npm</span> <span class="jser-tag">ReleaseNote</span></p> |
| 93 | + |
| 94 | +npm v11.0.0 출시. |
| 95 | + |
| 96 | + |
| 97 | +---- |
| 98 | + |
| 99 | +## Bun v1.1.40 | Bun Blog |
| 100 | +[bun.sh/blog/bun-v1.1.40](https://bun.sh/blog/bun-v1.1.40 "Bun v1.1.40 | Bun Blog") |
| 101 | +<p class="jser-tags jser-tag-icon"><span class="jser-tag">Bun</span> <span class="jser-tag">ReleaseNote</span></p> |
| 102 | + |
| 103 | +Bun v1.1.40 출시. |
| 104 | +텍스트 기반 Lock 파일 다루는 ` install.saveTextLockfile` 설정 추가 |
| 105 | + |
| 106 | + |
| 107 | +---- |
| 108 | + |
| 109 | +## Release v7.1.0 · nodejs/undici |
| 110 | +[github.com/nodejs/undici/releases/tag/v7.1.0](https://github.com/nodejs/undici/releases/tag/v7.1.0 "Release v7.1.0 · nodejs/undici") |
| 111 | +<p class="jser-tags jser-tag-icon"><span class="jser-tag">nodejs</span> <span class="jser-tag">HTTP</span> <span class="jser-tag">Fetch</span> <span class="jser-tag">library</span></p> |
| 112 | + |
| 113 | +undici v7.1.0 출시. |
| 114 | +http/2 지원이 Stable |
| 115 | + |
| 116 | + |
| 117 | +---- |
| 118 | +<h1 class="site-genre">읽을거리</h1> |
| 119 | + |
| 120 | +---- |
| 121 | + |
| 122 | +## State of Node.js Performance 2024 |
| 123 | +[nodesource.com/blog/State-of-Nodejs-Performance-2024](https://nodesource.com/blog/State-of-Nodejs-Performance-2024 "State of Node.js Performance 2024") |
| 124 | +<p class="jser-tags jser-tag-icon"><span class="jser-tag">nodejs</span> <span class="jser-tag">performance</span> <span class="jser-tag">article</span></p> |
| 125 | + |
| 126 | +Node.js 20와 22 코어 모듈 자체의 성능 비교. |
| 127 | +어느 정도로 성능 개선이 있었는가에 대하여 |
| 128 | + |
| 129 | + |
| 130 | +---- |
| 131 | + |
| 132 | +## Next.js PPR와 비교해서 이해하는 Astro Server Islands |
| 133 | +[zenn.dev/morinokami/articles/astro-server-islands-vs-nextjs-ppr](https://zenn.dev/morinokami/articles/astro-server-islands-vs-nextjs-ppr "Next.js PPR와 비교해서 이해하는 Astro Server Islands") |
| 134 | +<p class="jser-tags jser-tag-icon"><span class="jser-tag">astro</span> <span class="jser-tag">article</span></p> |
| 135 | + |
| 136 | +astro의 Server Islands와 Next.js의 PPR(Partial Prerendering)에 대하여 |
| 137 | + |
| 138 | + |
| 139 | +---- |
| 140 | +<h1 class="site-genre">슬라이드, 영상</h1> |
| 141 | + |
| 142 | +---- |
| 143 | + |
| 144 | +## Recoil 벗은 이야기 - Speaker Deck |
| 145 | +[speakerdeck.com/kirik/recoilwobo-gasiteiruhua](https://speakerdeck.com/kirik/recoilwobo-gasiteiruhua "Recoil 벗은 이야기 - Speaker Deck") |
| 146 | +<p class="jser-tags jser-tag-icon"><span class="jser-tag">React</span> <span class="jser-tag">slide</span></p> |
| 147 | + |
| 148 | +Recoil이 관리되지 않기에, Recoil에서 React Context으로 이행한 이야기 |
| 149 | + |
| 150 | + |
| 151 | +---- |
| 152 | +<h1 class="site-genre">웹사이트, 서비스, 문서</h1> |
| 153 | + |
| 154 | +---- |
| 155 | + |
| 156 | +## lingui/js-lingui: 🌍 📖 A readable, automated, and optimized (3 kb) internationalization for JavaScript |
| 157 | +[github.com/lingui/js-lingui?tab=readme-ov-file](https://github.com/lingui/js-lingui?tab=readme-ov-file "lingui/js-lingui: 🌍 📖 A readable, automated, and optimized (3 kb) internationalization for JavaScript") |
| 158 | +<p class="jser-tags jser-tag-icon"><span class="jser-tag">JavaScript</span> <span class="jser-tag">React</span> <span class="jser-tag">i18n</span> <span class="jser-tag">library</span></p> |
| 159 | + |
| 160 | +ICU MessageFormat 사용한 i18n 라이브러리 도구. |
| 161 | +코드 스캔해서 메세지 유출하는 extract, 실제 이용한 메세지를 포함하는 구조, 로케일 기반으로 동적인 메세지 타달로그 읽어들이는 구조를 갖음. |
| 162 | +번역을 하는 JavaScript 함수나 React 컴포너틑 제공 |
| 163 | + |
| 164 | + |
| 165 | +---- |
| 166 | +<h1 class="site-genre">소프트웨어, 도구, 라이브러리</h1> |
| 167 | + |
| 168 | +---- |
| 169 | + |
| 170 | +## nissy-dev/tenbin: Tenbin provides tools to minimize the differences in test execution times across shards. |
| 171 | +[github.com/nissy-dev/tenbin](https://github.com/nissy-dev/tenbin "nissy-dev/tenbin: Tenbin provides tools to minimize the differences in test execution times across shards.") |
| 172 | +<p class="jser-tags jser-tag-icon"><span class="jser-tag">test</span> <span class="jser-tag">library</span></p> |
| 173 | + |
| 174 | +과거 테스트 실행 시간을 이용해 테스트 sharding 하는 도구. |
| 175 | +Jest/Vitest/Playwright 지원 |
| 176 | + |
| 177 | +- [테스트 sharding를 효율적으로 하는 도구 Tenbin 만들었다](https://zenn.dev/cybozu_frontend/articles/create-tenbin "테스트 sharding를 효율적으로 하는 도구 Tenbin 만들었다") |
| 178 | + |
| 179 | +---- |
| 180 | + |
| 181 | +## mui/base-ui: Base UI is an open-source library of accessible, unstyled UI components for React. |
| 182 | +[github.com/mui/base-ui](https://github.com/mui/base-ui "mui/base-ui: Base UI is an open-source library of accessible, unstyled UI components for React.") |
| 183 | +<p class="jser-tags jser-tag-icon"><span class="jser-tag">React</span> <span class="jser-tag">library</span> <span class="jser-tag">UI</span> <span class="jser-tag">accessibility</span></p> |
| 184 | + |
| 185 | +MUI의 Headless UI 컴포넌트 라이브러리. |
| 186 | + |
| 187 | + |
| 188 | +---- |
| 189 | + |
| 190 | +## Termo - An Easy to use terminal for your browser |
| 191 | +[termo.rajnandan.com/](https://termo.rajnandan.com/ "Termo - An Easy to use terminal for your browser") |
| 192 | +<p class="jser-tags jser-tag-icon"><span class="jser-tag">JavaScript</span> <span class="jser-tag">GUI</span> <span class="jser-tag">library</span></p> |
| 193 | + |
| 194 | +터미널스러운 UI 만드는 라이브러리 |
| 195 | + |
| 196 | + |
| 197 | +---- |
0 commit comments