Outsider's Dev Story

Stay Hungry. Stay Foolish. Don't Be Satisfied.
RetroTech 팟캐스트 44BITS 팟캐스트

기술 뉴스 #150 : 20-05-15

웹개발 관련

  • Improved Next.js and Gatsby page load performance with granular chunking : Chrome 팀에서 Next.js, Gatsby 등 생태계와 협업해서 성능을 개선하는 작업을 계속하고 있는데 JavaScript 청크 개선을 한 작업을 소개한 글이다. 페이지에 공통으로 사용하는 공통 코드를 별도로 번들링하고 있다면 기존에 사용하던 Webpack v3의 CommonsChunkPlugin 보다 v4의 SplitChunksPlugin을 사용해서 사용빈도나 크기에 따라 더 세세하게 나누는게 성능에 더 좋다는 점을 보여주고 있다. 브라우저별로 동시에 열 수 있는 TCP 연결의 수가 정해져 있는데 이 부분을 늘려가면서 테스트해서 세분화했을 때 성능 개선을 할 수 있다는 점을 보여주고 있다.(영어)
  • Web Content Accessibility Guidelines (WCAG) 2.1 한국어 번역본 : W3C 웹 콘텐츠 접근성 가이드라인(WCAG)의 한국어 번역본이다.(한국어)

그 밖의 개발 관련

  • Rebuilding our tech stack for the new Facebook.com : 2004년에 PHP로 구축하고 기능을 추가하면서 점점 느려졌던 Facebook.com의 웹사이트를 다시 설계해야 할 필요성을 느끼고 "as little as possible, as early as possible"라는 원칙 아래 React와 Relay로 재구축한 과정을 설명하는 글이다. CSS를 정리해서 80% 정도 줄였고 SVG를 JavaScript에서 바로 사용해서 성능을 개선했으며 페이지를 기본 레이아웃과 첫 인터렉션이 가능한 화면 등 3단계로 JavaScript 코드 스프리팅을 해서 초기 속도를 개선했다.(영어)
  • New from Satellite 2020: GitHub Discussions, Codespaces, securing code in private repositories, and more : 온라인으로 열린 GitHub Satellite 콘퍼런스에서 VS Code의 인프라를 이용해서 웹상에서 바로 코드를 수정하고 실행까지 해볼 수 있는 Codepsaces, 게시판처럼 토론할 수 있는 Discussion, CodeQL을 이용한 취약점 검사 등이 발표되었다.(영어)
  • npm v7 Series - Introduction : npm의 다음 버전인 7에서 개선될 부분을 정리한 글이다. Arborist 모듈에서 트리 관리 및 분석을 담당하게 되고 자동으로 peerDependencies를 설치한다.package-lock.json 형식이 개편되고 yarn.lock 파일 처리도 추가되며 성능이 개선될 예정이라고 한다.(영어)
  • 코틀린에서 하이버네이트를 사용할 수 있을까? : Kotlin에서 ORM 프레임워크인 Hibernate를 사용할 수 있는지 검증한 내용이다. Kotlin의 data class로 사용해 보려고 했지만 프록시를 생성할 수가 없어서 포기하고 allopen, noarg 플러그인, kassava 라이브러리로 하이버네이트를 사용할 수 있음을 보여주고 있다.(한국어)

인프라 관련

