Outsider's Dev Story

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

기술 뉴스 #91 : 17-12-02

웹개발 관련

  • The Cost Of JavaScript : 웹 브라우저에서 JavaScript 파일을 처리하는 비용에 관해서 설명한 글이다. 보통 네트워크로 다운받는 시간 때문에 용량을 줄이는 데 용량문제는 네트워크뿐이 아니라 JavaScript 파일을 파싱하고 컴파일하는 데도 큰 비용이 들기 때문에 사용자가 최초로 웹페이지를 사용하는 시간을 지연시키고 실제로 얼마나 영향을 주는지를 여러 데이터를 통해 설명하고 있다. 이를 위해 용량을 다양한 방법으로 줄이는 것도 중요하지만 구글의 PRPL 패턴으로 최소한의 코드만 내려주고 이후는 동적 로딩을 했을 때의 장점을 비교해주고 있다.(영어)
  • React Pattern: Centralized PropTypes : React에서 타입을 관리하려는 방법으로 PropTypes가 있는데 이 부분을 각 컴포넌트에서 관리하면 코드도 많아지고 중복도 많아지므로 이를 중앙에서 관리했을 때의 장점과 사용방법을 설명하는 글이다.(영어)
  • How we adapted the Booking.com mobile site for the iPhone X notch. : Booking.com에서 웹사이트를 iPhone X에서도 잘 보이도록 수정한 과정을 설명하고 있다. iPhone X에서 늘어난 화면 영역을 기본적으로는 사용하지 않아서 사이트가 잘 보이지만 해당 영역까지 배경색이 적용되기를 원하면 viewportviewport-fit=cover를 추가해 주어야 하고 늘어난 영역인 safe-area에는 콘텐츠가 나타나지 않도록 env()constant() 함수를 CSS에 사용해야 한다.(영어)

그 밖의 프로그래밍 관련

  • Introducing security alerts on GitHub : GitHub이 저장소에서 사용하는 모듈의 보안취약점을 감지해서 알려주는 기능을 공개했다. 현재는 JavaScript와 Ruby만 지원한다.(영어)
  • Plan for dropping Python 2.7 support : NumPy에서 Python 2.7 지원 중단 계획을 공개했다. 2018년 12월 31일까지는 Python 2와 3을 모두 지원하고 2019년 1월부터는 Python 3만 지원하고 2019년 12월 31일까지 Python 2는 버그 수정만 이뤄질 예정이다.(영어)
  • Code together in real time with Teletype for Atom : Atom 에디터에서 간단히 현재 에디터를 공유하고 다른 개발자와 실시간으로 같이 개발할 수 있는 Teletype for Atom을 공개했다.(영어)
  • Why You Should Always Use Access Tokens to Secure an API : API를 사용할 때 인증 토큰과 관련해서 두 명세인 OpenID Connect와 OAuth 2.0이 각각 인증(Authentication)과 인가(Authorization)를 어떻게 담당하고 있는지 설명하고 구글에 인증해서 to-do 애플리케이션으로 Google 캘린더에 내용을 작성하는 예시를 통해 OpenID Connect와 OAuth 2.0의 토큰을 각각 어떻게 사용하는지 설명하고 있다. 인증/인가 관련 토큰을 처리할 때 도움이 될만한 글이다.(영어)
  • How much to build and how much to buy: powering chat and messaging apps : 메시징 애플리케이션을 만들어야 할 때 오픈소스 프로토콜, 오픈소스 프레임워크, IaaS, PaaS, 채팅 솔루션, SaaS 중에서 어느 정도까지 직접 구축하고 어디까지 구매를 할지를 정해야 하는데 각 선택권의 특징을 소개하고 있다. 인프라스트럭처, 보안, 확장성, 신뢰성 면에서 선택권 중에서 고를 때 어떤 부분을 고려해야 하는지 얘기하고 있는데 여기서는 메시징 애플리케이션을 가지고 설명하고 있지만 다른 솔루션을 구현할 때도 고민을 참고해 볼 요소가 많이 있다.(영어)
  • 정규표현식으로는 5일 걸리는 작업, 15분만에 끝내기 : Regex was taking 5 days to run. So I built a tool that did it in 15 minutes의 번역 글로 2만 개가 넘는 키워드를 문서에서 찾을 때 정규식으로 작업하니 5일이나 걸려서 Aho-Corasick 알고리즘과 Trie 자료구조를 이용한 Python 모듈을 만들어서 14분으로 처리시간을 줄인 과정을 설명하고 있다. 이 FlashText가 사용한 접근방식부터 어떤 상황에서 FlashText를 정규표현식 대신 사용하면 좋은지까지 명확하게 설명하고 있는 재밌는 글이다.(한국어)
  • React Native vs Real Native Apps : 페이스북 프로필, 할 일 목록, 페이지뷰, 지도 4개의 탭을 가진 간단한 앱을 Swift와 React Native로 둘 다 구현한 후 각 탭을 사용할 때 CPU, GPU, 메모리의 사용량을 비교했다. 둘 다 만들어 본 경험을 통해서 React Native와 Swift로 만든 네이티브 앱의 장단점을 잘 정리해 놓았다.(영어)
  • 2017 The State of Open Source Security : 보안 관련 회사인 Synk에서 설문 및 자사의 데이터를 기반으로 오픈소스에서 취약점이 발견되었을 때 이를 어떤 식으로 얼마나 걸려서 처리하고 이를 사용자에게 알려서 사용자는 업데이트하는지 얼마나 걸리는지를 분석해서 정리한 글이다. 찬찬히 읽어보면 꽤 재미있다.(영어)
  • 본격 macOS에 개발 환경 구축하기 : macOS에서 터미널을 더 잘 사용하기 위해서 환경 설정이나 테마, 기타 프로그램 설치하는 방법을 설명하는 글이다. 이 글 처음에 나오는 대로 이런 환경 설정을 여러 곳에 나누어져 있어서 찾기가 쉽지 않은데 한 글에 다 정리되어 있어서 따라 해보면서 설정을 비교해 보기 좋게 되어 있다.(한국어)

