기회는 찬스
close
프로필 배경
프로필 로고

기회는 찬스

  • 분류 전체보기 (109)
    • Language (20)
      • Java (19)
      • Design Pattern (1)
    • Tech (24)
      • Spring (18)
      • JPA (3)
      • QueryDSL (1)
      • Gradle (2)
    • 개발 생각 (1)
    • Database (4)
      • Mysql (4)
      • Redis (0)
    • 네트워크 (1)
    • 운영체제 (2)
    • IDE (9)
      • Intellij (6)
      • vscode (2)
      • datagrip (1)
    • 인프라 (11)
      • Docker (2)
      • Jenkins (7)
      • Github Actions (1)
      • GCP (1)
    • 형상관리 (2)
      • gitlab (2)
      • git (0)
    • 외부활동 (28)
      • CS 면접 끝장내기 - 데이터베이스 1기 (5)
      • CS 면접 끝장내기 - 컴퓨터 네트워크 2기 (5)
      • CS 면접 끝장내기 - 자바 2기 (0)
      • TDD, 클린 코드 with Java 17기 (7)
      • ATDD, 클린 코드 with Spring 8기 (6)
      • 항해플러스 5기 (5)
    • 프로젝트 (0)
    • 회고 (6)
    • 기타 (0)
  • 홈
  • Github
  • LinkedIn
  • 방명록
Google 소셜 로그인 Google API 클라이언트 라이브러리 +  GoogleIdTokenVerifier 사용하는 방법

Google 소셜 로그인 Google API 클라이언트 라이브러리 + GoogleIdTokenVerifier 사용하는 방법

Rest API 서버에서 OAuth2.0을 사용하여 소셜 로그인을 구현해야 했습니다. 프론트는 리액트를 사용했기에 SPA방식을 고려해야 했습니다. 보통 아래와 같은 흐름으로 구현이 됩니다. 그림상으로는 1~3번 까지는 SPA에서 처리한다음 4번에서 code와 redirect_url을 반환합니다. 현재 진행하는 프로젝트에서는 5번의 access_token과 id_token값까지 프론트에서 받은 다음, access_token을 백엔드 서버에 제공하여 소셜 정보를 받는 과정으로 변경하였습니다. 구글 소셜 로그인 API를 구현하는 방식은 아래 블로그에 잘 설명되어 있습니다. (accessToken 값을 제공받는 과정까지 있습니다.) antdev.tistory.com/68 [Google Login API] Goo..

  • format_list_bulleted Tech/Spring
  • · 2021. 3. 15.
  • textsms
Spring Boot Validation 순서 정하기 & 테스트 코드

Spring Boot Validation 순서 정하기 & 테스트 코드

프론트에서 유효성 검사를 수행하지만, 백단에서도 유효성 검사를 수행해야 안전한 애플리케이션을 만들 수 있습니다. 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\\-]+\..

  • format_list_bulleted Tech/Spring
  • · 2021. 3. 15.
  • textsms
SpringBoot에서 HttpOnly 쿠키방식을 이용한 refreshToken 발급

SpringBoot에서 HttpOnly 쿠키방식을 이용한 refreshToken 발급

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 취약점 ..

  • format_list_bulleted Tech/Spring
  • · 2021. 2. 27.
  • textsms
@Controller와 @RestController의 차이점

@Controller와 @RestController의 차이점

1.개요 Spring MVC의 @RestController은 @Controller와 @ResponseBody의 조합입니다. Spring 프레임 워크에서 RESTful 웹 서비스를 보다 쉽게 개발할 수 있도록 Spring 4.0에서 추가되었습니다. 근본적인 차이점은 @Controller의 역할은 Model 객체를 만들어 데이터를 담고 View를 찾는 것이지만, @RestController는 단순히 객체만을 반환하고 객체 데이터는 JSON 또는 XML 형식으로 HTTP 응답에 담아서 전송합니다. 물론 @Controller와 @ResponseBody를 사용하여 만들 수 있지만 이러한 방식은 RESTful 웹서비스의 기본 동작이기 때문에 Spring은 @Controller와 @ResponseBody의 동작을 조..

  • format_list_bulleted Tech/Spring
  • · 2021. 2. 12.
  • textsms

