웹개발 관련
- QUIC과 HTTP/3 - 1. UDP기반 전송 프로토콜의 대두 : QUIC을 설명하는 시리즈 글인데 1편에서는 TCP에 어떤 특징과 한계가 있어서 UDP 프로토콜을 사용하게 되었는지(QUIC이 UDP를 사용한다) QUIC과 HTTP/3 - 2. 기존의 성능 개선 기법 및 한계에서는 우리가 사용하는 HTTP에서 지연시간에 영향을 주는 RTT, HoLB를 설명하고 HTTP/2에 특징을 설명하고 있다. 관련 레퍼런스까지 꽤 자세하게 나와 있어서 찬찬히 읽어볼 만하고 본격적으로 QUIC이 등장할 3편이 기대된다.(한국어)
- Standardizing WASI: A system interface to run WebAssembly outside the web : WebAssembly가 웹 브라우저 밖에서도 주목을 받으면서 다양한 머신에서 WebAssembly를 실행할 때 브라우저 외에 운영체제에서도 실행할 수 있도록 만들어진 WASI(WebAssembly system interface)를 설명하는 글이다. 왜 WASI가 필요했고 어떻게 구성되어 있는지가 설명되어 있다. WASI에 대해서는 최근에 알게 되었는데 이글을 통해 대충의 개념을 잡을 수 있다.(영어)
- Introducing the JetStream 2 Benchmark Suite : Webkit에서 JavaScript 벤치마크 도구인 JetStream의 새 버전인 JetStream 2를 발표했다. 2에서는 2014년 공개한 이전 버전에서 지원하지 않던 WebAssembly, 웹 워커 등이 추가되었다.(영어)
- Introducing the Gmail Developer Preview of AMP in Email: 모바일 콘텐츠를 빠르게 로딩해 주는 AMP를 이메일에서도 사용할 수 있게 한다고 Google에서 발표했다. AMP for Email을 통해서 AMP 컴포넌트를 이메일에서 사용할 수 있어서 더 인터렉티브한 이메일 콘텐츠를 작성할 수 있게 된다고 한다.(영어)
그 밖의 프로그래밍 관련
- AWS 서비스를 활용한 Kubernetes 클러스터 구축 : 타다에서 AWS에 Kubernetes 클러스터를 구성한 방법을 설명하고 있다. Kubernetes 자체 설명보다는 gRPC를 쓰면서 ingress를 어떻게 구성했는지 컨테이너에서 AWS 권한을 주기 위해서 kube2iam를 적용한 방법, 로그를 수집하기 위해 CloudWatch Logs와 Prometheus를 구성한 방법, 오토스케일링을 위해서 Cluster Autoscaler를 어떻게 사용하고 있는지가 자세히 나와있다. AWS에서 Kubernetes를 구축한다면 큰 도움이 될 글이다.(한국어)
- Introducing experimental integrity policies to Node.js : Node.js 11.8.0에 실험적으로 들어간
integrity
정책에 관해 설명하는 기능이다. 이는 웹브라우저가 리소스의 무결성을 검사하는integrity
와 마찬가지로 모듈이 조작되었는지 검사한 뒤 이상이 없으면 메모리에 올린다. 11.8.0에는 모듈 로더가 만 포함되었고 정책 manifest를 다루는 기능은 아직 들어가지 않았으므로node-policy
를 설치해서 테스트해 보아야 한다.(영어) - Elastic Infrastructure GA Released : Elastic Stack에서 인프라스트럭처의 매트릭을 모니터링하는 Elastic Infrastructure가 GA로 릴리스 되었다.(영어)
볼만한 링크
- Open Source Doesn’t Make Money Because It Isn’t Designed To Make Money : 오픈소스는 돈을 벌기 위해 만들어지지 않았으므로 돈을 벌기 어렵다는 얘기의 글이다. 광고나 호스팅 서비스, 컨설팅 등 우리가 주로 돈을 내고 쓰는 제품들을 설명하고 오픈소스에는 비즈니스적인 관점이 있으므로 이런 부분을 해결하지 않으면 돈을 벌기 어렵다고 얘기하고 있다. 최근 AWS의 Open Distro for Elasticsearch도 있고 해서 생각해 볼만한 주제이다.(영어)
- 많은 양의 개체들을 시각화하는 방법, 그리고 전국의 모든 건물 : 인구의 이동이나 각 건물 등을 대량의 데이터를 시각화하면서 개선한 내용을 설명하고 있다. 그려야 할 개체들이 많으므로 처음 Java로 구현했을 때는 렌더링에 6시간이 걸렸지만, 프로세싱으로 100초로 줄였지만 이마저도 OpenGL로 0.03초 이하로 줄이면서 시각화를 더 인터렉티브 할 수 있게 만들게 된다. 여기서 Mesh Shader라는 새로운 방식으로 더 개선하는 내용까지 나오는데 렌더링에 대한 전문 지식이 없더라도 재미있게 읽을 수 있다.(한국어)
- 리멤버 QA팀이 하는 일 : 드라마앤컴퍼니에서 QA팀이 앱 테스트를 개선하는 과정을 설명하고 있다. 매번 전수 테스트를 하면서 점점 비효율적으로 되어서 테스트 시나리오의 기능별 분할을 통해서 수정 내용에 따라 테스트를 효율적으로 진행할 수 있게 하고 자동화할 수 있는 부분은 Appium과 Selenium을 통해 테스트를 자동화했다고 한다. QA에서 API를 배워서 테스트의 효율 및 개발팀과의 협업을 개선한 부분도 흥미롭다.(한국어)
- 스타트업에서 디자인과 고군분투하기 : 브알못의 로고 리디자인 : 서비스 "구름"을 만드는 코다임에서 사명을 구름으로 바꾸기로 하면서 새로 로고를 디자인한 과정을 나와 있다. 새 로고의 컨셉을 정하는 부분부터 다양한 디자인을 통해서 사내에 피드백을 통해서 로고를 정하고 이를 다듬는 과정을 보여주고 있다.(한국어)
IT 업계 뉴스
- Slack Enterprise Key Management : Slack 엔터프라이즈 버전에서 키를 암호화해서 관리할 수 있는 EKM(Enterprise Key Management) 기능이 발표되었다. 업무용으로 쓰다 보니 키 파일이나 비밀번호 등 민감한 데이터를 Slack으로 주고받는 경우가 많은데 EKM을 사용하면 Slack에서 이를 안전하게 관리할 수 있다. 구현에 대한 세부 내용은 How We Built Slack Enterprise Key Management에서 볼 수 있다.(영어)
- [GDC2019] 언제 어디서나 플레이, 구글 스트리밍 서비스 '스태디아' 공개 : Google이 스티리밍 게임 서비스 Stadia를 공개했다.(한국어)
- Lyft prices IPO at top of range : Lyft가 $72로 나스닥에 상장하기로 결정되었고 평가가치는 27조 원 정도이다.(영어)
- Pinterest IPO filing reveals plenty of data : Pinterest가 상장을 위해 S1 문서를 작성해서 공개했다. 이 문서에 따르면 2억 6천 5백만의 MAU를 기록하고 있으면 연간 소득이 7억 5천만 달러 이상이라고 한다.(영어)
- The Next CEO of Stack Overflow : 조엘 스폴스키가 Stack OVerflow의 CEO에서 물러나고 새로운 CEO를 찾고 있다고 밝혔다.(영어)
프로젝트
- GitHub Issue Link Status : GitHub의 이슈 링크에서 열렸는지 닫혔는지 등 상태를 색상으로 표시해 주는 브라우저(크롬, 파이어폭스, 오페라) 확장 프로그램.
- Release Drafter : Pull Request가 머지되면 draft 릴리스를 업데이트해 주는 GitHub App.
- terraform-best-practices : Terraform 사용 팁을 모아놓은 저장소.
- 한글 맞춤법 검사기 : Facebook, Twitter, GitHub 등에서 글을 작성할 때 맞춤법 검사를 도와주는 크롬 익스텐션.
- Lucet : Fastly에서 만든 웹어셉블리 컴파일러.
- kubernetes-client : GoDaddy에서 Node.js로 만든 Kubernetes API 클라이언트.
- 0x : Node.js 프로세스를 프로파일링하는 프레임 그래프를 생성해 주는 도구.
- ptr : Python 테스트 러너.
버전 업데이트
- Babel v7.4.0 : JavaScript 컴파일러, 릴리스 공지
- TypeScript v3.4 : Microsoft가 만든 JavaScript transpiler, 릴리스 공지
- V8 v7.4 : JavaScript 엔진, 릴리스 공지
- React Router v5.0.0 : React의 라우팅 라이브러리, 릴리스 공지
- Nuxt.js v2.5.0 : 서버렌더링 Vue.js 애플리케이션 프레임워크, 릴리스 공지
- webpack-cli v3.3.0 : Webpack의 커맨드라인 인터페이스, 릴리스 공지
- ESLint v5.16.0 : JavaScript 코드 분석 도구, 릴리스 공지
- Rollup v1.7.0 : JavaScript 번들러, 변경사항
- JDK 12 : Oracle Java Development Kit, 릴리스 공지
- Spring Boot v2.2.0 : 스프링 애플리케이션의 구축을 도와주는 도구, 릴리스 공지
- Spring Tools 4.2.0 : Spring 코딩 환경을 위한 도구, 릴리스 공지
- Gradle v5.3 : Java 빌드 도구, 릴리스 공지
- LLVM v8.0.0 : 컴파일러, 릴리스 공지
- Kubernetes 1.14 : 컨테이너 오케스트레이션 도구, 릴리스 공지
- Vault v1.1 : 시크릿 정보 관리 도구, 릴리스 공지
- Kong 1.1 : API 게이트웨이, 릴리스 공지
- PyPy v7.1.0 : Python 구현체, 릴리스 공지
- libuv v1.27.0 : Node.js의 비동기 I/O 라이브러리, 변경사항
- Yona v1.12.0 : 설치형 이슈 트래커, 릴리스 공지
- Probot v9.0 : GitHub 앱을 만들 수 있는 프레임워크, 릴리스 공지
- Elastic Stack v6.7.0 : 엘라스틱 스택, 릴리스 공지
- fastify v2.1.0 : Node.js 웹 프레임워크, 변경사항
Comments