웹개발 관련
- 'Can I Use...', but for ARIA! : bocoup에서 3년 전 스크린 리더부터 보조 기술의 상호운용성 테스트 시스템의 개발을 위해 ARIA-AT 프로그램을 발표했는데 이번에 ARIA-AT의 첫 테스트 결과가 ARIA Practices Guide(APG)에 등록되었다. 이를 통해 JAWS, NVDA, VoiceOver 등 보조 기술(AT)이 주요 브라우저에서 어디까지 지원하고 어떻게 동작할 수 있는지 결과를 볼 수 있게 되었다. ARIA 접근성을 위한 Can I Use..라고 할 정도로 편하진 않지만, 접근성 지원 여부를 확인할 수 있게 되었다는데 큰 의미가 있다.(영어)
- 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를 통합시킨 뒤 메모리 추적을 통해 프레임 그래프를 보면서 문제가 되는 부분을 찾고 있다.(영어)
- Docker Compose Experiment: Sync Files and Automatically Rebuild Services with Watch Mode : Docker Compose가 v2에서 계속 개선이 되고 있는데 v2.17에 서비스를 자동으로 업데이트하는 Watch 명령이 실험적으로 도입되었다. Docker Compose의 YAML에서
x-develop
필드를 정의해서 특정 경로의 변경 사항이 생겼을 때 바로 컨테이너에 복사하는 sync
와 이미지를 다시 빌드하는 rebuild
옵션을 정의할 수 있게 되었다.(영어)
- One Click Into GitHub Codespaces : 프로젝트의 Codespace를 GitHub 외부에서 바로 열 수 있는 Deep 링크 기능이 추가되어 링크나 버튼을 외부에 공유할 수 있게 되었다. 추가로 Codespace를 실행할 때 추천 시크릿을 보여주는 기능이 추가되었고 Dev Container에 이름을 지정할 수 있게 되었다.(영어)
인프라 관련
볼만한 링크
- 당신이 성장하지 못하는 이유 : 어떻게 하면 성장할 수 있는지를 정리한 글인데 적절한 비유와 함께 다양한 관점으로 설명하고 있다. 본인 능력에 맞게 적절한 난이도를 조절해야 하고 더 큰 성장을 위해 피드백을 받을 수 있는 환경을 만들거나 그런 환경으로 이동해야 한다. 그래서 정체된다고 느끼면 이런 부분을 고민해서 시도해 봐야 하고 잘못 알고 있는 것을 빨리 인지할 수 있도록 작고 빠르게 실패하기를 권하고 있다.(영어)
IT 업계 뉴스
프로젝트
- AI Playground : Vercel에서 프롬프트를 하나 입력하면 다양한 GPT 모델의 결과를 비교해서 볼 수 있는 플레이그라운드를 오픈했다
- WebGPT : WebGPU를 이용해서 브라우저에서 GPT 모델을 실행하는 프로젝트
- Kargo : Argo 프로젝트의 Akuity에서 만든 프로젝트로 GitOps로 지속적 배포를 할 수 있게 하는 애플리케이션 라이프사이클 오케스트레이션. 프로젝트는 아주 초기 단계이다.
- MRSK : 리버스 프록시 Traefik을 이용해서 다운타임 없이 Docker로 앱을 배포하는 도구, 복잡한 구성없이 컨테이너를 운영할 수 있게 해주며 컨테이너를 위한 Capistrano라고 생각하면 Rails의 DHH가 rails를 위해 만들었으나 다른 앱에서도 사용할 수 있다.
- ContainerSSH : Kubernetes, Podman, Docker에 SSH 연결마다 새로운 컨테이너를 실행해 주는 프로젝트로 SSH 연결이 끊기면 컨테이너도 제거된다.
- timoni : Helm에 영감을 받아 CUE로 만든 Kuberentes 패키지 매니저.
- StableLM: Stability AI Language Models : Stable Diffusion의 Stability AI에서 오픈 소스로 공개한 언어 모델
버전 업데이트
- Ubuntu 23.04 Lunar Lobster : Linux 배포판, 릴리스 공지
- Node.js v20.0.0 (Current) : 자바스크립트 런타임, 릴리스 공지
- 파일 읽기/쓰기, 자식 프로세스, 워커 스레드 등 권한을 조정할 수 있는 퍼미션 모델의 도입
- 커스턴 ES 모듈 라이프사이클 훅이 별도의 스레드에서 실행되어 교차 오염이 방지되어 안정 버전에 거의 다가옴
- V8 11.3 버전 적용
- Test 러너가 안정 버전이 됨
- 단독 실행할 수 있는 애플리케이션(Single Executable Applications, SEA)을 1년 이상 준비 중이며 실험 플래그를 통해 초기 지원이 시작됨
- QEMU 8.0.0 : 프로세스 에뮬레이터, 릴리스 공지
- Linux Kernel v6.3 : 리눅스 커널, 릴리스 공지
- Rust 1.69.0 : 프로그래밍 언어, 릴리스 공지
- Wasmer v3.2 : WebAssembly 런타임, 릴리스 공지
- RISC-V 칩셋 지원
- WASI 리팩토링으로 속도 및 안정성 개선
- WebAssembly의 강력한 성능과 CGI의 다양성/단순성을 합친 새 표준 WCGI 지원
- 새로운 러너 아키텍처 도입
- Deno v1.33.0 : TypeScript 런타임, 릴리스 공지
- 빌트인 KV 데이터베이스
- 간결해진
deno.json
형식
- webpack v5.81.0 : JavaScript 번들러, 변경사항
- Vite v4.3.0 : 프론트엔드 빌드 도구, 릴리스 공지
- Grafana v9.5 : 매트릭 대쉬보드, 릴리스 공지
- 노이지한 알림을 줄이기 위한 알림 규칙 설정, 알림 정책 개선
- 서비스 어카운트 지원으로 조직 내 접근 제어 관리 개선
- Crossplane v1.12.0: 외부 인프라 관리용 Kubernetes 애드온, 릴리스 공지
- 많은 사용자가 요청하던 Observe-only Resources(OOR)가 추가되었다.
- Crossplane은 프로비저닝부터 삭제까지 전체 라이프사이클을 관리하도록 만들어졌지만 OOR을 사용하면 쓰기나 삭제 작업을 수행하지 않고 외부 리소스의 상태를 관찰하고 노출할 수 있다.
- OOR을 사용해서 다른 방법으로 만든 리소스의 일부 상태를 참조할 수 있고 점진적으로 Crossplane을 도입할 수 있게 되었다.
Compositions
을 컨트롤 플레인에 추가할 때 유효성을 검사해서 문제를 미리 확인할 수 있게 됨.
- GitLab v15.11 : 오픈소스 설치형 Git 플랫폼, 릴리스 공지
- Ultimate/Premium 사용자에게 Code Suggestions 제공
- self-managed 인스턴스에서 기본적으로 Web IDE 베타 활성화
- 사용자의 업적을 프로필에 표시할 수 있는 Award achievements 지원
- Google Play Store 통합
- 그룹 레벨에서 컴플라이언스 프레임워크 리포트 관리 가능
- Harbor v2.8 : 컨테이너 이미지 저장소, 릴리스 공지
- Prisma v4.13.0 : TypeScript/Node.js 데이터베이스 툴킷, 릴리스 공지
- CDK for Terraform v0.16.0 : Terraform Cloud Development Kit, 릴리스 공지
- HCL 코드를 CDKTF 호환 언어로 자동 변환하는
convert
명령어 추가
- k6 v0.44.0 : 부하 테스트 도구, 릴리스 공지
- React Router v6.11.0 : React의 라우팅 라이브러리, 릴리스 공지
- Ionic CLI v7.0 : 하이브리드 모바일 앱 프레임워크 Ionic의 CLI, 릴리스 공지
- Fastify v4.17.0 : Node.js 웹 프레임워크, 릴리스 공지
- Mikro ORM v5.7.0 : TypeScript ORM, 릴리스 공지
- Traefik Proxy v2.10 : HTTP 리버스 프락시/로드 밸런서, 릴리스 공지
- Kubernetes Ingress와 Kubernetes IngressRoute 지원으로 서비스 로드밸런싱 개선
- 새로운 Prometheus 매트릭 지원으로 헤더 기반으로 클라이언트 정보 수집 가능
- 새로운 traefik.io CRD API 그룹 도입
- MicroK8S v1.27.0 : 경량 Kubernetes, 릴리스 공지
- ESLint v8.39.0 : JavaScript 코드 분석 도구, 릴리스 공지
Outsider
2023/05/01 18:57
2023/05/01 18:57
Comments