-
-
Notifications
You must be signed in to change notification settings - Fork 70
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
1 parent
e04d870
commit f963c98
Showing
2 changed files
with
219 additions
and
1 deletion.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
218 changes: 218 additions & 0 deletions
218
_i18n/ko/_posts/2024/2024-01-28-firefox-122-deno-1.40-safari-17.4-beta.md
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,218 @@ | ||
--- | ||
title: "2024-01-28: Firefox 122, Deno 1.40, Safari 17.4 Beta" | ||
author: "azu" | ||
translator: rewrite0w0 | ||
layout: post | ||
date: 2024-01-28T06:24:28.239Z | ||
category: JSer | ||
tags: | ||
- document | ||
- browser | ||
- nodejs | ||
- TypeScript | ||
- Firefox | ||
|
||
--- | ||
|
||
JSer.info #678 - Firefox 122.0가 출시되었어요. | ||
|
||
- [Firefox 122.0, See All New Features, Updates and Fixes](https://www.mozilla.org/en-US/firefox/122.0/releasenotes/) | ||
- [Firefox 122 for developers - Mozilla | MDN](https://developer.mozilla.org/en-US/docs/Mozilla/Firefox/Releases/122) | ||
|
||
`<select>` 자식 요소로 `<hr>` 허용, CSS `offset-position`과 `offset-path` 프로퍼티를 기본적으로 유효화해요. | ||
`ArrayBuffer.prototype.transfer()` 구현, [XSS 대책으로](https://github.com/w3c/svgwg/pull/901) SVG의 `<use>`에 Data URL 이용할 수 없도록 변경되었어요. | ||
또한, 실험적 기능으로 Declarative shadow DOM, Popover API, Clipboard API, `Intl.Segmenter`가 구현되었어요. | ||
|
||
---- | ||
|
||
Deno 1.40가 출시되었어요. | ||
|
||
- [Deno 1.40: Temporal API](https://deno.com/blog/v1.40) | ||
|
||
Temporal API 지원, `import.meta.filename`/`import.meta.dirname` 지원되어요. | ||
`import.meta.filename`/`import.meta.dirname`는, Node.js와 Bun에서도 지원되고 있어요. | ||
|
||
- [Node.js — Node v20.11.0 (LTS)](https://nodejs.org/en/blog/release/v20.11.0) | ||
- [Bun v1.0.23 | Bun Blog](https://bun.sh/blog/bun-v1.0.23#import-meta-dirname-and-import-meta-filename-support) | ||
|
||
그 외로는, `window`, `Deno.run()`, `Deno.serveHttp()`, `Deno.metrics()` 등 오래된 API를 비권장화했어요. | ||
|
||
---- | ||
|
||
Safari 17.4 Beta가 출시되었어요. | ||
|
||
- [Safari 17.4 Beta Release Notes | Apple Developer Documentation](https://developer.apple.com/documentation/safari-release-notes/safari-17_4-release-notes) | ||
|
||
CSS, `@scope` 지원, Block Containers에서의 `align-content` 지원이 있어요. | ||
HTML, `<select>` 안에 `<hr>` 지원. `<input type=checkbox switch>` 지원이 있구요. | ||
JS, `Promise.withResolvers`, `ArrayBuffer.prototype.transfer`, `Object.groupBy` 지원이 추가되었어요. | ||
그리고, iOS에서 VP8/VP9/WebM 지원, Full Screen API 지원 소식도 있어요. | ||
|
||
이 버전과 관계없지만, Apple은 EU에서는 WebKit 이외의 브라우저 엔진을 이용가능하다 발표했어요. | ||
꽤 많은 제한이 있어서, 실제 이용이 어떤지는 불명확하지만, iOS 상에서 다른 브라우저 엔진 이용가능할 수 있을 가능성이 생겼어요. | ||
|
||
- [Apple announces changes to iOS, Safari, and the App Store in the European Union - Apple](https://www.apple.com/newsroom/2024/01/apple-announces-changes-to-ios-safari-and-the-app-store-in-the-european-union/) | ||
- [Using alternative browser engines in the European Union - Support - Apple Developer](https://developer.apple.com/support/alternative-browser-engines) | ||
|
||
관런된 내용으로, Mozilla가 Apple나 Google OS 플랫폼이 제한 하고 있는 내용한 웹사이트도 공개하고 있어요. | ||
|
||
- [Platform Tilt - Mozilla](https://mozilla.github.io/platform-tilt/) | ||
|
||
---- | ||
|
||
{% include inline-support.html %} | ||
|
||
---- | ||
|
||
<h1 class="site-genre">헤드라인</h1> | ||
|
||
---- | ||
|
||
## Release v2.0.0 · volarjs/volar.js | ||
[github.com/volarjs/volar.js/releases/tag/v2.0.0](https://github.com/volarjs/volar.js/releases/tag/v2.0.0 "Release v2.0.0 · volarjs/volar.js") | ||
<p class="jser-tags jser-tag-icon"><span class="jser-tag">TypeScript</span> <span class="jser-tag">library</span> <span class="jser-tag">ReleaseNote</span></p> | ||
|
||
volar v2.0.0 출시. | ||
코어를 TypeScript에 의존하지 않도록 변경, `@volar/cdn` 비권장화 | ||
|
||
|
||
---- | ||
|
||
## Firefox 122.0, See All New Features, Updates and Fixes | ||
[www.mozilla.org/en-US/firefox/122.0/releasenotes/](https://www.mozilla.org/en-US/firefox/122.0/releasenotes/ "Firefox 122.0, See All New Features, Updates and Fixes") | ||
<p class="jser-tags jser-tag-icon"><span class="jser-tag">Firefox</span> <span class="jser-tag">ReleaseNote</span></p> | ||
|
||
Firefox 122 출시. | ||
`<select>` 자식 요소로 `<hr>` 허용, CSS `offset-position`과 `offset-path` 프로퍼티 기본적으로 유효화. | ||
`ArrayBuffer.prototype.transfer()` 구현, SVG `<use>`에 Data URL 이용 불가능하도록 변경. | ||
실험적 기능으로 Declarative shadow DOM, Popover API, Clipboard API, `Intl.Segmenter` 구현 | ||
|
||
- [Firefox 122 for developers - Mozilla | MDN](https://developer.mozilla.org/en-US/docs/Mozilla/Firefox/Releases/122 "Firefox 122 for developers - Mozilla | MDN") | ||
|
||
---- | ||
|
||
## Release v5.90.0 · webpack/webpack | ||
[github.com/webpack/webpack/releases/tag/v5.90.0](https://github.com/webpack/webpack/releases/tag/v5.90.0 "Release v5.90.0 · webpack/webpack") | ||
<p class="jser-tags jser-tag-icon"><span class="jser-tag">webpack</span> <span class="jser-tag">ReleaseNote</span></p> | ||
|
||
webpack v5.90.0 출시. | ||
`node.{__filename,__dirname}`에 `node-module` 옵션 추가, 버그 수정 | ||
|
||
|
||
---- | ||
|
||
## Deno 1.40: Temporal API | ||
[deno.com/blog/v1.40](https://deno.com/blog/v1.40 "Deno 1.40: Temporal API") | ||
<p class="jser-tags jser-tag-icon"><span class="jser-tag">deno</span> <span class="jser-tag">ReleaseNote</span></p> | ||
|
||
Deno v1.40 출시. | ||
Temporal API 지원, `import.meta.filename`/`import.meta.dirname` 지원, `deno.json`의 `imports` 지정 방법 개선. | ||
`window`, `Deno.run()`, `Deno.serveHttp()`, `Deno.metrics()` 오래된 API 비권장화 | ||
|
||
|
||
---- | ||
|
||
## Safari 17.4 Beta Release Notes | Apple Developer Documentation | ||
[developer.apple.com/documentation/safari-release-notes/safari-17\_4-release-notes](https://developer.apple.com/documentation/safari-release-notes/safari-17_4-release-notes "Safari 17.4 Beta Release Notes | Apple Developer Documentation") | ||
<p class="jser-tags jser-tag-icon"><span class="jser-tag">safari</span> <span class="jser-tag">ReleaseNote</span></p> | ||
|
||
Safari 17.4 Beta 출시. | ||
CSS, `@scope` 지원, Block Containers에서의 `align-content` 지원. | ||
HTML, `<select>`안에서 `<hr>` 지원.`<input type=checkbox switch>` 지원. | ||
JS, `Promise.withResolvers`, `ArrayBuffer.prototype.transfer`, `Object.groupBy` 지원. | ||
iOS에서 VP8/VP9/WebM 지원, Full Screen API 지원. | ||
|
||
|
||
---- | ||
|
||
## Release v0.20.0 · evanw/esbuild | ||
[github.com/evanw/esbuild/releases/tag/v0.20.0](https://github.com/evanw/esbuild/releases/tag/v0.20.0 "Release v0.20.0 · evanw/esbuild") | ||
<p class="jser-tags jser-tag-icon"><span class="jser-tag">esbuild</span> <span class="jser-tag">ReleaseNote</span></p> | ||
|
||
esbuild v0.20.0 출시. | ||
Deno 1.40 대응, `node_modules` 가 없으므로, 파일 확장자 우선순위 변경 | ||
|
||
|
||
---- | ||
|
||
## QuickJS Javascript Engine | ||
[bellard.org/quickjs/](https://bellard.org/quickjs/ "QuickJS Javascript Engine") | ||
<p class="jser-tags jser-tag-icon"><span class="jser-tag">JavaScript</span> <span class="jser-tag">ReleaseNote</span></p> | ||
|
||
QuickJS ES2023 지원. | ||
|
||
- ES2022 Top-Level await | ||
- ES2023 Change Array by copy, `Array.prototype.{findLast, findLastIndex}` | ||
- ES2024 `Object.groupBy`, `Promise.withResolvers` | ||
|
||
|
||
---- | ||
|
||
## Announcing AdonisJS v6 | ||
[adonisjs.com/blog/adonisjs-v6-announcement](https://adonisjs.com/blog/adonisjs-v6-announcement "Announcing AdonisJS v6") | ||
<p class="jser-tags jser-tag-icon"><span class="jser-tag">JavaScript</span> <span class="jser-tag">nodejs</span> <span class="jser-tag">ReleaseNote</span> <span class="jser-tag">server</span></p> | ||
|
||
AdonisJS v6 출시. | ||
ESM으로 이행, Vite integration 지원. | ||
VineJS 검증 라이브러리 작성, 테스트 프레임워크나 템플릿 엔진 등 코어를 패키지로 빼내서 이용 가능 하게끔 | ||
|
||
|
||
---- | ||
<h1 class="site-genre">슬라이드, 영상</h1> | ||
|
||
---- | ||
|
||
## Next.js App Router Caching: Explained! - YouTube | ||
[www.youtube.com/watch?v=VBlSe8tvg4U](https://www.youtube.com/watch?v=VBlSe8tvg4U "Next.js App Router Caching: Explained! - YouTube") | ||
<p class="jser-tags jser-tag-icon"><span class="jser-tag">Next.js</span> <span class="jser-tag">video</span> <span class="jser-tag">JavaScript</span></p> | ||
|
||
Next.js App Router 캐시가 어떤 원리로 동작하는지에 대한 영상. | ||
Pages Router와 App Router 기본적인 캐시 동작 차이, `noCache()`/`cache()`에서 캐시 여부 제어, `revalidateTag()`로 재검증. | ||
`useOptimistic()`이나 JavaScript없을 때 동작에 대해서 | ||
|
||
|
||
---- | ||
<h1 class="site-genre">서비스, 웹사이트, 문서</h1> | ||
|
||
---- | ||
|
||
## The AHA Stack | AHA | ||
[ahastack.dev/](https://ahastack.dev/ "The AHA Stack | AHA") | ||
<p class="jser-tags jser-tag-icon"><span class="jser-tag">JavaScript</span> <span class="jser-tag">HTML</span> <span class="jser-tag">document</span></p> | ||
|
||
Astro x Htmx x Alpine.js AHA Stack 관련 웹사이트 | ||
|
||
|
||
---- | ||
|
||
## Platform Tilt - Mozilla | ||
[mozilla.github.io/platform-tilt/](https://mozilla.github.io/platform-tilt/ "Platform Tilt - Mozilla") | ||
<p class="jser-tags jser-tag-icon"><span class="jser-tag">browser</span> <span class="jser-tag">Mozilla</span> <span class="jser-tag">apple</span> <span class="jser-tag">google</span> <span class="jser-tag">Microsoft</span> <span class="jser-tag">document</span></p> | ||
|
||
iOS/Android/Windows 플랫폼 상에서 브라우저 제한되고 있는 기능에 대한 정리 웹사이트 | ||
|
||
|
||
---- | ||
|
||
## Introduction | ||
[bentocache.dev/docs/introduction](https://bentocache.dev/docs/introduction "Introduction") | ||
<p class="jser-tags jser-tag-icon"><span class="jser-tag">nodejs</span> <span class="jser-tag">JavaScript</span> <span class="jser-tag">library</span></p> | ||
|
||
AdonisJS 에서 나온 캐시 라이브러리. | ||
Driver로 Redis 같은 곳에서 백엔드 프로바이더 지정, Multi Tier에 의한 캐시 사이즈 다층화, Cache stampede 대책으로 구현하고 있음 | ||
|
||
|
||
---- | ||
<h1 class="site-genre">소프트웨어, 도구, 라이브러리</h1> | ||
|
||
---- | ||
|
||
## chrisguttandin/worker-timers: A replacement for setInterval() and setTimeout() which works in unfocused windows. | ||
[github.com/chrisguttandin/worker-timers](https://github.com/chrisguttandin/worker-timers "chrisguttandin/worker-timers: A replacement for setInterval() and setTimeout() which works in unfocused windows.") | ||
<p class="jser-tags jser-tag-icon"><span class="jser-tag">browser</span> <span class="jser-tag">webworker</span> <span class="jser-tag">JavaScript</span> <span class="jser-tag">library</span></p> | ||
|
||
브라우저는 탭이 활성화 상태가 아닌 경우, interval와 timeout 최소값을 강제적으로 변경. | ||
Web Worker에는 제한이 없다는 것을 이용해, 제한 없이 `setTimeout`와 `setInterval` 제공하는 라이브러리 | ||
|
||
|
||
---- |