볼만한 링크

  • Octoverse spotlight: An analysis of developer productivity, work cadence, and collaboration in the early days of COVID-19 : Covid19 상황이 개발자에게 어떤 영향을 주는지 확인하기 위해서 GitHub의 데이터로 2020년 1~3월과 2019년의 1~3월을 비교 분석한 보고서다. 보고서에 따르면 작업량은 거의 변화가 없거나 오히려 약간 증가했으면 이슈당 참여 사용자가 늘어나는 등 업무 환경이 분산 환경으로 바뀌고 있는 것으로 보인다고 한다. 그리고 집안일 등을 하면서 같은 업무 시간을 유지하려다 보니 전체 업무 시간은 하루에 1시간 정도 증가하는 것으로 나타나고 이 때문에 번아웃의 위험성이 있어 보인다. 그리고 업무를 멈추고 창의적인 일이나 학습으로 전환하는 일에 익숙해 진 듯 오픈소스에 대한 기여는 많이 증가했다.(영어)
  • 팀 문화의 탄생 : 우아한형제들의 팀 내에서 2주 단위 스프린트를 진행하며 회고할 때마다 Keep/Problem/Try를 정리해서 팀 문화를 개선해 나가는 과정이 나와 있다. 무심코 넘어갈 수 있는 일이라도 구체적인 액션 아이템으로 만들어서 개선해 나갔는데 코드 네이밍을 다시 한다거나 스레드 제목의 규칙을 정한다거나 Keep/Problem에서 어떤 액션 아이템으로 개선해 나갔는지 구체적으로 설명하고 있어서 다른 팀의 얘기인데도 많은 도움이 된다. 이렇게 하면 정말 점점 좋은 문화가 자리잡혀 갈 거로 생각한다. "팀 문화로 예를 든 여러 가지는 제가 보기엔 좋은 서비스를 만들기 위한 수단입니다. 우리가 이용할 도구이지 그 자체가 목적이 아닙니다."가 가장 인상적이었다.(한국어)
  • 스포카가 OKR로 목표를 달성하기까지. : 목표 설정 프레임워크인 OKR을 이용해서 "사용자가 도도 메시지에서 프로모션을 많이 생성하게 합니다"라는 목표를 만들고 정보를 수집하고 분석한 후 측정 가능한 핵심 결과를 정의해서 진행한 과정이 나와 있다. 각 단계에서 팀이 어떤 조사를 하고 매주 진행 상황을 화이트보드에 공유하고 개별 상태를 표시하는 등 OKR을 어떻게 진행했는지 자세히 나와 있다.(한국어)
  • 32 Design Differences between iOS and Android Apps : iOS의 HIG(Human Interface Guidelines)와 Android의 Material Design의 차이를 비교해 주는 글이다. 기본적인 다른 점과 네이게이션/컴포넌트의 차이점 등으로 나누어서 각 플랫폼에서 사용하는 용어와 동작이 어떻게 다른지를 스크린샷과 동영상으로 바로 보여주고 있어서 쉽게 차이점을 이해할 수 있다. iOS만 주로 사용해서 Android의 미묘하게 다른 UI/UX를 이해하기 어려웠는데 이 글에서 쉽게 차이점을 이해할 수 있다.(영어)


IT 업계 뉴스

  • ‘넷플릭스법’에 네이버·카카오도 부글부글…왜? : ISP(인터넷서비스 제공업체)가 많은 트래픽을 유발하는 넷플릭스에 망 이용료를 내게 하는 법 개정이 논의되고 있다. 이는 넷플릭스뿐 아니라 네이버, 카카오 등 국내 CP사들도 반대하고 있으며 망 중립성을 깨뜨리는 조치라서 개인적으로 반대한다.(한국어)
  • Keybase joins Zoom : 화상회의 서비스인 Zoom이 보안을 강화하기 위해서 e2e 암호화 기술을 가지고 있는 Keybase를 인수했다. Zoom은 Keybase의 기술을 이용해서 Zoom의 e2e 암호를 강화할 예정이라고 한다.(영어)
  • 5월 5일: 에어비앤비의 중대 발표 : Airbnb가 코로나19 이슈로 인해 전체 직원을 25%인 1,900명을 감축한다고 발표했다.(한국어)

프로젝트

  • Recoil : Facebook에서 공개한 React 용 상태 관리 라이브러리.
  • Fast or Slow : 전 세계 12개의 위치에서 웹사이트의 성능을 측정해 주는 사이트.
  • imageflow : ImageMagick보다 17배 빠르다는 이미지 처리 라이브러리.
  • chakra-ui/vue : Vue UI 컴포넌트.
  • MsQuic : Microsoft에서 C로 작성한 IETF QUIC 프로토콜 구현체.
  • Janet Language : 프로그래밍 언어.

버전 업데이트

2020/05/15 04:32 2020/05/15 04:32