June 3, 2023 • ☕️ 5 min read
전쟁나면 어디로
Popover API를 이용하여 컨텐츠 위에 popover를 띄울 수 있다. 크로미움 기반 브라우저에 베타 적용되었다.
popover, dialog 등으로 불리는 이 요소들에는 두 가지 종류가 있다
Popover API로 만드는 popover들은 항상 non-modal이며, modal popover를 띄우고자 한다면 <dialog>
태그를 사용하면 된다. 그러나 <dialog>
는 기본으로 최상위 레이어에 있지 않은 반면, popover는 최상위 레이어에 있게 된다.
Popover API로 만드는 popover는 유저-인터랙티브한 요소들, 예를 들면 액션 메뉴, 커스텀 토스트 노티, form 등에 사용될 수 있다.
HTML 속성으로 사용할 수도 있으며,
<button popovertarget="mypopover">Toggle the popover</button>
<div id="mypopover" popover>Popover content</div>
JavaScript API - HTMLElement.togglePopover()
로 제어할 수도 있다.
Ref
ValidateState
인터페이스는 form 요소의 값에 대한 유효성 상태를 나타낸다.
값이 없음(valueMissing), 너무 짧음(tooShort), 패턴이 다름(patternMismatch) 등의 검증 기능을 제공한다.
추가로 Constraint Validation API를 사용하여 HTML만으로도 오류 메시지를 커스텀할 수 있다.
Ref
Uber에서 개발한 cross-platform mobile architecture 프레임워크로, 로직과 뷰를 분리하는 데 중점을 두었다.
RIBs라는 이름은 ‘Router, Interactor and Builder’의 줄임말이다.
Ref https://github.com/uber/RIBs
테스트에서 getByTestId
는 최후의 보루로 사용하는 것이 좋다.
최대한 사용자가 사용하는 것과 비슷한 방식으로 select 하는 것이 좀 더 유연한 테스트가 되도록 한다.
// ❌
getByTestId("form-username"); // 사용자는 form-username 라는 어트리뷰트를 모른다.
// ✅
getByLabelText("이름");
Ref
pnpm dlx
pnpm why <package>
npx npkill
명령어로 실행할 수 있다글은 vercel에서 축하해주는 내용이다.
지난 5/29이 React의 10살 생일이었다고 한다. 🎂
Ref https://vercel.com/blog/10-years-of-react
대체 이 어떻게 읽는지도 모르겠는 라이브러리는 또 언제 나온 건지 🫠
React, Vue, Angular 등의 선진 프레임워크들의 힘에 더해 더 빠르고, 확장성 있으며(scalable), 유지 가능한 옵션들을 제공한다고 한다. (이런 말만 들으면 살짝 뻔하다-)
Qwik은 여태까지의 많은 경우에서 앱의 규모와 상관없이 브라우저가 자바스크립트로 가득차 있었던 문제를 해결한다. Qwik은 유저에게 애플리케이션을 즉각적으로 전송하는데, 애플리케이션의 복잡성에 상관없이 초기 자바스크립트 비용을 일정하게 유지하여 브라우저가 뻗지 않도록 한다.
Qwik이 유저 경험을 향상시키는 key feature들은 다음과 같다.
이와 더불어 개발자 경험을 향상시키는 feature들도 여럿 제공한다.
Qwik이 React의 킬러가 될 수 있을지 생각해볼 수 있는 블로그 글도 있다.
Ref
6월이 되기 하루 전날 서울에 잘못된 경계경보가 울려서 너무나 무서웠다 ㅠㅠ
저 아직 죽기 싫어요… 오래오래 개발하다가(돈 벌다가) 죽게 해주세요