본문 바로가기

생각 정리93

2022. 11. 14. § 학습 전(계획) § ▶ 학습 목표는 무엇인가? Spring MVC - API 문서화 Spring Rest Docs에서의 Asciidoc API 문서화 실습 ▶ 이미 알고 있는 내용은 무엇인가? Spring Rest Docs를 어떻게 사용하고, 최종적으로 HTML 파일의 API 문서를 어떻게 확인하는지 학습했었다. 오늘 Asciidoc에 대해 자세히 학습하고, 실습을 통해 지식을 완전히 정립시킬 수 있겠다. 오늘부터 한 주 시작이다. 화이팅해서 달려보자!😎 § 학습 후(점검 및 평가) ▶ 새롭게 배운 내용은 무엇인가? AsciiDoc은 Spring Rest Docs를 통해 생성되는 텍스트 기반의 문서 포맷 Asciidoctor는 AsciiDoc 포맷의 문서를 파싱해서 HTML 5, 메뉴얼 페이지, PD.. 2022. 11. 14.
2022. 11. 11. § 학습 전(계획) § ▶ 학습 목표는 무엇인가? Spring MVC - API 문서화 API 문서화 Spring Rest Docs ▶ 이미 알고 있는 내용은 무엇인가? 모두 처음 배우는 내용들이다. § 학습 후(점검 및 평가) ▶ 새롭게 배운 내용은 무엇인가? API 문서화란 클라이언트가 REST API 백엔드 애플리케이션에 요청을 전송하기 위해서 알아야 되는 요청 정보(URL or URI, Request Body, Query Parameter 등등)를 문서로 잘 정리하는 것을 말한다. Spring Rest Docs를 통해서, API 문서를 자동으로 생성할 수 있다. Spring Rest Docs 문서화 방식은 테스트 케이스를 반드시 작성하고, 그 테스트 케이스의 결과가 'passed'여야 API 문서.. 2022. 11. 11.
2022. 11. 10. § 학습 전(계획) § ▶ 학습 목표는 무엇인가? Spring MVC - Testing Mockito TDD ▶ 이미 알고 있는 내용은 무엇인가? Mockito는 처음 배우는 내용이고, TDD란 용어는 익히 들어봤다. 오늘도 열심히 임하자! § 학습 후(점검 및 평가) ▶ 새롭게 배운 내용은 무엇인가? Mock은 가짜 객체를 말하며, Mockito는 Mock 객체를 생성하고 진짜처럼 동작하게 하도록하는 Mocking framework이다. @MockBean 애너테이션은 Bean에 대한 Mockito Mock 객체를 생성하고 주입해주는 역할을 한다. TDD란 테스트가 개발을 주도하는 방식으로, 테스트 코드를 먼저 작성한 후에 기능을 구현한다. ▶ 다른 사람에게 설명할 수 있는가? 이론에 대한 부분은 설명할.. 2022. 11. 10.
2022. 11. 09. § 학습 전(계획) § ▶ 학습 목표는 무엇인가? Spring MVC - Testing Hamcrest를 사용한 Assertion 슬라이스 테스트(Slice Test) ▶ 이미 알고 있는 내용은 무엇인가? 모두 처음 배우는 내용들이다. § 학습 후(점검 및 평가) ▶ 새롭게 배운 내용은 무엇인가? HamCrest는 JUnit 기반의 단위 테스트에서 사용할 수 있는 Assertion Framework이다. 다음과 같은 이유들로 JUnit에 지원하는 Assertion 메서드보다 더 많이 사용된다. Assertion을 위한 Matcher가 자연스러운 문장으로 이어지므로, 가독성이 향상된다. 테스트 실패 메시지를 이해하기 쉽다. 다양한 Matcher를 제공한다. Hamcrest만으로 던져진 예외를 테스트하기 위.. 2022. 11. 9.
2022. 11. 08. § 학습 전(계획) § ▶ 학습 목표는 무엇인가? Spring MVC - 테스팅(Testing) 단위 테스트(Unit Test) Junit을 사용한 단위 테스트 ▶ 이미 알고 있는 내용은 무엇인가? 테스트가 굉장히 중요하다는 것을 안다. 이번 학습은 너무 중요하기에, 풀집중해서 학습해야겠다. 화이팅 :) § 학습 후(점검 및 평가) ▶ 새롭게 배운 내용은 무엇인가? 단위 테스트란 무엇인지, 순수한 Java 코드로 테스트는 어떻게 하고 그걸 JUnit을 이용하면 어떻게 구현할 수 있는지 알게 되었다. ▶ 다른 사람에게 설명할 수 있는가? 설명할 수 있다. ▶ 아직 이해되지 않은 내용은 무엇인가? 이해되지 않은 내용은 없다. 다만, JUnit을 이용한 테스트에서 몇 가지의 Assertions 메서드 밖에 써.. 2022. 11. 8.
2022. 11. 07. § 학습 전(계획) § ▶ 학습 목표는 무엇인가? Spring MVC - 트랜잭션 선언형 방식의 트랜잭션 적용 JTA를 이용한 분산 트랜잭션 적용 트랜잭션 적용 실습 ▶ 이미 알고 있는 내용은 무엇인가? 선언형 방식의 트랜잭션에 대해 학습하던 중이었다. 확실히 학습해서 실습에 지장이 없도록 해야겠다. 이번 한 주도 화이팅해보자😄 § 학습 후(점검 및 평가) § ▶ 새롭게 배운 내용은 무엇인가? Spring에서 트랜잭션 적용 방식에는 @Transactional과 AOP 방식이 있다. 트랜잭션 전파란 트랜잭션의 경계에서 진행 중인 트랜잭션이 존재할 때 또는 존재하지 않을 때, 어떻게 동작할 것인지 결정하는 방식을 의미한다. @Transactional 애너테이션의 isolation 애트리뷰트를 통해 트랜잭션 .. 2022. 11. 7.
2022. 11. 04. § 학습 전(계획) ▶ 학습 목표는 무엇인가? Spring MVC - 트랜잭션(Transaction) 트랜잭션이란? 선언형 방식의 트랜잭션 적용 ▶ 이미 알고 있는 내용은 무엇인가? 네트워크에 관해 학습하면서, 트랜잭션이라는 용어를 들어봤다. Spring에서 트랜잭션이란 용어가 다시 나오는 걸 보니, 어떻게 적용하는지에 대해 학습할 것 같다. 오늘도 화이팅하자 ! § 학습 후(점검 및 평가) ▶ 새롭게 배운 내용은 무엇인가? 트랜잭션은 물리적으로 다른 여러 작업들을 논리적으로 하나의 작업으로 묶어 처리하는 단위를 의미 트랜잭션의 ACID 원칙 (Atomicity, Consistency, Isolation, Durability) 커밋과 롤백 커밋의 내부 동작 과정 ▶ 다른 사람에게 설명할 수 있는가? 오늘.. 2022. 11. 4.
2022. 11. 03. § 학습 전(계획) ▶ 학습 목표는 무엇인가? Spring Data JPA Spring Data JPA를 통한 데이터 액세스 계층 구현 및 실습 ▶ 이미 알고 있는 내용은 무엇인가? 새롭게 Spring Data JPA를 학습한다. 오늘 또한 난이도가 있을 거로 예상되므로, 잘 집중해야겠다. § 학습 후(점검 및 평가) ▶ 새롭게 배운 내용은 무엇인가? JpaRepository를 상속하면 CrudRepository 기능을 포함한 JPA에 특화된 확장 기능들을 사용할 수 있다. JPQL은 JPA에서 지원하는 객체 지향 쿼리로써, 데이터베이스의 테이블을 대상으로 조회 작업을 진행하는 것이 아니라 엔티티 클래스의 객체를 대상으로 객체를 조회한다. ▶ 다른 사람에게 설명할 수 있는가? JPA가 무엇인지 설명할 수.. 2022. 11. 3.
2022. 11. 02. § 학습 전(계획) ▶ 학습 목표는 무엇인가? Spring MVC - JPA 기반 데이터 액세스 계층 JPA 엔티티 간의 연관 관계 매핑 및 실습 ▶ 이미 알고 있는 내용은 무엇인가? 어제까지는 기본적인 엔티티 매핑에 대해서 학습했고, 오늘은 연관 관계에 대해 매핑하는 걸 학습한다. 쉽지 않은 내용이라고 지작하고 있고, 집중해서 학습해야겠다 화이팅 ! § 학습 후(점검 및 평가) ▶ 새롭게 배운 내용은 무엇인가? 일대다, 다대일, 일대일, 다대다, 양방향, 단방향 관계의 매핑을 어떻게 하는지 새롭게 알게 되었다. ▶ 다른 사람에게 설명할 수 있는가? 두 테이블의 연관 관계는 어떻고, 외래키는 어떤 것이여야 하는지 설명할 수 있다. ▶ 아직 이해되지 않은 내용은 무엇인가? 아직, 단방향 양방향의 내용이 혼.. 2022. 11. 2.