Outsider's Dev Story

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

기술 뉴스 #90 : 17-11-15

웹개발 관련

  • How to use SVG as a Placeholder, and Other Image Loading Techniques : 이미지를 로딩하는 동안 시간이 걸리므로 해당 공간을 placeholder로 대체했다가 나중에 이미지를 로딩하는 기법에 관해서 설명하는 글이다. Placeholder로 사용하는 방식에 관해서 설명하고 이를 좀 더 좋은 방법으로 해결하기 위해 SVG를 이용해서 이미지의 폴리곤으로 그리거나 라인을 따서 보여준 뒤에 이미지로 교체하는 방법을 설명한다. 비슷하게 연구한 라이브러리나 방법들에 대해서 같이 보여주는데 그 결과는 꽤 흥미로워서 상당히 재미있는 placeholder가 된다. 제대로 이해하려면 코드를 직접 실행하면서 테스트해봐야겠지만 이런 접근을 생각하지 못하고 있어서 아주 관심이 간다.(영어)
  • Flexbox and Grids, your layout’s best friends : 웹에서 레이아웃을 잡는 용도로 사용하는 Flexbox와 Grids를 비교한 글이다. 코드에 따라 달라지는 요소의 변화를 이해하기 쉽게 애니메이션으로 보여주면서 Flexbox와 Grids의 차이점을 설명한 다음에 Grids로 레이아웃을 잡고 세부요소를 Flexbox로 잡는 방법까지 설명하고 있다. Grids는 한 번도 안 써봐서 흥미롭게 읽었다.(영어)
  • How Redux Can Make You a Better Developer : 상태관리에 사용하는 Redux가 가진 기본 개념인 불변성, 순수 함수, Higher order 함수 등을 설명하면서 이 부분이 왜 좋고 Redux에서는 어떻게 쓰고 있는지 설명하는 글이다. Redux에 대해서 전혀 모르더라고 읽는 데 문제가 없을 정도로 중요한 기념 개념을 잡아주고 있어서 다른 라이브러리를 쓴다고 하더라도 읽어볼 만하다.(영어)
  • HTTP/2 in Node.JS Core : 최근에 Node.js 코어에 추가된 HTTP/2 모듈을 이용해서 HTTP/2 서버를 구현하고 Server Push를 구현하는 방법을 설명하고 예제를 함께 제공하고 있다.(영어)
  • WebAssembly support now shipping in all major browsers : 이제 모든 주요 브라우저가 WebAssembly를 지원하게 되었다고 한다. 물론 여기서 주요 브라우저에는 IE 11은 포함 안 되고 Edge만 얘기한 거다.(영어)

그 밖의 프로그래밍 관련

  • The GraphQL stack: How everything fits together : GraphQL에 왜 좋은지를 설명하면서 GraphQL의 성능을 높이는 부분에 관해서 사람들이 궁금해하는 캐싱, 추적, 스키마 통합에 관해서 설명하고 있다. Apollo Gateway를 홍보하는 느낌이 강하긴 하지만 주로 GraphQL 서버 앞에 Gateway 서버를 두고 캐싱을 관리하고 필드별 속도를 측정하면서 여러 서버 간에 통합하는 관점에 관해서 설명하고 있다. GraphQL을 보면서도 여전히 REST API를 보는 관점에 좀 갇혀 있게 되는데 GraphQL에 어울리는 관점에 관해서 설명하는 괜찮은 글이다.(영어)
  • 나를 위한 StackOverflow 명성(Reputation) 쌓기 : StackOverflow에서 개인 목표로 삼았던 1,000 레퓨테이션을 얻은 뒤 Stackoverflow를 사용하면서 레퓨테이션을 얻는 방법을 정리한 글이다. 요즘 StackOverflow에서 레퓨테이션 점수를 얻기가 쉽지 않다고 생각했는데 적극적으로 참여하면서 레퓨테이션을 얻은 방법을 정리한 글이라 도움이 된다. 이런 방식으로 질문과 답변에 대해서 고민하는 것으로도 많은 실력을 쌓을 수 있을 것이라고 생각한다.(한국어)
  • React Native & iPhone X : 화면의 크기가 달라진 iPhone X에 대응하려고 React Native 0.50.1에서 도입된 SafeAreaView의 사용 방법에 관해 설명한 글이다. SafeAreaView는 React Native를 업데이트하지 못하는 개발자를 위해 react-native-safe-area-view라는 별도의 모듈로도 제공하고 있다.(영어)
  • What's new in Node.js 9? : Node.js 8.9.0이 새 LTS carbon이 되면서 새로운 현재 버전 9.x.x 라인이 나왔다. 이 글에서는 HTTP2, util.isDeepStrictEqual, util.callbackify 등 9.x.x에서 추가된 기능을 설명하고 있다.(영어)
  • Go cheatsheet : Go 언어에 익숙하지 않을 때 참고하기 좋은 치트시트(영어)

볼만한 링크

  • 소프트웨어 집단의 부패:Expert Beginner의 유산 : 지난 글 더 이상 배우려 하지 않는 개발자 : Expert Beginner의 등장의 속편이다. 이전 글도 재밌었는데 성장이 멈춘 채 전문가의 역할을 하는 Expert Beginner의 상황을 훨씬 신랄하게 비판하고 있고 Expert Beginner가 문화를 망치는 상황과 이런 상황에 도달하지 않게 만들기 위한 실천적인 방법까지 제시하고 있다. Expert Beginner는 그 조직 내에서는 쉽게 알기 어렵다는 게 큰 문제인데 여기서 말한 방법들은 꼭 Expert Beginner가 아니라도 조직과 개인의 성장을 위해서 참고할 부분이 많이 있다고 생각한다.(한국어)
  • 구글 애널리틱스 API를 이용한 캠페인 분석(2) : GA로 데이터를 분석할 때 단순히 웹 인터페이스를 사용하는 것이 아닌 Reporting API를 이용하는 고급 분석 방법을 설명하고 있다. 제약이 있는 웹 인터페이스에 달리 API를 이용하면 더 다양한 조합으로 데이터를 가져올 수 있지만 한 번에 가져오는 최대 개수와 초당 호출 개수의 제약이 있으므로 Best-first search를 이용해서 이전 데이터로 최소 횟수로 API를 호출해서 원하는 데이터를 찾는 과정을 설명하고 있다. 이걸 보면 GA로 다 되겠구나 싶다.(한국어)

프로젝트

  • Bottender : Slack, Line, Telegram용 봇을 만들기 쉽게 도와주는 node.js 라이브러리.
  • Server.js : Node.js 웹 프레임워크.
  • evip : Go로 작성된 이벤트 루프 네트워킹 프레임워크.

버전 업데이트

2017/11/15 22:45 2017/11/15 22:45