본문 바로가기
반응형

전체글500

(Kotlin) 단일 함수만 존재하는 경우 파일명은 어떻게 해야할까? NextStep의 이펙티브 코틀린 with TDD, Refactoring, Clean Code 을 수강중이다. 내가 작성한 코드에 대해 이렇게 많이 리뷰 받는게 오랫만이다 이번에 받은 리뷰중에서는 납득이 잘 안되는게 있어서 리뷰어이신 재성님(Jason) 과 이런저런 토론을 진행했었다. 논의 논의 대상인 코드는 public 함수 하나(main)만 존재하기 때문에 파일명을 main.kt로 만들었다. 이에 대해 재성님은 소스 파일은 전부 PascalCase를 쓰는게 좋다는 의견이셨다. 이에 대한 이유는 Kotlin Convention 에서 UpperCamelCase (PascalCase) 을 추천하기 때문이였다. 안드로이드 코틀린 공식 가이드에서도 소스 파일에 대해서는 PascalCase를 언급하기도 한다. .. 2022. 5. 17.
Jira Release 발생시 Slack에 Release Notes 발행하기 회사 업무를 진행하다보면 매번 자주 하는 작업 중 하나가, 배포공유이다. 배포가 완료되고, Jira의 티켓들을 Release 하고나면, 어떤 티켓들이 이번에 운영에 배포되었는지를 Slack에 공유하는 것이다. 매번 하는 것이 귀찮으니, 자동화를 진행할 필요가 있다. 1. Jira Rule 생성 Jira에는 자동화를 지원하는 기능이 있다. Automation 이라는 기능인데, Jira의 굉장히 많은 기능들을 별도의 앱 없이 자동화를 사용할 수 있도록 한다. 이를 이용하면 Slack / Github / Jenkins 등의 연동을 아주 쉽게 할 수 있다. 이번 글에서도 마찬가지로 Jira Automation을 이용해서 진행한다. Jira 보드의 좌측에 있는 Project settings를 선택한다. 이동된 좌.. 2022. 5. 2.
WebStorm에서 TypeScript 파일 단독으로 실행하기 WebStorm에서 기본적으로는 TypeScript 파일만 단독으로 실행할 수는 없다. 단독으로 실행이 필요할 경우 JS 파일로 컴파일 후, 실행해야만 한다. Run server-side TypeScript with Node.js 이 과정이 개발의 흐름을 많이 끊기 때문에 일반적인 JavaScript 파일을 실행하듯이 TypeScript 실행 환경이 필요하다. 개선 TypeScript 파일만 단독으로 수행하기 개별 플러그인만 설치하면 가능하다. Run Configuration for TypeScript 해당 플러그인 설치후, 프로젝트에 ts-node 를 설치한다. yarn add --dev ts-node 그리고 TS 파일을 다시 한번 우클릭 해보면? 다음과 같이 Run/Debug 실행 버튼이 생성된 것을.. 2022. 4. 26.
release 브랜치 merge시 Tag 생성, 브랜치 삭제하기 (feat. Gihtub Action) 최근에 상권님의 포스팅을 보고나서 기존 프로젝트의 배포에 대한 추가 자동화를 진행했다. 앱 배포후 Jira에서 버전 Release처리 자동으로 하는 방법(feat. GitHub Action) 상권님의 포스팅에서는 다음과 같이 Github Action 의 자동화를 구성하셨다. Master 브랜치에서 Push가 발생하면 PR Merge 가 되어도 Master 에서는 Push가 발동된다 Merge Commit으로 발생한 커밋 메세지에서 버저닝 번호만 추출해서 Tag로 생성 반면에 우리 프로젝트는 release 브랜치의 반영이 다음과 같이 진행된다. 그래서 그대로 적용할수는 없었고, 우리팀 스타일에 맞게 개조가 필요했다. maaster Push가 아니라 PR이 merge가 되었을때만 Github Action이 .. 2022. 4. 23.
엔지니어의 세심함 제일 싫어하는 개발자의 유형 중 하나가, 개발자가 일을 잘하기 위해서 하나부터 열까지 기획자가 다 챙겨야 한다고 생각하는 분들이다. "A ~ Z까지 엣지케이스, 예외 상황 하나도 빠짐없이 다 기획서에 넣어주세요" "아 그건 기획서에 없었으니깐 당연히 안했죠" "그거 자주 잊어먹으니깐 A, B, C에 문서화 해주세요" 등등 엄청 많다. 이걸 병적으로 싫어한다. 엔지니어외 다른 직무는 엔지니어의 서포트 조직이 아니다. 그래서 팀에 합류하고나서 공들였던 작업중 하나가 엔지니어들의 문서화/커뮤니케이션 문화 개선이였다. 초기 스타트업의 엔지니어분들은 커뮤니케이션/문서화의 세심함이 정말 부족하다. 엔지니어들의 리소스가 절대적으로 부족한 시기이다보니, 최대한 엔지니어분들의 리소스를 아끼기 위해 엔지니어가 아닌 분들이.. 2022. 4. 23.
CloudFront 모니터링 하기 최근에 AWS의 서울/도쿄 리전에서 CloudFront 장애가 발생했다. (착한 트위터의 세계에서는 실시간으로 공유가 된다) EC2, RDS, ElasticCache에 비해 CloudFront는 모니터링을 잘 안하게 되는데, 장애가 발생하면 서비스 전체에 직격타가 된다. 대부분의 정적 파일 (이미지 등)이 CloudFront를 통한 CDN으로 전달이 되기 때문이다. 그래서 CloudFront가 평소보다 응답이 늦거나 에러 발생율이 높을때를 알 수 있게 모니터링할 필요가 있다. 여기서는 바로 적용할 수 있는 CloudWatch로 모니터링 하는 방법을 소개하지만, 만약 Datadog 같이 전문적인 APM 도구를 사용하고 있다면 APM을 통해 CloudFront를 모니터링하고 알람을 거는 것이 장기적인 관점에.. 2022. 4. 17.

728x90
반응형