본문 바로가기

TIL

(50)
[TIL 2022-2-8] HTTP 헤더 공부 HTTP 헤더 - 헤더 분류 1999RFC RFC2616(폐기됨) General 헤더 - 메세지 전체에 적용되는 정보 ex) Connection: close Request 헤더 - 요청 정보 Response 헤더 - 응답 정보 Entity 헤더 - 엔티티 바디 정보 ex) Content-Type: text/html 등 엔티티 본문의 데이터를 해석할 수 있는 정보 제공 RFC723x 엔티티 -> 표현(Representation)으로 변경됐다. 메시지 본문 = 페이로드(payload) 이다. 메시지 본문에 표현 데이터가 포함된다. 메시지 본문을 통해 표현 데이터를 전달한다. 표현 헤더는 표현 데이터를 해석할 수 있게하기위해 데이터 유형, 길이, 압충 정보 등을 전달하기 위해 존재한다.(REST API 의 R..
[TIL 2022-2-7]JPA 공부 실용편1 끝!! JPA - 도메인 모델에 대하여 https://tech.junhabaek.net/%EB%B0%B1%EC%97%94%EB%93%9C-%EC%84%9C%EB%B2%84-%EC%95%84%ED%82%A4%ED%85%8D%EC%B2%98-domain-layer1-domain-layer%EC%99%80-ddd-e97a7587a7b0 백엔드 서버 아키텍처 — Domain Layer1. Domain Layer와 DDD 도메인 레이어의 유형, DDD의 개요 tech.junhabaek.net 도메인을 추상적으로 표현하고 DDD에 대해 여러 비유들이 있는데 너무 추상적이고 이해가 잘 가지않았다. 일단 지금 내가 생각하는 도메인 모델 패턴은 도메인 객체가 행위까지 포함하는 것을 말하는 것 같다. - Entity를 그대로 모..
[TIL 2022-2-5] JPA 공부 양방향 연관관계에서는 연관관계의 주인 양방향 연관관계에서는 연관관계의 주인을 정해야한다. 일대다 관계에서는 다에 무조건 외래 키가 존재하게된다. 테이블, 컬럼명 테이블명과 컬럼명은 보통 대문자 + _ 또는 소문자 + _ 을 사용한다. @Embeddable, @Embedded Entity에서 어떤 정보를 표현할 때, 연관되어있는 프로퍼티들을 클래스로 분리하여 관리할 수 있다. 분리한 클래스는 @Embeddable 어노테이션을 클래스 레벨에, Entity에는 @Embedded를 필드에 지정해주므로써 구현한다. @Entity 에 @Setter 대신에 비지니스 메소드를 만들어서 사용할 것 로직이 복잡해지고 세터를 통해 데이터를 변경하는 것을 여러 곳에서 하다보면 문제가 발생했을 때 추적이 매우 힘들어진다. 데이..
[TIL 2022-2-4] Spring JPA 공부 시작!! Spring jPA 공부를 시작했다. 김영한님에 말에 따라 기본개념강의를 건너 뛰고 [실전! 스프링 부트와 JPA 활용1] 강의를 듣기 시작했다. https://www.inflearn.com/course/%EC%8A%A4%ED%94%84%EB%A7%81%EB%B6%80%ED%8A%B8-JPA-%ED%99%9C%EC%9A%A9-1/dashboard 실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발 - 인프런 | 강의 실무에 가까운 예제로, 스프링 부트와 JPA를 활용해서 웹 애플리케이션을 설계하고 개발합니다. 이 과정을 통해 스프링 부트와 JPA를 실무에서 어떻게 활용해야 하는지 이해할 수 있습니다., - 강 www.inflearn.com 근데 내생각보다 더 기본 설명을 안하고 넘어가는 경우가 ..
[TIL 2022-2-2] 로그인 페이지 뷰 구현 + 생성자에 따른 @ModelAttribute의 동작 방법 로그인 페이지 뷰 구현 부트스트랩과 Thymeleaf를 활용해서 로그인, 회원가입, 계정찾기 뷰를 미리 구현했다. 아직 Thymeleaf 에 모델을 적용하는 코든는 빈 부분들이 있지만 개발하면서 수정해 나갈 예정이다. 처음엔 진짜 현업에서처럼 동작하는 로그인 시스템을 만드는게 막막했는데, 아직 정말 많이 부족하지만 지난 20일동안 공부하면서 어떤 것들을 공부해야하고 알아야가야하는지 조금은 알게된 것 같다. 지금은 초라한 프로젝트지만 얼른 공부해나가면서 하나둘씩 발전시켜나가고 싶다!!! 생성자에 따른 @ModelAttribute의 동작 방법 Lombok의 @NoArgsContructor 와 @AllArgsConstructor 를 클래스에 명시하고 컴파일하면 각각 매개변수가 없는 생성자와 모든 멤버변수를 매..
[TIL 2022-2-1] Spring MVC 공부 @ModelAttribute와 Model SpringMVC에서 @ModelAttribute 를 통해 쿼리파라미터와 폼데이터를 개발자가 만든 객체로 바인딩할 수 있다. 이 때 Model 객체에 값을 넣어주지 않아도, @ModelAttribute를 통해 넘어오는 객체를 자동으로 넣어서 뷰로 전달해 준다. 그리고 @Controller 의 컨트롤러 메소드는 매개변수로 객체가 들어오면 @ModelAttribute가 디폴트로 작동하기 때문에 생략해 줄 수 있다. 이때 뷰에서 사용되는 모델의 이름은 매개변수로 들어오는 객체의 타입에서 첫글자를 소문자로 바꿔 사용한다. @PostMapping("/add") public String v1(@ModelAttribute("item") Item item,Model model)..
[TIL 2022-1-30] 스프링 MVC 공부, 비트연산자 비트 연산자 종류 | : 둘중 하나만 1이면 1 & : 둘다 1이여야지만 1 ^ : 둘이 다르면 1 ~ : 1 이면 0, 0 이면 1로 반전 > n : 지정한 수 n만큼 오른쪽으로 비트 이동 Spring MVC Http 요청 메시지 바디 처리 요청 파라미터의 경우는 @RequestParam, @ModelAttribute 을 통해 조회했다. 또 컨트롤러 메소드 파라미터의 변수명(또는 객체 멤버의 변수명)과 요청파라미터의 키가 같다면 이를 생략하더라도 동작했다. 파라미터가 아닌 Http 요청 메세지 바디를 통해 데이터를 전달할 경우 @RequestBody 를 통해 데이터를 바인딩할 수 있다. 단 @RequestBody는 생략할 수 없다. 생략하면 스프링에서 단순타입(string, int) 등에 파라미터는 @..
[TIL 2022-1-29] 스프링 웹 MVC 공부 + 정규식 스프링 웹 MVC 공부 클래스 단계의 @RequestMapping을 통해 중복 url을 통합해서 처리할 수 있다. @RequestParam을 통해 요청 파라미터 사용 String int 등의 단순 타입이고 파라미터 이름이 쿼리 파라미터 이름과 같아면 @RequestParam도 생략가능 하지만 명확하게 요청 파라미터에서 데이터를 읽는 다는 것을 명시하기 위해 @RequestParam은 생략하지 않는 것도 좋다는 견해도 있다. @RequestParam(required=false) 로 설정해주면 요청 파라미터가 없어도 동작한다. 하지만 이 떄 컨트롤러 메소드의 파라미터에 null을 넣어주기 때문에 타입이 primitive 형(int,long,double 등) 인 경우에는 500 에러를 발생시킨다. 이러한 경우..