outwater 2021. 3. 3. 06:10

오늘 페어분과 프로젝트에 대한 이야기를 나누면서 '나는 어떤 프로젝트를 해보고 싶은가' 에 대해 고민해보았다.

 

여러 측면에서 생각해볼 수 있었는데, 

도메인(domain)을 기준으로는 커머스쪽이나, 사람을 이어주는 플랫폼 을 하고 싶다는 생각은 항상 해오고 있었다. 
가고 싶은 기업과도 연결이 되는데, 프레쉬코드(샐러드 정기배송), 미스터맨션(한달살기 숙박플랫폼), 플랩풋볼(풋살매칭 플랫폼) 등 희망 기업과 연관있는 프로젝트를 하고 싶다는 생각이 들었다.

 

프론트/백엔드 기준으로는 백엔드를 1차 프로젝트 때 해보고 싶은 마음이 크게 들었다.
리액트,리덕스를 다루는 프론트는 백엔드보다 훨씬 익숙하기는 하였지만, 사실 지금은 미숙해도 백엔드에서 서버와 데이터를 다루는 것들이 참 재미있다고 느껴진다. 1차때 가능하다면 백엔드를 통해 서버를 맛보고, 해당 경험을 바탕으로 최종 프로젝트의 역할을 결정해보고 싶다.

 

🎄오늘 한 일


✔️ 1.  MVC 패턴에 대한 이해

  • Model , View, Controller를 의미하는 MVC패턴은 어플리케이션을 기능별로 구분하여, 구조화된 프로그래밍이 가능하도록 설계하는 SW Architecture Design Pattern임을 학습했다.
    내가 느끼기에 핵심은 기능별로 구분하여, 코드를 다룬다는 것이고 , 또 MVC패턴은 양방향 데이터 흐름을 갖는 반면 이전에 react, redux에서 배운 FLUX 패턴은 단방향 데이터 흐름을 갖는 특징을 가지고 있다.

✔️ 2. ORM 에 대한 이해 + Sequelize 라이브러리

  • ORM은 Object-Relational-Mapping으로 자바스크립트 객체로 관계형 데이터베이스를 접근하고 관리하는 매개체(통역사)라고 할 수 있다.
     기존의 SQL 쿼리문을 통해 데이터베이스에서 데이터를 CRUD 한 것을 ORM을 통해 js코드로 접근가능하도록 하는 특징이 있다.
  • 이 ORM을 도와주는 핵심 라이브러리로 Sequelize를 설치하고 사용해보았다.
    cli를 통해 데이터베이스의 모델을 만들고, 마이그레이션을 통해  손쉽게 관리할 수 있는 점이 인상깊었다.
✔️ 3. Shortly Sprint를 통한 MVC패턴, ORM(by Sequelize) 습득하기
  • Shortly Sprint는 유명한 bit.ly와 같이 긴 URL을 짧게 단축시키고, url방문횟수등을 추적하는 앱이다.
    이 앱의 server부분을 구현하는 Sprint로 ORM을 설정(설치,부스트래핑,환경설정)하고, 모델을 생성하고 마이그레이션하여 적용하는 연습으로 구성되었다. 또 client의 요청이 router에 따라 분기하여 받게되고, 이를 controller를 통해 모델에 접근하고 올바른 응답을 돌려주는 프로그래밍을 경험하였다.

    controller를 모델과, router등에 연결하고, async, await등 다양한 개념이 나와 조금 혼란스러웠지만 성공적으로 스프린트를 완료하였다.