리디스토리 프론트엔드 개발기 : 리디북스에서 리디스토리의 프론트엔드를 개발한 과정에 관한 이야기이다. Django + jinja2 기반으로 작성했던 애플리케이션을 React를 이용한 SPA로 재구축하고 상태관리로 복잡해진 코드를 Redux를 도입해서 바꾼 고민의 과정이 고스란히 나와 있다. 글에는 잘못된 선택에 관한 얘기가 나오지만, 개인적으로는 어차피 모든 상황을 예측할 수는 없으므로 문제를 발견했을 때 논의하고 더 좋은 선택으로 바꾸어서 나아가는 것이 훨씬 좋다고 보기 때문에 그런 변경을 계속하는 개발과정을 읽으면서 조직의 건강함까지 느껴지는 것 같다.(한국어)
eBay’s Font Loading Strategy : 웹 폰트를 사용하는 경우 웹 폰트를 로딩하는 시간 때문에 발생하는 FOUT, FOIT 문제를 해결하기 위한 접근 방법을 설명한 글이다. FOUT, FOIT를 피하고자 기본은 시스템 폰트를 보여주고 웹 폰트가 이미 캐싱 되어 있는 경우에만 웹 폰트를 보여준다. 이를 위해서 최초 접근할 때는 시스템 폰트를 보여주고 비동기로 웹 폰트를 다운받은 뒤 로컬스토리지에 플래그를 설정하고 페이지가 로딩될 때 이 플래그가 설정되어 있으면 웹 폰트를 보여주는 CSS 클래스를 활성화한다. 이를 구현한 ebay-font도 공개되어 있다.(영어)
Maintainer, Heal Thyself : Babel.js를 이끄는 Henry Zhu가 React Boston 2017에서 발표한 발표자료로 오픈소스 메인테이너 활동하는 것이 얼마나 힘든 일인지를 설명하고 계속 개발을 하기 위해서 관리가 필요하고 개발자들의 도움이 필요하다는 얘기를 하고 있다. "Stop treating open source like a product you purchased and start treating ti like a team you belong to."라는 말이 인상적이다. 영상도 공개되었다.(영어)
오픈 소스 프로젝트를 더 잘 릴리스하는 요령들 : 스포카에서 오픈소스 프로젝트의 릴리스하는 팁을 정리한 글인데 오픈소스가 아니더라도 릴리스를 자동화하는 부분에서 유용한 팁이 많이 담겨있다. 체인지 로그와 버전 관리 방법 부터 패키지 릴리스, 빌드 자동화 및 문서 관리에 대한 부분까지 릴리스할 때 신경 써야 하는 부분이 다 담겨있다. 간단한 프로젝트를 하더라도 이 글에 담긴 내용을 가능한 한 다 적용하는 게 좋다고 생각한다.(한국어)
카카오 신입 공채 1차 코딩 테스트 문제 해설 : 카카오에서 신선한 신입 공채 과정으로 블라인드 코딩 테스트를 9월 16일 온라인으로 진행했는데 이때 나온 코딩 테스트 문제의 의도와 접근방법 등을 설명한 글이다. 이 코딩 테스트는 흥미롭게 보고 있었지만 풀어보진 않았었는데 카카오에서 코딩 문제로 사용한 만큼 어떤 의도로 문제를 만드는지 이해할 수 있는 재미있는 글이다.(한국어)
카카오 블라인드 공채 해킹하기 : 온라인에서 진행된 카카오의 블라인드 공채의 플랫폼을 해킹해서 테스트를 통과하게 만들고 채점데이터를 가져오는 과정을 설명한 글이다. 블라인드 테스트와 풀이가 끝난 시점에서 공개했고 어차피 이런 코드로 통과할 일은 없으므로 온라인 플랫폼에서 이런 해킹과정을 단계별로 풀어써서 재미있는 글이다.(한국어)
async_hooks in node.js, illustrated : Node.js 8.x에 실험 단계로 도입된 async_hooks의 사용방법을 설명한 글이다. async_hooks으로 리소스의 생성부터 제거될 때까지를 추적할 수 있고 이를 이용해서 작업이 이뤄지는 시간을 추적하는 간단한 예제코드까지 포함되어 있다. 나도 Node.js 애플리케이션을 더 심도 있게 추적하는 용도로 관심 가지는 기능이다.(영어)
Intro to Threads and Processes in Python : Python에서 병렬 처리를 위해 Thread와 Process를 설명한 글이다. 스레드와 프로세스의 기본적인 차이에 관해서 설명하고 Python의 특징을 설명한 뒤에 예제 코드를 통해서 I/O 처리나 CPU 작업에서 어떤 차이가 있는지를 비교하면서 설명해주어 차이점을 이해하기 좋다.(영어)
iOS 디자인 가이드라인 번역 - iPhone X : 애플 Human Interface Guidelines의 iPhone X 부분을 번역한 글이다. 아직 iPhone X이 출시되진 않았지만, iOS 앱 개발을 할 때 앞으로는 고려해야 하므로 읽어두어야 할 자료다.(한국어)
Hacktoberfest : 10월 중에 GitHub의 오픈소스 프로젝트에 기여하면 티셔츠를 주는 이벤트다. 티셔츠를 받으려면 Pull Request를 10월 중에 4개 만들어야 한다.(영어)
볼만한 링크
더 나은 웹프론트엔드 과정을 고민하며, : 코드스쿼드에서 웹프론트엔드 교육을 하면서 더 좋은 프론트엔드 개발자를 만들기 위해서 고민한 교육 방향과 접근방법을 설명한 글이다. 현재 효과를 보고 있는 부분부터 고민하는 부분까지 잘 나와 있는데 대체로 동의하는 편이다.(한국어)
Go: Ten years and climbing : Go 언어가 만들어진 지 10년을 기념해서 Rob Pike가 지난 10년간의 역사를 설명한 글이다. 10년이나 될 줄도 몰랐지만 2007년 처음 Google 캠퍼스에서 Robert Griesemer, Rob Pike, Ken Thompson이 모여서 Go라고 이름 짓고 시작한 과정과 초기에 같이 한 사람들과 과정을 설명하고 있다. 이후 Docker 등에서 도입하면서 Go 언어는 클라우드의 언어(Go is the language of the cloud.)가 되었다고 소개하고 있다.(영어)
Comments