Meet Face ID and Touch ID for the Web : Safari 브라우저에서 WebAuthn API를 이용해서 Apple의 Face ID나 Touch ID를 사용할 수 있도록 제공하게 되었다. navigator.credentials.create()로 Face ID/Touch ID를 제공하고 navigator.credentials.get()로 기존에 저장된 인증을 보여주는 방법을 설명하고 사용자의 행동에 따라 활용하는 방법이 나와 있다.(영어)
Cloudflare Analytics review : Google Analytics의 오픈소스 대체재인 Plausible Analytics의 개발자가 Cloudflare가 최근 공개한 Analytics를 리뷰한 글이다. Cloudflare Analytics가 Plausible Analytics보다 18배 많은 방문자와 페이지뷰를 기록하는데 서버 로그로 분석하기 때문에 부정확하다. 프라이버시를 지키는 Analytics로 가는 것은 좋지만 10% 정도의 데이터를 샘플링한 결과이고 7일 이전의 데이터는 삭제되며 일부 중요 매트릭이 빠져있다고 한다.(영어)
Announcing Ionic Vue : Ionic 프레임워크의 Vue 버전이 공개되었다. 이는 Vue 3 기준으로 작성되었고 iOS, Android, Web을 만들 수 있다.(영어)
그 밖의 개발 관련
우리는 코드 리뷰를 잘하고 있을까요? : 스타일쉐어에서 외부 강사를 모시고 코드리뷰에 대한 강연을 듣고 내용을 정리하며 현재 스타일쉐어에서 잘하는 부분과 못하는 부분을 정리한 글이다. 코드리뷰를 통해 팀 전체가 성장할 수 있고 오너쉽을 발휘할 수 있는데 리뷰를 잘하기 위해 지루한 작업은 자동화하고 빨리 리뷰를 진행하고 피드백은 고수준에서 저수준으로 남기는 게 좋다고 한다. 서로 감정이 상하지 않게 명령보다는 요청으로 남기고 제안할 때는 근거를 같이 남겨야 하고 한 번에 좋은 코드가 된다기보다 점점 좋아지기를 기대해야 한다고 한다.(한국어)
Announcing HashiCorp Waypoint : HashiCorp에서 빌드, 배포, 릴리스의 워크플로우를 어떤 플랫폼에서든 일관적으로 HCL로 작성할 수 있는 새 프로젝트 Waypoint를 발표했다.(영어)
Road to gRPC : Cloudflare에서 gRPC 지원하기까지의 과정을 설명한 글이다. gRPC가 HTTP/2를 쓰고 있어서 HTTP/2를 이미 지원하는 Cloudflare에서 바로 쓸 수 있을 것 같지만 다음과 같은 이유로 사용할 수 없었다.
HTTP trailer 헤더를 엣지 프락시가 완전히 지원하지 않고 있었다.
엣지 프락시가 오리진에서 객체를 가져올 때는 HTTP/1.1을 쓰고 있었는데 gRPC를 프락시하려면 오리진과의 통신에도 HTTP/2를 사용해야 했다.
gRPC 스트리밍을 지원하려면 반대쪽에서 응답 헤더를 받은 뒤에 바디를 보내야 했다.
이를 해결하기 위해 gPRC 메시지를 CloudFlare 내부에서만 trailer 헤더 없이 HTTP/1.1 메시지로 변환하는 방법인 gRPC-web을 이용하고 이를 다시 HTTP/2로 변환하고 오리진에서 HTTP/2를 지원할 수 있도록 별도의 오리진 프락시를 구성했다고 한다.(영어)
Comments