AI가 대두되는 요즘, 개발자에게는 코딩 실력만으로는 부족합니다.비즈니스를 이해하고 효과적으로 소통하는 능력이 더욱 중요해졌습니다.이런 종합적인 역량은 불필요한 의사소통 비용을 줄이고 효율적인 개발로 이어져,결국 회사와 개발자 본인의 가치를 높이는 핵심 요소가 됩니다.현대 개발자는 기술과 비즈니스의 균형을 맞추며, 이를 명확히 전달할 수 있어야 합니다. 아래의 글들을 통해 자신의 능력을 올리는데 도움이 되었으면 좋겠습니다. ⬇️ 꿀팁은 맨아래🌠 목차✅ SCQA를 생각하자 ✅ 조사를 제거하자✅ 듣는이를 고려하자 SCQA를 생각하자 ✅ 업무 커뮤니케이션의 기본 구조를 SCQA를 생각하고 말하자 SCQA란?상황(Situation) - 현재 상황/배경 설명"AI 반환 실행 횟수 초과 에러 관련하여 문의 드립..

관련된 링크 🌠 목차✅ ✅ ✅ 인터셉터의 기능 및 역할AOP 기법에서 영감을 얻은 유용한 기능메서드 실행 전/후에 추가 로직을 바인딩 함수에서 반환된 결과 변환함수에서 던져닌 예외를 변환기본 함수 동작 확장특정 조건에 따라 함수를 완전히 재정의(ex:캐싱) 쉽게 말해서 컨트롤러 핸들러 메서드의 전후에 추가적인 로직을 삽입하거나,핸들러의 결과값 또는 예외를 변환하는 등 다양한 작업을 수행할 수 있는 클래스입니다.마치 컨트롤러 핸들러를 감싸는 래퍼(wrapper)와 같은 역할을 합니다. 인터셉터 구현 중 제목 작성인터셉터는 @Inejectable() 데코레이터 주석을 달고 NestInterceptor 인터페이스를 구현하는 클래스입니다. 각 인터셉터는 두 개의 인수를 받는 ExecutionContext와..

가드는 @Injectable() 데코레이터로 주석이 달린 클래스로,CanActivate 인터페이스를 구현합니다. 관련된 링크: https://docs.nestjs.com/guards 🌠 목차✅ 가드와 미들웨어 차이점✅ 가드 구현 canActivation과 FirebaseTokenGuard✅ 가드와 미들웨어 차이점 가드란? 가드에는 단일 책임이 있습니다.역할: 런타임에 존재하는 특정 조건(권한, 역할)에 따라 주어진 요청이 라우트 핸들러에 의해 처리될지 여부를 결정합니다.주로 Controller에서 @AuthGuard, @TokenGuard, @AdminGuard로 사용됩니다. Express에서는 middleware에 의해 처리되었습니다. 미들웨어는 토큰 유효성 검사 및 요청 개체에 속성 첨부 등..

파이프는 @Injectable() 데코레이터로 주석이 달린 클래스로, PipeTransform 인터페이스를 구현합니다. 관련된 링크 : https://docs.nestjs.com/pipes 🌠 목차✅ 파이프의 일반적 사례✅ 파이프 바인딩과 적용✅ queryString과 body의 데이터 처리 차이점 파이프의 일반적 사례 transfromation: 입력 데이터를 원하는 형식(예: 문자열에서 정수로)으로 변환합니다.validation: 입력 데이터를 평가하여 유효하면 변경 없이 통과하고, 그렇지 않으며 예외를 던집니다. 두 경우 모두 컨트롤러 경로 핸들러에서 처리 중인 인수에 대해 작동합니다 파이프 작동 방식요청: 클라이언트가 서버로 요청을 보냅니다.파이프 실행: NestJS는 요청 데이터를 파이..

브랜치를 푸시하거나, 라벨을 붙이거나, 태그를 추가할 경우 GitHub Action을 이용하여 Azure API Container에 자동으로 배포하는 방법을 공유합니다. 저희 팀에서는 변형된 Git flow 전략으로 버전 관리를 하고 있습니다그중 QA 브랜치만 다루도록 하겠습니다. 🌠 목차✅ CI/CD에서 원하는 동작✅ GitHub Action workflow 생성✅ Azure 배포 프로세스의 이해 ⭐️⭐️⭐️✅ 만약 안되는 부분이 있다면✅ 회고 CI/CD에서 원하는 동작QA 브랜치에 PR을 만들고 "QA"라벨을 추가하면 자동 CI/CD가 되도록 구현하려고 한다. GitHub Action workflow 생성workflow 파일 코드name: Trigger auto deployment for..

Nestjs Exception filters 첫 문장Nest에는 애플레킹션 전체에서 처리되지 않은 모든 예외를 처리하는 예외 계층이 내장 되어 있습니다.애플리케이션 코드에서 처리되지 않은 예외가 발생하면 이 계층에서 이를 포착하여 적절한 사용자 친화적인 응답을 자동 전송합니다. 관련된 링크: https://docs.nestjs.com/exception-filters 🌠 목차✅ NestJS 요청 라이프 사이클✅ Exception filters의 주요목적✅ Exception filters가 에러를 잡을 수 있는 이유✅ 예외 처리 방법들 ✅ Exception filters를 활용한 커스텀 ✅ 필터와 파이프 차이NestJS 요청 라이프 사이클클라이언트의 요청이 컨트롤러에 도달하기까지의 플로우1. 클라이..
Unit Testing 책 리뷰와 실무 적용기들어가며"Unit Testing: Principles, Practices, and Patterns"(Vladimir Khorikov 저) 책을 읽고 실무에 적용하면서 느낀 점을 정리해보았습니다. 테스트 코드를 작성하는 여러 방법론과 실제 현장에서의 적용 과정에서 배운 점들을 공유하고자 합니다.(실은 읽다가 어려워서 누락된 내용도 꽤 많아요 ㅎㅎ이해하고 넘어가주세요)책의 핵심 내용테스트의 기본 원칙테스트는 비즈니스 시나리오를 반영해야 함테스트 가독성이 중요테스트가 구현이 아닌 동작을 검증해야 함단위 테스트의 정의작은 코드조각을 검증하고빠르게 수행하고격리된 방식으로 처리하는 자동화된 테스트고전파 vs 런던파격리 문제로 인한 두 학파의 차이고전파: 실제 의존성을 사..

자잘자잘하게 따져보면 flutter, JSP, 노코드 등등도 있다 완벽히 NestJS + TS 개발자가 되었다.올해는 특히 TyepsScript 핸드북 Doc을 모두 정독하고, 사내 시험을 보면서 TS와 TS 모듈에 대한 더 깊은 이해를 가지게 되었다. 외부 시스템 연동 오퍼월과 기프티콘 시스템을 적용하기 위해 외부 업체와 협업한 일이 많았다.소통 단계에서 요구해야할 사항들(ex: 개발계/운영계/테스트계 화이트리스트 IP등록)과외부 업체와 메일 소통의 방법에 대해 많이 배우게 되었다.또한 기프티콘 시스템을 도입하게 되면서 도메인에 대한 이해와 예외적으로 발생할 수 있는 상황들을 경험하게 되었다.(ex: 업체의 문제로 상품 구매가 안될 경우가 존재 : 임시발급 단계 -> 발급과정을 거치고, try-c..
- Total
- Today
- Yesterday