JSer.info #378 - Progressive Web Apps on iOS are here ๐ โ Maximiliano Firtman โ Medium์๋ iOS 11.3/Safari 11.1์์ ์ง์ํ๋ Service Worker ๋ฑ ์์ Progressive Web Apps (PWA)์ ๊ด๋ จํ ๋ด์ฉ์ด ์ ๋ฆฌ๋ผ ์์ต๋๋ค.
ํ ์คํฌ๋ฆฐ ์ฑ์ผ๋ก์จ์ ๊ตฌ๋, Safari Technology Preview๋ฅผ ์ฌ์ฉํ Service Worker ๋๋ฒ๊น ๋ฐฉ๋ฒ์ ๊ดํด ์๊ฐ๋ผ ์์ผ๋ฉฐ iOS์ ๋ค์ดํฐ๋ธ ์ฑ๊ณผ์ ์ฐจ์ด์ ์ด๋ Android/Chrome์ PWA์์ด ์ฐจ์ด์ ๋ฑ์ ๊ดํด์๋ ์์ฑ๋ผ ์์ต๋๋ค.
์ด์ด, First Windows 10 Progressive Web Apps (PWA) published by Microsoft hit the Store | Windows Centra์์ Windows 10 Spring Creators Update(Windows 10 build 1803)์ ํ๋ฆฌ๋ทฐ ๋ฒ์ ์ Windows Store์ PWA ์ฑ์ด ๋ฑ๋ก๋ ์์์ ์ ํ๊ณ ์์ต๋๋ค.
Windows Store์ PWA์ ๊ดํ ๋ด์ฉ์ ์๋ ๊ธ์ ์ฐธ๊ณ ํด์ฃผ์ธ์.
DOM ์์๋ฅผ ํ
์คํธํ๊ธฐ ์ํ ๋ผ์ด๋ธ๋ฌ๋ฆฌ kentcdodds/dom-testing-library: ๐ Simple and complete DOM testing utilities that encourage good testing practices.๊ฐ ๊ณต๊ฐ๋์ต๋๋ค.
ํ
์คํธ ์ ์์ฃผ ํ์๋ก ํ๋ ํน์ ํ
์คํธ๋ฅผ ํฌํจํ๋ ์์๋ฅผ ์ ํํ๋ getByText
ํจ์๋ data-testid
์์ฑ์ ๊ธฐ๋ฐ์ผ๋ก ์์๋ฅผ ์ ํํ๋ getByTestId
ํจ์ ๋ฑ์ ์ ๊ณตํ๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ์
๋๋ค.
React ์ฉ ๋ฐ์ธ๋ฉ ๋ผ์ด๋ธ๋ฌ๋ฆฌreact-testing-library
๋ ์ ๊ณตํ๋ฉฐ Vue ์ฉ์ผ๋ก vue-testing-library
๊ฐ ์ค๋น๋ผ ์์ต๋๋ค.
์์ธํ ๋ด์ฉ์ ๋ผ์ด๋ธ๋ฌ๋ฆฌ ๊ฐ๋ฐ์๊ฐ ์ง์ ๊ณต๊ฐํ ์๋ ๊ธ์ ์ฐธ๊ณ ํด์ฃผ์ธ์.
ํค๋๋ผ์ธ
Axe 3.0 has arrived โ hereโs what you need to know - Deque
www.deque.com/blog/axe-3-0-has-arrived/
Axe 3.0์ด ๋ฆด๋ฆฌ์ค ๋์ต๋๋ค.
Shadow DOM์ ์ง์ํฉ๋๋ค.
First Windows 10 Progressive Web Apps (PWA) published by Microsoft hit the Store | Windows Central
www.windowscentral.com/first-batch-windows-10-progressive-web-apps-here
Microsoft Store์ PWA ์ ํ๋ฆฌ์ผ์ด์ ์ด ๊ณต๊ฐ๋์ต๋๋ค.
sails/CHANGELOG.md at v1.0.0 ยท balderdashy/sails
github.com/balderdashy/sails/blob/v1.0.0/CHANGELOG.md
Node.js์ ์น ์ ํ๋ฆฌ์ผ์ด์ ํ๋ ์์ํฌ Sails.js 1.0์ด ๋ฆด๋ฆฌ์ค ๋์ต๋๋ค.
์ํฐํด
React v16.3 changes - blog.koba04.com(์ผ๋ณธ์ด)
blog.koba04.com/post/2018/04/04/react-v163-changes/
React 16.3์ ๋ณ๊ฒฝ ์ฌํญ์ ๋ํด ์ ๋ฆฌ๋ผ ์์ต๋๋ค.
Lazy Loading Images and Video ย |ย Web Fundamentals ย |ย Google Developers
developers.google.com/web/fundamentals/performance/lazy-loading-guidance/images-and-video/
์ด๋ฏธ์ง๋ ์์์ ์ง์ฐ ๋ก๋ํ๋ ๋ฐฉ๋ฒ์ ๊ดํด ์์ฑ๋ผ ์์ต๋๋ค.
Intersection Observer ๋๋ CSS๋ฅผ ์ฌ์ฉํ ์ด๋ฏธ์ง ์ง์ฐ ๋ก๋ ๋ฐฉ๋ฒ์ ๊ฐ๊ฐ ์๊ฐํ๋ฉฐ ์์๊ณผ GIF๋ฅผ ์ง์ฐ ๋ก๋ํ๋ ๋ฐฉ๋ฒ๊ณผ ์ง์ฐ ๋ก๋๋ฅผ ๋ณด์กฐํ๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ, ๋ก๋์ ์คํจํ์ ๋์ Fallback ์ฒ๋ฆฌ ๋ฑ์ ๊ดํด ์์ฑ๋ผ ์์ต๋๋ค.
Headless Chrome: an answer to server-side rendering JS sites ย |ย Tools for Web Developers ย |ย Google Developers
developers.google.com/web/tools/puppeteer/articles/ssr
Headless Chrome์ ์ฌ์ฉํด ์๋ฒ ์ฌ์ด๋ ๋ ๋๋ง์ ๊ตฌํํ๋ ํํ ๋ฆฌ์ผ์ ๋๋ค. ๊ตฌํํ๋ ๋ฐฉ๋ฒ ๋ฟ ์๋๋ผ ์ต์ ํ ๋ฐฉ๋ฒ์ ๋ํด์๋ ์ ๋ฆฌ๋ผ ์์ต๋๋ค.
GoDaddy Open Source Center - Isomorphic Asset System for React and React-Native
godaddy.github.io/2018/04/04/isomorphic-asset-system-for-react-and-react-native/
SVG ํ์ผ(์์ )์ ๊ด๋ฆฌํ๋ ๋๊ตฌ๋ก React/React Native ์ปดํฌ๋ํธ, webpack loader ์์ ์ฐ๊ณ์ ๋ํด ์ ๋ฆฌ๋ผ ์์ต๋๋ค.
Strategies for Service Worker Caching for Progressive Web Apps
blog.hasura.io/strategies-for-service-worker-caching-d66f3c828433
Service Worker์ ์บ์ ๊ตฌ์กฐ ๋ฐ ์บ์์ ๊ด๋ จํ ๋ฌธ์ ์ ๋ํด ์์ฑ๋ผ ์์ต๋๋ค.
๋ฌธ์ ๊ฐ ์๋(๋ง๊ฐ์ง) ๋ฐฐํฌ ๋ฒ์ ํจ์น ๋ฌธ์ , service-worker.js
ํ์ผ ์์ฒด๋ฅผ ์บ์ํ ๋์ ๋ฌธ์ , ์บ์๋ ํ์ ์๋ ์๋ต์ ๋ํ ์กฐ์ ๋ฑ์ ์๊ฐํ๋ฉฐ create-react-app
์ ์ฌ๋ก์ Clear-Site-Data
ํค๋์ ๋ํด์๋ ์ด์ผ๊ธฐํฉ๋๋ค.
Progressive Web Apps on iOS are here ๐ โ Maximiliano Firtman โ Medium
medium.com/@firt/progressive-web-apps-on-ios-are-here-d00430dee3a7
iOS 11.3์์ ์ง์ํ๋ Service Worker ๋ฑ PWA์ ๊ด๋ จ๋ ๊ธฐ๋ฅ์ ๋ํด ์์ฑ๋ผ ์์ต๋๋ค.
๋ค์ดํฐ๋ธ ์ฑ๊ณผ ๋น๊ตํ์ ๋์ ์ ์ฝ๊ณผ Chrome/Android ์์ ์ฐจ์ด์ ์ ๋ํด ์ด์ผ๊ธฐํฉ๋๋ค.
Transform your codebase using codemods | nec.is
nec.is/writing/transform-your-codebase-using-codemods/
jscodeshift๋ฅผ ์ฌ์ฉํ JavaScript ์ฝ๋ ๋ณํ์ ๋ํด ์๊ฐํฉ๋๋ค.
JavaScript ์ฝ๋๋ฅผ ๋ค๋ฃจ๋ ๋ฐฉ๋ฒ๊ณผ AST ๊ทธ๋ฆฌ๊ณ jscodeshift์ API์ ๊ดํด ์์ฑ๋ผ ์์ต๋๋ค.
Introducing the Paymentย Requestย API for Appleย Pay | WebKit
webkit.org/blog/8182/introducing-the-payment-request-api-for-apple-pay/
Safari 11.1์์ Payment Request API๋ก Apple Pay๋ฅผ ์ด์ฉํ๋ ๋ฐฉ๋ฒ์ ๋ํด ์๊ฐํฉ๋๋ค.
-webkit-appearance: -apple-pay-button;"
์คํ์ผ์ ์ง์ ํ์ฌ Appley Pay ๋ฒํผ์ ํํํ๋ ๋ฐฉ๋ฒ๊ณผ Payment Request API๋ฅผ ์ฌ์ฉํ๋ ๋ฐฉ๋ฒ์ ๊ดํด ์์ฑ๋ผ ์์ต๋๋ค.
Understanding JavaScript Proxies by Examining on-change Library
codeburst.io/understanding-javascript-proxies-by-examining-on-change-library-f252eddf76c2
์์ฑ ๋ณ๊ฒฝ ๊ฐ์ง๋ฅผ ES Proxy๋ก ๊ตฌํํด๋ณด๋ฉด์ Proxy์ ๋ํด ์ดํดํ ์ ์๋ ๊ธ์ ๋๋ค.
์ฌ๋ผ์ด๋, ์์
Browser Automated Tests // Speaker Deck
speakerdeck.com/derekb/browser-automated-tests
puppeteer์ mocha๋ฅผ ์ฌ์ฉํ ์๋ ํ ์คํธ ํ๊ฒฝ์ ์๊ฐํ๋ ์ฌ๋ผ์ด๋๋ฆฝ๋๋ค.
์ฌ์ดํธ, ์๋น์ค, ๋ฌธ์
React lifecycle methods diagram
projects.wojtekmaj.pl/react-lifecycle-methods-diagram/
React 16.3 ์ดํ ํ๊ฒฝ์ React ๋ผ์ดํ ์ฌ์ดํด์ ์ ๋ฆฌํ ๋ค์ด์ด๊ทธ๋จ.
์ํํธ์จ์ด, ๋๊ตฌ, ๋ผ์ด๋ธ๋ฌ๋ฆฌ
kentcdodds/dom-testing-library: ๐ Simple and complete DOM testing utilities that encourage good testing practices.
github.com/kentcdodds/dom-testing-library
DOM ์์๋ฅผ ํ ์คํธํ๋ Matcher ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ ๋๋ค.
kwolfy/webworker-promise: Promise based wrapper for webworkers
github.com/kwolfy/webworker-promise
WebWorker๋ฅผ Promise ๊ธฐ๋ฐ์ผ๋ก ๋ค๋ฃฐ ์ ์๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ์
๋๋ค.
EventEmitter์ ๊ฐ์ ์ด๋ฒคํธ ๊ตฌ์กฐ์ Promise๋ฅผ ์ฌ์ฉํ ๋น๋๊ธฐ ์ฒ๋ฆฌ, Worker pool ๊ตฌ์กฐ๋ฅผ ์ง์ํฉ๋๋ค.
avwo/whistle: HTTP, HTTPS, WebSocket debugging proxy
Node.js๋ก ์์ฑ๋ HTTP/HTTPS/WebSockets ๋๋ฒ๊น Proxy ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ ๋๋ค.