STEP 1 피드백 read.me 구체적으로 작성, commit message 의미 있는 코멘트, '클린코드', 강의 클론 코딩, dirty checking => - read.me : 줄이 자꾸 이상해져서 헤맸는데 마크다운문법이란게 따로 있단다...3, 4단계까지 다 하고 난뒤에 정리해야겠다. - commit 코멘트 : 기능단위별로 푸쉬하고싶은데 자꾸 이것저것 눈에 보이는걸 건들다보니까 잘 안된다. - step2 클린코드 : 챌린지 반 2주차 세션 라이브 코딩을 보면서 뭔가 더 알아보기 쉽게 작성하고 싶다는 마음이 들었는데 어떻게 손을 대야할지 모르겠다. @Transactional override fun updateCard(cardId: Long, request: UpdateCardRequest): Ca..
왕초보일지
생성시간 Entity 관리 투두작성, 댓글작성 시 공통적으로 생성시간이 필요했는데 이걸 하나의 Entity 로 만들었다. @어노테이션 @MappedSuperclass // JPA : 해당 클래스를 상속받을 경우 필드를 Column으로 인식하도록! @EntityListeners(AuditingEntityListner.class) // spring data JPA - AuditingEntityListener : JPA 내부에서 Entity 가 생성, 변경되는 것을 감지 @CreatedDate/ @ModifiedDate // spring data JPA @EnableJpaAuditing // spring data JPA : application 클래스에 추가, JPA Auditing 기능을 활성화 ❓JPA A..
[Http & Network] 책이 이해가 안 가서 네트워크 기초 영상들만 찾아서 봤다. 🚩HTTP (HyperText Transfer Protocol)클라이언트에서 서버까지 일련의 흐름을 결정하는 "약속" Web은 이 HTTP라는 약속을 사용한 통신으로 이루어져 있다. 🚩Network데이터를 공유할 수 있게 하는 디지털 전기 통신망의 하나 분산되어 있는 컴퓨터를 통신망으로 연결 전 세계를 연결하는 세상에서 가장 큰 Network 가 인터넷! 이런 통신망으로 우리가 Web service를 이용하는 것 🚩Web인터넷 네트워크 상에서 동작하는 하나의 응용 서비스 [05장 데이터베이스 조작이 편해지는 ORM] 🚩JPA자바에서 관계형 DB을 사용하는 방법을 정의한 인터페이스 이 인터페이스를 구현화한게 하이버네이..
[~02장] 🚩build system 의 그레이들과 메이븐? : 애플리케이션을 생성하는 과정을 자동화하는 프로그램이다. 말 그대로 build ! 뭘 자동화하냐? 의존성 내려받기, 컴파일, 테스트 등등 🚩IP주소와 포트 IP주소가 서버를 찾기 위한 번호라면 포트는 그 서버에서 운용되고 있는 서비스를 구분하기 위한 번호 📌스프링 부트는 스프링에 속한 도구로 스프링의 하위 프레임워크이다. 우리가 테스트할 때 로그에서 볼 수 있었던 Tomcat 이 스프링과 달리 스프링 부트에 기본적으로 내장되어 있는 WAS 다. Sping의 3대 모델 AOP PSA IoC/DI 🚩관점 지향 프로그래밍 AOP (Aspect Oriented Programming) 기존의 OOP에서 관심/관점/기능별로 모듈화해서 분리 시키는 개념 ..
할 일 - 카드에 완료여부 추가하기 - 생성시간 Entity 따로 만들기 - 댓글 기능 -단일 카드 조회 시 댓글도 같이 보이도록 깃 사용은 언제 익숙해질까...2단계 브랜치 생성하고 새 프로젝트로 땡겨와서 쓰려고 했는데 잘 안돼서 그냥 하던 프로젝트에서 계속해야겠다...단계별로 나눠놓고 최종적으로 만든 것만 main에 병합해주면 되겠지? 1 완료여부 추가 수강신청어플리케이션에서는 enum 클래스를 활용하여 상태를 나타냈다. 투드리스트 요구사항에 true 아니면 false라고 되어있어서 마찬가지로 따라해봤다. 테스트에서 update 할 때 status에 TRUE나 FALSE 가 아닌 다른 값을 넣으면 값이 변하지 않고 어떤 오류도 없이 그대로 나온다. 다른 값을 집어넣었을 때 예외처리하는 방법이 없나? ..
과제 만들면서 수시로 테스트 해보기 쿼리 테스트 application.yml 에서 spring 하위에 설정을 추가하여 쿼리가 의도대로 잘 되고 있는지 확인할 수 있다. (데이터베이스 연결은 application.yml이 아닌 config-환경변수를 통해 설정해서 연결정보 숨기기) ~흐름 익히기~ Use Case Diagram /API 작성 / ERD 작성 프로젝트 생성 - swagger dependency 설정 - 패키지 구조 설계 (우리는 domain기준으로 했다.) Web layer : dto, controller 작성 - Service layer 작성 :비즈니스 로직, 트랜잭션, 예외 - controller 와 연결 - controller 구현부 작성 - repository 작성 여러번 해보는 수밖..
Entity 작성 @Embeddable@Embedded enum class @Enumerated @GeneratedValue Entity 간의 관계 설정양방향 단방향 작성은 선택의 문제! course 와 lecturemappedBy / @JoinColumn Entity 로딩 설정 fetch = FetchType.LAZY/EAGER관련이 있는 Entity를 실제 사용할 때 할지말지 영속성cascade = [CasecadeType. ] // 부모 Entity 의 영속성을 전파할 때 @OnetoMany의 Annotation!!! Course 가 영속성 관계에 들어왔을 때 course 와 관계있는 다른 것들은 어떻게 처리할 것인지? Repository 작성JPARepository 이용 종속성 ->트랜잭션할 때 ..
데이터베이스와 인텔리제이 연결 이 아이콘을 통해 데이터베이스의 연결정보 입력 (이름, Host, 인증방법, User, password) 조회도 할 수 있고 insert 도 가능, console 에서 쿼리도 가능하다. Application 과 데이터베이스 연결 데이터베이스에 맞는 드라이버를 설치해야 한다. 지금은 Postgre 를 사용하므로 Postgre 드라이버를 설치한다. Postgre 종속성 runtimeOnly("org.postgresql:postgresql") // 컴파일 시점이 아닌, 실행시점에 해당 종속성 필요 implementation 과 runtimeonly 차이 이것만 해서 끝나는게 아니라 해당 Application 에 DB 의 정보를 주어야 한다. (인텔리제이와 연결시 연결정보를 준 것..
복습이 너무 오래 걸려서 진도를 못 나갔다. 대신 컨트롤러단이랑 서비스단 흐름을 10%정도는 이해한 것 같다.🤨 @ResponseEntity Response 줄 때 DTO 뿐만 아니라 status 코드도 넘겨야 한다! 그런 상세한 Response 객체를 구성하기 위함 fun createCourse(@RequestBody createCourseRequest: CreateCourseRequest): ResponseEntity 트랜잭션을 사용하기 위해서는 데이터저장소와 연결되어야 한다. 강의에서는 따로 설치가 필요없는 h2 데이터베이스를 이용 swagger 를 이용한 로컬 호스트 주소 : http://localhost:8080/swagger-ui/index.html ㄴ제대로 했다고 단정짓지 말고 차근차근 살펴..
*Domain model 이랑 DTO 개념이 잘 안잡힌다. 숙련 강의를 다 듣고 복습해보면 괜찮을까? web application 요구사항 다시 확인유저 혹은 Frontend Application의 요청을 처리하고, 적절한 응답을 줄 수 있어야 합니다.예외 처리를 할 수 있고, 예외가 발생했을 때 적절한 응답을 줄 수 있어야 합니다.인증과 인가 처리를 할 수 있어야 합니다.비즈니스 로직을 처리할 수 있어야 합니다.Transaction 관리 전략이 있어야 합니다.스토리지 및 다른 외부 시스템과 통신할 수 있어야 합니다. 어제는 Controller 단을 작성하여 요청을 처리하고 응답을 주는 것을 구현했다. 오늘은 Service Layer 를 작성하여 비즈니스 로직 구현, 트랜잭션 경계 설정, 예외에 대한 처..