Outsider's Dev Story

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

기술 뉴스 #175 : 21-06-02

웹개발 관련

  • Windows 10용 Internet Explorer(IE)의 새로운 미래, Microsoft Edge - Internet Explorer 11 데스크톱 애플리케이션 2022년 6월 15일 부로 지원 종료 : 모두가 기다리던 IE의 지원 종료 일정이 나왔다. 작년부터 Microsoft도 자사의 서비스에서 IE를 지원 안 하면서 다들 기다리고 있었는데 22년 6월 15일부터 완전히 지원이 종료하기로 되어 이때부터는 Edge만 남고 IE는 사라지게 되었다. Edge의 IE 모드는 2029년까지는 지원된다고 한다.(한국어)
  • Introducing WebContainers: Run Node.js natively in your browser : 개발환경을 만드는 StackBlitz에서 Next.js와 Google과 협업해서 WebContainers를 공개했다. WebContainers는 WebAssembly를 일종의 OS를 브라우저 내에서 구현해서 Node.js를 바로 브라우저 안에서 실행할 수 있게 해준다. 현재 Chrome과 Edge, Brave 브라우저를 구현하고 Safari와 Firefox도 지원 예정이라고 하며 Next.js, GraphQL, 바닐라 Node.js를 실행할 수 있다. WebContainers안에서 로컬보다 빌드와 패키지 설치도 훨씬 빨랐으며 크롬의 개발자 도구를 바로 연결해서 Node.js를 디버깅할 수 있고 브라우저에서 동작하므로 안전하다고 한다. 개인적으로 좀 놀라운 뉴스인데 웹 기술로 데스크톱 앱 등을 만들고 온라인에서 데스크톱 수준의 애플리케이션을 만드는 접근에 큰 변화를 줄 수도 있을 것 같다.(영어)
  • HTML Canvas를 활용하여 인터랙티브 콘텐츠 만들기 : 회사에서 Canvas를 이용해서 인터렉티브 게임을 만들면서 알게 된 내용을 바탕으로 Canvas를 설명하는 글이다. 기본적으로 Canvas로 이미지를 이동할 때 잔상이나 어색함, 튕김 등을 하나씩 해결해 가면서 개선하는 코드를 보여주고 사용자의 클릭에 따라 자연스럽게 회전하면서 튀어 오르는 부분까지 코드를 완성해 가면서 보여주기 때문에 Canvas를 어떻게 다루어야 하는지 이해하기 좋다.(한국어)
  • Google 광고에 대해 알아보자 - Google Ad Manager : 웹사이트를 방문할 때 흔히 보게 되는 구글 광고 시스템에 관해서 설명한 글이다. 기술적인 내용보다는 온라인 광고와 관련된 배경지식을 설명하고 있고 나도 옆에서 광고 시스템을 한창 공부했던 입장으로써 이런 배경지식이 없으면 이해하기가 상당히 어렵다. 광고 네트워크가 왜 필요하고 이 중간에서 Google이 AdSense와 Ad Exchange를 통해 어떤 차별점을 제공하고 DFP가 왜 필요한지를 설명한다. 실제 서비스에서 광고를 제공할 때(즉, 광고 공간을 팔 때) DFP에서 광고를 받아오기 위해서 진행되는 과정을 보여주고 이 광고 수익을 극대화하기 위한 Header Bidding을 설명한다.(한국어)
  • QUIC 버전 1의 RFC 승인 : QUIC이 오랜 리뷰를 걸쳐서 IETF의 승인을 받아 TFC가 되었다. 정확히는 RFC 8999, RFC 9000, RFC 9001, RFC 9002 네 가지로 나누어졌다.(한국어)

