
YouTube 클론 프로젝트 - OAuth를 이용한 카카오 로그인 구현 (Spring Boot)
2021. 10. 29. 16:42
YouTube Clone Project
OAuth는 크게 3단계로 나뉘어 있다. 서비스를 등록하는 과정 원하는 소셜 로그인 회사에 본인 웹 애플리케이션 등록하기 이 과정에서 redirect_uri 등을 합의하기 토큰을 받기 위한 과정 사용자를 소셜로그인 페이지로 이동시키기 소셜 로그인 회사가 사용자를 우리 서비스로 Redirect 시키기 토큰을 이용해 사용자 정보를 요청하는 과정 OAuth의 이론적인 부분에 대한 내용은 다음 포스팅에 작성해 놓았다. https://jminie.tistory.com/128 OAuth 개념 및 동작 방식 우리는 자주 어느 사이트에 로그인을 하려고 하면 외부 소셜 계정을 기반으로 간편히 로그인할 수 있는 웹 애플리케이션을 쉽게 찾아볼 수 있다. 예를 들어, 외부 웹 애플리케이션에 카카오로 jminie.tistory..

YouTube 클론 프로젝트 - JWT를 이용한 로그인 인증처리 (Spring Boot)
2021. 10. 18. 17:04
YouTube Clone Project
📌 인증방식의 변화 기존의 시스템에서는 서버 기반의 인증방식을 사용하였다. 하지만 시스템의 규모가 커짐에 따라 서버 기반의 인증 방식은 한계점을 보이기 시작하였고, 토큰 기반의 인증 방식이 등장하게 되었다. 현대 웹서비스에서 API를 이용한 웹서비스를 개발할 때, 토큰을 사용하여 사용자들의 인증 작업을 처리하는 방법이 많이 선호된다고 한다. 이에 대한 구체적인 이론은 따로 포스팅을 작성해 놓았다. https://jminie.tistory.com/125?category=1008953 쿠키(cookie) 세션(session) 토큰(token)(JWT) 그리고 캐시(cache) 쿠키, 세션, 캐시, 그리고 토큰에 대해 알아보기 전에 우선 이것들이 왜 필요한지부터 알아보자. 📖 HTTP 프로토콜의 특징 Conn..

YouTube 클론 프로젝트 - API 리스트업 및 기능 구현 (Spring Boot)
2021. 10. 11. 18:18
YouTube Clone Project
📌 API란? API에 관해서는 별개의 포스트에 기록해 놓았다. https://jminie.tistory.com/120?category=1008953 API란? (SOAP API, REST API) 📌 API란? 우리가 레스토랑에 있다고 가정해보자. 우리는 점원이 가져다준 메뉴판을 보면서 음식을 고르면, 점원이 주문을 받아 요리사에 요청을 한다. 그러면 요리사는 음식을 만들어 점원에게 jminie.tistory.com 📗 REST API와 HTTP 메서드 REST API는 HTTP 메서드를 사용한다. 메서드(method) : 동사 의미. - ex) GET, POST URI: 행위의 목적 -ex) /users/userId/springboot 메서드의 종류 GET : 자료를 요청할 때 사용 POST : 자료..

YouTube 클론 프로젝트 - Product App(YouTube) 한 방 쿼리 작성
2021. 10. 2. 23:16
YouTube Clone Project
이 글은 전 포스팅에 이어지는 글입니다. https://jminie.tistory.com/114 Product App 데이터 모델링 및 ERD 구축 📌 데이터 모델링이란? 우리는 일상생활에서 모델을 많이 접하고 있다. 예술 분야의 작품의 대상과 건축 분야의 설계도 등을 우리는 모델이라고 일컫는다. 이와 같이 모델이란 어떤 대상을 의 jminie.tistory.com 이번 글에는 유튜브의 각 화면을 SQL문 하나로 가져오는 이른바 한방 쿼리(?)를 사용하여 화면에 맞는 데이터를 불러와 보도록 하겠다. 모든 부분을 일일이 다 가져오지는 못했다. 당초 유튜브라는 거대한 앱의 모든 데이터들을 ERD화 시키기가 힘들었다. 📌 한방 쿼리 1. 유튜브 첫 화면 select V.thumbNail, V.vidioName..

YouTube 클론 프로젝트 - Product App(YouTube) 데이터 모델링 및 ERD 구축
2021. 10. 2. 16:49
YouTube Clone Project
📌 데이터 모델링이란? 우리는 일상생활에서 모델을 많이 접하고 있다. 예술 분야의 작품의 대상과 건축 분야의 설계도 등을 우리는 모델이라고 일컫는다. 이와 같이 모델이란 어떤 대상을 의미하는 포괄적 의미를 가지고 있으며, 특히 데이터 모델은 현실 세계에 대한 우리가 관심 있는 대상을 데이터베이스 화하기 위한 개념적 도구라고 정의할 수 있다. 📌 데이터 모델링 단계 개념 데이터 모델링 : 주제별로 분류 가능한 업무를 분석해서, 핵심 엔터티를 추출하고 그들 간의 관계를 정의하여 데이터 전체 골격을 생성한다. 논리 데이터 모델링 : 핵심 엔터티와 관계를 바탕으로 상세 속성을 정의하고 식별자를 확정하며, 정규화와 같은 상세화 과정을 수행한다. 물리 데이터 모델링 : DBMS의 특성 및 구현 환경 등을 감안한 스..