node.js를 이용한 기본주차 개인 프로젝트 배포를 끝냈고, 심화 주차에 들어갔다.
- JWT를 이용해 로그인/회원가입 기능 구현하기
- db유형에 구애 안받고 MYSQL 서버를 키고, Sequelize 라이브러리를 사용해 MYSQL 데이터를 읽고 쓰기
- 웹소켓 라이브러리인 socket.io(실시간 통신 가능) 이용해서 실시간 통신 가능한 기능 구현하기
- Test code 작성하기
이런 내용들을 강의를 통해 배웠다. 원래 Mongodb만 쓰다가 SQL로 바꿔서 쓰려니깐 혼란스럽고 익숙하지 않았다. 더 많이 공부해야 겠다.
그리고, 원래 TIL을 안 쓰다가, 첫 번째 기본주차 개인프로젝트를 배포하던 날, 다른 분들에게 도움을 받으며서 얘기를 듣다가, TIL은 무조건 작성하신다는 말을 듣고 자극을 받아 나도 이번에 9/28일 배포 후 9/29, 9/30, 10/2일꺼를 쓰게 되었다! 나는 보통 TIL에 내가 해결한 에러들에 대한 설명이나 그 날 뭘 했는지 적게 되었는데, 매일 하더라도 짧게나마 내가 느낀 것과 앞으로 노려할 것을 추가하면서 적고 싶다!
9/29-9/30 [TIL]: https://velog.io/@eujeong/930-%ED%95%AD%ED%95%B499-TIL
10/2 [TIL]: https://velog.io/@eujeong/102-TIL
사실 10/1일 TIL도 아주 간단하게 쓰고 임시저장 하고, 다음날 마저 써야겠다 하고 미뤘다가...까먹어서 그냥 날려 먹긴 했다. 앞으로 짧더라도 그때그때 TIL을 쓰는 버릇을 만들어야겠다.
출처:
1. https://gmlwjd9405.github.io/2019/02/01/orm.html
2. https://geonlee.tistory.com/207
ORM 이란 Object Relational Mapping, 객체-관계 매핑의 줄임말이다.
객체-관계 매핑은 OOP(Object Oriented Programming)에서 쓰이는 객체라는 개념을 구현한 클래스와 RDB(Relational DataBase)에서 쓰이는 데이터인 테이블 자동으로 매핑(연결)하는 것을 의미한다.
하지만, 객체 모델과 관계형 모델 간에 불일치가 존재하기 때문에, 이를 ORM 을 통해 객체 간의 관계를 바탕으로 SQL문을 자동으로 생성하여 불일치를 해결한다.
JPA/Hibernate
Hibernate ORM is an object–relational mapping tool for the Java programming language. It provides a framework for mapping an object-oriented domain model to a relational database.
Sequelize
Sequelize is a promise-based Node.js ORM for Postgres, MySQL, MariaDB, SQLite and Microsoft SQL Server
=> 이번에 사용했다!
Django ORM
Django is a Python-based free and open-source web framework that follows the model–template–views architectural pattern.
출처: https://www.mongodb.com/nosql-explained/nosql-vs-sql
NoSQL (“non SQL” or “not only SQL”) databases were developed in the late 2000s with a focus on scaling, fast queries, allowing for frequent application changes, and making programming simpler for developers.
Relational databases accessed with SQL (Structured Query Language) were developed in the 1970s with a focus on reducing data duplication as storage was much more costly than developer time. SQL databases tend to have rigid, complex, tabular schemas and typically require expensive vertical scaling.
간단히 말하자면,
SQL은 관계형 database이고, NoSQL은 비관계형 database이다.
출처: https://siyoon210.tistory.com/130
SQL은 구조화 된 쿼리 언어 (Structured Query Language) 의 줄임말이다.
SQL을 사용하면 관계형 데이터베이스 관리 시스템(RDBMS)에서 데이터를 저장, 수정, 삭제 및 검색 할 수 있다.
SQL의 특징
NoSQL은 기본적으로 SQL(관계형 데이터베이스)와 반대되는 접근방식을 따르기 때문에 지어진 이름입니다.
NoSQL의 특징
그러므로, SQL은 정해진 스키마를 따르지 않는다면 데이터를 추가 할 수 없지만, NoSQL에서는 다른 구조의 데이터를 같은 컬렉션(SQL에서의 테이블)에 추가할 수 있습니다.
아직 심화주차 프로젝트를 하는 중인데, 생각보다 어렵다ㅠㅠ..그래도 10/8일까지의 시간이 있으니 열심히 하고, 저번처럼 빨리 끝내면 이번에 node.js 책을 샀는데, 책과 함께 유튜브 영상들이나 많은 자료들을 찾아보면서 공부하고 싶다! 우선 프로젝트부터 차근차근해야겠다!!