728x90
오늘 내가 배운 것 1. Cookie Cookie Cookie 동작방식 Cookie 단점 2. Session Session Session 동작방식 Session 단점 Cookie VS Session 3. JWT JWT 기본 JWT 구조 Header의 알고리즘 4. 암호화 단방향 암호화 양방향 암호화 대칭키 비대칭키 cookie 또는 session을 이용하여 식별, 로그인 기능을 구현했었다. Cookie와 Session에 대하여 다시 정리해보려 한다. 그전에 HTTP 통신에 대한 기본적인 특징을 말하자면 1. HTTP 통신은 한 번의 요청에 한 번의 응답이 오고, 요청과 응답이 주고받은 후 연결을 끊는 특징이 있다. (비연결성 - Connectionless) 1-1. 비연결성의 장점은 하나의 서버에 여러 ..
오늘 내가 배운 것 1. Primary Key 2. 데이터 타입 ENUM 3. Model을 이용한 테이블 만들기 4. Liked 5. 관계형을 위한 정적 메서드 1. Primary Key 기본적으로 PK는 테이블당 1개만 부여 가능하다고 알고 있었다. CREATE TABLE person( first_name VARCHAR(30) NOT NULL, last_name VARCHAR(30) NOT NULL, PRIMARY KEY (first_name, last_name) ); 위에 코드처럼 Primary Key에 두 개의 필드를 적고, 실행을 하면 가능할까? 일단 실행이 가능하다. INSERT INTO person(first_name, last_name) VALUES(1, 1) first_name에 1이 들어..
Sequelize, ERD 활용 페어코딩 ERD를 이용하여 스키마 계획을 수립한 후 Sequelize를 이용하여 MySQL 데이터베이스에 들어갈 테이블을 만들고 POSTMAN을 이용하여 결과물 확인하기 ERD란? Entity Relationship Diagram의 약자로, 실재하는 것의 관계를 나타낸 도표이다. 실재하는 데이터들의 관계를 나타낸 도표라고 볼 수 있다. 기존에 무슨 데이터를 어떤 테이블에 어떻게 넣어야 할지 머릿속으로 하거나 나만 이용할 수 있는 그림을 그려서 사용했다면, ERD를 활용하여 위와 같이 표현한다면 확실히 한 번에 눈에 띄어 확인하기도 편하고, 협업에도 도움이 되며, ERD에 PK나 FK, 테이블 간의 관계를 쉽게 볼 수 있다. 이번에 페어코딩을 하면서 처음 사용한 방법이라 내..
오늘 내가 배운 것 1. 제약조건 2. 테이블 만들기 2-1. Query문을 이용한 테이블 만들기 2-2. Sequlize - class를 이용한 테이블 만들기 3. 외래키 지정하기 (FK) Query문을 이용한 제약사항 확인하기 3-1. Query문을 이용한 외래키 (foreign key) 지정하기 3-2. Query문을 이용한 외래키 (foreign key) 삭제하기 3-3. Query문을 이용한 외래키 (foreign key) ON DELETE 옵션 3-4. sequelize에서 외래키(foreign key) 지정하기 4. 테이블 JOIN 하기 4-1. Query문을 이용한 JOIN 4-2. sequelize를 이용한 JOIN 1. MySQL 제약조건 테이블에 데이터를 저장할 때 데이터의 정확성, ..
오늘 내가 배운 것 1. 정적 메서드 'static' 2. 접근 제어자 'Private' 3. sequelize를 이용한 테이블 만들기 1. 정적 메서드 'static' 정적 메서드는 클래스 선언 안에 있고, 앞에 'static'이라는 키워드가 붙는다. static staticmethod(){} 기본 사용 예시 class User { static staticmethod() { console.log(this === User) } } User.staticmethod() // true 출력 // 정적 메서드는 인스턴스화 되면 호출할 수 없다. const user = new User() user.staticmethod() // Error 정적메서드 사용 및 주의사항 정적메서드는 인스턴스 생성 후에 사용할 수 없..
오늘 내가 배운 것 1. TDD TDD란? TDD 순서 2. ORM ORM 이란? ORM 장점 ORM 단점 3. Node에서 ORM 사용하기 4. sequelize 설치 TDD TDD 란? - Test Driven Development의 약자로 '테스트 주도 개발'이라고 한다. 기존 코드를 작성하는 방식은 설계를 한 후 코드를 작성하여 개발을 진행한 후에 테스트를 하고 수정사항을 고치는 방식이었다면 TDD 방식은 설계를 한 후 테스트 코드를 작성해서 확인을 하고 실제 코드를 개발한 후에 리펙토링을 하는 방식이다. TDD 순서 - 작은 단위의 테스트 코드를 작성한다(보통 class 단위) - 테스트를 진행 - 통과될 때까지 테스트 코드를 수정 - 통과된 코드를 리펙토링 - 리펙토링한 코드테스트 - 리펙토링..