웹개발 관련
- RFC 9116 A File Format to Aid in Security Vulnerability Disclosure : 취약점을 발견했을 때 보고 할 수 있는 공식 경로를 명시할 수 있는
security.txt
가 RFC 9116으로 등록되었다. /.well-known/security.txt
에 위치하게 되고 보고용 이메일과 PGP 키 등을 명시할 수 있다.(영어)
- 자바스크립트에서 객체 지향을 하는 게 맞나요? : 자바스크립트 얘기를 하는 게 글의 목적이지만 객체 지향 얘기이기도 하다. 프로그래밍이 발전하면서 구조체, 클래스, 객체가 생기게 된 흐름과 객체지향 프로그래밍의 캡슐화, 추상화, 다형성, S.O.L.I.D까지 간단한 예제로 쉽게 읽히게 잘 설명했다. 뒷부분에서는 JavaScript는 브랜든 아이크가 객체지향을 좋아하지 않았기 때문에 다른 방법으로 객체지향을 할 수 있게 설계하면서 지금의 구조가 된 과정을 설명하면서 그 특성이 잘 풀어쓴 글이다.(한국어)
- URL, URI, URN: What's the Difference? : 많이 얘기되지만, 항상 헷갈리는 URL, URI, URN의 차이점을 설명한 글이다. URL은 Uniform Resource Locator인데 일반적으로 우리가 말하는 링크이지만 링크는 브라우저에서 URL를 연결하는 역할을 하기에 기술적으로 URL과 링크가 같은 것은 아니다. 글에서 URL이 scheme, authority(dmoin, port), path, parameters, anchor로 이뤄진 것을 구분해 볼 수 있다. URI는 Uniform Resource Identifier의 약자로 URL과 URI가 모두 RFC 3986을 따르지만, URL은 리소스의 위치를 나타내고 URI는 리소스를 식별해주기 때문에 거의 같다고 느낄 수 있지만 실제로는 URL이 URI의 서브셋이다. URN은 Uniform Resource Name의 약자로 리소스가 존재하지 않더라고 리소스를 식별하는 역할을 한다.(영어)
- 모던 프론트엔드 프로젝트 구성 기법 - 모노레포 도구 편 : 모노레포에 사용할 수 있는 도구인 Yarn(v1, v2), Lerna, Nx, Turborepo의 사용법을 살펴보고 어떤 특징이 있는지를 설명해서 모노레포 도구에 관심 있다면 각 도구의 차이점을 쉽게 알 수 있다.(한국어)
- Announcing the General Availability of AWS Amplify Studio : 개발자와 디자이너가 협업할 수 있도록 Figma의 디자인 컴포넌트를 Amlify Studio 로 가져와 React 코드로 변환해 주는 Amplify Sutio의 공식 공개 버전(GA)가 발표되었다.(영어)
그 밖의 개발 관련
- Node.js 18 Introduces Prefix-Only Core Modules : Node.js 16에서 Node.js에 내장된 코어 모듈에는
node:
접두사를 붙일 수 있게 되었다. 즉, import fs from 'fs'
로 할 수도 있고 import fs from 'node:fs'
로도 할 수 있다. 이는 node:
접두사로 사용자 모듈이 아닌 코어 모듈이라는 것을 명시적으로 나타낼 수 있는데 Node.js 18부터는 node:
접두사를 붙여야만 사용할 수 있는 node:test
테스트 러너 모듈이 추가되어서 다른 코어 모듈과 사용법이 다른 첫 모듈이 생기게 되었다. 이는 앞으로 Node 코어에 새로운 모듈을 만들 때 npm에 있는 기존 모듈과 충돌 나지 않게 해준다.(영어)
- 뱅크샐러드 iOS팀이 숨쉬듯이 테스트코드 짜는 방식 1편 - 통합 UI테스트, 2편 - 화면 단위 통합 테스트 : 뱅크샐러드 iOS 팀에서 그동안 테스트를 작성하면서 쌓은 경험을 정리한 글로 총 3편의 글인데 지금은 2편까지만 공개되었다. 테스트가 없는 상황에서 처음 테스트를 작성하는 것은 어려우므로 통합 UI 테스트를 먼저 작성하는데 테스트에서는 접근성 트리를 이용하기 때문에 접근성이 확보 안 되어 있으면 테스트가 안 될 수 있다. 이때는 VoiceOver 기능을 먼저 사용해 보길 권하고 있고 팀의 온보딩 과정에 로컬에서 테스트를 작성해서 XCUITest와 익숙해질 수 있는 경험을 제공하고 있다. 테스트는 4시간마다 돌면서 실패한 테스트는 슬랙으로 알림을 받고 테스트를 돌리는 김에 로그도 제대로 남겨지는지도 확인하고 있다고 한다. 2편에서는 스냅샷 테스트를 다루고 있는데 스냅샷 테스트는 미리 만들어 놓은 이미지와 현재 이미지를 비교하는 것인데 이때 1px만 틀려도 오류가 나기 때문에 관리가 어려운 편인데 이를 보조수단으로 사용한다고 한다. 테스트가 만든 이미지를 폴더에 저장해 두고 모든 시나리오를 일일이 해볼 필요 없이 이 결과 이미지를 QA하고 QA가 끝나면 이를 레퍼런스 이미지로 저장해서 다음 스냅샷 테스트에 사용한다고 한다. 추가로 테스트가 문서의 역할도 하기 위해 접근성 속성을 검사해서 화면에 원하는 정보가 제대로 나오는지 테스트할 수 있도록 AXSnapshot을 만들어서 쓰고 있다고 한다.(한국어)
- Codespaces for multi-repository and monorepo scenarios : GitHub의 클라우드 개발환경이 코드스페이스에서 마이크로서비스로 인해 개발할 때 다른 저장소가 필요한 상황이 많아서 이를 지원하기 위해
devcontainer.json
에서 customizations.codespaces.repositories
키로 다른 저장소 권한을 설정할 수 있게 되어 저장소를 클론하기 위해 개인 엑세스 키를 설정할 필요가 없게 되었다. 또한 모노레포 프로젝트에서는 팀마다 다른 코드스페이스 환경이 필요하기 때문에 여러 devcontainer.json
를 지정할 수 있게 되어 .devcontainer/${DIR}/devcontainer.json
형식으로 지정할 수 있게 되었다.(영어)
인프라 관련
볼만한 링크
- 이제는 달라져야 하는 코딩 테스트 : 코팅 테스트를 많은 회사에서 진행하고 있지만 제한된 시간에 정답을 맞추어야 하므로 결과에만 집중하게 되어 코드 품질이 나빠지게 된다. 코딩 테스트를 공부하므로 회사도 점점 어려운 문제를 내게 되지만 어려운 문제가 실력을 검증하진 못하게 되는 문제가 발생한다. 글의 내용대로 코딩 테스트는 최상을 뽑는 게 아니라 최하를 걸러내는 수단이 되어야 해서 코딩 테스트의 허들을 낮추어야 한다는 데 동의한다.(한국어)
- Notion 유저에서 파트너가 된 이야기: ① 실리콘밸리 프로덕트에 기여하기, ② 실리콘밸리 스타트업 한국에 성공적으로 수입하기, ③ 할 수 있을 때, 할 수 있는 만큼 : 2017년 Notion을 처음 알게 되어 관심을 가지다가 노션팀에 연락해서 가이드 번역을 하게 되고 이를 기회로 출판사와 연결되어 가이드북을 한국어로 출간하게 된다. Notion 같은 SaaS 기업이 한국 시장에 진출할 때, 제품, 커뮤니티, 로컬 매체를 활용해야 하는데 강력한 로컬 커뮤니티와 대행사 등을 통해서 한국 론칭을 하게 되고 현재는 한국 리드 및 컨설턴트와 일하면서 한국 HQ와 협업을 하고 있다고 한다.(영어)
IT 업계 뉴스
- Git.io deprecation : GitHub에서 제공하던 단축 URL 서비스 git.io를 4월 29일 중단할 예정이나 많은 문서와 논문에서 git.io를 사용하고 있다고 피드백을 받고 새로운 URL은 만들지 못하는 읽기 전용 상태로 유지하기로 했다.(영어)
- 일론 머스크, 트위터 삼켰다…55조 원에 인수 : 일론 머스크가 주당 54.20달러에 트위터를 인수하기로 합의했다. 약 55조 원(440억 달러)에 인수해서 상장을 폐지하고 개인회사로 운영할 계획이라고 한다.(한국어)
프로젝트
버전 업데이트
- Ubuntu 22.04 LTS : Linux 배포판, 릴리스 공지
- QEMU 7.0.0 : 프로세스 에뮬레이터, 릴리스 공지
- Knex.js v2.0.0 : Node.js SQL 쿼리 빌더, 릴리스 공지
- GitHub Desktop v3.0 : GitHub 데스크톱 애플리케이션, 릴리스 공지
- R2DBC v1.0.0 GA : 관계형 데이터베이스의 리액티브 프로그래밍 API, 릴리스 공지
- Git v2.36.0 : 분산 형상관리 도구, 변경사항
- Grafana v8.5 : 매트릭 대쉬보드, 릴리스 공지
- Node.js v18.0.0 (Current) : 자바스크립트 런타임, 릴리스 공지, 올 10월에 코드네임 Hydrogen으로 다음 LTS가 될 버전
- 실험적으로 undici로 구현한 fetch 함수 지원
- 실험적인 Web Streams API 지원
- 실험적인 Test runner 모듈 지원
- Node.js v16.15.0 (LTS) : 자바스크립트 런타임, 릴리스 공지
--experimental-fetch
플래그로 fetch
API 지원
- Deno v1.21.0 : TypeScript 런타임, 릴리스 공지
- Jest 28 : JavaScript 유닛 테스트 프레임워크, 릴리스 공지
- Parcel v2.5.0 : 웹 애플리케이션 번들러, 변경사항
- Web Extension manifest v3 지원
- ESLint v8.14.0 : JavaScript 코드 분석 도구, 릴리스 공지
- Armeria v1.16.0 : Java용 비동기 RPC/REST 라이브러리, 릴리스 공지
- Redux v4.2.0 : JavaScript 상태 관리 컨테이너, 릴리스 공지
- RedwoodJS v1.2.0 : 풀스택 웹프레임워크, 릴리스 공지
- GraalVM v22.1.0 : 통합 가상 머신, 릴리스 공지
- curl v7.83.0 : URL로 데이터를 처리하는 CLI, 릴리스 공지
- Gatsby v4.13.0 : 정적 웹사이트 생성기, 릴리스 공지
Outsider
2022/05/01 02:17
2022/05/01 02:17
Comments