분류 전체보기154 Github - Slack 연동 (w/ user mentioning) 업무 효율화를 위해 Slack 알림을 적극적으로 활용할 수 있다. 코드 리뷰가 활발한 개발 조직이라면 PR이나 review comment를 남길 때 Slack 알림을 활용하면 PR을 남겼다고 굳이 얘기를 하지 않아도 알 수 있고, 내 PR에 리뷰가 달렸는지 매번 PR을 확인하지 않아도 된다. (특히 remote 환경에서 매우 편리하다) 이번 포스팅에서는 Github - Slack 연동을 하기 위해 어떻게 구성을 했고 어떤 식으로 동작하는지에 대해 정리해보도록 하겠다. 사실 이미 Github Slack integration이 존재한다. 연동도 매우 간편하고 CLI와 비슷하게 channel에서 command를 통해 설정도 할 수 있다. 하지만 딱 하나 아쉬운 점은 Slack mentioning이 안된다는 것.. 2020. 12. 31. Firebase Cloud Funtions 사용 시 EAI_AGAIN 오류 (2019-08-31에 작성된 글입니다) Firebase의 Cloud Functions를 사용하여 개발을 하는데, EAI_AGAIN 오류가 발생한 것에 대해 원인을 찾아보고 관련해서 정리한다. 로컬에서 함수를 실행하여 테스트할 때 node-fetch로 정상적으로 호출되던 것이 Firebase 서버로 배포를 하고나면 EAI_AGAIN 오류가 나는 것이었다. 아래는 해당 에러 로그이다. FetchError: request to https://foo.com/bar failed, reason: getaddrinfo EAI_AGAIN foo.com:443 at ClientRequest. (/srv/node_modules/node-fetch/lib/index.js:1455:11) at emitOne (events... 2020. 12. 30. 쉽게 따라하는 Firebase Cloud Functions - 2. 함수 배포 (2019-08-30에 작성된 글입니다) 저번 글에서는 어떻게 프로젝트를 생성하는지를 알아보았고, 이번 글에서는 함수를 작성하고 배포하는 방법을 알아보도록 하겠다. 저번 글에서 CLI로 생성한 프로젝트 디렉토리를 보면 functions/index.js가 기본적으로 생성되어 있는데, index.js를 보면 함수 기본 템플릿이 주석 처리되어있다. // functions/index.js const functions = require('firebase-functions'); // // Create and Deploy Your First Cloud Functions // // https://firebase.google.com/docs/functions/write-firebase-functions // // exp.. 2020. 12. 30. 쉽게 따라하는 Firebase Cloud Functions - 1. 프로젝트 생성 (2019-08-27에 작성된 글입니다) AWS나 Azure와 같은 클라우드 플랫폼이 제공하는 Serverless 플랫폼을 사용하면 개발자가 웹 애플리케이션을 만들고, 이를 VM 인스턴스에 올리고, CI/CD를 구성하는 등... 여러가지 신경쓸 것이 많은 백엔드 작업들을 비지니스 로직 코드만 작성하여 Firebase에 배포하면, 해당 Serverless 플랫폼이 스케일링이나 DB 접근 등을 알아서 전부 관리해줘 애플리케이션 개발 중 백엔드 개발 시간을 단축할 수 있다. (하지만 편리한 만큼 단점도 있기 때문에 잘 선택해서 써야한다.) 또 이번에 알아볼 Firebase Cloud Functions의 경우, Firebase의 Realtime DB, Authentication 등에 쉽게 접근하여 여러 백엔드 .. 2020. 12. 30. Make practicable daily routine 나는 스스로를 잘 제어하지 못하는 사람이다. 그걸 알기에 나는 나를 움직이지 않으면 안될 상황을 만들어 나를 억지로라도 움직이게 만들었다. 예전에는 나를 억지로라도 움직이기 위해서 회사 근처 영어 학원에서 오전반을 다녔고 재밌어서 스터디 리더도 했었다. 주말에는 스터디를 했었고 휴일에 너무 늘어져있으면 근처 카페라도 가서 일단 차 한잔 시켜놓고 차 값이 아까워 적어도 한 시간은 공부를 하든 독서를 하든 뭔갈 하곤했었다. 그런데 지금은 집 외에 실내를 들어가질 못하고 집 안에 쳐박혀 있어야하니 나를 움직이게 만드는 것들이 아예 사라졌다. 스스로 규칙이 없다보니 그때그때 주어진대로 생각하게 되고 할 것을 그냥 잡히는데로 정하게되더라. 몇 개월의 바보같은 시행착오 끝에 스스로 지켜야할 루틴의 필요성을 느꼈다... 2020. 12. 28. validation => insert V.S. insert => catch (2020-01-19에 작성된 글입니다.) 최근 다른 팀원이 기능을 구현한 코드를 보면서 기존에 내가 하던 방식과 차이가 있어, 팀원들과 이에 대해 같이 얘기를 나누면서 알아본 것들과 나의 생각을 정리해본다. 상황 다음과 같은 사용자 Entity가 있고 사용자의 화면에 보이는 이름(displayName)과 계좌(account)는 다른 사용자와 중복되지 않는 unique한 값이어야한다 라는 도메인 규칙이 있다고 하자. 그러면 TypeORM을 사용할 경우 아래와 같이 User Entity를 만들 수 있을 것이다. @Entity() export class User extends BaseEntity { @PrimaryGeneratedColumn() private id: number; @Column({ uniqu.. 2020. 12. 28. 이전 1 ··· 22 23 24 25 26 다음