[TIL] sprint - cmarket-database

Sarahsea 사라씨·2021년 7월 26일
0

TIL

목록 보기
39/128
post-thumbnail

오늘 배운 것

sprint-cmarket-database

  • MVC 맛보기_각 각의 로직에 따라서 분리되어있는 파일 구조 파악만 한세월 걸림
  1. dotenv모듈 이용해서, .env에 생성한 비번으로, mysql에 접근가능하게 연결해주고,

  2. create database cmarket; 맞는 이름의 mysql 서버를 접속해서, 데이터베이스 생성

  3. 스키마, 시드파일 넣어주기 (일일히 CLI에서 치면😭)
    mysql -u root -p < server/schema.sql -Dcmarket
    해당 파일의 상대경로 (주의 맞는 폴더 안에서 입력)
    해당 폴더가 아니라면 절대경로를 적어줘도 됨,
    -Dcmarket 은 use cmarket을 대신함
    해당경로에 있는 seed.sql 역시 같은 커맨드로 넣어줌
    ++shema.sql에는 테이블 생성, 관계 생성등, 말그대로 스키마를 구성해주는 명령어 들이 들어있고, seed에는 스키마에 기본 값들(레코드) 넣는 명령어가 mysql 문법으로 적혀있음

  4. /server/app.js Express 모듈 사용해서 라우팅, cors, 포트 설정 등 기본 서버 형태 이미 구현되어 있음
    parser는 현버젼 Express에서는 express.json()안에 포함이기 때문에 굳이 안써도 될듯,
    xxmorgan 이라는 express middleware로 보이는 처음보는 애가 있는데, 스프린트 하기 바뻐서 아직 못찾아봄.

  5. server 폴더 안에, 클라이언트에서 get과 post 요청을 어떻게 응답할지는 controller 이미 구현이 되어있음
    app - router - controller - model - db (mysql모듈)
    로 연결됨, model 부분에서 sql문을 각각의 요청에 맞는 형태의 데이터를 넘겨 주는 부분이 해결해야 할 스프린트 과제,

    • 비동기로 넘겨주는, 각각의 인자값, 콜백함수를 이해하는데 한참을 헤맴

    • "2 Tier 구조에서 서버가 데이터를 json 형태로 다 가지고 있는 것만 보다가,
      3 Tier로 DB 와 서버를 분리하는 것이구나" 라는 건 바로 이해가 되고 얼추 파일 구조 파악이 되는데, sql 쿼리문을 변수에 담고서 콜백함수를 어찌 처리해야 할지 몰라서 1시간 날림... (+ 처음엔 그 분리하는 부분이 왜 또 잘게 쪼개서 컨트롤러, 모델, db 파트로 다 나뉘어 있는지 모름 - 더 혼란; - 리뷰 시간에 mvc 라는 개념을 알게됨, 한파일에서 다한다고 생각해보면 단박에 분리의 필요성이 납득)

느낀 점

  • mysql 모듈 사용법에 익숙하지 않아서, connect.query() console.log 반복하며, 꾸역꾸역 통과..마지막 테스트가 쿼리문이 개수가 이상하게 나와서 해결이 안되고 있다, 으아아아 잠을 못자겠다! 2개 나와야 할게 1나온다,, learnmysql에서 join 말고 다수의 테이블에서 원하는 데이터를 선택하는 거 알고 싶었는데, 역시 찜찜한 부분이 발목을 늘 잡는구나..
    대체 오디서 틀리는 거야, client 파트 빌드해서 해봐도 다 잘 작동 되는데,,mysql server에서 직접 들어온 값 조회해도 맞게 나오는데 왜때문에 테스트는 통과 안되는 거냐며..ㅠㅠㅠ
  • 스프린트 할 때마다 느끼는 거지만, 모르는 거 검색하다 보면 선배기수들의 잘 정리된 블로그들을 쉽게 마주하게 된다, 몇시간 붙들다가 안되겠어서 검색찬스! 정보만 쏙쏙 보기 쉽게 쓴 글들을 보면 어디 계신지 그 방향으로 절이라도 하고 싶은 맘인데,
    도대체 나 놈의 블로그는 3달이 넘도록, 우당탕 애먹은거 주절주절 쓰는 거 말고는ㅠ 코드들만 예쁘게 정리된 글을 남기고 싶다ㅎㅎㅎ, 해결이 안되니까 해결방법을 이쁘게 써 놓을 수가 없다ㅠ
  • 사람은 망각의 동물이라, 익숙해지면 자기가 처음부터 잘한줄 안다고 했다... 이렇게 삽질 기록을 쌓아가면, 돌아봤을 때, 왜 어떤 부분에서 삽질들을 주로 하는지 좀 잘 이해할 수 있지 않을까..라고 조그마한 위안을 삼으며 ㅠ

내일은

  • dfs/bfs 다시 다시 다시 -> robotpath
  • rdb 챕터 마무리 잘 짓기, 복습 잘해서 뒤에 redux로 할 때, 좀 덜 헤매고 싶다~
  • 정규학습 / 복습/ 알고리즘 / 강의 시간 잘 나누어 쓰기
profile
생각하는 사람

0개의 댓글