볼만한 링크

  • AWS re:Invent 2017 – Andy Jassy 기조 연설 및 주요 신규 서비스 발표 소식 : 11월 말에 열린 re:Invent에서 발표된 서비스를 정리한 글이고 둘째 날 공개된 서비스도 요약되어 있다.(한국어)
  • 초기리텐션을 획기적으로 높인 행동설계 이야기 : VCNC에서 비트윈 앱의 사용자 패턴을 분석해서 리텐션을 올린 얘기를 정리한 글이다. 릴리스한 지 얼마 안 된 앱도 아닌데 아주 크게 증가한 리텐션도 고무적이지만 사용자의 핵심액션을 분석해서 결정한 후 강제 유도 및 푸시를 통해서 단발성이 아닌 장기 리텐션으로 이어지게 하는 접근이 꽤 재미있다.(한국어)
  • 블록체인은 현재 어디쯤 와있나? : 체인파트너스의 표철민 대표가 블록체인의 현재 상황과 본인의 생각을 정리한 글이다. 기술적인 부분보다는 각 코인이 어떻게 성장하고 있고 ICO로 지금 IT 업계에 가상화폐가 어떻게 영향을 주고 있는지가 정리되어 있다. 가상화폐 쪽을 깊게 보고 있진 않아서 정부 정책이나 움직이는 방향에 대해서는 자세히 모르고 있었는데 생각을 정리하는데 꽤 도움이 된 글이다.(한국어)

IT 업계 뉴스

  • 미 연방통신위원회, 망 중립성 폐기 결정 : 지난 22일 미국 연방 통신위원회(FCC)에서 망 중립성을 폐기하기로 했다. 이는 12월 14일 표결을 통해 확정될 예정이지만 현재는 폐기가 될 가능성이 크다. IT 종사자로서 이런 폐기 결정은 너무 아쉽다.(한국어)

프로젝트

  • Luxon : JavaScript 날짜/시간 라이브러리
  • Lona : Airbnb에서 공개한 프로그램으로 크로스 플랫폼용 UI 코드와 스케치파일 등을 생성할 수 있다고 한다. 현재는 의견을 나뉘기 위한 Developer Preview 상태이다.
  • accessibilityjs : 웹브라우저에서 접근성 오류를 확인해 주는 라이브러리.
  • Infinitown : WebGL 데모용 페이지.
  • LogoFox : 브랜드명을 입력하면 로고를 자동으로 만들어주는 사이트.
  • crossplane : NGINX 설정 파일 파서.

버전 업데이트

2017/12/02 03:05 2017/12/02 03:05