[WIL(2021.09.27 ~ 2021.10.03)] 항해 99 3주차 회고록

codename_hee·2021년 10월 4일
0

항해99 3주차 필수 키워드

1. ORM

  • ORM이란?
    : Object - Relational Mapping 객체와 관계형 데이터베이스의 매핑
    : 객체와 DB의 테이블이 매핑을 이루는 것
    : 객체가 테이블이 되도록 매핑 시켜주는 프레임워크
    : SQL문의 작성없이 간단한 매핑설정만으로 데이터베이스의 테이블 데이터를 Java객체로 전달받을 수 있다.
  • 장점
    생산성 및 유지보수성 향상 - 중복된 JDBC 코드를 작성하지 않아도 되며 개발 로직 코드에 집중할 수 있다.
    독립성 - DBMS에 종속적이지 않아 어느 DB를 사용하든 매핑 설정 일부만 변경해주면 자바코드를 건드릴 일이 없다.
  • 단점
    쿼리가 복잡해지면 ORM으로 표현하는 데에 한계가 있다.
    성능이 raw쿼리에 비해 느리다.

2. SQL

  • SQL이란?
    : 관계형 데이터베이스 관리 시스템(RDBMS)의 데이터를 관리하기 위해 설계된 특수 목적의 프로그래밍 언어
    : 데이터베이스 언어

3. MVC

  • MVC란?
    : Model - View - Controller로 구성된 소프트웨어 디자인 패턴
  • 구성요소별 역할
    - Controller
    모델에 명령을 보내 모델의 상태 변경
    뷰에 명령을 보내 모델의 표시 방법을 변경
    • Model
      어플리케이션의 데이터를 의미하며 상태 변화에 대해 컨트롤러와 뷰에 이를 통보
      public함수로만 이루어짐
      쿼리에 대해 상태 정보를 제공하거나 상태를 수정
    • View
      사용자가 볼 결과물을 생성하기 위해 모델로부터 정보를 얻어 옴.

Git 오류 해결

  1. 오류 메시지 : ! [rejected] main -> main (non-fast-forward)
    원인 : .gitignore 혹은 README 파일로 인해 발생
    해결방법 : push 하고자 하는 브런치 이름 앞에 +를 붙이기
    git push origin +main

  2. 오류 메시지 : main과 매칭되지 않는다는 오류
    원인 : 로컬에서 main 이름과 원격에서의 main 이름이 다름(로컬에서는 master, 원격에서는 main)
    해결 방법 : 로컬 master브랜치의 이름을 main으로 바꿔준다.
    git branch -m master main
    git branch -m main

  3. 상황 : 'git add .'시도
    오류 메시지 : does not have a commit checked out
    원인 : 해당 폴더에 .git 이 별도로 있을 때 발생. remote저장소로 연결해야하는데 clone을 했거나 했을 때 git이 하나 더 생기면서 발생하는 것
    해결 방법 : .git 폴더를 숨김 폴더 표시 처리를 해서 찾아내고 그걸 삭제하고 다시 명령어를 실행하면 됨

profile
진정한 개발자로 가는 길

0개의 댓글