본문 바로가기

개발-사용기

(13)
5. Typescript & Serverless 사용기 - swagger문서 자동화 2부 이번에 해볼 예제들은 다음을 전제로 진행된다. aws-cli가 설치되어 있고 credential 설정이 완료되어 있다. 호스팅 가능한 s3버킷이 이미 존재한다. aws-cli 설치는 아래의 공식문서를 참조해서 설치하면 된다. https://docs.aws.amazon.com/ko_kr/cli/latest/userguide/install-cliv2.html s3버킷을 cloudfront - route53으로 연결해서 호스팅 하는 것은 이후에 포스팅할 예정이다. 지금은 s3의 주소를 사용해서 예제를 진행하겠다. 1. swagger.json 배포 swagger.json파일을 s3에 배포한다. aws s3 cp ./swagger_dist/swagger.json s3://[s3버킷명]/swagger/swagger..
4. Typescript & Serverless 사용기 - swagger문서 자동화 1부(swagger.json 생성) swagger 현업에서 일할 때 frontend & backend가 사용할 api에 대한 문서 작업을 하는 일은 생각보다 개발 공수가 많이 든다. swagger를 사용하면 이러한 api문서를 자동화시킬 수 있으며, postman같이 직접 api를 테스트해볼 수 있는 기능도 사용할 수 있다. 우리가 이번에 해볼것은 기존에 class-validator를 이용해서 만든 model을 swagger에서 사용할 수 있게 하는 것과, 주석으로 swagger문서를 작성하고 swagger html페이지를 구축하는 것이다. 아무래도 serverless에서 자체적으로 지원되는 부분이 아니기 때문에 필자의 막무가내 프로젝트 구조 및 코드가 들어가 있으니 주의해서 봐줬으면 한다. 1. class-validator-jsonsch..
3. Typescript & Serverless 사용기 - class-validator 적용 class-validator 링크: https://github.com/typestack/class-validator typestack/class-validator Validation made easy using TypeScript decorators. Contribute to typestack/class-validator development by creating an account on GitHub. github.com class-validator는 model을 선언하면서 해당 객체의 validation 기능도 사용할 수 있기 때문에 api를 구성할 때 더욱 안전한 서버를 구축할 수 있게 한다. class-validator를 사용하는 용도는 다양하겠지만 여기선 요청에 대한 validation 수행 작업..
2. Typescript & Serverless 사용기 - 프로젝트 구조 생성 서버를 구현하면서 적당한 위치에 성격이 맞는 함수들을 묶어놓는 것만으로도 프로젝트를 깔끔하게 유지할 수 있다. 여기에 나오는 프로젝트 구조는 내 맘대로 나눈 것이기 때문에 굳이 따라 할 필요는 없다. 다만 tsconfig, webpack 설정을 통해 폴더 접근을 쉽게 해 줄 수 있는데, 이 부분은 좀 쓸만하니 프로젝트에 도입해보는 걸 권장한다. 1. 폴더 생성 node_modules api - 생성 model - 생성 service - 생성 util - 생성 config - 생성 test - 생성 handler.ts ... 6개의 폴더를 추가적으로 생성했는데 어떤 용도로 사용할지 간략하게 정리해보면 api: api로 등록할 함수들을 작성하는 곳 model: model로 사용할 class를 정의해두는 곳...
1. Typescript & Serverless 사용기 - 기본 설치 및 설정 이번에 사이드 프로젝트를 진행하는데 serverless를 사용해보기로 했다. 일단 내 주력 언어인 typescript를 사용해서 구현할 생각인데, 생각보다 serverless 자체에 대한 이해도가 없어서 생기는 문제들이 많았었다. 그래서 서버를 구축하면서 생기는 이슈들을 어떻게 해결했는지 같이 기록해보겠다. 1. serverless 설치 우선 serverless를 전역으로 설치해보자. 다음 명령어를 사용하면 설치가 가능하다. npm install -g serverless 2. 프로젝트 생성 프로젝트를 생성하려는 폴더에 들어가서 다음 명령어를 실행시켜보자 sls create --template aws-nodejs-typescript && npm install 그러면 다음과 같은 프로젝트 구조가 생성된다. ..