오늘 내가 배운 것
1. TDD
- TDD란?
- TDD 순서
2. ORM
- ORM 이란?
- ORM 장점
- ORM 단점
3. Node에서 ORM 사용하기
4. sequelize 설치
TDD
TDD 란?
- Test Driven Development의 약자로 '테스트 주도 개발'이라고 한다.
기존 코드를 작성하는 방식은 설계를 한 후 코드를 작성하여 개발을 진행한 후에 테스트를 하고 수정사항을 고치는 방식이었다면 TDD 방식은 설계를 한 후 테스트 코드를 작성해서 확인을 하고 실제 코드를 개발한 후에 리펙토링을 하는 방식이다.
TDD 순서
- 작은 단위의 테스트 코드를 작성한다(보통 class 단위)
- 테스트를 진행
- 통과될 때까지 테스트 코드를 수정
- 통과된 코드를 리펙토링
- 리펙토링한 코드테스트
- 리펙토링한 코드가 통과되면 다음 테스트 코드를 작성한다.
- 위 과정을 계속 반복해서 만든다.
- 테스트에 통과된 코드만 실제코드에 작성한다.
ORM
ORM 이란?
- Object Relational Mapping의 약자로 '객체와 데이터 베이스의 관계를 매핑해주는 도구'이다.
ORM 장점
- ORM을 사용하면 SQL문이 아닌 클래스의 매서드를 통해 데이터베이스를 조작할 수 있기 때문에, 개발자가 객체 모델만 사용해서 프로그래밍을 할 수 있다.
- 다른 데이터 베이스로 쉽게 교체가 가능하고, 여러 테이블에 쉽게 쿼리를 작성할 수 있다.
- 재사용 및 유지보수의 편의성이 증가한다. ORM은 독립적으로 작성되어 있어서, 객체들을 재사용할 수 있다.
- 재사용이 용이하기 때문에 MVC패턴에서 모델에서 가공된 데이터를 컨트롤러에 의해 뷰와 합쳐지는 형태로 사용하기 유리하다.
ORM 단점
- ORM이 무조건일 수 없다.
- 'SQL 구문을 사용하지 않을 수 있다'일 뿐 'SQL 구문을 사용하지 않아도 된다.'는 아니다.
프로젝트의 복잡성이 커질수록 난이도가 올라가고 설계가 부족해서 잘못 구현될 경우 속도 저하 및 일관성이 무너질 수 있다.
- 복잡한 쿼리문의 경우 오히려 SQL 구문이 직관적일 수 있다.
Node에서 ORM 사용하기
- sequelize
- typeORM
- typescript 기반
NodeJS는 대표적으로 2가지의 ORM 라이브러리가 있다. 그중에 sequelize 모듈을 이용할 예정이다.
sequelize의 특징
- sequelize는 Node.js의 모듈이고 ORM 라이브러리이다.
- sequelize를 이용하여 자바스크립트 코드로 SQL을 제어할 수 있다.
- sequelize를 이용하여 다양한 '관계형 데이터 베이스'와 호환된다.
sequelize 설치
- 기본설치
npm init -y
# express, mysql2, cors가 설치되어 있는 환경이여야 한다.
npm install express mysql2 cors sequelize dotenv
- 기본 세팅
1. config 파일
2. sequelize와 데이터 베이스 초기화
- 데이터 베이스 테이블 만들기
결과
Github
https://github.com/100space/202301/tree/main/230110
'시작 > TIL(Today I Learned)' 카테고리의 다른 글
230112 - Javascript - Sequelize 테이블 만들기 , SQL 테이블 만들기 , SQL-JOIN, Sequelize-Join, NodeJS (0) | 2023.01.15 |
---|---|
230111 - JavaScript - 정적메서드와 접근제어자 Private, Sequelize (0) | 2023.01.11 |
230109 - JavaScript - class 클래스와 상속 (0) | 2023.01.09 |
230106 - JavaScript - module, 모듈화 하기 (0) | 2023.01.09 |
230105 - JavaScript - AJAX, FETCH, AXIOS를 이용한 비동기 통신하기 (0) | 2023.01.05 |
댓글