그 밖의 개발 관련

  • Flat Data : GitHub에서 Git을 이용해서 데이터를 처리할 수 있는 Flat Data라는 프로젝트를 공개했다. 이 프로젝트는 작년 Simon Willison이 작년 캘리포니아 산불을 추적하려고 정부 웹사이트의 변경사항을 Git에 수집한 것에 아이디어를 얻어서 다른 인프라스트럭처가 필요 없이 GitHub를 이용해서 데이터를 수집하고 보여줄 수 있게 하는 프로젝트다. 데이터를 수집하고 변환하는 GitHub Actions, 데이터 워크플로우를 작성하는 VS Code 확장인 에디터, 처리된 데이터를 보는 뷰어 3가지로 구성되어 있다. 참고로 이 프로젝트는 GitHub OCTO라는 소프트웨어 개발의 미래를 연구하는 CTO 조직에서 만들어졌다.(영어)

인프라 관련

  • Notifications Engine is here! : Argo에서 Argo CD와 Argo Rollouts에서 알림 용도로 사용하고 있는 노티피케이션 엔진을 공개했다. 이 엔진은 Golang으로 작성된 라이브러리로 Kubernetes 컨트롤러에서 Slack, MS Teams, Mattermost, SMTP, Telegram 등에 알림을 보낼 수 있고 설정과 템플릿을 이용해서 알림을 사용할 수 있다. 원하는 알림의 컨트롤러를 Golang으로 구현하고 Configmap을 이용해서 알림을 만들면 각 프로젝트에서 어노테이션으로 알림을 설정할 수 있다.(영어)
  • 쏘카 데이터 그룹 - Airflow와 함께한 데이터 환경 구축기(feat. Airflow on Kubernetes) : 쏘카 데이터 그룹이 팀이 아니던 시절부터 큰 팀으로 성장하면서 데이터 환경을 구축한 과정을 정리한 글이다. 처음에는 Rundeck을 이용했지만 부족한 부분이 많아 Airflow를 사용하기로 하면서 매니지드 서비스인 GCP의 Composer를 사용했지만, 회사와 데이터 팀이 커지면서 문제가 많아져서 Kubernetes 위에서 Airflow를 구축해서 운영하기로 했다고 한다. Kubernetes 위에서 운영하는 방법을 자세히 설명하고 있다.(한국어)
  • [번역] 쿠버네티스 2,500대 노드 운영하기 : OpenAI에서 Kubernetes의 노드를 2,500대 운영하면서 겪은 문제와 개선한 과정을 정리한 글을 번역한 글이다. 처음에는 etcd에서 성능 저하가 발생했는데 이는 Fluentd와 Datadog의 문제였고 이는 해결되었지만, Events API를 ectd 클러스터와 분리하는 것을 추천한다고 한다. OpenAI의 특성상 작업을 한곳에 모으려고 kube-scheduler를 수정해서 작업이 한곳에 모였지만 노드에 집중되어서 발생한 문제가 발생했고 특정 Docker 이미지가 너무 큰 문제로 다른 이미지까지 지연되는 --serialize-image-pulls 설정 문제 등도 알게 되었다고 한다.(한국어)
  • OpenVPN을 이용해 사설망 접근하기 : AWS에서 사설망에 접근하기 위해서 OpenVPN을 구축하는 과정을 설명하는 글이다. 회사에서 보안을 위해서 VPN을 구현하는 일은 흔한 일이지만 구현하는 방법은 다양한 접근이 있는데 쉽게 사용할 수 있는 OpenVPN을 EC2에 설치해서 AWS 내부망에 접근하는 환경 설정을 설명한다.(한국어)
  • k8s External Secrets 훑어보기 : AWS에서 Kubernetes를 사용할 때 시크릿 정보를 AWS에서 관리하는 Secrets Manger나 Parameter Store에서 가져오기 위해 External Secrets을 사용하는 방법을 설명한 글이다. External Secrets 컨트롤러가 Secrets Manager에 접근해서 정보를 가져올 수 있도록 권한을 설정하는 방법을 보여주고 이렇게 가져온 정보는 Secrets이 되므로 Deployment 등에서 envFrom이나 secretRef로 가져와서 사용할 수 있다.(한국어)

