분류 전체보기

중앙정보기술인재개발원

[중앙정보기술인재개발원] 62일차

[Spring Security] 기본여러분들이 Spring MVC를 학습하며 만들어보았던 샘플 애플리케이션은 단순하지만, Spring MVC 기반 애플리케이션에서 사용되는 웬만한 핵심 기술들은 모두 포함이 된 학습용으로 손색이 없는 꽤 괜찮은 애플리케이션입니다.하지만 겉으로 보기에 잘 만들어진 여러분들의 샘플 애플리케이션에는 눈에 보이지 않는 가장 중요한 한 가지 영역이 빠져있습니다.그것은 바로 보안(Security)입니다.보안이라는 영역이 얼마나 중요한지에 대해서 보안 침해로 인한 피해를 겪어보기 전에는 개발자가 애플리케이션 구현 단계에서 보안의 중요성에 대해 현실감 있게 체감하는 건 사실 쉽지 않습니다.‘소 잃고 외양간 고친다’라는 속담을 여러분들은 너무나도 잘 알고 있을 것입니다.소는 외양간에서 도..

중앙정보기술인재개발원

[중앙정보기술인재개발원] 61일차

[실습] 애플리케이션 빌드/실행/배포 실습Spring Boot 애플리케이션 Build 및 실행 실습 개요이번 실습은 여러분들이 만든 샘플 애플리케이션을 빌드 후, 실행해 보는 실습입니다빌드 및 애플리케이션 실행 파일을 실행해 보는 실습이므로 별도의 소스 코드 작성은 없습니다.실습용 프로젝트 패키지는 ‘com.springboot’ 패키지 하위에 아래와 같이 구성되어 있습니다.adviceauditcoffeeconfigdtoexceptionmemberorderresponsestampvalidator현재의 소스 코드는 API 문서화까지의 작업이 모두 반영되어 있으며, 모든 테스트 케이스 역시 “passed” 되도록 작성되어 있습니다.실습 사전 준비실습용 샘플 프로젝트 복제⭐ 애플리케이션 빌드 실습 과제는 별도의..

중앙정보기술인재개발원

[중앙정보기술인재개발원] 60일차

