OAuth2.0 이란?
·
혼자하는 프로젝트/나만의 프로젝트
이번에 생활코딩에서 OAuth2.0 이란 강의를 듣고 OAuth2.0에 대한 개념을 정리해 보았다. 앞으로 구글, 네이버, 카카오의 소셜로그인을 구현하는 것이 목표이기 때문에 그전에 개념을 한번 살펴보고 싶어서 공부하게 되었다. 용어 설명 Resource Server : User의 정보를 가지고 있는 서버이다. 구글, 네이버, 카카오 같은 곳이라 생각하면 될 것 같다. Resource Owner : 구글, 네이버, 카카오 같은 곳에 회원가입이 되어 있는 유저이다. 우리 앱을 사용할 유저라 생각하면 될 것 같다. Client : 우리의 서비스이다. 등록 절차 client가 Resource Server를 이용하기 위해서는 Resource Server에 대한 Register를 받아 놔야 한다. 이때 3개의 값..
공통 부분 문자열(백준_5582)
·
BackEnd/알고리즘 공부
https://www.acmicpc.net/problem/5582 5582번: 공통 부분 문자열 두 문자열이 주어졌을 때, 두 문자열에 모두 포함된 가장 긴 공통 부분 문자열을 찾는 프로그램을 작성하시오. 어떤 문자열 s의 부분 문자열 t란, s에 t가 연속으로 나타나는 것을 말한다. 예를 들 www.acmicpc.net 문제 설명 2개의 문자열이 주어지면 2개의 문자열에 모두 포함 된 부분문자열 중 가장 긴 것의 길이를 출력하는 것이다. ABRACADABRA와 ECADADABRBCRDARA의 공통 부분 문자열은 CA, CADA, ADABR이 존재한다. 이 중 제일 긴 문자열의 길이는 5이기 때문에 답은 5이다. 문제에 대한 아이디어 공통의 부분 문자열을 찾는 알고리즘이다. 이 알고리즘 가장 유명한 것은..
컴포넌트 스캔
·
BackEnd/스프링 핵심 원리 - 기본편
컴포넌트 스캔과 의존관계 자동 주입 시작하기 지금까지 스프링 빈을 등록할 때는 자바 코드의 @Bean이나 XML의 등을 통해서 설정 정보에 직접 등록할 스프링 빈을 나열했다. 이렇게 등록해야 할 스프링 빈이 수십, 수백개가 되면 일일이 등록하기도 귀찮고, 설정 정보도 커지고, 누락하는 문제도 발생한다. 그래서 스프링은 설정 정보가 없어도 자동으로 스프링 빈을 등록하는 컴포넌트 스캔이라는 기능을 제공한다. 또 의존관계도 자동으로 주입하는 @Autowired 라는 기능도 제공한다. AutoAppConfig.java @Configuration @ComponentScan( excludeFilters = @ComponentScan.Filter(type = FilterType.ANNOTATION, classes =..
사전(백준_1256)
·
BackEnd/알고리즘 공부
https://www.acmicpc.net/problem/1256 1256번: 사전 동호와 규완이는 212호에서 문자열에 대해 공부하고 있다. 김진영 조교는 동호와 규완이에게 특별 과제를 주었다. 특별 과제는 특별한 문자열로 이루어 진 사전을 만드는 것이다. 사전에 수록되 www.acmicpc.net 문제 설명 이번 문제는 사전에 a와 z로만 이루어진 문자열들이 알파벳 순서대로 수록되어 있다. 이 때 n과 m이 주어졌을 때, 자신의 사전에 k번째 문자열을 출력하는 것이다. 예를 들어 n=2, m=2 이면 a가 2개, z가 2개 이고 2번째 문자열이므로 azaz이다. 문제에 대한 아이디어 문자열의 순서를 찾으라는 것에서 순열이 생각났다. 예시 처럼 a a z z가 주어졌을 때, 고등학교 때 배운 4! / ..
SpringBoot를 이용한 이메일 인증 하기
·
혼자하는 프로젝트/나만의 프로젝트
이번에는 이메일 인증을 하기 위해 SpringBoot에서 이메일 인증 코드를 보내는 것을 해볼려고 한다. 이메일 인증 구현은 링크 이 사이트를 참고해서 실행했다. 시작하기 전 구글 계정 세팅 나는 내 구글 계정을 사용해서 이메일을 보낼려고 한다. 크롬에서 오른쪽 상단에 자신의 프로필 클릭하고 구글 계정 관리를 들어간다. 왼쪽에 보안이 있다. 보안 중 비밀번호 앱 비밀번호를 선택한다. 메일 Windows 컴퓨터를 클릭하고 생성을 누른다. 이렇게 하면 16자리의 Spring boot에서 쓸 비밀번호를 얻게 된다. Gmail 이메일 발송 한도 https://support.google.com/a/answer/166852?hl=ko Google Workspace의 Gmail 전송 한도 - Google Worksp..
Spring Boot와 JWT를 이용한 회원 가입(2)
·
혼자하는 프로젝트/나만의 프로젝트
이번 시간에는 저번에 JWT로 바꾼 password를 다시 원상태로 뽑아올려고 한다. JWT 분석 eyJ0eXBlIjoiand0IiwiYWxnIjoiSFMyNTYifQ. eyJwYXNzd29yZCI6IjEyYWJjZCIsImlzcyI6Ildvb25nIiwiaWF0IjoxNjc1NjAyNzE2LCJleHAiOjE2NzcwNzM5NDV9. Y-gvsHLXdI8Ug2QoBalRuE2cE6jh08GbzwUnY7GIWGs 위의 token은 어제 내가 만든 JWT이다. 위에서부터 Header, Payload, Signature이다. 내가 뽑아 와야 할 password는 Payload에 암호화 되어 있다. 그래서 Payload에서 Claim 형태로 빼올 것이다. 우리는 이것을 Jws의 Claim 형식으로 빼올 것이다..