Deno KV : Deno에서 JavaScript/TypeScript에 최적화된 키/밸류 Deno KV를 공개했다. DenoKV는 FoundationDB 기반으로 ACID 트랜잭션을 지원하고 특별한 설정 없이 32개 전 세계 데이터센터에서 바로 사용할 수 있다.(영어)
Ask Netlify : 프론트엔드 배포 플랫폼인 Netlify의 문서 사이트에서 채팅으로 질문하면 문서 내용에 맞게 AI가 답변하는 기능이 추가되었다. GPT에서 유용해 보여서 관심 많은 부분인데 Netlify에서 먼저 도입했고 한국어도 잘 지원하고 있다.(영어)
What's New in DevTools (Chrome 113) : Chrome 113의 개발자 도구에서는 로컬에서 응답 헤더를 조작할 수 있게 되고 Nuxt/Vite/Rollup에서 생성된 코드의 디버깅이 더 쉽게 스택 트레이스를 개선하고 인라인 스타일 중 유효하지 않은 CSS도 잘 표시하며 키 프레임 단축어에 링크도 추가된다.(영어)
그 밖의 개발 관련
Building a ChatGPT Plugin for Medium : Medium에서 ChatGPT 플러그인을 만들어 보면서 경험을 정리한 글이다. 참고로 이 플러그인은 아직 공개 여부는 정하지 않았다고 한다. 사이트에서 .well-known/ai-plugin.json를 노출해서 쉽게 플러그인을 구축할 수 있고 GraphQL로 된 API를 ChatGPT를 위해 RESTful API로 노출하도록 Go로 프로그램을 작성했지만 다양하게 테스트해 본 결과 API를 이용해서 꽤 괜찮은 결과를 조회하고 연관된 콘텐츠까지도 조회하는 등 ChatGPT의 이해도가 놀라웠다고 하고 있다.(영어)
마틴 파울러가 알려주는 ChatGPT와 페어 프로그래밍 하는 법 : 리팩토링으로 유명한 Martin Fowler가 ThoughtWorks의 동료인 Xu Hao와 대화하다가 Xu Hao가 ChatGPT를 활용하는 방법을 듣고 정리한 글이다. 테스크 코드를 작성하는 과정인데 어떤 프로그램이 있고 어떤 테스트를 만들려고 하는지 아주 자세한 프롬프트를 제공하지만, 코드는 작성하지 않도록 하고 나온 대답에 관해서 추가적인 지시를 하거나 답변한 내용의 이유를 물어보면서 해야 할 작업 목록을 구체화한 뒤 맘에 들면 각 할 일마다 컴포넌트의 이름을 작성한 뒤에 테스트 코드를 작성하게 합니다. 토큰 제한 때문에 앞의 맥락을 잊어버리는 게 문제인데 할 일 목록을 만든 것을 다시 입력하면 새 세션에서도 다시 이야기를 이어 나갈 수 있다고 한다.(영어)
How to troubleshoot memory leaks in Go with Grafana Pyroscope : Grafana가 최근에 인수한 Continuous Profiling 회사 서비스 Pyroscope를 이용해서 Go 프로그램의 메모리 릭을 추적하는 과정을 설명한 글이다. 간단하게 메모리 릭이 있는 Go 프로그램을 작성하고 프로그램에 Pyroscope를 통합시킨 뒤 메모리 추적을 통해 프레임 그래프를 보면서 문제가 되는 부분을 찾고 있다.(영어)
One Click Into GitHub Codespaces : 프로젝트의 Codespace를 GitHub 외부에서 바로 열 수 있는 Deep 링크 기능이 추가되어 링크나 버튼을 외부에 공유할 수 있게 되었다. 추가로 Codespace를 실행할 때 추천 시크릿을 보여주는 기능이 추가되었고 Dev Container에 이름을 지정할 수 있게 되었다.(영어)
Announcing GitHub Actions Deployment Protection Rules, now in public beta : GitHub Actions의 배포 기능을 사용할 때 Deployment protection rules가 추가되었다. 이를 통해 Datadog, Honeycomb, New Relic, NodeSource, Sentry, ServiceNow 등 GitHub과 파트너쉽을 맺은 회사가 이미 앱을 제공하고 있고 이 앱을 통해 배포 시 안전한 배포만 나가도록 추가적인 보호 정책을 적용할 수 있고 직접 Deployment protection rules을 만들어서 공유하는 것도 가능하다.(영어)
Cilium Mesh – One Mesh to Connect Them All : Cilium에서 범용 네트워킹 레이어인 Cilium Mesh를 공개했다. Cilium 기반 네트워크와 보안을 확장하기 위해 Cilium Mesh가 도입되었으며 기존 Cilium 구성 요소와 연결되어 Kubernetes를 넘어서 멀티 클라우드 혹은 하이브리드 클라우드에 걸쳐서 제로 트러스트 보안을 적용하고 네트워크 가시성을 얻을 수 있다.(영어)
Monitor OpenAI GPT application usage in New Relic : New Relic에서 OpenAI의 GPT 모델을 서비스에서 사용하는 사용자가 GPT 모델의 성능을 모니터링 할 수 있는 기능을 공개했다. OpenAI의 API를 사용할 때 New Relic의 모니터링 코드를 추가하면 사용량과 모델의 응답 속도를 측정해서 비용과 성능을 모니터링할 수 있다.(영어)
Azure Kubernetes upgrades and Long Term Support : Azure의 매니지드 Kubernetes 서비스인 AKS에서 LTS(장기지원)를 도입했다. Kubernetes는 매년 3번의 릴리스를 하고 각 릴리즈는 1년간 지원되므로 매번 Kubernetes 버전을 따라가는 것이 인프라팀에는 꽤 부담인데 5월에 출시된 1.27부터 LTS를 지원하고 2년 동안 Azure에서 포크에서 지원 및 보안 업데이트를 제공할 예정이다.(영어)
당신이 성장하지 못하는 이유 : 어떻게 하면 성장할 수 있는지를 정리한 글인데 적절한 비유와 함께 다양한 관점으로 설명하고 있다. 본인 능력에 맞게 적절한 난이도를 조절해야 하고 더 큰 성장을 위해 피드백을 받을 수 있는 환경을 만들거나 그런 환경으로 이동해야 한다. 그래서 정체된다고 느끼면 이런 부분을 고민해서 시도해 봐야 하고 잘못 알고 있는 것을 빨리 인지할 수 있도록 작고 빠르게 실패하기를 권하고 있다.(영어)
IT 업계 뉴스
Apple wins antitrust court battle with Epic Games, appeals court rules : Apple이 포트나이트 게임의 개발자인 Epic Games와의 앱스토어 정책의 반독점 관련 소송에서 승소했다. Epic Games는 iOS의 앱 배포를 앱 스토어에서만 가능하게 하며 다른 결제 방법을 쓰지 못하게 했다고 2020년 소송했지만 10건의 청구 중 Apple이 9건을 승소했다. iOS 앱에서 다른 결제 수단 안내를 금지하지 못하게 하는 판결은 여전히 유효하며 애플과 에픽게임즈는 진 소송 건에 관해 항소하기로 했다.(영어)
A message from our CEO : Dropbox의 CEO인 Drew Houston은 Dropbox 전 세계 직원 중 16%인 500명을 감축하기로 하고 직원들에게 이메일을 보냈다. Dropbox는 수익성이 좋지만, 성장세는 둔화하고 있으며 AI 시대가 도래했기 때문에 새로운 투자가 필요해졌고 이러한 투자 여력을 확보하기 위해 인력 감축을 결정했다고 한다.(영어)
세가, 앵그리버드 개발사 로비오 1조원에 인수 : Sega가 Angry Birds를 만든 게임 개발사 Rovio를 약 1조 179억 원(7억 6백만 유로)에 인수하기로 했다. Sega는 이번 인수가 모바일게임 포트폴리오를 강화하기 위해서라고 밝혔다.(영어)
Kargo : Argo 프로젝트의 Akuity에서 만든 프로젝트로 GitOps로 지속적 배포를 할 수 있게 하는 애플리케이션 라이프사이클 오케스트레이션. 프로젝트는 아주 초기 단계이다.
MRSK : 리버스 프록시 Traefik을 이용해서 다운타임 없이 Docker로 앱을 배포하는 도구, 복잡한 구성없이 컨테이너를 운영할 수 있게 해주며 컨테이너를 위한 Capistrano라고 생각하면 Rails의 DHH가 rails를 위해 만들었으나 다른 앱에서도 사용할 수 있다.
ContainerSSH : Kubernetes, Podman, Docker에 SSH 연결마다 새로운 컨테이너를 실행해 주는 프로젝트로 SSH 연결이 끊기면 컨테이너도 제거된다.
Comments