[Nest.js] 1. Nest.js 프로젝트 구조 파악하기
·
Back-end/Nest.js
노마드 코더님의 nest.js 기초 강의를 토대로 필기한 것입니다.nest.js란node.js의 웹 프레임워크로, express위에서 작동하는 프레임워크이다. express와 fastify 두 가지가 전부 호환되므로 매우 실용적인 프레임워크라고도 할 수 있다. 프로젝트 구조nestjs는 Spring과 유사하게 비즈니스 로직을 담당하는 service와 엔드포인트에 매핑되는 controller가 분리 되어있다.src 안에는 main, app.controller, app.service, app.module이 존재한다.main.tsimport { NestFactory } from '@nestjs/core';import { AppModule } from './app.module';async function boo..
[Java] 큰 정수 타입 다루기
·
Java
Java에서 int타입의 범위는 -2,147,483,648 ~ 2,147,483,647이고Long 타입의 범위는 -9,223,372,036,854,775,808 ~ 9,223,372,036,854,775,807이다. 자바에서는 그 범위를 넘어서게 되면 모두 0으로 출력이 된다. 만약 이보다 더 큰 숫자를 다루게 된다면 BigInteger 클래스를 활용해보자!BigInteger 사용법선언BigInteger bigNumber = new BigInteger("0");BigInteger[] memo = new BigInteger[10]; BigInteger을 초기화하기 위해서는 문자열을 인자 값으로 넘겨주어야 한다사용법BigInteger a = new BigInteger("1000");BigInteger b =..
[Spring] H2 DataBase 사용법
·
Back-end/Spring
1. H2 DataBase란?H2 데이터베이스는 설치가 필요 없고 용량이 가벼우며 개발용 로컬 DB로 사용하기 좋은 DBMS이다.자바 기반의 오픈소스 관계형 데이터베이스 관리 시스템(DBMS).서버(Server) 모드와 임베디드(Embedded) 모드의 인메모리 DB 기능을 지원.브라우저 기반의 콘솔 모드를 이용할 수 있음.별도 설치과정이 없고 2.5MB 이하의 저용량 DB.표준 SQL의 대부분을 지원로컬 및 테스트 환경에서 많이 사용됨.2. 설치 후 사용법1. http://h2database.com/html/main.html 에서 다운로드.2. C:\Program Files(x86)\H2\bin 위치에서 h2 window 파일 실행하기. H2 DBH2 DB에는 3가지 모드가 있다.- Server Mod..
[Spring] Spring만의 유효성 검사 @Valid, @Validated 정리
·
Back-end/Spring
실행 환경build.gradleimplementation 'org.springframework.boot:spring-boot-starter-validation:3.2.2'  1. @ValidValid 어노테이션은 주로 request body를 검증하는데 많이 사용된다.다음 UserDto를 보자public class UserDto { @Email private String email; @NotBlank private String password; @Valid // @NotNull 대신 @Valid를 사용해야함 private Address address; // 생성자 및 getter 함수}public class Address { @NotBlank priv..
[Express.js] Passport 모듈을 활용한 카카오 소셜 로그인 구현
·
Back-end/Node.js
Passport란?Passport는 이름 그대로 서비스를 사용할 수 있게끔 해주는 여권 같은 역할을 하는 모듈이다.회원가입과 로그인은 직접 구현할 수도 있지만, 세션과 쿠키 처리 등 복잡한 작업이 많으므로 검증된 모듈을 사용하는 것이 좋다.그런 방면에서, Passport는 사용하기 좋은 검증된 모듈이다. 특히 facebook이나 kakao, google 같은 소셜 로그인 시에  passport 모듈이 사용된다. 1. Kakao Developers에서 애플리케이션 생성카카오 디벨로퍼에서 내 애플리케이션 -> 추가하기를 눌러 앱을 생성한다 이렇게 애플리케이션을 생성하면 앱 설정 -> 앱 키에서 REST API 키를 확인할 수 있는데, 추후에 kakao Strategy에 사용될 API KEY이므로 env 파..
[Spring] createdAt, updatedAt 사용하기
·
Back-end/Spring
Entity 설계 시 해당 데이터가 생성된 시점, 마지막으로 수정한 시점 등을 속성값으로 사용하고 싶을 때가 있다. 이 때 사용하는 것이 createdAt, LastModifiedAt 속성이다. 1. SpringApplication 설정@SpringBootApplication@EnableJpaAuditing // 추가public class DlinkApplication { public static void main(String[] args) { SpringApplication.run(DlinkApplication.class, args); }} 보통 Springboot 를 실행시키는 클래스 상단에 많이 사용한다.JPA Auditing(감시, 감사) 기능을 활성화하기 위한 어노테이션으로 createdDat..
[Spring] Spring Security + OAuth2 + JWT [카카오 소셜 로그인 구현]
·
Back-end/Spring
build.gradle 설정implementation 'org.springframework.boot:spring-boot-starter-oauth2-client'implementation 'org.springframework.boot:spring-boot-starter-security'implementation 'com.auth0:java-jwt:4.4.0' spring security 사용과 oauth2 라이브러리, 그리고 jwt 토큰 사용을 위해 auth0 jwt 라이브러리를 사용하였다.Spring Security 설정우선 spring security configuration 설정에 대한 전체 코드를 작성하고 설명하고자 한다.@Configuration@EnableWebSecurity@RequiredA..
[Spring] JPA Hibernate의 ddl-auto 속성 분석하기
·
Back-end/Spring
JPA의 구현체 중 하나인 하이버네이트는 다양한 기능을 제공하는데 그 중 엔티티를 등록하면 DDL(Data Definition Language)을 자동으로 작성하여 테이블을 생성하거나 수정해주는 ddl-auto라는 설정이 있다. 사용법- application.yml jpa: hibernate: ddl-auto: # create, none, validate, update, create-drop ddl-auto 속성ddl-auto에 올 수 있는 속성은 다음과 같다. 1. create2. create-drop3. update4. validate5. none createcreate는 단어 그대로 엔티티로 등록된 클래스와 매핑되는 테이블을 자동으로 생성(create)해준다. 이 과정에서 기존에 해..