개인 공부185 [BackEnd] Enum 유효성 검사 구현기 🤔 들어가기 앞서 사실 enum에 대한 유효성 검사를 위해서 Custom Annotation을 구현할 필요는 없을 수 있다. 하지만 나는 DTO에서 enum 타입 자체를 가지고 있고, 구현한 enum 타입이 많아서 만들었다. 이를 통해서, Parse 오류도 잡고 클라이언트에서 어떤 값을 잘못 보냈는지 확인할 수 있게 되었다! 😋😋 Custom Annotation을 구현하는 방법은 이전에 작성한 글을 참고하기 바란다! 🪄 Enum용 CustomAnnotation 만들기 작성한 코드는 우선 다음과 같다. 핵심으로 표시한 부분은 다음에 설명하겠다. @Target({ElementType.FIELD}) @Retention(RetentionPolicy.RUNTIME) @Constraint(validatedBy = .. 2023. 4. 25. [Spring] @ModelAttribute 🌞 들어가기 앞서 스프링에서 요청한 파라미터를 바인딩하는 방법은 여러 가지 있다. 오늘은 그중에서 @ModelAttribute에 대해서 이야기해 볼 생각이다. 사용은 쉽지만 주의할 점이 있기 때문에 어떻게 동작하는지와 같이 주의점도 정리해 보겠다. 😋😋 🪄 @ModelAttribute란? 파라미터를 바인딩하는 여러 어노테이션 중에 모델 객체를 바인딩하는 어노테이션이다. 다음과 같은 모델 객체(혹은 DTO)가 존재할 때 정보를 받아오는 방법은 여러 가지가 있겠지만 이 글에서는 @RequestParam과 @ModelAttribute를 비교해서 사용법을 알아보겠다! 가볍게 참고만 하자 ㅎㅎ.. // 모델 객체 public class User { private String name; private int age.. 2023. 4. 19. [AWS] AWS 인프라 구축하기 - CodeDeploy (5) 🤗 AWS 구축하기 5 사실 이 시리즈의 메인 파트이다. 이번 프로젝트에서는 Github Action과 CodeDeploy로 CI/CD를 구축했다. 도커는 다음에.. 실행 과정은 다음과 같다. task 1 : Github Action에서 작업들을 마치고 코드를 빌드한다. task 2 : Github Action이 CodeDeploy를 동작시키고, S3에 빌드 결과물을 저장한다. task 3 : CodeDeploy가 EC2에 S3에 저장된 결과물을 가져와 배포한다. 설정하는 데 있어서 중요한 것은 IAM 권한 설정하는 것이다! 차근차근 기록해 보자. 🏭 CodeDeploy 🖥️ EC2 설정 추가하기 EC2에서 배포를 진행하려면 다음과 같은 추가적인 설정이 필요하다! Tag 추가하기 IAM 추가하기 인스턴스.. 2023. 4. 5. [AWS] AWS 인프라 구축하기 - SES (4) 🤗 AWS 구축하기 4 일반적으로 회원 정보를 자체적으로 관리하는 서비스는 많지 않다. 왜냐하면 OAuth2를 사용하면 직접 유저 정보를 관리할 필요가 없어지기 때문이다. 하지만 이 프로젝트에서는 특정 집단만 사용할 수 있게 제한했기 때문에 우리가 로그인을 구현해야 했고, 인증을 위해서 Email 서비스를 사용하기로 했다! AWS의 SES 서비스를 사용할 예정이다. ✉️ SES SES(Simple Email Service)를 사용하기 위해서는 크게 어려운 점은 없다. 특별히 설정할 건 없지만 꼭 해줘야 하는 설정이 다음 2가지 존재한다. 샌드박스 벗어나기 도메인 or 이메일 설정하기 1️⃣ 샌드박스 벗어나기 SES가 샌드박스에 묶여있다면 인증된 사용자한테만 메일을 보낼 수 있다. 즉, 인증되지 않은 사람.. 2023. 4. 5. [AWS] AWS 인프라 구축하기 - EC2 (1) 🤗 AWS 구축하기 진행하는 프로젝트에서 새롭게 AWS 환경을 구축할 기회가 생겼다. 이전에 구축한 환경은 만드는데 급했기에 전혀 기억이 남지 않아서 기록을 해보려고 한다 😎😎 각각의 서비스가 무엇이고 어떤 것이 효율적인지는 다루지 않을 생각이다 😋😋 (나도 잘 몰라서..) 현재 사용하는 서비스는 다음과 같다. 이번편에는 EC2를 기록해 보겠다! EC2 : 클라우드 서비스 S3 : 저장소 서비스 CodeDeploy : 배포 서비스 SES : 이메일 발송 서비스 Route 53 : 라우팅 서비스 🖥️ EC2 🛠️ 새 인스턴스 생성하기 인스턴스가 하나의 컴퓨터라고 생각하면 된다. 가볍게 설정을 기록하겠다! 1️⃣ OS 설정하기 CI/CD를 Github Action과 AWS CodeDeploy를 사용하고 있는.. 2023. 4. 3. [객체지향의 사실과 오해] 1장 : 협력하는 객체들의 공동체 🧐 객체지향? 책을 읽기 전에 먼저 내가 아는 객체지향이란 어떤 것일지 생각해 봤다. 내가 생각하는 객체지향은 "나중에 추가될 요구사항에 유연하게 프로그래밍을 할 수 있게 하는 것"이라고 생각했다. 글을 적어 내려가면서 떠오르는 생각은 단순히 다형성에만 초점이 잡혀있는 것 같다. 책에서 가장 먼저 객체지향이 가지는 오해에 대해서 언급한다. 객체지향의 목표는 무엇일까? 일반적으로 실세계를 모방하는 것이라고 많이 알고 있다. 하지만, 요구사항을 만족하는 새로운 세계를 만드는 것이 객체지향의 목표이다. 그렇다면 왜 실세계를 모방하는 것으로 우리는 많이 알고 있을까? 우리는 객체지향을 이해하는 데 있어서 실세계를 예로 드는 것이 이해하기 쉽기 때문이다. 단순히 이해하는데 쉬울 뿐 구현하고 설계하는 기엔 부적합하.. 2023. 4. 1. 이전 1 2 3 4 5 6 7 8 ··· 31 다음