Posts

카테고리별 글 모음

Media2026년 2월 17일

문제의 원인을 Safari에서 찾으면 대부분 맞다? (feat. Alpha Channel)

GIF의 용량을 줄이기 위해 Alpha Channel을 지원하는 영상 코덱을 찾다가, Safari의 문제를 발견하게 된 이야기. 코덱별 Alpha Channel 지원 현황과 브라우저 호환성을 정리합니다.

SafariAlpha ChannelAV1H.265Video Codec
오픈소스2026년 2월 14일

라이선스 요청이 실패하면 어떻게 될까?

DRM 라이선스 요청이 실패했을 때 재시도하는 retryLicensing() 기능을 Shaka Player에 구현한 과정을 공유합니다. 7년 된 이슈, EME 스펙의 제약, 그리고 Tizen 디바이스 랩까지.

Open SourceShaka PlayerDRMEME
오픈소스2026년 2월 5일

DRM도 갱신하는 법이 다릅니다

Widevine, FairPlay, PlayReady - 세 가지 DRM 키 시스템의 라이선스 갱신 방식이 어떻게 다른지, 그리고 Shaka Player에 이 기능을 구현한 과정을 공유합니다.

Open SourceShaka PlayerDRMEMEPlayReadyFairPlayWidevine
개발2026년 1월 19일

캐시는 같은 질문에 같은 답을 하고 싶어합니다

RSC의 CDN 히트율이 떨어지는 이유와 이에 대한 논의중인 해결책에 대해 소개합니다.

Next.jsServer ComponentCDNFrontendPPR
오픈소스2026년 1월 16일

TC39 proposal-upsert: Map의 새로운 메서드를 Shaka Player에 적용하기까지

TC39 Stage 3 제안인 Map.getOrInsert를 Google Shaka Player 오픈소스에 폴리필로 구현하고 기여한 경험을 공유합니다.

Open SourceShaka PlayerTC39ECMAScriptJavaScript
Media2026년 1월 9일

Netflix 화면을 캡처하면 왜 검은 화면이 나올까?

스트리밍 서비스에서 화면 녹화가 안 되는 이유, DRM과 EME/CDM의 동작 원리를 알아봅니다.

DRMEMECDMWidevineFairPlay
오픈소스2026년 1월 9일

Google Shaka Player에 첫 PR을 보냈습니다

오픈소스 미디어 플레이어 Shaka Player에 EME 관련 기능을 구현하고 LGTM을 받기까지의 과정을 기록합니다.

Open SourceShaka PlayerEMEDRM
개발2025년 12월 27일

여러분의 일상은 다운로드로 이루어져있습니다.

ICT 인턴십에서 마주한 다운로드 기능 구현기와 기술적 고민들

다운로드개발ICT인턴십CloudfrontS3
회고2025년 12월 21일

2025년을 돌아보며

2025년을 돌아보며 2026년의 목표에 대해 공유하고 이야기를 나눠보려고 합니다.

개발회고ICT인턴십
회고2025년 12월 20일

블로그를 새로 만들었습니다.

벨로그에서 Gatsby 기반 개인 블로그로 이전한 이유와 새로운 블로그의 기능들을 소개합니다.

블로그Gatsby개발
개발2025년 9월 24일

Next.js App Router에서 prefetchQuery와 Suspense로 데이터 스트리밍하기

Tanstack Query v5.40.0의 새로운 기능과 Suspense를 결합하여 사용자 경험을 극대화하는 데이터 스트리밍 전략을 소개합니다.

Next.jsTanstack QuerySuspenseFrontend
© 2026 Andy Tech Blog
Github