
API Documentation & Design Tools for Teams | Swagger Loved by all • Big & Small Thousands of teams worldwide trust Swagger to deliver better products, faster. swagger.io Swagger는 API를 쉽게 문서화를 시킬 수 있는 라이브러리 입니다. Swagger를 사용하면 코드레벨에서 API 문서를 작성하고 동기화할 수 있어 어렵지 않게 API를 실시간으로 관리할 수 있다는 장점이 있으며, API를 사용해야하는 유저들은 Swagger에서 테스트를 할 수 있다는 장점이 있습니다. 오늘은 Nestjs에서 Swagger를 사용하는 방법에 대해 알아봅니다. 0. 의존성 모듈 설치 먼저..
아래의 게시글을 확인하고 본 글을 읽기 바랍니다. [Spring] Spring을 이용한 Todo Crud 구현하기(1) - Spring boot 셋팅 해당 게시글은 아래 스택을 이용하여 구현할 예정 입니다. Spring boot Spring Security + JWT JPA 1. Spring Boot 생성 먼저 Spring Boot Project를 생성하기 위하여 아래의 사이트에 접속한다. https://start.spring.io/ 위 pinomaker.com 이번 게시글에서는 JPA와 MySQL를 셋팅해보자 runtimeOnly 'com.mysql:mysql-connector-j' // MySQL Driver implementation 'org.springframework.boot:spring-boo..
해당 게시글은 아래 스택을 이용하여 구현할 예정 입니다. Spring boot Spring Security + JWT JPA 1. Spring Boot 생성 먼저 Spring Boot Project를 생성하기 위하여 아래의 사이트에 접속한다. https://start.spring.io/ 위의 사이트에 들어가면 Spring boot 프로젝트를 생성하기 위한 사이트가 나오는 데, 아래의 설정에 맞추어서 셋팅하거나 본인이 하고 싶은 것이 있으면 수정을 한 후에 GENERATE 버튼을 클릭하면 압축 폴더가 다운로드 받아지며, 해당 폴더를 인텔리제이로 열어주자 Project(Package 모듈) : Gradle Language : Java Spring boot Version : 2.7.8 (SNAPSHOT이 붙은..
DI Dependency Injection의 약자로, 의존 주입을 의미하는 데, 여기서 말하는 의존이란 객체 간의 의존을 의미한다. 아래의 예시를 보고 알아보자. public class MemberService{ // MemberDao 객체 생성 private MemberDao memberDao = new MemberDao(); // Member 저장 메서드 public void save(RequestDto req){ // 같은 Email의 Member가 있는 지 조회 Member member = memberDao.selectByEmail(req.getEamil()); // Email을 가진 Member가 있으면 예외 처리 if(member != null){ throw new DuplicateMember..
참고 사이트 : https://taegon.kim/archives/4910 Mustache Mustache는 제어 구조를 가진, 가장 문법이 간단하고 많은 언어를 지원하는 Template Engine이며, Mustache를 기반으로 확장한 Template Engine도 몇가지 있는 데, 대표적으로는 Handlebars와 Hogan.js가 있다. 변수의 사용 아래의 데이터를 이용해 Mustache에서 변수를 사용하는 방법을 알아보자 // Data { "name" : "Chris", "company" : "Github" } Mustache에서는 {{ }}에 변수 이름을 {{ name }}와 같이 입력하여 사용하는 데, 문자열은 자동으로 HTML 이스케이프가 되어 출력이 되지만 이스케이프가 되지 않은 문자열을..
Pipe 요청이 라우터 핸들러로 전달되기 전에 요청 객체를 변환할 수 있는 기회를 제공한다. 파이프는 주로 변환과 유효성 검사를 위하여 사용 된다. 변환(Transformatiion) : 입력 데이터를 원하는 형식으로 변환 유효성 검사(Validation) : 입력 데이터를 사용자가 정한 기준에 유효하지 않은 경우 예외 처리 @nest/common Module에는 내장 파이프가 마련 되어 있다. ValidationPipe ParseIntPipe ParseBoolPipe ParseArrayPipe ParseUUIDPipe DefaultValuePipe 그 중 ParseIntPipe, ParseBoolPipe, ParseArrayPipe, ParseUUIDPipe는 전달된 인자의 타입을 검사하는 용도로 사용..
Node.js 확장성 있는 네트워크 애플리케이션(특히 Server Side) 개발에 사용 되는 소프트퉤어 플랫폼으로, Javascript를 활용하여 논 블로킹 I/O와 단일 스레드 이벤트 루프를 통한 높은 처리 성능을 가지고 있다. 내장 HTTP 서버 라이브러리를 포함하고 있어서 웹 서버에서 아파치 등의 별도 소프트웨어 없이 동작이 가능하여 서버의 동작에 있어서 더 많은 통제를 가능하게 한다. Node.JS는 2009년에 Ryan Dahl이 Inangural JSConf EU conference에서 발표하였는 데, Node.js의 탄생 전까지의 Javascript는 Frontend에서만 사용 되는 언어였습니다. 단순하게 HTML과 CSS로만 구성된 웹 서비스에서 동적 페이지를 다루는 용도로 사용 되었고,..
참고 : https://jung-story.tistory.com/121 이번에 내가 속한 마스외전에서, 외주 프로젝트를 받았는 데, Spring + MyBatis를 이용하여 개발을 진행해서 MyBatis에 대해서 알아보고자 한다. MyBatis란? 객제 지향 언어인 자바를 이용하여 ORM을 쉽게 할 수 있게 해주는 프레임 워크다. JDBC를 통해 데이터베이스에 엑세스 하는 작업을 캡슐화 하며, 일반적인 SQL 쿼리와 저장 프로 시저 및 고급 매핑을 지원하고 모든 JDBC 코드 및 매개 변수의 중복작업을 제거한다. MyBatis는 프로그램에 있는 SQL 쿼리문을 한 구성 파일에 구성하여 코드와 SQL을 분리하는 장점을 가지는 데, 이번 프로젝트에서는 XML 파일에 쿼리문을 작성해 분리를 한다. MyBati..
전 게시글 확인! [Node JS] typescript + sequelize + passport로 유저 API 개발 - Local User 생성 전 게시글을 확인하고 읽어주시기 바랍니다:) [Node JS] typescript + sequelize + passport로 유저 API 개발 - Sequelize 셋팅 해당 포스트는 Typescript가 셋팅 되어있어야 합니다. [Node JS] Node.js를 Typescr.. pinomaker.com passport는 Node에서 로그인을 처리하기 위한 모듈이다. 간단하게 생각해서 여권이라고 생각하면 되는 데, 서비스를 개발하면 로컬 유저만 있는 경우도 있지만, 구글과 카카오 등 oauth를 이용한 다양한 종류의 유저를 처리해야할 때가 있는 데 이 때 pa..
전 게시글을 확인하고 읽어주시기 바랍니다:) [Node JS] typescript + sequelize + passport로 유저 API 개발 - Sequelize 셋팅 해당 포스트는 Typescript가 셋팅 되어있어야 합니다. [Node JS] Node.js를 Typescript 프로젝트로 셋팅하기. 1. Node Project 초기화 작업할 폴더를 생성하고 아래의 명령어로 Node Project로 초기화를 해준다. n.. pinomaker.com 전에 열심히 셋팅한 Sequelize를 이용하여 이제 Local User를 생성하는 즉 로컬 회원가입을 개발해보자. 폴더 구조는 src에 api 폴더를 만들고, user api를 수행할 user 폴더 안에 라우팅을 처리할 index.ts와 비즈니스 로직을 ..