public클래스, 필드, 생성자, 메서드에 사용 가능모든 대상이 접근 가능protected필드, 생성자, 메서드에 사용 가능같은 패키지 또는 자식 클래스에서만 접근 가능 (자식클래스가 아닌 다른 패키지에 소속된 클래스에서는 접근 ❌)default클래스, 필드, 생성자
@RequestParam http 요청 파라미터를 받는 방법 파라미터 이름으로 바인딩 @RequestParam(required = true): 반드시 필요, 없으면 예외 발생 @RequestParam(required = false): 선택 @RequestPara
사용 1(.get()을 이용한 접근)get()을 이용하여 객체에 접근할 수 있으나 만약 객체가 비어있다면 NoSuchElementException이 발생한다!사용 2(.orElse()를 이용한 접근)객체가 비어 있을 경우 null을 반환한다.객체를 http respon
session쿠키만을 이용하여 로그인을 진행하는 경우 보안적으로 문제(쿠키의 조작 가능성, 쿠키 탈취 가능성, 탈취된 쿠키 평생 이용 가능성)가 발생할 수 있다. 따라서 이를 보완하고자 session을 사용한다.session 로직client 로그인 → serverser
IllgealStateException 객체 상태가 메서드 호출을 처리하기에 적절치 않을 때 사용
ResponseEntity 요청에 대한 응답을 줄 때 동적으로 응답에 대한 HTTP 상태코드를 지정할 수 있다. response 객체에 getter
lombok을 이용할 경우 @Builder 통해 쉽게 사용할 수 있다.필요한 데이터만 설정할 수 있다. 넣을 필요 없는 필드는 따로 null로 처리 안해도 된다. 가독성이 좋다.유연성을 확보할 수 이싿.아래와 같은 이점을 준다.transaction begin, co
Mock이란 진짜 객체 처럼 동작하지만 프로그래머가 직접 컨트롤 할 수 있는 객체를 의미한다.@ModelAttribute가 적용될 dto는 setter가 있어야 한다.@NotBlank는 String에만 적용된다.
OneToOne 관계에서 lazy loading이 작동하지 않고 n+1 문제가 발생한 것을 개인 프로젝트 중에 확인하였다. 이유를 알 수 없어 구글링을 해보니 JPA에서 OneToOne 관계에서는 다음과 조건을 만족 해야만 Lazy Loading이 작동한다고 한다.Nu
프로젝트에서 특정 URL에 대한 redirect가 필요하여 301 redirect를 할 수 있게 NGINX 설정 파일을 작성하였다. 배포 후에 NGINX의 로그를 살펴보니 redirect된 모든 요청의 HTTP 메서드가 GET으로 변경되어 있는 것을 확인하였다. 따라서
chmod (옵션) (reference)(operator)(modes) 파일reference(대상)u: user의 권한g: group의 권한o: other의 권한 a: all의 권한operator\+: 해당 권한을 추가한다\-: 해당 권한을 제거한다=: 해당 권한을 설
웹 애플리케이션에서 일어나는 취약점으로 관리자가 아닌 권한이 없는 사용자가 웹 페이지에 스크립트를 삽입하는 공격 기법세션 쿠키 탈취입출력 값 검증, XSS 방어 라이브러리, 웹 방화벽을 통해 방어https://tecoble.techcourse.co.kr/pos
@Column(length = 50)varchar(50)@Size(max=50)varchar(50) & persist, update 전에 자동으로 @Size에 해당하는 값에 맞게 데이터가 할당되었는지 검증한다.https://blog.yevgnenll.me/po
Set-Cookie: key = value; Max-Age: 3600;@JsonInclude(JsonInclude.Include.NON_NULL)를 사용예상하고 있는 값을 반환하고 있는지 확인한다.함수가 제대로 호출되고 있는지 확인한다.방법1방법2
✔︎ @ModelAttribute 위의 경우 query parameter로 넘어온 data가 바인딩 되지 않는 문제를 겪었다. 이러한 문제가 발생한 이유는 아래와 같다. Spring의 경우 URL 파라미터 또는 POST Form Data 형태의 파리미터를 커맨드 객
소스코드를 실행가능한 바이너리 코드로 변환하는 과정을 의미한다.소스코드 파일을 실행가능한 소프트웨어 산출물로 만드는 일련의 과정을 말한다. Class, 라이브러리 파일을 포함Class, 라이브러리 파일을 포함JRE만 있어도 실행 가능컨테이너에 배치할 수 있는 웹 어플리