볼만한 링크

  • 리눅스 30주년 맞이 리누스 토발즈 인터뷰 번역 - 파트 1, 파트 2 : 올해 Linux가 30년이 되어 tag1에서 리누스 토발즈와 한 인터뷰를 번역한 글이다. 리눅스 개발에 대한 얘기와 Git에 대한 얘기가 나오는데 글이 꽤 길지만 읽어볼 만하다. Linux라는 대단한 소프트웨어를 개발했지만 그만큼 지난 30년간 커뮤니티를 잘 이끈 리누스 토발즈의 커뮤니티에 대한 생각과 라이센스에 대한 입장을 알 수 있고 Git은 첫 한해만 기여하고 이후에는 Junio Hamano에게 넘겼기 때문에 Git에 대한 명성은 자기가 너무 많이 받고 있다고 한 부분도 인상적이다. 가장 큰 오픈소스 프로젝트라고 할 수 있는 프로젝트를 만들고 운영했던 사람이 오픈소스에 대한 생각을 엿볼 수 있는 아주 좋은 글이다.(한국어)
  • 사용자를 바보로 만들지 마세요. : UX 문구에 관해서 좋은 지표를 만들기 위해 사용자에게 불푬현을 주는 다크 패턴이나 컴펌 쉐이밍(Confirm shaming)을 다룬 글이다. 컴펌 쉐이밍은 서비스가 원하는 액션을 수행하지 않을 때 사용자가 불안감이나 수치심을 느끼는 문구로 "혜택을 포기할래요"나 "비싸게 구매하기" 같은 문구를 얘기한다. 이러한 접근은 지표는 오를지 몰라도 사용자에게 안 좋은 경험을 주기 때문에 서비스 자체에 대한 불신을 주어서 안 좋다고 얘기하고 있다. 글의 억양이 좀 세게 느껴지지만, 주장은 완전히 동의하고 있다. 현실은 훨씬 더 복잡하고 어렵다고 느끼지만 그래도 많이 읽어보고 고민해 봤으면 하는 글이다.(한국어)
  • Freenode IRC staff resign en masse after takeover by Korea’s “crown prince” : 세계에서 가장 큰 IRC 네트워크인 Freenode를 2017년 Christel Dahlskjaer가 한국계 Andrew Lee에게 판매하는 계약을 했고 Andrew Lee가 Freenode를 독점적으로 사용하고 광고를 올리려고 하면서 직원들이 퇴사하는 사태가 벌어졌다고 한다. Freenode는 많은 개발 프로젝트의 커뮤니케이션 채널로 오랫동안 쓰이고 있었고 퇴사한 직원들은 Freenode를 대체할 Libera.chat을 만들었고 Ubuntu와 Fedora도 커뮤니케이션 채널을 Freenode에서 Libera.chat으로 옮긴다고 한다.(영어)
  • 미국 앱스토어 전체 1위, 국내 개발자의 사이드 프로젝트 개발기 : 개인적으로 5년 전 만든 복붙키보드라는 iOS 앱이 미국 앱스토어에서 1위를 기록하면서 그동안 과정을 정리한 글이다. 사이드 프로젝트로 만들어서 사용자의 다양한 요구사항에 대응하면서 개인적으로 최대한 지원을 했다고 한다. 글을 읽으면 더 많은 과정이 있을 것 같아서 많은 궁금증이 들지만 최근 증가한 그래프를 보면 놀랍고 축하드리고 싶다.(한국어)

IT 업계 뉴스

프로젝트

  • GitHub Exporter : GitHub의 데이터를 내보내기 쉽게 도와주는 GitHub에서 만든 패키지로 현재 이슈를 CSV나 JSON으로 내보낼 수 있다.

버전 업데이트

2021/06/02 04:13 2021/06/02 04:13