dev-weekly 2023-09-30
CSS
- css 애니메이션 라이브러리
- 졸린 눈, 떨어지는 눈물 과 같은 표현의 애니메이션
- HTML, CSS만으로 구현한 데스스타 홀로그램
Node
- 노드 모듈들이 큰 이유는 폴리필 때문.
Object.defineProperties
는 node 0.10.0에서 제공되던 것임에도 불구하고 폴리필에 의존하는 수많은 패키지 존재.
- 폴리필은 런타임 환경에서 누락된 기능을 패치해야 하는데 직접 임포트하여 호출 중.
- Fastify 를 사용하여 JWT 인증을 구현하는 과정
- 프로젝트 셋팅, 라우팅, 스킴작성(zod, prisma)에 이르기까지 스텝 바이 스텝 설명
Javascript
- google fonts는 html을 파싱하던 중 구글 폰트 css파일을 불러오고, 구글에는 googleapis 와 gstatic의 두 도메인이 있기 때문에 최소 4회의 네트워크 왕복이 필요
- Cloudflare fonts는 HTML이 cloudflare 네트워크를 통과할 때 재작성. 여기에는 CSS응답이 포함
- 또한 호스트 이름이나 TLS 연결 설정에 대한 추가 DNS조회가 필요하지 않음.
- preact signal 릴리즈.
- 시그널의 동작 방식
- 과거 Set을 사용했지만 순서가 보장되지 않는 로직이 있을 수 있고, Doubly Linked list 를 선택하게 된 이유와 그 효과
- 파일 사이즈 감소 (영어 54%, 중국어 73% 감소)
- 메모리 사용량 311MB → 164MB로 감소
- iOS17이 테서랙트4와의 호환성 깨뜨렸는데 5에서 이를 대응
- 브레이킹 체인지에 대해 코드 가이드 제공
- 닌텐도 64 에뮬레이터 JS버전. bun으로 컴파일
- JS == 인 것들을 매칭시키는 게임.
- 캔디 크러시와 같은 방식.
Release
ETC
- HTTP3 가 나온 이유는, QUIC가 HTTP2와 호환되지 않을만큼 TCP와 다르기 때문.
- TCP의 문제점은 인터넷에 존재하는 수많은 장치가 자체적으로 TCP 프로토콜을 구현한다는 점.
- QUIC는 TLS계층을 통합했고, 프로토콜 자체의 많은 부분도 암호화.
- 클라이언트와 서버만 업데이트하면 됨
- Head of line bloking 문제 해결
- 매번 정적 리소스를 리밸리데이트 하는 것 보다 304 응답을 하는것이 더 효과적
- vercel, netlify, cloudflare 에서 헤더 커스텀하기 예제
- 레포별 시간 흐름에 따른 오픈 이슈와 풀 리퀘스트, 새 이슈와 풀 리퀘스트를 시각적으로 보여주는 서비스
- 항목에 없어도, url에 기입하면 해당 레포의 정보 출력