웹개발 관련
- Machine Learning-Driven Bundling. The Future of JavaScript Tooling : 웹페이지가 점점 복잡해짐에 따라 속도를 높이기 위해 Code Splitting을 하고 pre-fetch를 하는데 이를 Google Analytics에 쌓인 사용자가 방문한 페이지에 기반을 둬서 자동으로 이뤄질 수 있도록 한 접근이다. 아직 실험적이라고는 하지만 React와 Angular에 대한 데모를 다 제공하고 있고 GA 데이터를 분석해서 자동으로 Code Splitting을 하고 pre-fetch하는 모듈까지 만들어놨다. 정말 흥미로운 접근인데 앞으로는 이렇게 데이터를 이용해서 자동으로 번들링을 하게 될 것 같다.(영어)
- 10x Performance Increases: Optimizing a Static Site : 해외에 나갔다가 자신의 사이트가 느리다는 것을 깨닫고 웹사이트를 개선한 과정을 설명한 글이다. 요청 수 줄이기, 압축, HTTP/2, 캐싱 등 웹사이트 성능에서 기본적이지만 필수적인 부분을 하나하나 다루고 있다.(영어)
- How to NOT React: Common Anti-Patterns and Gotchas in React : React에서 주의해야 할 안티 패턴과 해결책을 설명한 글이다. 컴포넌트에서
bind()
함수의 사용, 이터레이터에서key
값에 주의할 부분,setState()
가 비동기라서 의도대로 안되는 부분,props
로 클래스 생성자에서 값을 초기화할 때 이후 업데이트가 안 되는 부분 등을 다루고 있다.(영어) - How we gradually migrated to TypeScript at Unsplash : JavaScript로 작업하던 Unsplash에서 TypeScirpt로 전환한 과정을 설명한 글이다. 먼저
tsconfig.json
를 추가해서 JS 파일의 타입 체커로 사용하고 코드에 JSDoc을 추가한 뒤에 순차적으로 JavaScript 코드를 TypeScript로 변환하면서 컴파일로 옵션을 점점 엄격하게 적용했다고 한다.(영어) - Top JavaScript VSCode Extensions for Faster Development : Visual Studio Code로 JavaScript 개발할 때 도움이 될 유용한 익스텐션을 정리한 글이다. REPL처럼 에디터 내에서 즉시 실행결과를 볼 수 있거나 여는 괄호와 닫는 괄호의 색을 맞춰서 보여주거나 import 할 때 해당 모듈의 크기를 보여주는 등 흥미로운 익스텐션이 많다.(영어)
- Check out these useful ECMAScript 2015 (ES6) tips and tricks : ES2015에서 유용한 팁을 모아놓은 글이다. 기본 파라미터값을 이용한 필수값 검사와
reduce
, 전개 연산자 사용법 등이 있는데 나같은 경우는 destructuring의 활용이 꽤 유용했다. ES2015를 사용하면 JavaScript 코드가 깔끔해지므로 몰랐던 내용이 있는지 확인해 볼 만하다.(영어) - Making WebAssembly better for Rust & for all languages : WebAssembly의 현재 제약사항으로 Rust 등의 언어를 사용해서 JavaScript와 같이 사용할 때의 접근 방법을 설명하는 글이다. wasm에 현재 integers와 floating point만 지원하므로 다른 타입을 wasm에 전달해서 주고받으려면 메모리에 저장한 뒤 숫자로 메모리 위치를 넘기는 등의 방법을 사용해야 하는데
wasm-bindgen
를 이용해서 이를 간편하게 할 수 있고wasm-pack
를 이용해서 Rust 코드와 JS 코드를 같이 npm 모듈로 만들 수 있다. 그리고 JS와 wasm을 같이 사용하기 위해서 ES modules를 이용하는 방법까지 나와 있어서 현재 WebAssembly가 어느 정도 위치에 와있는지 파악할 수 있다.(영어) - Tomorrow’s ES Modules Today! : 아직은 Node.js에서 완전히 지원하지 않은 ES Modules를 바로 사용할 수 있게 만들어주는 ESM 모듈의 현재 상황과 방향을 얘기하는 글이다. CJS 기반인 Node.js에서 별다른 설정 없이 바로 ES Modules를 사용할 수 있으며 Node.js가
.mjs
로 가려고 하고 있으므로 이 부분은 아직 활성화해놓지 않고.js
의require
문 대신import
문을 쓸 수 있게 해준다.(영어)
그 밖의 프로그래밍 관련
- World celebrates, cyber-snoops cry as TLS 1.3 internet crypto approved : IESG에서 75%의 찬성으로 승인받으면서 TLS 1.3이 RFC 큐에 등록되었다. 관련해서 An Overview of TLS 1.3 – Faster and More Secure를 보면 TLS 1.3이 1.2에 비해서 어떻게 달라졌는지 알 수 있다.(영어)
- Introducing Jenkins X: a CI/CD solution for modern cloud applications on Kubernetes : Jenkins 팀에서 현대의 클라우드 시대에 맞게 Kubernetes 기반으로 CI/CD를 할 수 있는 새 프로젝트 Jenkins X를 공개했다. Kubernets 기반으로 쉽게 어떤 클라우드를 대상으로도 설정할 수 있고 Pull Reqeust를 미리 확인할 수 있도록 배포해 주는 기능도 인상적이다.(영어)
- Migrating to Kubernetes with zero downtime: the why and how : AWS EC2로 운영하던 서비스를 Kubernetes로 이 전환 과정을 설명한 글이다. DNS를 이용해서 레거시와 신규 인프라를 동시에 운영하면서 무중단으로 옮겨간 내용보다는 Kubernetes로 가기로 하면서 managed 서비스를 제공하는 GCP나 Azure로 갈지 AWS에서 직접 Kubernetes를 운영할지를 고민하면서 kops로 HA 구성을 테스트해본 내용이 나한테는 더 유용했다.(영어)
- Kubernetes 01 – Pod : Kubernetes에서 가장 기본 단위인 Pod의 개념을 설명하고
kubectl
로 Pod을 만들고 사용하는 방법을 설명한 글이다.(한국어) - Introducing gRPC Support with NGINX 1.13.10 : nginx 1.13.10에서 gRPC를 지원한다.(영어)
- 깃허브, 라이선스 검사 툴 오픈소스화…개발 단계부터 의존성 검사 : GitHub에서 의존성 라이브러리의 라이센스를 검사해주는 licensed를 공개했다. 이 도구는 Bower, Bundler, Cabal, Go, NPM 등을 자동으로 탐지해서 라이센스를 검사한다.(한국어)
볼만한 링크
- 나는 그저 그런 개발자입니다. : 그저 그런(?) 개발자가 살아남기 위해서 어떻게 하는 게 좋은지 본인의 경험을 바탕으로 정리한 글이다. 쉽게 읽을 수 있는 글이지만 좋은 공부 방법을 나와 있다.(한국어)
- 회사에서 발견할 수 있는 50가지 유형의 사람들 대정리 : 회사에서 볼 수 있는 사람들의 유형을 정리한 글이다. 글을 꽤 재미있게 잘 써서 보면서 그래 이런 사람 있지 하면서 재미있게 읽었다.(한국어)
- 개발자가 블로그를 운영해야 할 이유 : 개발 블로그가 더 많아지길 바라는 사람으로서 반가운 글이다. 블로그를 해야 하는 이유로 글을 쓰면서 더 정확한 지식을 얻을 수 있고 좋은 동기화 새로운 기회를 얻을 수 있고 운이 좋다면 부수입을 얻을 수 있는 점을 꼽았다. 오랫동안 블로그를 운영한 경험을 바탕으로 어떤 주제로 글을 쓰면 좋을지도 설명하고 있다.(한국어)
- How to write a great developer résumé and showcase your software engineer skills : 개발자가 이력서를 작성할 때 해야 할 일과 하지 말아야 할 부분을 정리한 글이다. Twitter에 입사하면서 자신이 깨달은 부분과 입사 후에 Twitter의 기술 리크루터 Kristin Simmons와 논의해서 정리한 글이라 더 신뢰가 가고 국내와는 약간 다른 해외 시장을 보고 있다면 참고해 봐야 할 글이다.(영어)
- 신입 소프트웨어 엔지니어의 영문 이력서 작성 후기 : 영문 이력서를 작성하면서 염두에 두어야 할 부분을 체크리스트로 정리해 놓았고 이를 바탕으로 글쓴이가 작성한 이력서를 첨부해 두고 단락마다 어떤 의도로 정리했는지가 잘 나와 있다. 정리가 잘 되어 있어서 영문 이력서를 작성하려고 할 때 읽어두면 도움이 될 글이다.(영어)
- 1달 사용해 본 후 느낀 스팀잇의 문제점 5가지 : 블로그를 하다 보니 스팀잇에도 관심이 있는데 자세히 살펴본 적은 없지만, 이 글을 통해서 스팀잇의 분위기를 어느 정도 느낄 수 있었다. 주로 스팀파워를 가진 고래들에게 너무 편중된 파워의 차이와 좋은 글이 제대로 큐레이팅 되지 않고 오히려 특정 사람들의 글이나 수익이 높을 것이라고 예상되는 글만 추천을 받아서 타임라인이 재미없어지는 부분을 문제점으로 꼽았다.(한국어)
IT 업계 뉴스
- '정보유출' 파문에 페이스북 사면초가..저커버그 두문불출 : 페이스북 사용자의 개인정보를 케임브리지 애널리티카(CA)에 유출했다는 의혹에 생겨서 연일 주가가 폭락하며 페이스북을 소송하고 해명을 요구하는 분위기가 일어나고 있다.(한국어)
- 드롭박스, 성공적 IPO...기업가치 120억달러로 껑충 : Dropbox가 뉴욕 증시에 성공적으로 상장해서 기업가치가 126억 달러가 되었다. 10년 전에 Dropbox가 투자받기 위해 만든 발표자료를 다시 보는 것도 재미있다.(한국어)
- 8년 끈 세기의 '자바 전쟁', 구글이 오라클에 패하다…안드로이드 생태계 흔들 : 구글이 안드로이드에서 자바의 API 저작권을 침해했다면 오라클의 소송이 결국 오라클의 승소로 끝이 났다. 처음 봤을 때 이게 소송 거리가 되는 건가 싶었는데 당황스럽게도 오라클이 이겼다.(한국어)
프로젝트
- TOAST UI Chart : NHN 엔터테인먼트에서 공개한 오픈소스 JavaScript 차트 라이브러리로 IE 8 이상을 지원한다.
- oclif : Heroku에서 만든 Node.js CLI 프레임워크.
- Dejavu : Elasticsearch의 웹 UI.
- Babel Time Travel : Babel이 JavaScript 트랜스파일하는 과정을 단계별로 볼 수 있는 웹사이트.
- TensorFlow.js : ML 모델을 훈련하고 배포하는 WebGL 기반의 JavaScript 라이브러리.
버전 업데이트
- JDK 10 : Java Development Kit, 릴리스 공지
- d3.js v5.0 : JavaScript 시각화 라이브러리, 변경사항
- React v16.3.0 : 자바스크립트 UI 라이브러리, 릴리스 공지
- TypeScript v2.8 : Microsoft가 만든 JavaScript transpiler, 릴리스 공지
- Parcel v1.7.0 : 웹 애플리케이션 번들러, 변경사항
- Atom v1.25 : 에디터, 릴리스 공지
- QUnit v2.6.0 : JavaScript 테스트 프레임워크, 릴리스 공지
- Android Studio v3.1 : 안드로이드 IDE, 릴리스 공지
- Kubernetes v1.10 : 컨테이너 오케스트레이션 도구, 릴리스 공지
- Ansible v2.5 : IT 자동화 시스템, 릴리스 공지
- Kong CE v1.3.0 : API 게이트웨이, 릴리스 공지
- Rust v1.25 : 프로그래밍 언어, 릴리스 공지
- Swift v4.1 : 프로그래밍 언어, 릴리스 공지
- SwiftNIO v1.3.0 : Swift 이벤트 기반 네트워크 애플리케이션 프레임워크, 릴리스 공지
- TensorFlow v1.7.0 : 기계학습, 딥러닝 라이브러리, 릴리스 공지
항상 좋은정보 감사합니다
오늘도 좋은글 많이 보고 갑니다!
매번 좋은 정리 감사합니다.
존경해요