[인프런 워밍업 클럽 2기 - 백엔드 프로젝트(Kotlin, Spring)] 1주차 발자국

[인프런 워밍업 클럽 2기 - 백엔드 프로젝트(Kotlin, Spring)] 1주차 발자국

1주차 발자국

 

  • 웹 개발 기본 개념

    • 프레임워크와 라이브러리

      • 웹 프레임워크

        • 프레임워크가 주도권을 가지고 있음

        • 동적 웹 서비스 개발을 편리하게 만들어주는 도구

        • 웹을 개발할 때 공통적으로 요구되는 기능들을 보다 편리하게 사용할 수 있도록 함

      • 라이브러리

        • 사용자가 주도권을 가지고 원하는 것을 만들 수 있음

 

 

  • 프로젝트 환경구성

    • Dependencies

      • Spring Web : Spring MVC를 사용하여 RESTful을 포함한 웹을 구축

      • Spring Data JPA: Spring Data 및 Hibernate를 사용하여 Java Persistence API로 SQL 저장소의 데이터를 유지

      • H2 Database: 작은(2MB) 설치 공간으로 임베디드 및 서버 모드와 브라우저 기반 콘솔 응용 프로그램을 지원

      • MySQL Driver: MySQL JDBC 드라이버

      • Thymeleaf: HTML을 브라우저 및 정적 프로토타입으로 올바르게 표시

      • Validation: Hibernate 유효성 검사기를 사용한 Bean 유효성 검사

      • (Spring Security)

 

 

  • 어노테이션 정리

    • Id : 테이블의 기본 키(PK)에 대응함을 선언

       

    • Entity : JPA 엔티티임을 선언

    • GeneratedValue : @Id의 생성 전략을 선언

      • GenerationType.IDENTITY : PK 생성을 DBMS에 위임(MySQL에서는 auto_increment를 사용)

      • GenerationType.TABLE : PK 생성 전용 테이블을 사용

      • GenerationType.SEQUENCE : DBMS의 시퀀스 오브젝트를 사용하여 PK를 생성

      • GenerationType.AUTO : JPA의 알고리즘에 따라 DBMS에 적합한 전략을 선택

    • Column : 필드가 컬럼명이 기본 전략에 의해 변환된 값과 다 르거나 구체적인 속성을 따로 정의해주기 위해 사용

    • MappedSupperClass : 여러 엔티티의 공통 컬럼을 갖고 있는 상위 클래스에 사용

    • CreatedDate : 생성된 시간을 자동으로 저장

    • LastModifiedDate : 수정된 시간을 자동으로 저장

    • Enumerated : Enum 타입의 필드를 데이터베이스 컬럼과 매핑할 때 사용

      • EnumType.ORDINAL : Enum 내부에 정의된 순서대로 번호를 지정해 값을 저장

      • EnumType.STRING : Enum의 이름을 값으로 사용

    • Column

      • nullable : 해당 컬럼이 null일 수 있는지 정의

      • updatable : 해당 컬럼의 값이 변경될 수 있는지 정의

    • OneToMany : 한 엔티티가 여러 다른 엔티티와 관계를 맺는 경우

    • ManyToOne : 여러 엔티티가 한 엔티티와 관계를 맺는 경우

       


 

  • 미션

[미션1]테이블설계, [미션2] 깃허브 리포지토리에 프로젝트 올리기

깃허브 리포지토리에 프로젝트 올리는 것은 문제가 없었으나 테이블 설계를 하면서 신경쓸 부분이 많아서 제출을 급하게 하게된 것이 아쉬웠다.

다시 생각해보고 구상해서 테이블을 설계해야 할 것 같다. 그리고 ReadMe 파일도 제출 기한에 쫓겨 급박하게 작성해서 제출하느라 아쉬운 점이 많았다. 다시 보기 깔끔하게 올려야할 것 같다.

 

https://github.com/lee-soohyun/StudentManagement

댓글을 작성해보세요.

채널톡 아이콘