Outsider's Dev Story

Stay Hungry. Stay Foolish. Don't Be Satisfied.
RetroTech 팟캐스트 44BITS 팟캐스트

기술 뉴스 #101 : 18-05-01

웹개발 관련

  • 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가 필요한 상황에 대해서 정리했다.(영어)
  • Why React needed yet another animation library. Introducing: react-spring : React에서 애니메니션을 구현할 수 있는 react-spring 라이브러리에 대한 소개이다. 이미 존재하는 애니메이션 라이브러리에 대해 설명하고 react-spring은 훨씬 간단한 선언으로 애니메이션을 사용할 수 있고 고급 사용을 위해 절차식으로 구현할 수 있으면서 성능도 좋다고 얘기하고 있다.(영어)
  • 리액트 도움닫기 한국어 번역서를 출간하며 : 리액트 도움닫기 (The Road to learn React 한국어판)를 번역해서 Leanpub에서 출간하면서 그 과정을 설명한 글이다. 이 글은 Robin Wieruch가 The Road to learn React 책을 공개해서 쓰면서 직접 각 번역가를 찾아서 번역을 하고 책의 판매 금액 전부는 기부를 하고 있다. 이렇게 공개된 형태로 책을 쓰면서 번역까지 같이 커뮤니티를 구성해서 하는 경우는 흔치 않은데 이글에 그 과정이 다 나와있어서 흥미로왔다.(한국어)
  • 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에 더 관심이 가게 된다.(영어)
  • Instant Feedback in iOS Engineering Workflows : Instagram에서 iOS 앱을 개발할 때 다시 컴파일하고 재시작하는 시간을 줄이기 위해 React Native의 코드를 이용해 동적으로 리로딩하도록 적용한 과정을 설명한 글이다.(영어)
  • Kubernetes 02 – ReplicaSet : Kubernetes의 ReplicaSet의 사용방법과 동작 방식을 설명하는 글이다.(한국어)
  • Open sourcing Terratest: a swiss army knife for testing infrastructure code: Terraform이나 Packer로 Infrastructure as Code를 적용할 때 작성한 코드를 테스트할 수 있도록 Gruntwork에서 만든 Terratest에 대한 소개 글이다. Go로 테스트를 작성하는데 유용성은 고민해 봐야겠지만 테스트가 필요하다는 부분에는 동의한다.(영어)
  • Fabric Branch로 사용자 행동 분석하기 : 앱에서 사용자 분석을 하려고 Deferred Deeplink를 사용하기로 결정하고 Fabric Branch을 이용해서 이를 구현하는 방법을 설명한 글이다. 예전에 서비스 마케팅을 위해 데이터를 수집할 때 앱 쪽에서 데이터가 추적이 끊겨서 고생했던 기억이 있어서 더 관심이 갔다.(한국어)
  • FoundationDB is Open Source : Apple이 [분산 키-밸류 스토어인 FoundationDB를 오픈소스로 공개했다.(영어)
  • New PyPI launched, legacy PyPI shutting down April 30 : 파이썬 패키지 저장소인 PyPi의 새 버전이 공개되었다. 기존 PyPI는 4월 30일에 종료된다.(영어)
  • Elasticsearch Reference : Elasticsearch 레퍼런스 문서의 한국어 번역본이다.(한국어)

볼만한 링크

  • 사이드 프로젝트, 10년 간의 기록 #1 : 10년 동안 사이드 프로젝트를 하고 연별로 진행한 사이드 프로젝트를 정리한 글이다. 개발자가 사이드 프로젝트를 하는 걸 좋아하는 터라 다른 사람이 어떻게 아이디어를 내고 개발했는지 정리된 글이 재미있었다.(한국어)
  • 2018 Women Techmakers Korea 참가 후기 : 2018 Women Techmakers에 부스로 참가한 스포카에서 직원들이 들은 세션을 정리한 글이다. Women Techmakers에 참가 못해서 궁금했는데 이 글에서 어떤 얘기가 오갔는지 살펴볼 수 있다.(한국어)
  • 4월 23일, 중국에서 누군가가 쏘아올린 작은 트랜잭션 : 북경대의 성폭행 사건이 중국 내 온라인 게시판에서 계속 삭제되자 누군가 이 내용을 이더리움 트랜잭션에 담아서 블록체인에 저장했다. 이제 이 데이터를 영원히 지워지지 않는 데이터가 되었는데 거래 자체는 의미 있는 거래가 아니지만 중국처럼 통제된 국가에서 통제 못하는 기록을 남겼다는 면에서 의미하는 바가 크다.(한국어)

IT 업계 뉴스

프로젝트

  • Titus : Netflix에서 오픈소스로 공개한 컨테이너 관리 플랫폼. AWS에 통합되어 있으며 Netflix 내부에서 사용하던 플랫폼을 오픈소스로 공개한 것이다.
  • mdx : Markdown을 파싱해서 JSX와 함께 쓰게 해주는 프로젝트
  • VuePress : Vue.js에 기반을 둔 정적 웹사이트 생성기.
  • CSS Blocks : 컴포넌트마다 하나의 CSS 파일을 작성하는 요즘 분위기에 맞춰서 CSS를 컴포넌트에 맞춰서 작성하고 최적화해주는 오픈소스를 LinkedIn에서 공개했다.
  • GraalVM : Oracle에서 공개한 통합 가상머신으로 JavaScript, Python, Ruby, R 외에도 Java, Scala같은 JVM 기반언어돠 C/C++ 같은 LLVM 기반 언어를 돌릴 수 있다.

버전 업데이트

2018/05/01 22:19 2018/05/01 22:19