The End of AMP : 5월 Google의 Page Experience 업데이트에서 core web vitals에 높은 가산점을 준다는 점도 있지만, AMP에 더는 랭킹 가산점을 부여하지 않겠다는 발표가 포함되었다고 한다. 그동안은 AMP를 도입하면 랭킹에 가산점을 추고 검색 결과 최상위 캐로셀에 보여주어 사용자 유입을 위해서 퍼블리싱 사이트는 AMP를 도입해서 사용할 수밖에 없었는데 더는 그러지 않아도 되게 되었다. 아직 공식으로 AMP를 폐기하겠다는 발표가 나온 것은 아니지만 AMP를 사용해서 얻을 수 있는 장점이 없으므로 업계에서 빠르게 사라질 거라는 글에 동의한다.(영어)
JavaScript Proxy… But With Reflect : ECMAScript의 Proxy와 Reflect를 설명하는 글로 단순히 사용법을 설명하기보다는 Proxy와 Reflect가 추가된 배경과 어떤 용도로 사용할 수 있는지를 설명한다. 메타 프로그래밍의 개념으로 Proxy를 통해서 대상 객체를 생성하면서 trap 함수를 통해서 프락시 된 객체의 동작을 조작할 수 있다. Reflect의 사용법과 함께 Proxy를 사용할 때 Reflect를 사용해서 prototype의 영향을 피하는 방법을 보여준다.(영어)
Node 16 now available : Apple Silicon을 정식으로 패키징해서 지원하는 버전인 Node 16이 릴리스 되었다. 이번 버전에서는 다음의 변경사항이 있다.(영어)
V8 버전이 9.0으로 올라갔다.
프로미스 Timers API가 안정 상태가 되어 await setTimeout(2000);처럼 쓸 수 있다.
새로운 Web Crypto API가 추가되어 require('crypto').webcrypto.subtle에서 쓸 수 있다.
Node-API가 버전 8이 되었다.
AbortController로 프로미스 API를 취소할 수 있다.
Buffer에서 데이터를 Base64로 인코딩/디코딩하는 atob, btoa가 추가되었다.
Node.js 10 is going EOL : Node.js 10 LTS 버전이 계획된 일정에 따라 지원이 종료되었다. 이제 10은 유지보수 기간이 끝났으므로 더는 업데이트가 되지 않고 현재 Node의 LTS 버전은 12와 14가 있고 16은 10월에 LTS가 될 예정이다.(영어)
Renaming N-API to Node-API : 그동안 Node.js의 네이티브 API인 N-API의 이름을 Node-API로 바꾼다고 한다. 원래도 N-API가 Node-API의 약어였지만 N-API를 NAPI로 발음할 때 나쁜 표현의 단어로 오인 될 수 있어서 Node-API로 바꾸기로 했다고 한다.(영어)
[shell] 원격 접속해서 시간 오래 걸리는 작업, 접속 끊어도 계속 진행되게 하기 nohup, disown, screen : 컨테이너 때문에 이전보다 서버 접속해서 작업할 일이 적어졌지만, 서버에서 오래 걸리는 쉘 명령어를 실행할 때 쉘을 종료하면 같이 죽어버리기 때문에 이 문제를 피할 수 있는 명령어를 설명한 글이다. nohup은 명령어를 실행할 때 쉘을 종료해도 죽지 않게 종료 신호를 보내지 않게 하고 disown은 nohup을 실행할 때 사용하지 못했을 때 해당 명령어의 소유권을 포기해서 계속 동작하도록 한다.(한국어)
Kotlin으로 Spring 개발할 때 : Kotlin으로 스프링을 사용할 때 필요한 플러그인이 어떻게 동작하고 어떤 장점이 있는지 정리한 글이다.(한국어)
인프라 관련
쿠버네티스 Admission Control #2 - Open Policy Agent : 지난번에 Admission Contol을 설명한 글에 이어서 Open Policy Agent를 설명한다. OPA는 꼭 Kubernetes에서만 사용해야 하는 것은 아니고 정의된 정책에 따라 요청을 허용할지 거부할지만 결정하고 실제 거부는 KUbernetes Admission Control 같은 각 플랫폼에서 처리해야 한다. 이 정책을 정의하려고 사용하는 Rego라는 언어의 간단한 사용법과 이를 이용해서 어떻게 정책을 정의하는지 설명한다.(한국어)
Retrieve HashiCorp Vault Secrets with Kubernetes CSI : Vault 1.7부터 Vault Provider for Secrets Store CSI Driver가 실험 상태를 벗어나서 베타가 되었다. 이 프로젝트는 CSI(Container Storage Interface)로 Kubernetes Pod 볼륨에 Valut 시크릿을 노출한다. CSI 대신 사이드카 인젝션을 쓰는 방법도 있고 둘다 좋은 방법이지만 사이드카는 별도의 사이드카 컨테이너를 띄워야 하고 환경변수로 동기화할 방법이 없는 대신 시크릿에 템플릿을 적용할 수 있고 로테이션도 가능하다. CSI는 별도의 컨테이너 없이 DemonSet으로 쉽게 시크릿을 동기화할 수 있다.(영어)
Introducing the Prometheus Conformance Program : Prometheus에서 CNCF의 도움을 받아서 Prometheus Conformance 프로그램을 발표했다. 이 프로그램은 (현재) 3개의 컴포넌트인 PromQL, 원격 읽기/쓰기, OpenMetrics의 컴플라이언스 테스트를 진행해서 해당 프로젝나 벤더가 Prometheus의 기준을 따르는지를 인증받을 수 있게 하는 해서 생태계 내의 상호운용성을 높이기 위한 프로그램이다. 컴포넌트별로 "OpenMetrics 2021-05 compliant", "PromQL 2021-05 compliant" 같은 식으로 표시할 수 있고 모두 완료한 소프트웨어는 "Prometheus 2.26 compatible"처럼 표시된다.(영어)
볼만한 링크
Babel is used by millions, so why are we running out of money? : Babel이 전 세계적으로 엄청나게 인기 있고 많이 사용하고 있지만, 펀딩은 점점 줄어들어서 코어 개발자들에게 월급을 지불하기가 쉽지 않다고 설명한 글이다. 참고로 Babel의 리드 개발자인 Henry는 풀타임으로 오픈소스 개발을 하고 있고 2018년부터 Henry를 풀타임으로 월급을 지불하고 2019년에 추가 컨트리뷰터에게 파트타임으로 월급을 주고 있지만, 기부금이 점점 줄어들어서 올해 말이면 소진될 것이라고 한다. 전체 팀을 풀타임으로 고용하려면 현재보다 두 배 정도의 기부가 필요하다고 한다.(영어)
재활성화 차원에서는 340~430억 달러의 시장을 예상했는데 클라우드를 사용하여 비용과 위험을 줄이고 기존 접근 방식을 벗어나는 것을 의미한다. 비용에서는 개발/유지보수 생산성을 38% 향상하고 인프라 비용 효율성은 29% 향상한다고 한다. 클라우드를 이용해서 다운 타임도 57% 줄일 수 있고 비용도 26% 감소시킬 수 있다고 한다. 그리고 클라우드를 통해서 인력을 고부가가치 작업으로 재배치하면서 추가적인 가치를 만들 수 있다.
혁신 차원에서는 360억~770억 달러의 시장을 예상했는데 클라우드로 혁신을 가속하거나 가능하게 하는 것을 의미한다. 클라우드로 작고 빠른 시도를 하게 되어 새로운 비즈니스를 시작하거나 확장할 때 막대한 비용을 아낄 수 있고 제품/서비스 출시 기간도 대폭 단축하고 확장에도 활용할 수 있다고 한다.
모든 산업에 영향을 주지만 하이테크, 석유/가스, 소매, 헬스케어에서 가장 많은 가치를 창출할 수 있을 것으로 보고 느리게 변화하는 기존 기업에 위협이 될 수 있다고 한다.
클라우드 성숙도가 높은 기업은 첨단 기술과 혁신의 얼리어답터이며 기술이 비즈니스의 경쟁 차별화 요소이자 핵심 요소로 간주한다는 특성이 있다고 한다. 보고서에 따르면 클라우드 성숙도가 높은 기업이 제품의 개발, 출시, 품질까지 모든 면에서 경쟁력이 우위였다고 한다.
코더 : 개발자 간에 실력의 차이는 존재하지만 얼마 전 뉴스에도 나온 "코더"라는 비하의 의미를 가진 표현을 반대하고 뛰어난 개발자는 다 코딩을 여전히 하고 있고 해야 한다고 하고 있다. 그리고 긴 경험을 바탕으로 고급 개발자의 조건으로 코딩과 겸손함, 커뮤니케이션을 꼽고 있는데 그 이유나 설명이 아주 잘 되어 있다. 이 조건에 아주 동의하고 있다.(한국어)
IT 업계 뉴스
Announcing Rome Tools, Inc. : 얼마 전에 Deno도 회사를 만들었는데 Rome도 Rome Tool, Inc라는 회사를 만들었다. Rome을 만든 Sebastian McKenzie는 원래 Babel을 만든 사람이고 Rome이 Sebastian이 새로 만든 e2e 개발 툴 체인으로 JavaScript, TypeScript, HTML, CSS 등을 하나의 도구에서 지원한다.(영어)
ORG Shutdown : Travis가 travis-ci.org와 travis-ci.com으로 분리되어 운영되던 부분이 travis-ci.com으로 완전히 마이그레이션된다. 이 작업은 2018년부터 공지되어 진행되어 왔고 5월 31일에 travis-ci.org는 내려갈 예정이다.(영어)
프로젝트
mysetting : Subicura님이 만든 서비스로 개발 관련 팁이나 프로그램, 프로필을 공유할 수 있다.
Comments