- Video with alpha transparency on the web1
- Overlaying Video With Transparency While Wrangling Cross-Browser Support | CSS-Tricks2
- How to use transparent videos on the web in 2021 - Rotato3
- Alpha Masking with FFMPEG | Curio Museum4
- m90/seeThru5
Footnotes
-
세 방식을 비교한다 — 네이티브(VP9 + HEVC)는 무겁고 버그가 있고, animated AVIF 는 Safari·성능에서 막힌다. 그래서 색과 alpha 를 위아래로 쌓은 AV1 영상 하나를 WebGL 로 합치는
<stacked-alpha-video>를 만들었다. 인코딩 ffmpeg 명령 포함. ↩ -
2020년 기준 탐색기. GIF·APNG·PNG 루프를 거쳐 WebM alpha(GIF 5.8MB → 540KB)로 갔다가 Safari 에서 검은 배경을 보고, Safari 엔 HEVC alpha 를 주는 혼합안에 도착한다. HEVC 는 Mac 의 Finder·Compressor 로 만들고, Safari 버전은 UA 로 판별해
src를 JS 로 넣는다. ↩ -
네이티브 방식(WebM + HEVC) 실무 가이드 — 무엇을 내보내고 어떻게 변환해
<video>에 넣는지. 2026-08 갱신으로 Safari 27 베타에 WebM alpha 가 들어온다는 소식이 추가됐다. ↩ -
alpha 를 만드는 쪽. 코덱별 alpha 지원(중간 코덱 ProRes 4444, 배포 코덱 VP9)과 ffmpeg 로 VP9·ProRes alpha 인코딩, 표현식으로 도형을 그려 alpha 마스크를 씌우는 법. ↩
-
2012년 라이브러리. alpha 를 영상 안에 따로 담아 두고 canvas 에 다시 그려 투명을 입힌다 — Jake 글의 스택 방식의 canvas 2D 판. README 가 스스로 “WebM·HEVC 네이티브가 되니 아마 필요 없다”고 적는다. ↩
- Raspberry Pi ‘WeatherClock’ shows you the hour’s forecast - Raspberry Pi1
- Show Dev: RaspberryPi Weather ⛈ fuelled by Netlify functions and Preact - DEV Community2
- https://weather-mu.vercel.app/
Footnotes
-
Raspberry Pi Zero W + 1.3인치 OLED, OpenWeatherMap API 를 Python 스크립트로 ↩
Debouncing and Throttling Explained Through Examples | CSS-Tricks1
- throttle: 함수가 호출되는 속도를 제한 (일정시간 동안)
- debounce: 추가 호출 없이 일정 시간이 경과할 때까지 함수 실행을 지연하거나 제한 (마지막 이벤트만)
Footnotes
-
검색 입력, 스크롤 이벤트, 크기 조정 이벤트 등 디바운싱과 스로틀링이 유용할 수 있는 사례들 ↩
- Builder.io - Drag and drop experience builder - Builder.io1
- Blocks UI2
- Craft.js3
- Pagedraw — Effortlessly turn mockups into functional UI code4
- OpenChakra5
- GitHub - chriskitson/react-drag-drop-layout-builder: Drag and drop (DnD) UI layout builder using React and ImmutableJS6
- Unlayer Embed Plugin | Email and Page Editor for SaaS
- Puck
Footnotes
interface MathFn {
(a: number, b: number): number
}
const sum: MathFn = (a, b) => a + b
Footnotes
- TypeScript 타입변수 추론 진단
Prettify— 교차 타입을 펼쳐 보기- 판별 유니온으로 props 조합 제한
Exclude로 빈 문자열 막기- 오버로드별 반환 타입 꺼내기
- 템플릿 리터럴 타입으로 이름 파생
기초 및 개념 이해
React와 TypeScript
- How to write a React Component in TypeScript
- How to Simplify Component Imports with TypeScript Namespaces
타입 시스템 심화 및 패턴
- Implementing a type-safe object builder in TypeScript
- Branded Types | Learning TypeScript
- https://effect.website/docs/guides/style/branded-types
- TypeScript enums: use cases and alternatives
- Pattern Matching in TypeScript with Record and Wildcard Patterns
- Did you know you can write your own typesafe React router in 500 lines? · OlegWock
성능 및 효율적인 코드 작성
- Performance · microsoft/TypeScript Wiki · GitHub
- Efficient Typescript
- One Thing Nobody Explained To You About TypeScript
스타일 가이드 및 실전 활용
- TypeScript Style Guide
- DefinitelyTyped/README.ko.md at master · DefinitelyTyped/DefinitelyTyped
- Effective TypeScript
- Blogged Answers: Learning and Using TypeScript as an App Dev and a Library Maintainer
Node.js 및 빌드 관련
함수형 프로그래밍과 TypeScript
마이그레이션 사례
- DevTools architecture refresh: migrating DevTools to TypeScript - Chrome Developers1
- Migrating Puppeteer to TypeScript - Chrome Developers
- ts-migrate: A Tool for Migrating to TypeScript at Scale | by Sergii Rudenko | The Airbnb Tech Blog | Medium2
- Migrating millions of lines of code to TypeScript3
- Etsy’s Journey to TypeScript - Code as Craft4
Footnotes
-
Chrome DevTools 및 Puppeteer를 TypeScript로 마이그레이션한 경험에 대한 설명 ↩
-
대규모 JavaScript 코드베이스를 TypeScript로 자동 마이그레이션하는 도구인 “ts-migrate”를 소개하는 Airbnb 엔지니어링 팀의 블로그 게시물 ↩
-
Flow에서 TypeScript로 마이그레이션한 경험을 설명하고 오픈소스 flow-to-typescript-codemod 도구에 대한 링크를 포함하는 Stripe 엔지니어링 팀의 블로그 게시물 ↩
-
Etsy 엔지니어링 팀이 대규모 웹 애플리케이션에서 TypeScript를 채택한 방법, 직면한 문제 및 얻은 이점을 설명 ↩
- Temporal documentation1
- Is It Time for the JavaScript Temporal API?2
- JS Dates Are About to Be Fixed | TimeTime
- Using Intl.RelativeTimeFormat for Localized Relative Timings
- Everything You Need to Know About Date in JavaScript | CSS-Tricks3
- 자바스크립트에서 타임존 다루기 (1) : NHN Cloud Meetup4
- 자바스크립트에서 타임존 다루기 (2) : NHN Cloud Meetup
Footnotes
Quick tip: reusable Array search predicates - JASON Format
arr.filter(callback(element[, index[, array]])[, thisArg])
배열 메서드에서 2번째 인자 thisArg에 참조값을 전달해서 재사용 가능한 함수를 만드는 트릭. 단 성능 이슈가 있으므로 주의해야 한다.