[INSOMENIA] TIL 01

송나은·2021년 4월 12일
0

[INSOMENIA]

목록 보기
1/18

첫 출근

  • 전반적인 생활에 대한 안내 (정구영님)
    10시반 출근 19시 이후 퇴근, 13~14시 점심시간(식대 제공)
    개인 프로젝트 보다는 팀 단위로 협업하고 질문 많이 하는 문화!
  • 4주동안 진행 Flow 안내 (장성원 본부장님)
    React와 Ruby in Rails를 이용한 풀스택 과제 진행. 백엔드 강의자료 제공.

개인 프로젝트

: 쇼핑몰 개발 (백, 프, 기획, 디자인 all...)

  • React
    framwork7(라이플사이클 관리), Tailwind CSS ,formik / Yup 라이브러리 사용, React query(요청 상태관리)
  • Ruby on Rails
    RESTful API 서버를 만드는 용도

매일 18시 일일점검: 진행상황 체크 및 피드백 진행
-> 4주 진행 후 마지막날 최종 발표!

초기세팅

  1. Ruby
  2. Rails
  3. Postgresql
    인썸니아11@

Retrying fetcher due to error (2/4): Bundler::HTTPError Could not fetch specs from https://rubygems.org/ due to underlying error <timed out
-> rails에서 git clone 받고 난 후 bundel을 입력했을 때, timed out error 발생

윈도우에서 방화벽 문제인지 에러 해결 못하고 ide.goorm으로 세팅!

1강: Ruby on rails와 Database Modeling

Modeling

쇼핑몰을 운영하는 사람, 사용자의 needs 파악 후 modeling 시작!

Dependency

  • Destroy 부모의 레코드가 삭제 되었을 때 자식 레코드도 삭제한다.
  • Nullify 자식 값이 삭제 되었을때 부모의 외래 키를 null값으로 바꿔준다.

DB 생성하기

  • Schema.rb 데이터베이스의 결과를 모아 볼 수 있는 곳
  • rails db:create db:migrate db:seed DB에 밀어넣는 작업
  • rails generate model item 상품 모델을 만드는 방법
  • DB 경로에 create_items.rb 타임스탬프가 찍힌 파일 생성, models경로에 item.rb 생성
  • create_items에 테이블 추가 후 rails db: migrate

Reference 용어 정리

  • foreign_key 외부 테이블의 정보를 끌어오기 위해 사용하는 값. 참조
  • null:false (=비어있어서는 안된다.)
    -> dependency가 Nullify인 경우에는 삭제한다!
  1. item이 삭제가 되면 option도 삭제되기 때문에 item_id가 null이면 false이다 라고 설정해 주어야한다. item_id가 생성되면서 option이 어떤 아이템의 옵션인지를 알게 해준다.
  2. user가 삭제되어도 order가 삭제되는 것이 아니라 user의 아이디를 null값으로 바꿔주는 경우에는 null:false를 넣어주지 않아도 된다.!!

Blocker

migrate는 스키마에 찍힌 타임스탬프 이후에 작업한 파일부터 순서로 진행되며, 오류가 발생하면 중간에서 중단된다.

처음에 items 테이블에서 오타가 있어서 오타가 있는채로 migrate가 진행됐고, 수정한 후에는 migrate를 해도 변화가 없었다.
수정은 migrate에서 하는 게 아니고 다른 명령어, 다른 방법이 있다.

-> 존재하는 테이블에 칼럼 추가하는 방법

profile
그때그때 공부한 내용과 생각을 기록하는 블로그입니다.

0개의 댓글