✔️RDBMS 2

3. [Server] Sequelize DB 세팅(Oct 17~18, 2020 회고)

API 와 마찬가지로 DB schema역시 Client 파트와 Server 파트의 커뮤니케이션 및 합의가 많이 이루어지는 부분이다. 프로젝트를 진행하기 이전에는 DB에서 MVC 디자인 패턴으로 데이터를 가져오는 것은 Server 파트라고 생각했던 탓인지 client와 server 파트를 오가며 코드 리뷰하는데 이 부분이 은근 많은 걸림돌이 되었다. 그리고 프로젝트가 2/3 정도 마무리 될 쯤에 회원탈퇴에 대한 DB 처리 이슈가 큰 논의사항이 되었고, 그래서 많은 마이그레이션이 이루어졌는데, 만약 이러한 상황이 파트 불문하고 커뮤니케이션이 바로바로 이루어지지 않았다면 DB가 꼬여버리는 현상이 발생하게 된다. (ex. '같은 시점에서 저도 pull 받아왔는데 저는 왜 DB에서 데이터를 받아올 때 null 에..

29. Databases - Structured Query Language with Database

이번 sprint에서는 대표적인 관계형 데이터베이스관리 시스템(RDBMS)인 MySQL을 이용하여 Schema를 설계하고 SQL을 사용하여 데이터를 영속성있게(persisstently)저장하는 방법을 배우는 것이 목표였다. 0. 데이터베이스가 필요한 이유 지난 여러 sprint를 진행해 오면서는 서버를 작성하고, 생성된 데이터들은 in-memory상에 저장하여서 클라이언트에서 HTTP를 이용하여 자원(데이터)를 요청하면 서버에 이 데이터를 돌려주는 방식으로 진행했었다. (*in-memory: 서버가 켜져 있을 동안에만 변수에 할당된 값을 통해 저장하는 것) 그 다음에는 node.js의 fs모듈 중 readFfile이나 writeFile method를 이용하여 정보를 파일로 저장하기도 했다. 이 두 방식의..

Dev/SW Engineering 2020.08.17