웹개발 관련
그 밖의 개발 관련
- CLUI: Building a Graphical Command Line : 온라인 개발환경 서비스를 만드는 repl.it에서 CLUI 개념을 설명한다. GUI가 접근성은 좋지만 복잡해질수록 기능을 찾기가 어렵고 CLI는 배우기가 어렵기 때문에 CLUI라는 프로젝트를 통해 마우스로도 접근할 수 있고 기능 찾기도 쉬우면서 인터렉티브한 CLI를 만들었고 repl.it에서 테스트할 수 있는 코드와 데모를 같이 제공한다.(영어)
- Project LightSpeed: Rewriting the Messenger codebase for a faster, smaller, and simpler messaging app : 2011년에 만들어져서 크고 복잡해진 페이스북의 iOS 메신저 앱을 개편하려고 LightSpeed라는 프로젝트를 진행해서 100명 이상의 엔지니어가 투입되어 앱의 시작 소요 시간은 반으로 용량은 1/4로 줄였다. OS의 기능을 최대한 사용, UI 재사용, SQLite을 최대한 활용하려고 구축한 MSYS 플랫폼으로 접근 단일화, 서버 브로커를 이용해서 SQLite 데이터를 서버에 전송이라는 4개의 원칙을 만들어서 작업했다고 한다.(영어)
- A successful Git branching model : git-flow로 알려진 Git의 브랜칭 모델을 소개했던 저자가 10년이 지나(원글은 2010년에 쓰여짐) 글 서두에 추가 의견을 남겼다. 그동안 git-flow가 표준에 일종처럼 쓰였는데 웹앱처럼 지속적인 배포를 하는 경우는 훨씬 간단한 플로우가 어울리고 명확한 버전 릴리스가 있고 여러 버전을 동시에 관리해야 할 때에 git-flow가 적합하다고 정리했다. 나도 git-flow과 과하게 복잡하다고 생각하는 편이라서 동의한다.(영어)
- 정산지기를 향한 첫걸음 (feat. 파일럿 프로젝트) : 우아한형제들에 신입 개발자로 입사해서 정산시스템 어드민 페이지를 파일럿 프로젝트로 만들고 피드백 받으면서 개선해나가고 느낀 점을 정리한 글이다.
@Transactional
추가, private/public 메서드 정의, Pageable
개선 등 주 차별로 피드백 받으면서 수정한 설계와 코드를 보여주고 있다. 두 달간의 파일럿 프로젝트라고 하는데 이 글을 통해서 얼마나 많이 고민하고 배웠는지를 알 수 있고 비슷한 고민할 때도 많은 도움이 될 내용이다.(한국어)
- Announcing RubyGems.org Stats : RubyGems가 릴리스한 지 10년이 되었는데 많은 사람이 궁금해 하던 통계를 볼 수 있는 RubyGems.org stats가 열렸다. 이를 통해 Ruby, Bundler, RubyGem의 버전, 사용자의 환경 등을 통계로 볼 수 있다.(영어)
인프라 관련
- How the Jsonnet-based project Tanka improves Kubernetes usage : Grafana에서 만든 Jsonnet으로 Kubernetes를 설정하는 Tanka 프로젝트에 관해 FOSDEM 2020에서 발표한 내용을 정리한 글이다. YAML이 확장성이나 유연성이 적어서 Jsonnet의 Functions, Patchs, Imports, Packages를 이용해서 YAML보다 유연하게 설정할 수 있다고 한다.(영어)
- 하루에 1000번 배포하는 조직 되기 : 뱅크샐러드에서 기존 git-flow와 Travis CI를 이용한 배포환경에서 더 잦은 배포를 하기 위해서 Git 브랜칭 전략을 master만 남겨둔 채로 간소화하고 GitHub Actions를 CI/CD로 사용하고 Slack App을 개발해서 슬랙에서 자동으로 배포 과정이 공유되고 히스토리를 볼 수 있게 개선한 과정이다.(한국어)
- DevOps 엔지니어의 Redis Test 분투기 - Part 1 : 마켓컬리에서 Redis를 도입한 뒤 겪은 에러의 문제를 찾기 위해 레디스를 공부하고 테스트용 node.js 애플리케이션을 작성하고 nGrinder로 부하테스트를 하면서 원인을 찾고 팀과 논의를 했다고 한다.(한국어)
볼만한 링크
- The Myth of the T-Shaped Developer : 개발자의 커리어를 설명하면서 제너럴리스트는 업무 영역이 넓지만, 특정 기술이나 실천 방법을 깊게 보지 못하고 스페셜리스트는 전문성을 인정받지만, 특정 기술에 의존적이면서 시야가 좁아질 수 있다. 많이들 말하는 T자형 개발자를 이상형으로 말하지만, 시간이 Comb-Shaped 개발자, 즉 많은 영역에서 제너럴리스트보다 깊게 알면서 여러 분야에서 스페셜리스트인 개발자가 되어야 한다고 하고 있다.(영어)
- 디벨로퍼 아드보캇은 뭘 하는 사람인가요? : Microsoft에서 아직 국내에서는 잘 알려지지 않은 DevRel(Developer Relations)과 디벨로퍼 아드보캇의 역할을 설명한 글이다. 콘텐츠를 생산하고 전파할 수 있으며 커뮤니티와 회사의 중간 역할을 해야 하므로 소통을 잘 해야 한다고 하고 있다(한국어)
- 배리어블 폰트 : 보통 폰트는 하나의 파일에 하나의 스타일을 가지고 있는데 한 폰트 파일에서 다양한 굵기와 폭을 사용자가 원하는 대로 사용할 수 있는 폰트를 배리어블 폰트라고 한다. 역사는 짧고 아직 잘 안 알려졌음에도 대부분의 OS와 도구들에서 이미 지원하고 있다.(한국어)
- 10분 만에 읽는 디자인 시스템 A to Z : 최근에 많이 거론되는 디자인 시스템의 개념을 설명하는 글이다. 디자인 시스템이 무엇이고 스타일 가이드/패턴 라이브러리가 어떻게 다른지 왜 주목받고 있어 예시로는 어떤 디자인 시스템이 있는지를 보여준다. 이 글을 통해 디자인 시스템을 제대로 이해하기는 어렵겠지만 개념을 이해하는 데 도움이 된다.(한국어)
IT 업계 뉴스
프로젝트
버전 업데이트
- Immer v6.0.0 : JavaScript 불변성 라이브러리, 변경사항
- PowerShell 7.0 : .NET의 셸, 릴리스 공지
- Kubeflow v1.0 : Kubernetes용 머신러닝 툴킷, 릴리스 공지
- Istio v1.5 : 서비스 매쉬, 변경사항
- Spring Security v5.3 GA : Spring 인증 프레임워크, 릴리스 공지
- Memcached v1.6.0 : 분산 메모리 캐시, 릴리스 공지
- Next.js 9.3 : 서버렌더링 React 애플리케이션 프레임워크, 릴리스 공지
- Rollup v2.0.0 : JavaScript 번들러, 변경 사항
- Argo CD Notifications v0.6.0 : Argo CD의 모니터링 및 알림 시스템, 변경사항
- Rust 1.42.0 : 프로그래밍 언어, 릴리스 공지
Outsider
2020/03/15 20:23
2020/03/15 20:23
Comments