회원가입 기능을 만들 때, 시간 제한이 있는 이메일 인증을 통과하도록 만들어보자. Redis를 사용하면 TTL(Time To Live)을 써서 시간 제한을 쉽게 구현할 수 있다. 로컬에 Redis 설치하기 homebrew로 간단하게 설치했다. 설치가 끝났다면 redis 서버를 실행시키자. 서버가 실행중이라면 redis-cli ping 명령어를 입력하면 PONG이라고 응답한다. brew install redis brew services start redis redis-cli ping # PONG Spring boot 의존성 및 설정 추가하기 build.gradle의 dependencies에 redis를 추가하고, application.yml에 호스트와 포트 설정을 추가하자. // Redis 의존성 추가 i..
전체 글
다양한 경험을 기록해요오늘 한 일 알고리즘 문제 1개 풀었다. Spring boot에서 redis를 사용하는 방법을 공부했다. 조금 더 공부하고 정리해서 글을 써야겠다. 데이터 중심 애플리케이션 설계 책을 샀다. 이제 CRUD는 좀 익숙해진 것 같아서 다른 기술들과 더불어 설계 방법도 배워야 할 필요성이 느껴졌다. 이 책도 읽으면서 인상깊은 내용은 블로그에 공유해야지.
Bean validation에서 기본적으로 제공하는 기능 이상으로 유효성 검증을 해야한다면 커스텀 어노테이션을 만들어서 검증할 수 있다. 커스텀 어노테이션 이외에 검증하는 방법은 여러가지가 있지만, 나는 컨트롤러나 서비스 레이어에서 검증 메서드를 계속 호출하는 것이 메서드의 핵심 코드를 읽기 불편하게 만든다고 생각하기 때문에 DTO의 검증은 DTO 레이어에서 처리하는게 좋다고 생각했다. 나와 비슷한 생각이신 분들을 위해 커스텀 어노테이션과 검증 클래스로 분리해서 DTO 유효성을 검사한 방법을 공유한다. 회원가입 DTO 코드 @NoArgsConstructor @AllArgsConstructor @Getter @ValidSignUpRequest // Dto에 대한 검증은 Dto에서 처리하자 public cl..
Docker 사용하면서 기록하는 명령어 복기용 메모장. docker run -p 5432:5432 -e POSTGRES_PASSWORD=비밀번호 -e POSTGRES_USER=유저이름 -e POSTGRES_DB=DB이름 --name 컨테이너이름 -d postgres docker exec -i -t postgres_boot bash su - postgres psql --username 유저이름 --dbname DB이름 \list (데이터 베이스 조회) \dt (테이블 조회) docker run docker run => 새로운 Docker 컨테이너를 생성하고 실행한다 -p 5432:5432 => 호스트의 5432 포트와 컨테이너의 5432 포트를 연결한다 -e => 환경변수를 설정한다. 뒤에 따라오는 POS..
M1 Mac에 Docker Desktop 설치하고 환경 변수에 추가했다. 공식 홈페이지에서 Docker.dmg 파일을 다운로드 받아서 설치했는데, 환경 변수는 자동으로 안 잡아주더라~ 좀 찾아보니 /Applications/Docker.app/Contents/Resources/bin 경로에 있었다. 스크립트로 환경 변수에 추가해주자. echo 'export PATH="/Applications/Docker.app/Contents/Resources/bin:$PATH"' >> ~/.zshrc source ~/.zshrc 아래와 같이 실행된다.
어제 깜박하고 한 일 정리를 안했다 ㅋㅋ... ㅠㅠ 오늘 한 일 DBMS의 트랜잭션은 어떻게 구현되었는지 공부했다. 정리해서 글 써야지.. 알고리즘 문제 1개 풀었다.