[취준생을 위한 스프링부트 백엔드 프로그래밍] 3주차 과제

brunch.co.kr/@springboot/538 스프링부트 백엔드 프로그래밍 (5) 5. 예외 처리 및 테스트 코드 작성 | "스프링부트 백엔드 프로그래밍"이라는 주제로 약 8주간 글을 작성할 예정입니다. 스터디가 잘못된 방향으로 가지 않도록, 의견 및 조언을 아낌없이 해주시 brunch.co.kr #필수과제 1. 사용자에 의한 키워드 검색 시 네이버 Open API 영화 검색 결과를 애플리케이션 내부에 정의한 자료구조에 저장해놓기(캐싱 역할로 사용) (Map or Set or 커스텀한 자료구조 등 자유롭게 정의해보기) 예) Map을 사용해서, Key에는 검색어를 Value는 검색 결과를 저장 2. 사용자에 의한 키워드 검색 시 특정 키워드에 해당하는 데이터가 자료구조에 이미 저장되어있다면, 네이버 ..

  • format_list_bulleted Tech/Spring
  • · 2021. 1. 26.
  • textsms
[취준생을 위한 스프링부트 백엔드 프로그래밍] 2주차 과제

[취준생을 위한 스프링부트 백엔드 프로그래밍] 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. 임베디드 톰캣의 쓰레드 풀 사이즈를 변경해보세요. (성능 테스트 ..

  • format_list_bulleted Tech/Spring
  • · 2021. 1. 21.
  • textsms
[취준생을 위한 스프링부트 백엔드 프로그래밍] 1주차 과제

[취준생을 위한 스프링부트 백엔드 프로그래밍] 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..

  • format_list_bulleted Tech/Spring
  • · 2021. 1. 10.
  • textsms
Gradle로 빌드하고 jar파일 실행하기(터미널)

Gradle로 빌드하고 jar파일 실행하기(터미널)

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 폴더가 생성되지 않았으면 빌드가 ..

  • format_list_bulleted Tech/Spring
  • · 2020. 11. 29.
  • textsms
  • navigate_before
  • 1
  • 2
  • navigate_next
공지사항
전체 카테고리
  • 분류 전체보기 (109)
    • Language (20)
      • Java (19)
      • Design Pattern (1)
    • Tech (24)
      • Spring (18)
      • JPA (3)
      • QueryDSL (1)
      • Gradle (2)
    • 개발 생각 (1)
    • Database (4)
      • Mysql (4)
      • Redis (0)
    • 네트워크 (1)
    • 운영체제 (2)
    • IDE (9)
      • Intellij (6)
      • vscode (2)
      • datagrip (1)
    • 인프라 (11)
      • Docker (2)
      • Jenkins (7)
      • Github Actions (1)
      • GCP (1)
    • 형상관리 (2)
      • gitlab (2)
      • git (0)
    • 외부활동 (28)
      • CS 면접 끝장내기 - 데이터베이스 1기 (5)
      • CS 면접 끝장내기 - 컴퓨터 네트워크 2기 (5)
      • CS 면접 끝장내기 - 자바 2기 (0)
      • TDD, 클린 코드 with Java 17기 (7)
      • ATDD, 클린 코드 with Spring 8기 (6)
      • 항해플러스 5기 (5)
    • 프로젝트 (0)
    • 회고 (6)
    • 기타 (0)
최근 글
인기 글
최근 댓글
태그
  • #데이
  • #ㄹㄹ
  • #a
전체 방문자
오늘
어제
전체
Copyright © 쭈미로운 생활 All rights reserved.
Designed by JJuum

티스토리툴바