Designing very large (JavaScript) applications : Google 내부에서 사용 중인 JavaScript 프레임워크를 만든 경험을 공유한 글이다. 이 프레임워크는 오픈소스로 공개되진 않았다. 시니어 엔지니어는 다른 사람이 소프트웨어를 작성하는 방법에 영향을 주어야 하고 이러한 관점에서 프로그래밍 모델에 영향을 주는 방향으로 개선해야 한다는 내용이 초반에 나오고 이러한 관점에서 삭제하기 쉬운 코드를 위해 import 대신 기본 코드를 enhance 해서 사용하는 방식에 대해서 설명하고 있다. 개인적으로는 뒷부분보다는 초반에 시니어 엔지니어에 대한 부분이 훨씬 좋았다.(영어)
카카오페이지 웹 React 포팅 후기 : 카카오페이지를 React 기반으로 개편하면서 TypeScript, Next.js, 포매팅, 성능 개선 등 기술 선택 및 개선 작업을 하면서 고민했던 내용을 정리한 글이다. 웹서비스의 규모가 크면 이런 개편 작업에 고민할 부분도 많아지고 지원 브라우저나 디바이스도 많아서 전환 과정에서 고민한 내용일 실용적이라 도움이 된다.(한국어)
Blogged Answers: Redux - Not Dead Yet! : Redux 메인테이너 중 한 명인 Mark Erikson가 Redux는 이제 끝냤냐?라는 질문에 대한 대답을 정리한 글이다. 먼저 Redux가 모든 상황에 다 적합한 도구는 아니라는 점을 강조하고 React의 Context API와 GraphQL + Apollo가 Redux를 대체할 것이라는 점에서 왜 대체한다는 얘기가 나왔고 그럼에도 Redux가 필요한 상황에 대해서 정리했다.(영어)
Hello wasm-pack! : Rust로 작성한 코드를 WebAssembly로 컴파일해서 npm registry에 배포할 때 JavaScript 개발환경을 몰라도 쉽게 할 수 있게 하는 wasm-pack를 소개하는 글이다. Rust 프로젝트 내에서 wasm으로 컴파일하고 wasm-bindge를 실행하고 npm 모듈로 패키징 해서 배포해준다.(영어)
그 밖의 개발 관련
Tips for High Availability : Netflix가 서비스의 고가용성을 위해서 배포 및 운영을 어떻게 하고 있는지를 정리한 글이다. Netflix가 지속적 배포 도구로 사용하는 Spinnaker를 중심으로 설명하고 있는데 블루/그린 배포, 배포 윈도우를 이용해서 근무 외 시간이나 휴일엔 자동 배포되지 않도록 하는 점, Chaos Monkey와 연동, 배포전에 코드 검증 등이 나와 있다. 이 글을 보니 Spinnaker에 더 관심이 가게 된다.(영어)
Fabric Branch로 사용자 행동 분석하기 : 앱에서 사용자 분석을 하려고 Deferred Deeplink를 사용하기로 결정하고 Fabric Branch을 이용해서 이를 구현하는 방법을 설명한 글이다. 예전에 서비스 마케팅을 위해 데이터를 수집할 때 앱 쪽에서 데이터가 추적이 끊겨서 고생했던 기억이 있어서 더 관심이 갔다.(한국어)
4월 23일, 중국에서 누군가가 쏘아올린 작은 트랜잭션 : 북경대의 성폭행 사건이 중국 내 온라인 게시판에서 계속 삭제되자 누군가 이 내용을 이더리움 트랜잭션에 담아서 블록체인에 저장했다. 이제 이 데이터를 영원히 지워지지 않는 데이터가 되었는데 거래 자체는 의미 있는 거래가 아니지만 중국처럼 통제된 국가에서 통제 못하는 기록을 남겼다는 면에서 의미하는 바가 크다.(한국어)
Comments