[인프런 워밍업 클럽 1기/BE] 세번째 발자국

[인프런 워밍업 클럽 1기/BE] 세번째 발자국

JPA 연관관계

  • 좀 더 객체지향적으로 개발하기

  • 연관관계의 주인

    • 주인이 아닌곳에 mappedBy 설정

    • 객체가 연결되는 기준

  • 1:1 관계

     

    • @OneToOne 어노테이션 설정

    • 트랜잭션이 끝나지 않은 시점 조심

      • setter 안에서 객체끼리 완전히 연결로 해결

  • 1:N 관계

     

    • @ManyToOne @OneTonMany 사용

    • 연관관계 주인은 많은 쪽

    • 단방향으로 사용가능함

    • @JoinColumn 주인에게 사용가능한 어노테이션

      • null 여부, 유일성 여부, 업데이트 가능 여부 설정가능

  • N:M 관계

    • @ManyToMany

    • 복잡해서 1:N 을 활용

     

  • cascade

    • 삭제할 때 연관관계에 놓인 테이블까지 함께 삭제

       

  • ophanRemoval

     

    • 연관관계가 끊어진 데이터를 자동으로 제거

       

  • 연관관계를 무조건 사용하는것이 좋은가?

    • 아님. 지나치게 사용하면 성능 문제와 복잡해짐

    • Service 코드가 간결해지고, 도메인 계층에 비즈니스 로직이 들어가는 장점이있음

Git

  • git : 코드를 쉽게 관리할 수 있도록 해주는 버전 관리 프로그램

  • github : github 은 git 으로 관리되는 프로젝트의 코드가 저장되 는 저장소

  • git init : git으로 관리하겠다!

  • git add . : 모든 프로그램을 올리겠다

  • git status : 상태를 확인하겠다

  • git commit -m "메시지" : 깃 메시지를 작성하겠다.

  • git push : 깃을 올리겠다.

 

배포

  • 리눅스 명령어

    • mkdir : 폴더를 만드는 명령어

    • rmdir : 폴더를 제거하는 명령어

    • cd : 현재 위치를 변경하는 명령어

      • cd .. : 상위 폴더로 이동한다

    • pwd : 현재 위치를 확인하는 명령어

    • ls : 현재 위치에 있는 폴더와 파일을 확인하는 명령어

      • ls -l : 조금 더 자세한 정보를 표시할 수 있다.

  • 리눅스에 프로그램 설치

    • git 설치, java설치, MySql 설치를 해줘야함

  • background 실행

    • 꺼져도 뒤에서 계속 프로그램이 돌아가는 상태


3주차 회고

  • 이번주 강의를 들으면서 특히 배포를 처음 경험 해보았다. 항상 프로젝트를 할 때 마다 배포를 하는 역할을 맡지않아서 낯설었다. aws에도 처음 회원가입을 했봤다.... 리눅스 명령어들이 아직 익숙하지않아서 어려웠는데 익숙해질 때까지 몇번 연습을 해봐야할 것 같다. 미니프로젝트도 완성하면 도메인도 사서 제대로 배포를 한번더 해봐야할 것 같다. 깃은 평소에 자주 사용해서 익숙했다. 라이브세션도 도움이 많이되었는데 앞으로 프로젝트를 어떤방향으로 해야할지에 대해서도 많은 도움이되었다. 3주간의 공식적인 스터디시간이 거의 끝났는데 남은 미니프로젝트도 좀 더 집중해서 해야겠다.

댓글을 작성해보세요.

채널톡 아이콘