Home
marshmel.log
Cancel

NestJS 프로젝트 시작하기 with docker(1)

NestJS란?? NestJS는 express를 활용한 서버 사이드 프레임워크다. 기본적으로 typescrip를 제공하여 컴파일을 통해 코드의 타입을 검사해 코드 안정성을 높여 준다. NestJS는 아키텍처의 정의도 제공하기 때문에 각 개발자들의 아키텍처가 통일되고 코드 구조를 쉽게 파악할 수 있다. NestJS 시작하기 NestJS는 nest...

Node js 프로젝트에서 Swagger API 문서 자동화

swgger를 사용해보자 이전 프로젝트에서는 postman을 이용해 백엔드 api 문서를 생성했다. postman도 편하고 잘 동작하지만, swagger api를 사용해보려고 한다. yml파일을 생성해 하나의 파일에 정의하는 방식과 라우터 파일들에 직접 정의 할 수 있는 차이가 있다. swagger api 문서 자동화를 알아본다. swagger A...

REST API, path parameter와 query string의 이해

REST REST는 자원을 이름으로 구분해서 자원의 상태를 주고 받는 것을 의미한다. REST의 구성 요소는 Resource(자원), Verb(행위), Representation of Resource(표현)이 있다. Resource 모든 자원에는 고유한 id가 존재하고, 자원은 서버에 존재한다. Client는 URI를 이용해서 자원을 지정하고, ...

Refresh Token이란??

Access Token 로그인이 필요한 모든 웹 페이지에서는 사용자가 인증되었는지 확인해야 한다. 일반적으로 access token은 JWT(jsonwebtoken)을 많이 사용하고, 헤더의 authorization에 저장해서 페이지마다 token을 검증하게 된다. Token 탈취의 위험이 있어 짧은 시간의 유효 기간을 갖는다. 유효 기간은 30분에...

use colab GPU with ssh in vscode(colab vscode 연동)

딥러닝으로 실험을 할 때 서버나 그래픽 카드가 없어 Colab에서 작업을 했었다. 구글의 Colab을 사용하면서 vscode나 Pycharm에서 연동해서 gpu를 사용하고 싶었지만 항상 Colab에 들어가서 작업을 했다. 이번 포스트에서는 vscode와 Colab을 연동해서 구글의 gpu를 사용하는 방법을 알아보자!! 작업 환경 OS: Win...

Typescript class

OOP(Object Oriented Programming) Typescript는 객체 지향 프로그래밍(OOP)의 특징을 가지고 있다. OOP는 객체의 모임으로 컴퓨터 프로그램을 파악하려는 프로그래밍 방식이다. Typescript는 인터페이스, 상속, 정적 메서드 구현 등의 패턴을 지원한다. OOP의 장점은 프로그램의 변경을 유연하게 만든다. 개발과...

Typescript 시작하기

타입이 필요한 이유 Javascript에서는 타입이 없기 때문에 타입에 의한 에러가 발생해도 코드를 실행시켜 보기 전까지 오류를 알기 힘들다. typescript는 타입에 대한 오류가 발생했을 때 미리 에러가 발생하는 부분을 알려준다. 타입을 정의하여 개발 단계에서 실수를 줄이고, 명시된 타입을 보고 자료형을 쉽게 파악할 수 있다. Typescri...

Spring boot 시작하기(view와 프로젝트 build)

view settings // controller/Hellocontroller.java @Controller public class Hellocontroller { @GetMapping("hello") public String hello(Model model) { model.addAttribute("data", "h...

Cross-Origin Resource Sharing(CORS)

MDN web docs를 정리하였습니다. CORS(Cross-Origin Resouce Sharing) 다른 도메인에서의 자원을 호출하는 행위에 제한이 없을 경우 안전하지 않습니다. CORS  (Cross-Origin Resource Sharing)는 이렇게 시스템 수준에서 타 도메인 간 자원 호출을 승인하거나 차단하는 것을 결정하는 ...

백엔드 3계층 구조로 구현한 프로젝트 템플릿

3계층 구조 설계 3계층 구조 설계는 백엔드 코드를 3개의 구조로 나눠 구현하는 것을 말한다. Controller, Service, Data Access계층으로 나눠져 있다. Data access계층은 Model 계층으로도 쓰인다. Controller layer 사용자의 request를 분석한 후 알맞은 서비스로 요청을 전달한 다음 서비스의 ...