반응형

전체 글 232

[Spring] javax.validation.UnexpectedTypeException: HV000030: No validator could be found for constraint 'javax.validation.constraints.NotBlank'

@NotBlank @Email private String email; @NotBlank(message = "이름은 1글자 이상 입력되야합니다.") private String name; @Pattern(regexp = "^010-\\d{3,4}-\\d{4}$", message = "휴대폰 번호는 010으로 시작하는 11자리 숫자와 '-'로 구성되어야 합니다.") private String phone; @NotBlank private long password; 위와 같이 Post요청에 대한 DTO를 구성하였는데 Post 요청시에 에러가 발생하였다. javax.validation.UnexpectedTypeException: HV000030: No validator could be found for constr..

Error Logs🐾 2023.07.10

[Spring] DTO

DTO? DTO란? DTO(Data Transfer Object)의 약자로 마틴파울러가 소개한 애플리케이션 아키텍처 패턴중의 하나이다. DTO는 프로세스간의 데이터를 전달하는 용도의 객체이다. DTO가 필요한 이유 코드의 간결성 DTO를 사용하게 되면 코드가 간결해진다. 예를 들어 회원정보를 @RequestParam을 통해 이메일, 이름, 주소 등의 정보를 받는다고 생각해보자. 그럼 컨트롤러의 해당 메서드에 받으려는 정보의 숫자만큼 @RequestParam이 필요할것이다. 하지만 Dto를 적용하게된다면? //DTO 적용전 @PostMapping public ResponseEntity postMember(@RequestParam("email") String email, @RequestParam("name"..

BackEnd🧵 2023.07.09

[Spring] Controller

Spring MVC의 동작방식 1. 클라이언트(웹브라우저)에서 요청을 전송하면 DispatcherServlet이라는 클래스에요청이 전달된다. 2. - 은 클라이언트의 요청을 처리할 Controller에 대한 검색을 HandlerMapping 인터페이스에게 요청한다. 3. HandlerMapping은 클라이언트 요청과 매핑되는 핸들러 객체를 다시 DispatcherServlet에게 리턴해준다. 4. 요청을 처리할 컨트롤러는 찾았고 실제 요청을 처리할 Handler 메서드를 찾아서 호출한다. HandlerAdapter에게 이 작업을 위임한다. 5. HandlerAdapter는 DispatcherServlet으로부터 전달받은 Controller 정보를 기반으로 해당 Controller의 Handler메서드를 ..

BackEnd🧵 2023.07.07

CodeStates - Section03 회고 블로깅

Section03 회고 Section02 회고와 함께 작성하는 관계로 이번에는 KPT방식을 적용하지 않고 회고를 작성해보려고한다. Section03은 Spring에 대해서 자세하게 배울수있는 기회였다. 이번 섹션 강사분(정식님)은 정말 친절하시고 처음 배우는 분들도 따라갈수있도록 열심히 지도해주시는 분이였고, 섹션이 진행되는 기간동안 나도 열심히만 한다면 잘따라갈수있었던 시기였다. 방통대 마지막학기 기말고사와 함께 겹치기도하고 이것저것 일들이 있어서 솔찍히 섹션에 몰입해서 집중한 정도를 퍼센트로 따지자면 50% 였던것같다. 부족했던 것들을 돌이켜보자면 일단 공부 방식에 문제가 조금씩 생겼다. 시작은 의지 넘치게 시작해도 끝까지 같은 텐션을 유지하는게 힘든 내 성격이 3개월쯤 지나니 슬슬 나왔던것같다. 비..

Studying💨 2023.07.06

CodeStates - Section02 회고 블로깅

Section02가 끝난지 한달이 넘어가는 지금에서야 회고 블로깅을 작성하지않았던 것이 떠올랐다. 늦었지만 한번더 상기시킬겸 작성해보려고 한다. 1. 목표 상기 - 경제적으로 안정되고 내가 하는일이 만족스러운 개발자 - 주어진 상황에 최선을 다하는 사람이 되자. Section01에서 작성했던 경제적으로 안정되고 내가 하는일이 만족스러운 개발자가 될수있을지 Section02와 03을 거치면서 생각을 많이 하게되었다. 내가 하고 있는 공부 방법이 조금은 문제가 있다는것을 느꼈다. 지금까지 내가 해왔던 공부들은 대학교시험과 자격증과 같은 점수를 위한 공부들이였다. 그리고 부트캠프를 시작하고 여기서 공부를 했던 방식도 그와 크게 다르지않았다. 점수를 위한 공부는 개념을 읽고 외우는 식으로 접근을 했었고 그 방식..

Studying💨 2023.07.06

[테스트] Junit테스트 중 에러

😎Error Log Gradle로 Junit 실습을 진행하던중 2개의 테스트가 성공은 했는데 로그상에 빨간글씨로 org.junit.platform.launcher.core.EngineDiscoveryOrchestrator lambda$logTestDescriptorExclusionReasons$7 요런 에러가 발생하였다... 찾아보니 인텔리제이 설정이 문제인것 같았다. 빌드시에 Junit으로 테스트가 진행되어야하는데 Gradle로 되어서 발생하는 문제이다. 해결방법 1. Settings -> Build, Execution, Deployment -> Build Tools -> Gradle 이동 2. Build and run using / Run tests using 을 Intellij IDEA로 변경

Error Logs🐾 2023.06.28

[Spring] DTO validation 적용 중 오류

😎Error Log DTO Validation 적용중에 문자열의 경우에 public class CoffeePostDto { @NotBlank(message = "한글이름은 공백이 안되요.") @Pattern(regexp = "^[ㄱ-ㅎ가-힣]+$") private String korName; @NotBlank(message = "영어이름은 공백이 안되요.") @Pattern(regexp = "^[A-Za-z]+( [A-Za-z]+)*$") private String engName; @Pattern(regexp = "^(1\d{2}|[2-4]\d{3}|50000)$") private Integer price; } 다음과 같은식으로 적용하였는데 에러가 발생하였다. 위의 korName과 engName의 경우 ..

Error Logs🐾 2023.06.17

Mysql Workbench에러 : could not acquire management access for administration

에러 발생 Mysql workbench를 설치하고 접속을 하게되면 다음과 같은 에러가 발생하는 경우가 있다. could not acquire management access for administration 해결방법 1. 제어판에서 [국가 또는 지역] 2. [관리자옵션] > [시스템 로캘변경] 3. Beta:세계 언어 지원을 위해 Un....어쩌고 체크! 4. PC재부팅후 접속하면 오류 해결! 다른해결방법 [환경변수 변경방법]

DataBase💾 2023.05.24

CodeStates - 웹 애플리케이션에 대한 이해

웹 어플리케이션? 1. Native-Application : 특정 실행환경에 종속되어 개발된 어플리케이션. 빠르고 인터넷없이 사용이 가능하며, 설치된 기기의 리소스에 접근이 용이하고 안전하지만, 비용이 증가하며, 업데이트가 힘들다. 2. Web-Application : 웹브라우저를 통해 접근이 가능한 어플리케이션으로, 설치나 다운로드가 필요없고, 업데이트가 편리하며 개발이 간편하다. 하지만 인터넷없이 사용이 불가능하고 속도가 느리며, 보안상 위험성이 있고 접근성이 떨어진다. TCP/IP Protocol 프로토콜은 공통된 규약이다. 이중에 TCP/IP는 4계층모델이 있으며 IP프로토콜을 경우 비연결성과 비신뢰성의 한계로 패킷을 받지못하는 상황에도 그대로 전송을 하기때문에 이를 극복하기위해 TCP와 같이 사..

Studying💨 2023.05.23
반응형