[실습] API 문서화 실습Spring Rest Docs를 이용한 API 문서화 실습 개요이번 실습은 Spring Rest Docs를 이용해 API 문서를 만들어 보는 실습입니다.지난 챕터까지 학습했던 구현 코드들이 기본적으로 포함되어 있으며, 이를 기반으로 요구 사항에 맞게 API 문서화를 위한 테스트 케이스를 작성한 후, API 문서를 생성하면 됩니다.실습용 프로젝트 패키지는 ‘com.springboot’ 패키지 하위에 아래와 같이 구성되어 있습니다.adviceauditcoffeeconfigdtoexceptionmemberorderresponsestampvalidator테스트 케이스는 일반적으로 Gradle 기반 프로젝트에서 ‘src/test/java/**’ 경로에 작성합니다.여러분들이 작성할 API..

중앙정보기술인재개발원

[중앙정보기술인재개발원] 59일차

[실습] Mockito 실습Mockito 실습 개요이번 실습은 슬라이스 테스트와 비즈니스 로직 테스트에 Mockito를 적용해 보는 실습입니다.지난 챕터까지 학습했던 구현 코드들이 기본적으로 포함이 되어 있으며, 이를 기반으로 요구 사항에 맞게 Mockito를 사용하여 테스트 케이스를 작성하면 됩니다.실습용 프로젝트 패키지는 ‘com.springboot’ 패키지 하위에 아래와 같이 구성되어 있습니다.adviceauditcoffeeconfigdtoexceptionmemberorderresponsestampvalidator단위 테스트를 위한 테스트 케이스는 일반적으로 Gradle 기반 프로젝트에서 ‘src/test/java/**’ 경로에 작성합니다.여러분들이 작성할 테스트 케이스 역시 ‘src/test/ja..

중앙정보기술인재개발원

[중앙정보기술인재개발원] 58일차

Chapter - Mockito이 전 유닛에서는 Java에서 가장 많이 사용하는 테스트 프레임워크인 JUnit과 Spring Framework에서 지원하는 테스팅 기능을 이용해서 단위 테스트와 슬라이스 테스트를 위한 테스트 케이스를 작성해 보았습니다.그런데, 테스트 세계에는 우리가 학습한 단위 테스트와 슬라이스 테스트를 조금 더 효과적으로 진행할 수 있는 방법이 존재하는데 그것은 바로 Mock 객체를 테스트에 적용하는 것입니다.이번 유닛에서는 우리가 작성해 본 단위 테스트와 슬라이스 테스트에 Mock 객체를 어떻게 적용할 수 있는지 자세히 알아보도록 하겠습니다.추가적으로 TDD(Test Driven Development)가 무엇인지 살펴보고, TDD 개발에 대한 전반적인 흐름을 이해해 보도록 하겠습니다...

중앙정보기술인재개발원

[중앙정보기술인재개발원] 57일차

Chapter - 슬라이스 테스트(Slice Test)이번 시간에는 Spring에서 의미하는 슬라이스 테스트(Slice Testing)가 무엇인지 알아보고, Spring MVC 기반의 계층별 테스트를 진행하는 방법을 살펴보도록 하겠습니다.핵심 포인트슬라이스 테스트(Slice Testing)의 의미를 이해할 수 있다.Spring에서 지원하는 테스팅 기능을 이용해서 API 계층의 Controller를 테스트할 수 있다.Spring에서 지원하는 테스팅 기능을 이용해서 데이터 액세스 계층의 Repository를 테스트할 수 있다.[기본] API 계층 테스트슬라이스 테스트란?여러분들이 학습을 위해서 만들어보고 있는 샘플 애플리케이션은 여러 개의 계층으로 나누어져 있습니다.단위 테스트의 경우 일반적으로 특정 모듈이..

중앙정보기술인재개발원

[중앙정보기술인재개발원] 56일차

[Spring MVC] 테스팅(Testing)트랜잭션까지 적용된 커피 주문 샘플 애플리케이션은 이제 보안(Security)을 제외하고는 그럭저럭 잘 동작하는 애플리케이션이 되었습니다.물론 학습용이기 때문에 별도의 외부 통신은 없지만 요구 사항이 늘어나더라도 기능을 추가하는 데는 크게 무리가 없을 정도의 기본기는 갖추게 되었습니다.하지만 우리가 실무에서 애플리케이션 개발에 참여하게 되면 여러분들이 애플리케이션 구현을 끝냈다고 해서 끝이 아닙니다.여러분들이 애플리케이션에 대한 1차 구현이 끝났다고 생각하더라도 여러분들 입장에서는 여러분들이 구현한 애플리케이션이 잘 동작한다고 생각할지 모르지만, 제3자 입장에 있는 사람들(QA 담당자, Frontend 개발 담당자, 애플리케이션을 사용하는 고객)이 여러분들의 ..

중앙정보기술인재개발원

[중앙정보기술인재개발원] 55일차

[Spring MVC] 트랜잭션(Transaction)지금까지의 학습을 통해 여러분들은 꽤 잘 돌아가는 커피 주문 샘플 애플리케이션을 만들어 보았습니다.그런데 우리가 만든 커피 주문 샘플 애플리케이션에는 두 가지 중요한 기능이 빠져있습니다.하나는 트랜잭션(Transaction)이고, 나머지 하나는 보안(Security)입니다.이 두 가지 중요한 기능 중에서 이번 시간에는 트랜잭션(Transaction)에 대해서 학습합니다.트랜잭션(Transaction)이 무엇이고, 애플리케이션에 트랜잭션이 왜 필요한지 이번 시간에 자세히 알아보도록 하겠습니다.[Spring MVC] 트랜잭션(Transaction) 학습을 위한 사전 준비 사항이번 유닛의 학습을 원활하게 진행하기 위해 지금까지 여러분들이 구현해 본 Cont..

중앙정보기술인재개발원

[중앙정보기술인재개발원] 54일차

[실습] Spring Data JPA를 이용한 데이터 액세스 실습커피 주문 서비스 개발1. 연관 관계 매핑 구현 실습Order 클래스(주문)와 Coffee 클래스(커피)의 연관 관계 매핑 구현구현 내용주문과 커피는 다대다의 관계입니다.다대다인 두 클래스의 연관 관계를 매핑하세요.제한 사항@ManyToMany 애너테이션을 사용하면 안 됩니다.@OneToMany 애너테이션만 사용해서는 안 됩니다.@ManyToOne 애너테이션을 먼저 사용하고, 필요하다면 @OneToMany 애너테이션을 사용하면 됩니다.회원이 주문한 주문 정보를 통해 주문_커피 정보를 조회할 수 있어야 합니다.Member 클래스(회원)와 Stamp 클래스(도장)의 연관 관계 매핑 구현구현 내용회원과 스탬프는 일대일의 관계입니다.스탬프는 회원이..

중앙정보기술인재개발원

[중앙정보기술인재개발원] 53일차

[실습] Spring Data JPA를 이용한 데이터 액세스 실습Spring Data JPA 기반 데이터 액세스 계층 연동 실습 개요이번 유닛에서 여러분이 만들고 있는 커피 주문 샘플 애플리케이션에 JPA와 Spring Data JPA를 적용해 보았습니다.하지만 우리가 아직 제대로 완성하지 않았던 주문_커피 정보에 대한 부분을 이번 시간에 여러분들이 직접 완성해 보는 시간을 갖도록 하겠습니다.실습용 샘플 프로젝트에는 지난 챕터까지 학습했던 구현 코드들이 기본적으로 포함이 되어 있으며, 이를 기반으로 요구 사항에 맞게 Entity 클래스, Mapper 인터페이스, Controller/ Service 클래스, Repository 인터페이스 등을 적절하게 수정하면 됩니다.실습에 필요한 클래스는 ‘com.spr..

기록하는 개발
'분류 전체보기' 카테고리의 글 목록 (6 Page)