Outsider's Dev Story

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

기술 뉴스 #113 : 18-11-01

웹개발 관련

  • Introducing Hooks : React v16.7.0-alpha에 아직 제안 상태인 Hooks라는 기능이 들어갔다. 상태를 가진 로직을 컴포넌트에서 재사용할 수 없고 컴포넌트가 과도하게 복잡해지는 문제를 해결하기 위한 기능으로 어떻게 사용하는지는 velopert님이 리액트의 새로운 기능, Hooks 알아보기에서 잘 정리해 주셨고 매일 React Hook을 올리겠다는 useHooks 사이트도 생겼다.(영어)
  • Making Sense of React Hooks : Redux를 만든 Dan Abramov가 쓴 React Hooks를 지지하는 글이다. 현재 React 컴포넌트가 커지고 로직이 반복되고 복잡한 패턴을 사용하게 된 문제를 해결하기 위해서 제안된 Hooks는 로직을 컴포넌트 간에 재사용할 수 있어서 컴포넌트 코드가 훨씬 간단해지고 Hooks를 활성화하는데 필요한 코드는 1.5kB 정도뿐이라고 한다.(영어)
  • [번역] 초보 프론트엔드 개발자들을 위한 Pub-Sub(Publish-Subscribe) 패턴 알아보기 : Why every beginner front-end developer should know publish-subscribe pattern?의 번역 글인데 영어는 길어서 못 읽었다가 이번에 읽게 되었다. 비동기 호출로 인해서 UI를 만들 때 복잡해지는 문제에 관해서 설명하고 이러한 부분을 Pub-Sub으로 어떻게 해결할 수 있는지를 간단한 예제 코드를 보면서 자세하게 설명하고 있다. 글은 길지만 재밌게 구성이 되어 있다.(한국어)
  • Introducing reCAPTCHA v3: the new way to stop bots : 웹사이트에서 bot을 걸러내기 위해 사용하는 구글의 reCAPTCHA의 새 버전이 나왔다. 새 버전에서는 사용자가 더 쉽게 사용할 수 있고 정확도도 높아졌다고 한다.(영어)
  • 3 JavaScript Performance Mistakes You Should Stop Doing : ECMAScript가 계속 발전하고 있지만, 루프, 배열 복사, 객체 순회 등 자주 쓰는 기능 위주로 구현 가능한 여러 함수의 성능을 비교해 준 글이다. 새로운 기능들을 많이 추천하고 있지만, 성능도 같이 좋은 것은 아니고 성능도 엔진의 발전에 따라 달라지므로 이런 글은 종종 확인해 보는 것이 좋다.(영어)
  • How Facebook 3D Photos Work : 페이스북이 최근에 추가한 3D 사진 기능을 어떻게 구현했는지 분석한 글이다. 개발자 도구로 내용을 분석하고 Three.js의 와이어 프레임 기능을 켜서 다른 우회 방법이 아니라 Three.js로 실제 3D를 구현한 것을 보여주고 있다.(영어)

