> For the complete documentation index, see [llms.txt](https://injun-woo30000.gitbook.io/growth-log/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://injun-woo30000.gitbook.io/growth-log/daily-review/2021/april/2021-04-14-wed.md).

# 2021-04-14(Wed)

| 항목         | 내용                             |
| ---------- | ------------------------------ |
| 학습 날짜      | 2021-04-14(수)                  |
| 학습 시간      | 09:00\~23:00                   |
| 학습 범위 및 주제 | Refresh 토큰                     |
| 학습 목표      | Refresh 토큰의 저장공간을 결정 기준을 알아낸다. |
| 동료 학습 방법   | -                              |

## 상세 학습 내용

Refresh 토큰은 어디에 저장해야할까?

서버사이드에서는 Refresh 토큰을 어떻게 검증해야할까?

<https://doogle.link/jwt-%ED%98%B9%EC%9D%80-oauth2-%EC%9D%98-refresh-%ED%86%A0%ED%81%B0%EC%9D%84-%EC%96%B4%EB%94%94%EB%8B%A4-%EC%A0%80%EC%9E%A5%ED%95%B4%EC%95%BC-%ED%95%A0%EA%B9%8C/>

### 관계형 모델

관계형 모델은 실제 세계의 데이터를 '릴레이션(관계)'라는 개념을 사용해 표현한 데이터 모델이다.

여기서 말하는 데이터 모델은 설계의 의미가 아니라 '데이터를 어떻게 표현할까'라는 개념의 의미이다.

최근 쓰이는 KVS(Key-Value Store)도 데이터 모델의 하나이고 관계형 모델도 데이터 모델의 하나이다.

### 릴레이션(관계)?

릴레이션이란 무엇일까? **'테이블 사이의 관계'라고 생각하는 것은 대표적인 실수다!** **SQL에 있어 릴레이션에 해당하는 것은 테이블이다.**

관계형 모델의 릴레이션 정의

* 릴레이션은 제목(Heading)과 본체(Body)로 구성되어 있다.
  * 제목은 속성(Attribute)이 n개 모인 집합이다. 이 속성은 이름과 데이터 형으로 되어 있다.
  * 본체는 속성값의 집합인 튜플의 집합이다.

그리고 튜플의 속성을 SQL에서는 각각 행(로우)와 열(칼럼)이라고 한다.

| 관계형 모델 | SQL |
| ------ | --- |
| 릴레이션   | 테이블 |
| 튜플     | 행   |
| 속성     | 칼럼  |

**왜 관계형 모델과 SQL에는 각각에 맞는 개념이 있는데 다른 이름으로 불리는 걸까?**

개념은 같지만, 성질이 다르기 때문이다. 이 책을 읽으면서 이 다른 부분을 느껴보도록 하자.

## 학습 내용에 대한 개인적인 총평

백엔드 개발자는 데이터의 흐름을 제어하는 것이 핵심이고, DB를 잘 알아야한다는 얘기를 통감했다. 그래서 관계형 데이터베이스 실전입문 책을 읽기 시작했다.

으으 맘 같아선 스프링 쫙 판 다음에 이런 책 읽으면서 내 서비스 만들어보는건데! 라이브코딩 때문에 미뤄지는 것 같아서 아쉽다.

## 다음 학습 계획

* Rails로 로그인 기능 구현하기
