프론트에서 유효성 검사를 수행하지만, 백단에서도 유효성 검사를 수행해야 안전한 애플리케이션을 만들 수 있습니다. Spring Boot의 Validation은 가장 많이 쓰이는 유효성 검사 라이브러리 입니다. 적용하는 방법은 구글링하면 수많은 포스팅이 존재하니 생략하고 바로 이슈 및 해결을 설명드리겠습니다. public class UrlDto { public static class Request{ @Data @Builder @NoArgsConstructor @AllArgsConstructor public static class Save{ @NotBlank(message = "Link 필드는 필수입니다.") @Pattern(regexp="^((http(s?))\\:\\/\\/)([0-9a-zA-Z\\-]+\..
jwt의 access_token과 refresh_token를 구현하는 과정에서 프로젝트 프론트 팀원분이 refresh_token은 쿠키에 담아서 전송해달라는 요청이 들어왔다. 과정은 대략 아래와 같다. 전송방식은 Http Only 방식으로 쿠키에 담아 전송하였다. httpOnly란 Set-Cookie HTTP reponse 헤더에 포함되는 flagf이다. cookie를 생성할 때 HttpOnly를 사용하는 것은 브라우저가 HttpOnly를 지원할 경우 쿠키는 클라이언트 측 스크립트에 접근할 수 없다. 악성 스크립트(XSS 공격)에 의한 위험을 완화시켜준다. 즉, http only 쿠키 방식으로 저장된 정보는 Javscript의 Document.cookieAPI로 접근이 불가능하다. 따라서 XSS 취약점 ..
1.개요 Spring MVC의 @RestController은 @Controller와 @ResponseBody의 조합입니다. Spring 프레임 워크에서 RESTful 웹 서비스를 보다 쉽게 개발할 수 있도록 Spring 4.0에서 추가되었습니다. 근본적인 차이점은 @Controller의 역할은 Model 객체를 만들어 데이터를 담고 View를 찾는 것이지만, @RestController는 단순히 객체만을 반환하고 객체 데이터는 JSON 또는 XML 형식으로 HTTP 응답에 담아서 전송합니다. 물론 @Controller와 @ResponseBody를 사용하여 만들 수 있지만 이러한 방식은 RESTful 웹서비스의 기본 동작이기 때문에 Spring은 @Controller와 @ResponseBody의 동작을 조..
brunch.co.kr/@springboot/538 스프링부트 백엔드 프로그래밍 (5) 5. 예외 처리 및 테스트 코드 작성 | "스프링부트 백엔드 프로그래밍"이라는 주제로 약 8주간 글을 작성할 예정입니다. 스터디가 잘못된 방향으로 가지 않도록, 의견 및 조언을 아낌없이 해주시 brunch.co.kr #필수과제 1. 사용자에 의한 키워드 검색 시 네이버 Open API 영화 검색 결과를 애플리케이션 내부에 정의한 자료구조에 저장해놓기(캐싱 역할로 사용) (Map or Set or 커스텀한 자료구조 등 자유롭게 정의해보기) 예) Map을 사용해서, Key에는 검색어를 Value는 검색 결과를 저장 2. 사용자에 의한 키워드 검색 시 특정 키워드에 해당하는 데이터가 자료구조에 이미 저장되어있다면, 네이버 ..
brunch.co.kr/@springboot/532 스프링부트 백엔드 프로그래밍 (3) 3. 스프링 IoC, DI | "스프링부트 백엔드 프로그래밍"이라는 주제로 약 8주간 글을 작성할 예정입니다. 스터디가 잘못된 방향으로 가지 않도록, 의견 및 조언을 아낌없이 해주시길 부탁드립니다. brunch.co.kr brunch.co.kr/@springboot/533 스프링부트 백엔드 프로그래밍 (4) 4. 스프링부트 AutoConfiguration | "스프링부트 백엔드 프로그래밍"이라는 주제로 약 8주간 글을 작성할 예정입니다. 스터디가 잘못된 방향으로 가지 않도록, 의견 및 조언을 아낌없이 해주시길 부 brunch.co.kr # 필수과제 1. 임베디드 톰캣의 쓰레드 풀 사이즈를 변경해보세요. (성능 테스트 ..
brunch.co.kr/@springboot/530 취준생을 위한 스프링부트 백엔드 프로그래밍 (1) 1주차 1교시 - 스프링부트란 무엇인가? | "취준생을 위한 스프링부트 백엔드 프로그래밍"이라는 주제로 약 8주간 글을 작성할 예정입니다. 제가 잘못된 길로 가지 않도록, 댓글로 의견 및 조언 brunch.co.kr brunch.co.kr/@springboot/531 취준생을 위한 스프링부트 백엔드 프로그래밍 (2) 2. 간단한 API 서버 만들어보기, 앞으로 커리큘럼 소개 | "취준생을 위한 스프링부트 백엔드 프로그래밍"이라는 주제로 약 8주간 글을 작성할 예정입니다. 제가 잘못된 길로 가지 않도록, 댓글로 brunch.co.kr 필수 과제 1. 어노테이션이 어떤 기능을 하는지 정리 스프링 : @Res..
dncjf64.tistory.com/223 IntelliJ IDEA와 Git Bash 연동하기 medium.com/@violetboralee/intellij-idea%EC%99%80-git-bash-%EC%97%B0%EB%8F%99%ED%95%98%EA%B8%B0-63e8216aa7de IntelliJ IDEA와 Git Bash 연동하기 JetBrains 계열의 IDEA와 Git Bash를 연동하는 방법을 소개.. dncjf64.tistory.com 앞서 올린 인텔리제이에 Git Bash 연동하기를 선행한 기준으로 기록 터미널을 열면 프로젝트 루트경로가 뜸 명령어 순서 1 : ./gradlew build로 빌드 2 : cd build -> cd libs로 이동 (libs 폴더가 생성되지 않았으면 빌드가 ..
내 블로그 - 관리자 홈 전환 |
Q
Q
|
---|---|
새 글 쓰기 |
W
W
|
글 수정 (권한 있는 경우) |
E
E
|
---|---|
댓글 영역으로 이동 |
C
C
|
이 페이지의 URL 복사 |
S
S
|
---|---|
맨 위로 이동 |
T
T
|
티스토리 홈 이동 |
H
H
|
단축키 안내 |
Shift + /
⇧ + /
|
* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.