Notice
Recent Posts
Recent Comments
Link
기록하는 개발자
[항해 4주차] ORM, noSQL vs SQL 본문
728x90
0. 프로젝트 회고
저번주 목요일 받은 프로젝트의 주제는 로그인과 기본 게시판 CRUD 가 있는 사이트를 개발하는 거였다. 강의에서 배운대로 로컬 저장소에 사용자 정보가 담긴 토큰을 저장하고 특정 정보도 저장해서 페이지를 이동시키는 게시판을 개발했다. 아쉬운 점은 쓸데없는 (디자인....) 곳에 힘을 써서 더 많은 기능을 개발하지 못했다는 것인데, 내가 추가적은 개발했던 기능은 다음과 같다.
1. jwt 로그인 , 토큰으로 로그인 유지
2. 기본 게시판 CRUD
3. 댓글 CRUD
4. 추천, 조회수 노출1. 유용했던 툴 _ prettier
예전에 프론트엔드 친구한테 추천받은 툴이었는데 귀찮아서 안쓰다가 강의에 나와서 써봤다. 왜 쓰는지 알것 같다. 한번의 사용으로 가독성을 높여준다.
config 파일
prettier.contig.js
module.exports = {
trailingComma: 'es5',
tabWidth: 2,
semi: true,
singleQuote: true,
arrowParens: 'always',
};
실행어 설정
"prettify": "prettier --write *.js **/*.js"
실행어
npm run prettify2. ORM ; Object Relational Mapping, 객체-관계 매핑
객체와 관계형 데이터베이스의 데이터를 자동으로 매핑 해주는것을 말한다.
jpa, hibernate 등이 있다.
orm의 기본 구조

orm의 장단점
장점
1. 객체 지향적인 코드로 인해 더 직관적이고 비즈니스 로직에 집중할 수 있다.
2. 재사용 및 유지보수의 편리성이 증가한다.
3. DBMS 의 종속성이 줄어든다. (DB를 바꾸고 가공하는 것이 쉬워짐)단점
1. 사용하기 편하지만 설계를 매우 신중하게 해야한다
2. 프로젝트의 복잡성이 커질경우 난이도가 올라간다.
3. 잘못구현 할 경우, 속도 저하를 야기한다.
4. DBMS 고유 기능을 사용하기 어렵다. 3. noSQL vs SQL
이제 뜨거운 감자를 꺼내보자

나는 사실 전체적인 프로젝트를 MongoDB로 비볐다.

Sql과 noSql 의 차이점은 위 그림으로 간단히 비교가 가능하다.
사실 지금 진행하는 프로젝트가 모두 스프린트 형식이기 때문에 의도적으로 MongoDB를 사용했다. DB로 골머리 썩히고 싶지 않았다. 다음주에 진행되는 팀프로젝트는 리엑트 학생들과 같이 진행하게 되니 손이 늘어나게 되므로 mySql을 사용해도 될거라 생각한다.
4. 마지막으로
이번 주차 프로젝트는 또 개인 프로젝트로, 테스트 코드와 추상화를 이해하는 위주다. 사실 처음 테스트 코드를 접하는 것이기도 하고 익숙하지 않아서 하루 내내 헤매다 그 다음날 풀었다. 나를 깨우쳐준 많은 선구자들에게 고맙다!
- ) 그리고! 항해99 추상화, 테스트 코드 개념 파악을 위한 인강이 부족합니다. 보충해 주십시오.
'공부 일기장 > WIL' 카테고리의 다른 글
| [항해 최종 리뷰] 솔직헌...항해...리뷰........ (0) | 2022.04.25 |
|---|---|
| [항해 11주차] WOW.. 정말로 너무 바빴다. (0) | 2022.03.28 |
| [항해 3주차] WIL; Restful API, package.json (0) | 2022.01.28 |
| [항해 2주차] Node.js : JavaScript의 ES란?, ES5/ES6 문법 차이 (0) | 2022.01.24 |
| 항해 1주차 WIL; JWT, API (0) | 2022.01.17 |
Comments