Outsider's Dev Story

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

기술 뉴스 #166 : 21-01-15

웹개발 관련

  • The State of JavaScript 2020 : 매년 발표되는 JavaScript 개발자의 설문 조사를 통해서 생태계의 현황을 정리한 글로 올해는 2만 3천여 명의 개발자가 설문에 참여했다. 지역별 연봉, 프레임워크, 테스트 도구, 백엔드, 모바일 등 다양한 영역에서 어떤 도구를 주로 사용하고 있는지를 보여주고 있다. 2016년부터 파악한 내용을 비교해 주기 때문에 각 분야에서의 변화를 보기에 좋다.(영어)
  • CSS-in-JS에서 CSS-in-CSS로 바꿔야 하는 이유 : CSS-in-JS가 인기를 얻고 있고 컴포넌트별로 CSS가 추상화되므로 의존성 문제가 해결되고 이름 충돌도 신경 쓰지 않아도 되는 등 기존의 많은 문제를 해결하지만, CSS-in-CSS보다 번들 사이즈도 커지고 인터랙션이 늦어지므로 CSS-in-JS만이 정답이 아니라 속도가 중요한 사이트라면 CSS-in-CSS를 고려해야 한다는 글이다.(한국어)

그 밖의 개발 관련

  • 네이티브 앱 → 리액트 네이티브 앱 전환 그리고 1년 후 : 라프텔에서 기존 네이티브로 개발했던 Android와 iOS 앱을 React Native로 새로 개발한 후 경험을 정리한 글이다. 네이티브 개발자의 추가 채용이 쉽지 않았고 내부에 이미 네이티브 개발자가 있었기 때문에 JavaScript 개발자를 채용해서 프로젝트를 진행했고 iOS와 Android의 기능과 UI 차이가 있었기 때문에 처음부터 새로 만들기로 했다고 한다. 릴리스 후 CodePush로 빠르게 릴리스를 할 수 있게 되었고 공통 모듈을 만들어서 모든 플랫폼이 코드를 공유할 수 있게 되었다고 한다. 단점으로는 iOS/Android 사이의 UI 차이 때문에 시간을 써야 하는 경우가 있고 예상치 못한 이슈나 완성도 낮은 써드 파티 라이브러리들을 꼽았다고 한다. 쉽지 않은 결정인데 지금은 많이 안정화되어서 만족하고 있다고 한다.(한국어)
  • Get Ready For ESM : Node.js 10이 올해 4월에 생명주기가 끝나고 Node 12는 JavaScript Moduels를 완전히 지원하므로 패키지 작성자가 ESM에 대응할 수 있도록 준비해야 한다고 하고 있다. 그동안 많은 개발자가 노력해서 ESM이 CommonJS를 임포트할 수 있고 반대로도 할 수 있지만 CommonJS는 ESM을 비동기로만 임포트할 수 있다. 패키지를 ESM으로 마이그레이션하려면 다음 두 가지 방법이 있다.

    1. ESM만 지원한다면 package.json"type": "module"를 추가하고 메이저 버전을 올린다.
    2. CommonJS를 폴백으로 트랜스파일 할 수 있도록 빌드 설정을 해서 ESM으로 제공한다. 이때는 package.jsonexports 필드를 추가해야 한다.
  • 6 YAML Features most programmers don’t know : 많은 프로젝트가 설정 파일로 YAML을 쓰고 있는데 >를 사용한 긴 문자열, |를 사용한 멀티라인 문자열 등을 설명한다. &를 이용해서 변수를 선언하고 *로 참조할 수 있고 << 머지 키를 사용해서 추가 값을 넣을 수 있다.(영어)
  • I received first-ever donation on my open-source side project and it felt great! : VS code에서 상단에 버튼을 넣을 수 있는 익스텐션 Shortcut Menu Bar를 만들었고 만회 이상의 다운로드를 받고 스타도 5개 받게 되었다. Covid가 심해지면서 기부 버튼을 넣었고 얼마 전에 처음으로 $5의 기부를 받았다고 한다.(영어)

