[Docker] Docker Images Tag <NONE> 삭제 자동화
·
Server/Infra
배포 스크립트와 크론탭을 사용해서 gitlab의 pipeline이 build가 완료 되면 자동으로 빌드하게 되는 명령어를 구성했었다. repository를 새롭게 pull할때마다 docker image가 계속해서 추가되는 현상이 발생한다. [CI/CD] 배포 스크립트 작성, 크론탭을 활용해서 자동 배포 깃을 푸시하고, 도커에서 풀하고 실행시키는 과정을 계속해서 반복하기란 너무 번거로운 작업입니다. 해당 작업을 자동화시키기 위해 배포 스크립트 작성 및 크론탭을 이용해보도록 하겠습니 chordplaylist.tistory.com 왜 삭제를 자동화 시켜야하는가? 이 때, 동일한 태그를 가진 이미지가 생성이 되면, 기존 이미지는 삭제되는 것이 아니라 tag가 None으로 바뀐 후 계속 남아있게 된다. 위와 같은..
[Project] 02. SNS 웹 서비스 제작
·
회고록/Archive
이전 글 [Project] 01. SNS 웹 서비스 제작 첫 번째 미션 AWS EC2에 Docker 배포 Gitlab CI & Crontab CD Swagger 회원가입 로그인 포스트 작성, 수정, 삭제, 리스트 AWS EC2에 Docker 배포 프로젝트를 진행하기 위해, 프로젝트용 AWS 인스턴스를 하나 새롭게 chordplaylist.tistory.com 첫 번째 미션 AWS EC2에 Docker 배포 Gitlab CI & Crontab CD Swagger 회원가입 로그인 포스트 작성, 수정, 삭제, 리스트 회원가입 Custom Response 제작 [Spring] Custom Response 생성 REST API를 호출하기 위해 API의 반환을 ResponseEntity를 사용하는 경우가 많습니다...
[02] 로그인 기능 만들기 - 2
·
프로젝트/Archive
이전 글 [02] 로그인 기능 만들기 - 1 DTO LoginRequset 만들기 @AllArgsConstructor @NoArgsConstructor @Getter public class UserLoginRequest { private String userName; private String password; } 로그인 하기 위해 userName과 password를 받아올 예정이므로 두 변수만 생성합 chordplaylist.tistory.com JWT FILTER 이전 글과 같이 Token을 생성하였다면, Token을 인증해주어야 합니다. 토큰 인증 기능을 만들지 않는다면 Token은 있으나 마나 한 존재가 됩니다. 아무 토큰이나 가지고 있어도 통과가 될 테 니깐요. 아래의 글을 확인하면 아래의 모든..
[02] 로그인 기능 만들기 - 1
·
프로젝트/Archive
DTO LoginRequset 만들기 @AllArgsConstructor @NoArgsConstructor @Getter public class UserLoginRequest { private String userName; private String password; } 로그인 하기 위해 userName과 password를 받아올 예정이므로 두 변수만 생성합니다. LoginResponse 만들기 @AllArgsConstructor @NoArgsConstructor @Getter @Builder public class UserLoginResponse { private String jwt; } 로그인 한 결과로 jwt를 반환 받을 계획입니다. Controller ... public class UserCont..
[02] 로그인 기능 만들기 - 0
·
프로젝트/Archive
JWT 추가 아래의 내용이 모두 포함되어 있습니다. [Spring Security & JWT] 2. JWT(Json Web Token) 발급 Spring Security 적용 JWT(Json Web Token) 발급 Token Filter 계층 추가 및 권한 부여 Token 유효성 검사 Token 데이터 파싱 JWT(Json Web Token) 발급 jjwt를 gradle에 추가합니다. JwtUil.Class를 생성하여 createJwt 메서드를 chordplaylist.tistory.com 의존성 추가 implementation 'io.jsonwebtoken:jjwt:0.9.1' jwt 추가 implementation 'javax.xml.bind:jaxb-api:2.3.1' javax.xml.bind...
[01] 회원가입 기능 만들기 - 1
·
프로젝트/Archive
회원가입에 필요한 DTO와 Layered Architecture 방식에 맞는 설계를 진행하겠습니다. DTO JoinRequest 만들기 @AllArgsConstructor @NoArgsConstructor @Getter public class UserJoinRequest { private String userName; private String password; public User toEntity(String password) { return User.builder() .userName(this.userName) .password(password) .userRole(USER) .build(); } } Request 정보를 Entity로 만들어서 DB에 저장해야하므로 toEntity() 메서드를 작성하였..
[01] 회원가입 기능 만들기 - 0
·
프로젝트/Archive
프로젝트를 진행하면서 가장 먼저 준비되어야 할 회원 가입 기능을 만들어보도록 하겠습니다. 제공받은 ERD를 참고하여 entity 먼저 만들어보겠습니다. Entity UserEntity @Entity(name = "USERS") @AllArgsConstructor @NoArgsConstructor @Getter @Builder @ToString(callSuper = true) @EqualsAndHashCode(callSuper = true) public class User extends BaseEntity { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) private Integer id; private String password; @Enumerate..
[Spring] 전역 예외, Global Exception 생성
·
Server/Spring&Spring Boot
스프링부트의 예외처리 방식 웹 서비스 애플리케이션에서는 외부에서 들어오는 요청에 담긴 데이터를 처리하는 경우가 많습니다. 그 과정에서 예외가 발생하면 예외를 복구해서 정상으로 처리하기보다는 요청을 보낸 클라이언트에 어떤 문제가 발생했는지 상황을 전달히는 경우가 많습니다. - 스프링 부트 핵심 가이드 中- ExceptionManager 클래스 생성 @RestControllerAdvice public class ExceptionManager { @ExceptionHandler(SNSAppException.class) public ResponseEntity SNSAppExceptionHandler(SNSAppException e) { Map result = new HashMap(); result.put("er..
코드플리
코드 플레이 리스트