dev-weekly 2021-04-24


CSS, Node, DB, ETC

CSS

Designing Custom Focus Indicators

  • WCAG 2.1, 2.2에서 버튼에 대한 접근성 지침이 어떻게 바뀌는지 설명한 글

Node

Node.js 16 Available Now

  • V8 engine 9.0으로 업데이트, 애플 실리콘 바이너리 추가, 안정적인 API
```jsx
import { setTimeout } from 'timers/promises';
async function run() {
  await setTimeout(5000);
  console.log('Hello, World!');
}
run();
```

Prisma ORM Toolkit Now ‘Ready For Production’

  • Prisma가 할 수 있는것과 프로젝트의 방향성에 대하여

Web Performance Recipes with Puppeteer

  • 퍼펫티어를 이용해 다양한 형태의 웹 성능 지표를 얻는 방법
    • 페이지 로드에 대한 성능추적
    • 런타임 성능 메트릭
    • Lighthouse 리포트 생성, 퍼포먼스 메트릭 추출
    • 느린 네트워크와 CPU 에뮬레이션
    • JS 비활성화에서의 렌더링
    • First Paint, First Contentful Paint 측정
    • CLS(Cumulative Layout Shift) 측정
    • 메모리 누수 측정

Three Services Where You Can Deploy a Node App for Free

  • 카드정보를 입력 안하고, 노드를 무료로 올릴 수 있는 서비스 3가지
  • 카드정보 입력 안해도 되는곳들로여 스텝 바이 스텝 스샷넣어 가면서 굉장히 자세하게 설명해주네여

DB

DbGate: Another Database Desktop Client App

  • 스벨트로 만들고 일렉트론입힌 크로스 플랫폼 디비 클라이언트
  • MySQL, Postgres, SQL Server, MongoDB 지원

Redis Labs Announces Roadmap for Redis 7.0


ETC

0년차 아기 개발자가 15년차 개발자를 만났을 때

  • 15년차 개발자가 해주는 꿀같은 조언들

Javascript

Solving a Mystery Behavior of parseInt()

  • parseInt()에서 exponential notaion이 발생했을 때 이상현상
  • ex) parseInt(0.0000005) === 5 // 5e-7이 되기 때문에

Quick Bits

Articles, Opinions & Tutorials

Five Key Lessons React Tutorials Don’t Teach

  • setState는 비동기
  • useEffect 는 도메인마다 분리해서 사용 가능
  • useState, useReducer는 useCallback쓰지 않아도 되는 이유
  • useRef를 통한 렌더링간의 상태유지 feat.싱글턴
  • 에러 바운더리를 통한 앱 충돌 방지

Code & Tools

Sucrase: A Super-Fast Babel Alternative

  • 매우 빠른 바벨의 대안
  • IE 서포트를 제거하여 성능을 얻은 케이스
  • Jest기준으로는 바벨보다 17배 정도 빠른 성능

WinBox: An HTML5 ‘Window Manager’ for the Web

  • 윈도우 스타일의 모달
  • 최소화, 최대화, 전체화면 등 기능도 그대로 구현
  • 하나의 페이지 안에서 수십개의 정리된 페이지 보기가 가능