인프라 관련

  • Docker Hub Pull 횟수 6시간에 100회 제한 정책 : Docker Hub가 이미지를 가져갈 때 로그인 안 하면 6시간 동안 100번, 로그인하면 6시간 동안 200번만 요청할 수 있는 정책이 적용되었다. 자주 겪지는 않지만, CI 등에서 한번 겪으면 피곤한 오류라서 알아두면 좋은데 제한 개수를 확인하는 방법 등을 보여준다.(한국어)
  • Get started with Prometheus with these three easy projects : 특별히 큰 서비스를 운영하지 않아도 Prometheus를 쉽게 시작해 볼 수 있는 세 가지 방법을 설명하고 있다.

    1. 로컬 컴퓨터를 Node Exporter로 매트릭을 수집하는 방법
    2. express 애플리케이션에서 Prometheus 미들웨어로 매트릭을 수집하는 방법
    3. GitHub Exporter로 GitHub의 매트릭을 수집하는 방법
  • Announcing HCP Vault Public Beta : HashiCorp Cloud Platform(HCP)에서 Consul에 이어 서비스를 시작한 Vault가 퍼블릭 베타를 시작했다. HCP는 HashiCorp에서 완전히 관리해주는 서비스이다.(영어)

볼만한 링크

  • Building On-Call Culture at GitHub : GitHub이 Ruby on Rails 모노리스 시스템이었기 때문에 온콜 엔지니어가 코드 베이스를 이해하지 못했고 자신이 잘 대응할 수 있다고 자신하지 못했다. 결국 시스템을 잘 아는 5~10명이 항상 참여하게 되면서 온콜의 불균형이 발생했다. 새 시스템에서는 파일을 서비스와 팀에 매핑해서 쉽게 알 수 있게 하고 각 팀이 책임지는 영역의 모니터링/알림을 직접 만들게 했다. 문화적 교육적인 장애물도 많았는데 온콜 경험이 없는 사람들에게 교육을 제공했고 온콜이 일상에 영향을 줄 거라는 걱정이 많아서 이런 걱정을 해소할 수 있게 노력했고 실수해도 괜찮다는 안정감을 주려고 하고 있다. 그리고 온콜이 잘 안되어도 이 부분을 해결할 시간이 많지 않으므로 각 팀에 온콜 경험을 개선하는데 시간을 쓸 수 있도록 하고 있다.(영어)
  • [번역] Pinterest의 역설 : Pinterest의 COO였던 Francoise Brougher가 올린 The Pinterest Paradox: Cupcakes and Toxicity를 번역한 글이다. Francoise Brougher는 Google과 Square에서 많은 기여를 하고 Pinterest의 COO로 참여하고 COO로 있는 동안에도 회사에 많은 발전이 있었지만, 차별을 받아 점점 회의와 업무에서 배제당하면서 결국 보복당해 해고당했다고 하고 있다. 자신은 유리 천장을 깼다고 생각했지만 그렇지 않았다는 걸 깨달았다고 하면서 모두에게 공정한 조직을 만들기 위한 단계를 설명하고 있다.

    1. 의미 있는 행동 없이 거창한 말을 멈춰라.
    2. 성에 대한 편견을 인지하고 제거하라.
    3. 차별을 제거하기 위해 효과적이고 적극적인 조치를 취하자.
    4. 직원 채용뿐만 아니라 유지에 집중하라.
    5. 불투명한 방식으로 의사 결정을 내리지 말라.
    6. 솔직하고 포용 가능한 리더십을 받아들여라.
    7. 이사회가 책임져라.
    8. 침묵을 위해 NDA를 사용하지 마라.

IT 업계 뉴스

  • Advancing developer freedom: GitHub is fully available in Iran : 미국 정부의 제재로 미국 회사인 GitHub도 이란 등 여러 국가의 접근을 차단하고 있었는데 이번에 미국 정부에 라이센스를 받아서 이란의 개발자들에게 접근을 허용하게 되었다. 다른 국가로 허용하기 위해 노력 중이라고 한다.(영어)
  • DuckDuckGo Traffic : 검색사이트 DuckDuckGo가 지난 11일 처음으로 하루 102,251,307건의 검색 질의를 기록하며 처음으로 일 1억 건을 기록했다.(영어)
  • GitHub reportedly fired a Jewish employee who warned co-workers to stay safe from Nazis : GitHub이 미국 국회의사당이 점령당한 날 한 유대인 직원이 Slack에 "나치를 조심하고 집에 있으라"라고 남겼다고 그를 해고했다고 한다. 이 글이 내부에 논쟁을 일으켰고 200여 명의 직원이 이 해고에 대한 답변을 회사에 요구했고 GitHub은 이 사건을 조사하고 있다고 했고 아직 공식적인 답변은 하지 않고 있다.(영어)

프로젝트

  • Magic : 패스워드를 입력받지 않고 인증할 수 있도록 Email, Social, WebAuthn용 SDK를 제공하는 스타트업.
  • Mozilla VPN : Mozilla에서 제공하는 VPN 서비스로 지금은 대기 리스트로 등록해야 하고 월 사용료는 $4.90이다.

버전 업데이트

2021/01/15 09:36 2021/01/15 09:36