Migrating from Underscore to Lodash : Dropbox에서 최근 10년도 더 된 프론트엔드 스택을 개선하기 위해서 CoffeeScript를 TypeScript로 바꾸고 jQuery에서 React로 바꾸는 등의 작업을 했는데 마이그레이션 후보 중 하나인 Underscore를 Lodash로 바꾼 과정을 설명하고 있다. Underscore가 3년이나 릴리스 되지 않았고 Lodash가 훨씬 최적화가 잘 되어 있으므로 바꾸기로 하면서 사내 커뮤니티에 웹 개선 제안(WEP)을 제출하고 변경에 관해 논의하고 Underscore가 얼마나 사용되고 있는지를 조사했다. Webpack을 선택하고 빌드 도구인 Bazel, TypeScript와의 연동 테스트를 마무리한 뒤에 codemod처럼 기존 Underscore의 사용패턴을 Lodash로 바꾸는 식으로 변경했다고 하는데 사용자가 많은 서비스라 얼마나 신중하게 마이그레이션 작업을 했는지 느낄 수 있다.(영어)
inrupt : 월드와이드웹을 만들고 현재 W3C의 수장인 팀 버너스 리가 모두를 위해 만든 웹이 현재 힘의 균형이 깨졌다면 이를 재조정하기 위해 inrupt 회사를 만들었다. 이를 위해 데이터를 분산화해서 저장하는 Solid도 같이 공개했다.(영어)
모바일 웹 사이트들의 한글 타이포그래피 : 다음 뉴스, 네이버 뉴스, 브런치, 핀치, 미디엄 등 각 사이트가 모바일에서 적용하고 있는 서체와 스타일을 정리한 글이다. 타이포그래피가 필요할 때 다른 사이트를 참고하는 편인데 한눈에 정리가 되어 있어서 비교해보기 좋다.(한국어)
Async-await는 어떻게 구현하는가 : Async await를 Babel을 이용해서 트랜스파일 해보면서 최신 자바스크립트를 지원하지 않는 브라우저에서 Async await를 어떻게 구현하는지를 추적해 보는 글이다. 제너레이터로 async/await를 구현하고 제너레이터는 다시 이터레이터를 이용해서 구현되어 있는데 내부가 어떻게 동작하는지 고민해 보기 좋은 글이다.(한국어)
그 밖의 프로그래밍 관련
Java Is Still Free : 오라클의 JDK 라이센스 변경으로 달라진 상황을 전체적으로 아주 잘 정리한 글이다. 요약과 자세한 설명을 나눠서 하고 있고 각 프로바이더와 그 외 Java 제품들까지 자세히 설명하고 있어서 라이센스 변경과 관련해서 궁금하다면 꼭 읽어볼 글이다. 간단히 정리하면 Oracle JDK 8은 2019년 1월부터는 무료 업데이트를 하지 않고 이후부터는 6개월 단위의 무료 업데이트를 지원하며 이후 업데이트를 받으려면 유료 플랜을 가입해야 한다. 대신 Java SE 스펙을 따르는 Oracle의 OpenJDK 빌드를 제공하고 이 개발을 오라클이 주도하면 다른 벤더들과 협력해서 이후 업데이트를 각 벤더들이 OpenJDK로 제공할 수 있도록 하고 OpenJDK의 유료 플랜은 각 벤더사의 정책을 따르게 된다.(영어)
12 Factor CLI Apps : The Twelve-Factor App를 만들 Heroku에서 node.js로 만든 CLI 프레임워크 oclif를 만든 경험을 토대로 CLI 프로그램을 위한 12 Factor를 정리한 글이다. help 문서의 중요성, 인자보다는 플래그를 선호, 버전을 쉽게 찾을 수 있는 플래그, 출력의 스트림 지원 등등 정리해 놓았는데 CLI 프로그램을 만든다면 참고하기 좋은 글이다.(영어)
Don't sign a CLA : 보통 오픈소스에 기여할 때 기여에 대한 권리 양도의 동의 같은 의미(법적인 용어는 잘 몰라서...)로 사용하는 CLA(Contributor License Agreement)에 서명하지 말아야 한다는 요지의 글이다. 오픈소스는 메인테이너나 기여자나 같은 권한을 가지고 있는 것이고 선한 의도를 믿고 CLA에 서명하는 것인데 이렇게 권리를 넘기면 메인테이너가 너무 큰 힘을 가지게 되어 이후 맘대로 라이센스를 변경하거나 소스를 클로즈 해버릴 수 있다는 것이다. 그러면서 최근 Redis Lab이 수익을 내기 위해 라이센스를 변경한 것을 예로 들었다. CLA에 대해서 다시 생각해 보게 된 글이다.(영어)
Comments