Outsider's Dev Story

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

기술 뉴스 #106 : 18-07-15

웹개발 관련

  • Here are examples of everything new in ECMAScript 2016, 2017, and 2018 : ECMAScript에 새로운 기능이 계속 추가되는 상황이라 새로 추가된 걸 모르거나 한번 알았다가도 손에 익기 전에 까먹는 경우도 많은데 이 글에 ECMAScript 2016, 2017, 2018 별로 추가된 기능과 사용법이 한 번에 잘 정리되어 있어서 확인하기 좋다.(영어)
  • 배민찬은 Vue를 어떻게 사용하나요? : 배민찬 서비스에서 jQuery를 사용하던 레거시에 Vue를 도입한 과정을 설명한 글이다. 반응형 웹이 아니라 믹스인과 확장을 이용해서 공통부분을 재사용하고 DOM 접근이 필요한 곳에는 디렉티브를 만들어서 적용한 과정이 잘 나와 있다.(한국어)
  • Progressive Web Apps : PWA를 만드는 방법을 설명한 글이다. PWA의 특징을 설명하고 기본이 되는 Service Woker, manifest 작성 방법 등이 나와 있다.(한국어)
  • A Real-World WebAssembly Benchmark : 브라우저에서 PDF 문서를 볼 수 있는 PSPDFKit의 SDK를 Web Assembly로 구현하고 벤치마크를 통해 각 브라우저에서 Web Assembly와 JavaScript 구현체와의 성능 비교를 했다. Firefox를 제외하고는 아직 Web Assembly가 아주 빠르진 않은데 각 브라우저가 Web Assembly에 대한 개선 계획을 어떻게 잡고 있는지까지 정리되어 있다.(영어)
  • 산업별 자바스크립트 사용 현황 : JavaScript 사용에 대한 설문은 꽤 많지만, 업계별 사용을 정리한 JavaScript Usage by Industry를 번역한 글이다. 마케팅, IT, 정부, 교육 등 산업별로 어떤 도구와 프레임워크를 사용하고 다른 언어는 어떤 걸 사용하는지 정리한 글인데 다른 업계에서 일해본 적은 없지만 업계별 특징이 나온다는 점이 재미있다.(한국어)

그 밖의 프로그래밍 관련

  • Goodbye Microservices: From 100s of problem children to 1 superstar : Segment에서 2015년에 마이크로서비스 아키텍처를 도입했다가 다시 Monolith로 돌아간 과정을 설명한 글이다. 어떤 문제 때문에 2015년에 MSA를 도입했고 처음에는 잘 동작했고 저장소도 100여 개로 분리했지만, 시간이 지나면서 운영상의 부담이 너무 커져서 다시 단일 저장소로 합치고 기존에 있던 문제를 해결한 과정이 아주 잘 나와 있다. MSA냐 Monolith냐의 문제보다 어떤 이유로 MSA가 좋다고 생각했고 어떤 이유로 Monolith가 좋다고 생각했는지가 잘 나와 있다.(영어)
  • 커맨드라인 JSON 프로세서 jq : 개발하다 보면 파일이나 API를 통해서 JSON을 많이 다루게 되는데 이 때 편리한 jq의 사용방법을 정리한 글이다. jq를 익혀두면 JSON 데이터를 쉽게 확인하거나 조작할 수 있어서 아주 유용한데 처음 사용할 때는 문법이나 사용방법이 어색할 수 있다. 이 글에서 jq의 동작 방식이 자세하게 나와 있다.(한국어)
  • Python 3.7의 새로운 기능들 : Cool New Features in Python 3.7의 번역 글로 최근에 나온 Python 3.7의 기능을 정리한 글이다. 편리한 breakpoint(), 데이터 클리스, 타이핑 등 추가 기능의 사용법과 배경이 잘 나와 있다.(한국어)
  • Compiler in JavaScript using ANTLR : MongoDB의 Compass를 지원하면서 다른 언어로 작성한 쿼리를 컴파일하는 작업을 바탕으로 ANTLR로 JavaScript를 Python으로 컴파일 하는 과정을 설명한다. AST나 컴파일러에 대한 개념을 설명하고 이때 사용할 수 있는 도구나 개념들을 소개한 뒤에 ANTLR로 어떻게 JavaScript 코드를 UAST로 만들어서 Python으로 변환하는지를 자세히 보여주고 있다.(영어)
  • 도커(Docker) 컨테이너 로케일 설정 : Debian이나 Ubuntu로 Docker를 사용할 때 기본 로케일 설정이 POSIX라서 한글 입력이 안 되는 문제를 해결하기 위해 LC_ALL=C.UTF-8로 설정하거나 로케일을 설치해서 한글을 입력할 수 있게 하는 방법을 설명한다.(한국어)

볼만한 링크

  • 8년째 같은 제품을 만들고 있습니다 : Ridibooks의 CTO인 남현우 님이 8년간 Ridibooks를 만들면서 오래 가는 제품을 만들려면 어떻게 해야 할지에 대한 생각을 정리한 발표자료다. 개발에서 흔히 하듯이 제품개발도 컴포넌트로 만들어서 조립해야 한다는 이야기인데 그 생각을 풀어가는 과정에 많은 고민이 담겨있어서 재미있게 봤다.(한국어)
  • 스타트업에서 전화응대 고객센터 간단히 구축하기 : LG U+ 인터넷 전화의 REST API를 이용해서 고객 전화가 올 때 사용자로 등록되어 있으면 슬랙에 사용자 정보를 보여주도록 한 과정을 설명하고 있다. 고객대응을 직접 해본 적은 없어서 이런 생각을 해본 적은 없는데 C/S 담당자가 일일이 어드민에서 조회해 보지 않고도 편하게 정보를 확인하고 기록할 수 있는 좋은 방법인 것 같다.(한국어)

IT 업계 뉴스

  • [python-committers] Transfer of power : Python 언어를 만든 귀도 반 로섬이 Python의 의사 결정에서 물러나기로 했다.(영어)
  • Postmortem for Malicious Packages Published on July 12th, 2018 : 지난 12일 ESLint 메인테이너 중 한 명의 계정이 해킹당하면서 eslint-scope@3.7.2eslint-config-eslint@5.0.2가 npm 레지스트리에 배포되었다. 이 버전을 설치하면 pastebin.com에서 코드를 받아서 실행하면서 사용자의 .npmrc를 공격자에게 보내도록 해 사용자의 npm 토큰을 탈취할 수 있게 되었다. 위 두 버전은 현재 npm 레지스트리에서 제거되었고 위 버전을 설치한 적이 있다면 토큰을 탈취당했을 수 있으므로 주의해야 한다.(영어)

프로젝트

  • termtosvg : 터미널을 SVG 애니메니션으로 녹화하는 Python 도구.
  • vim.wasm : WebAssembly로 Vim을 웹 브라우저에 포팅한 프로젝트.
  • Badgen : README 파일 등에서 주로 사용하는 상태 배지를 URL에 색과 텍스트를 지정하면 만들어주는 서비스.

버전 업데이트

2018/07/15 23:50 2018/07/15 23:50