Non-blocking <canvas /> Rendering in Concurrent React : React 18에 concurrent 기능이 들어깄지만 컴포넌트 렌더링만 지원하고 컴포넌트 이팩트는 여전히 메인 스레드를 블로킹한다. 브라우저가 오래 걸리는 작업을 실행 중일 때 페이지를 느리게 만드는데 여기서 오래 걸리는 작업은 50ms 이상 걸리는 작업을 의미한다. 메인 스레드를 블로킹하지 않는 방법은 병렬성(parallelism)과 동시성(concurrency)이 있는데 WebWorker는 제약 사항도 많으므로 WebWorker가 적합하지 않으면 동시성과 스케줄링을 사용해야 한다. 제너레이터 함수를 사용해서 10ms마다 작업을 멈추고 다른 작업을 하게 하면 브라우저는 6ms의 여유를(60FPS를 위한 16ms) 가지게 하는 게 일반적이고 어떤 작업을 해야 할지를 위해 스케쥴링이 필요하다. React팀이 만든 scheduler가 있지만 이를 렌더링이 아닌 이팩트에도 쓰기 위해 use-transition-effect를 만들었다. 해당 패키지를 꼭 쓰지 않더라도 각 단계에서 비교할 수 있는 예제까지 제공하고 있어서 성능을 비교해 보기 좋다.(영어)
Webpack Module Federation 도입 전에 알아야 할 것들 : 다른 웹에서 원격으로 모듈을 임포트해서 사용할 수 있는 Webpack Module Federation의 동작 방식을 설명한다. 원격 모듈은 다른 도메인에서 가져올 수 있고 별도로 빌드할 수 있지만 모듈의 타입을 알기가 어렵고 remoteEntry.js의 경로를 관리해야 하는 불편함이 존재한다.(한국어)
W3C to become a public-interest non-profit organization : W3C가 23년 1월 새로운 법인을 만들어서 비영리 단체가 된다고 한다. Tim Berners-Lee는 1994년 MIT의 호스팅 제안을 받아들여서 미국, 일본, 프랑스, 중국의 대학교와 파트너 관계로 호스팅 모델로 운영했다. 하지만 새로운 웹 기능의 요구사항이 높아짐에 따라 새로운 거버넌스가 필요해져서 공익 비영리 단체로 진화한다고 한다.(영어)
Django Rest Framework 레시피 : Justyna의 글을 번역 글이다. DRF라고도 많이 부르는 Django Rest Framework에서 사용하는 패턴별로 맥락과 해결책, 이유를 설명하면서 정리한 글이다.(한국어)
kcat(kafkacat) 소개 : 지금은 kcat으로 이름이 바뀐 kafkacat CLI 도구의 사용 방법을 설명한다. kcat은 non-JVM 기반 프로듀서, 컨슈머 기능을 제공하는 도구로 kafka의 메타 정보를 확인하고 메시지를 전송하고 가져오는 방법을 보여준다.(한국어)
“DevOps”의 인적 확장 (The human scalability of “DevOps”) : Envoy를 만든 Matt Klein가 쓴 The human scalability of “DevOps”의 번역 글이다. 글쓴이의 다양한 경험을 통해 조직이 커가면서 DevOps를 업계가 어떻게 받아들이고 어떤 문제가 있는지를 꽤 정확하게 짚어내고 있다고 느껴진다. 개발자가 코드를 작성하고 운영할 때 시스템의 퀄리티가 향상되는데 초기 스타트업에 특히 이런 사람들이 많고 조직이 급 성장하면서 대부분 중앙 인프라팀을 만들어서 다른 제품팀을 지원하는 구조가 된다. 하지만 단일 DevOps 모델은 조직이 커가면서 교육이 부족해지고 중앙 인프라팀이 버거워지는 시점이 오면서 번아웃이 오게 된다. 이를 위해서는 SRE 모델을 도입해야 한다고 하고 있다.(한국어)
토스에서의 시간을 돌아보며 : Toss에서 프론트엔드 리더(명확히 얘기하진 않지만, 글의 내용으로 봤을 때)로 일하고 나서의 경험을 적은 글이다. Toss는 DRI(Directly Responsible Indivisual)라고 각자가 최종의사 결정권을 갖는 문화가 있고 이 문화를 통해서 빠르게 일할 수 있는 문화를 가지게 되었다. 뒷부분은 프론트엔드 챕터에 대한 얘기로 이어지는데 각자 자기 일을 하는 소규모 챕터에서 규모가 커지면서 주니어 개발자가 합류하게 되고 이러한 분들이 자신감을 잃지 않도록 도와주는 사람을 배치하고 "싼 똥"을 자랑하는 자리와 강점 찾기 테스트 등 성장에 대한 다양한 시도를 한 과정이 나온다.(한국어)
Developer Experience at Vercel : Vecel의 VP of Developer Experience(DX)인 Lee Robinson이 DX에 관해 쓴 글이다. Vecel에서 DX를 제품의 성장을 이끄는 핵심으로 엣지 컴퓨팅에 미래가 있고 프론트엔드 개발자의 역량을 강화하고 개발자가 React 사이트를 만들 수 있는 프레임워크를 제공하고 있다고 한다. Vecel에서 DX의 4가지 기둥이 있는데 교육, 문서, 커뮤니티, 템플릿이고 좋은 DX를 제공하기 위해 노출 시간을 늘리고 만들면서 직접 테스트가 되어 배우고 개발자에게 공감하고 엄청 좋은 게 아니라면 선택하지 않아서 중요한 작업에 집중할 수 있게 한다고 한다.(영어)
국내 최고의 개발 문화를 가진 회사는? – 설문 조사 결과 : 윤석찬 님이 국내 개발자 문화 현황을 설문 조사한 결과를 공유했다. 아래 12가지 기준으로 설문을 진행했고 전체 결과 외에도 중소기업, 스타트업, 인터넷 기업, 게임 기업, 대기업별로 나누어서도 결과를 보여주고 있습니다.(한국어)
Improved innersource collaboration and enterprise fork policies : GitHub이 회사 내에서 이너소스 협업(기업 내에서 오픈소스처럼 개발하는 접근방법)을 더 원활하게 할 수 있도록 저장소를 같은 조직 내에서 포크할 수 있게 되었다. 기존에는 개인 계정이나 다른 조직으로만 포크할 수 있었다. 추가로 인터널 저장소를 엔터프라이즈 org로도 포크할 수 있고 관리자가 포크가 가능한 저장소를 관리할 수 있게 되었다.(영어)
Comments