그 밖의 프로그래밍 관련

  • Microservice Architecture at Medium : Medium에서 수년간 Node.js로 만든 모노리틱 서버를 운영하다가 마이크로서비스 아키텍처로 변경한 과정을 설명한 글이다. 먼저 Medium이 생각하는 마이크로서비스의 특징을 "단일 목적", "낮은 의존성", "높은 응집성"으로 정의하고 이 설계원칙에만 집중했다. 항상 무언가 바꿀 때 "왜 지금이어야 하는가?"를 물어보는데 현재 Node.js 서버가 성능 병목 지점이 되었고 개발 속도가 느려졌으므로 마이크로서비스로 바꾸기로 했다. 진행 과정은 "명확한 가치를 가지고 새로운 서비스를 만든다", "모노리틱 스토리지는 피한다", "서비스 개발과 서비스 운영은 분리한다", "일관되고 철저한 가시성", "모든 서비스를 처음부터 만들 필요는 없다", "장애는 항상 생기므로 중요하게 생각한다", "마이크로서비스 신드롬은 피한다"의 전략을 세우고 각 단계가 어떤 의미가 있고 어떻게 진행했는지 설명하고 있다.(영어)
  • October 21 post-incident analysis : 10월 21일 GitHub에서 24시간 11분 동안 발생한 장애에 대해서 사후 분석을 통해 원인과 진행 과정을 정리한 글이다. US East와 US West 데이터 센터 사이에 정기작업을 하던 중 43초간 네트워크 단절이 발생했는데 이때 각 데이터센터가 RAFT 알고리즘으로 Primary 서버를 새로 뽑으면서 두 데이터센터 간 데이터가 달라지면서 네트워크 복구가 이뤄진 이후에도 장애로 이어졌다. 시간이 지나면서 두 데이터베이스 간에 데이터 격차가 벌어졌고 백업에서 전체 복구를 한 뒤에 백로그로 데이터를 맞추기로 했지만 실제로 전체 클러스터를 백업에서 다시 올리는 작업을 해본 적은 없고, 작업하면서 미국/유럽의 근무시간이 시작되면서 작업 시간은 더 늦어졌다. GitHub이 이렇게 긴 장애를 일으킨 건 처음이라서 궁금했는데 원인과 시간별 분석 내용 및 진행상태가 자세히 적혀있어서 흥미롭다.(영어)
  • 자바의 새로운 도약: OpenJDK(Feat. 자바 라이센스) : 오라클에서 발표한 Java의 새 라이센스 정책으로 얘기가 많은데 최근 OpenJDK를 중심으로 달라지고 있는 상황과 OracleJDK의 라이센스관련 내용을 정리한 글인데 여러 문서를 참고해서 자세히 정리되어 있다.(한국어)
  • 신규 포인트 시스템 전환기 #1 - 개발 단계, #2 - 오픈 준비 단계 : 우아한 형제들에서 레거시 포인트 시스템을 새로 개선하면서 진행한 과정을 정리한 글이다. 포인트 시스템의 구조 개선뿐 아니라 배포에 관한 기술 선택, 디비와 큐의 선택, 테스트 및 개발환경, 문서화, 성능 테스트 및 오픈 준비 등 시스템 하나를 오픈하는 전체 과정이 다 나와 있다.(한국어)
  • 깃을 위한 flight rules : Git을 사용하다가 문제가 발생했을 때 해결 방법을 정리해 놓은 문서다. 커밋메시지를 잘못 쓰거나 리베이스를 잘못했을 경우 등 문제 상황에 대한 해결책이 나와 있다.(한국어)
  • HashiCorp Learn : HashiCorp에서 자사의 제품을 따라 해 보면서 배울 수 있는 교육사이트를 공개했다. 현재는 Vault만 제공되고 Terraform, Consul, Nomad도 곧 제공할 예정이라고 한다.(영어)

블록체인 관련

볼만한 링크

  • école 42 탐방기 : 코드스쿼드에서 SW 혁신학교인 에콜42 프랑스와 샌프란시스코를 모두 방문하고 에콜 42가 어떤 시설을 가지고 있고 어떻게 가르치고 있는지를 정리한 글이다. 나도 최근에 에콜 42에 대해 알게 되었고 같이 일하는 동료가 EPITECH 출신이라서 궁금한 게 많았는데 사진과 함께 자세히 나와 있어서 재미있게 읽었다.(한국어)
  • The State of the Octoverse : GitHub에서 사용자들의 활동을 분석한 자료를 웹사이트로 만들어서 보고했다. Octoverse를 보면 GitHub 사용자들의 국가 추이, 언어별 인기도, 주요 프로젝트 등 다양한 내용이 나와 있다.(영어)

IT 업계 뉴스

프로젝트

버전 업데이트

2018/11/01 23:29 2018/11/01 23:29