중앙정보기술인재개발원

중앙정보기술인재개발원

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

[기본] Spring Data JDBC를 통한 데이터 액세스 계층 구현(2) - 서비스, 리포지토리 구현 기타 이번 챕터에서 수정된 코드서비스 클래스와 리포지토리 클래스 이외에도 서비스 클래스를 사용하는 Controller 클래스, 이와 연관된 DTO 클래스, Mapper 인터페이스 등도 수정된 부분이 존재합니다. ✔ CoffeePostDto 코드@Getterpublic class CoffeePostDto { @NotBlank private String korName; @NotBlank @Pattern(regexp = "^([A-Za-z])(\\\\s?[A-Za-z])*$", message = "커피명(영문)은 영문이어야 합니다(단어 사이 공백 한 칸 포함). 예..

중앙정보기술인재개발원

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

[Spring MVC] JDBC 기반 데이터 액세스 계층서비스 계층의 학습을 마치고 데이터 액세스 계층 학습을 위해 여기까지 오느라 수고 많았습니다.이제 여러분들은 클라이언트의 요청을 Controller의 핸들러 메서드에서 전달받은 후에 서비스 계층과 연동하여 서비스 계층에서 비즈니스 로직을 처리하는 방법까지 알게 되었을 거라고 생각합니다.이번 시간부터는 서비스 계층에서 비즈니스 로직을 통해 처리된 데이터를 데이터베이스(Database)에 저장하고, 비즈니스 로직을 처리하기 위해 데이터베이스(Database)에서 데이터를 조회하는 등의 역할을 수행하는 데이터 액세스 계층에 대한 학습을 진행해 보도록 하겠습니다.프로그래밍 언어와 무관하게 어떠한 애플리케이션을 제작하더라도 데이터베이스 같은 데이터 저장소와의..

중앙정보기술인재개발원

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

Chapter - 비즈니스 로직에 대한 예외 처리이번 챕터에서는 서비스 계층에서 발생하는 비즈니스 로직의 상황에 맞게 개발자가 의도적으로 예외(Exception)를 던지는(throw) 방법에 대한 학습을 해보도록 하겠습니다.그리고 이렇게 의도적으로 던져진 예외(Exception)를 API 계층에서 처리하는 방법 역시 학습해 보도록 하겠습니다.학습 목표서비스 계층에서 의도적으로 예외를 던지는 방법과 상황을 이해할 수 있다.사용자 정의 예외(Custom Exception)를 만들 수 있다.서비스 계층에서 던져진 예외를 API 계층에서 처리할 수 있다.비즈니스적인 예외 던지기(throw) 및 예외 처리체크 예외(Checked Exception)와 언체크 예외(Unchecked Exception)애플리케이션에서..

중앙정보기술인재개발원

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

[실습] 서비스 계층과 API 계층의 연동 실습서비스 계층과 API 계층의 연동 실습 개요이번 실습은 실습용 샘플 프로젝트에 포함되어 있는 CoffeeController 클래스와 CoffeeService 클래스를 연동하는 실습입니다.MemberController와 MemberService는 여러분들이 이미 학습했으므로 실습에서 제외합니다.OrderController와 OrderService는 완성된 코드가 이미 포함되어 있습니다.지난 챕터까지 학습했던 구현 코드들이 기본적으로 포함이 되어 있으며, 이를 기반으로 CoffeeController 클래스, CoffeeMapper 인터페이스, CoffeeService 클래스를 요구 사항에 맞게 구현하면 됩니다.ConffeeController 클래스는 서비스 계층..

중앙정보기술인재개발원

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

[실습] DTO 적용 실습DTO 실습 개요이번 실습은 실습용 샘플 프로젝트에 포함되어 있는 CoffeeController 클래스에 DTO 클래스를 적용하는 실습입니다.MemberController는 여러분들이 이미 학습했으므로 실습에서 제외합니다.OrderController는 이미 DTO 코드들이 포함되어 있습니다.지난 챕터까지 학습했던 구현 코드들이 기본적으로 포함이 되어 있으며, 이를 기반으로 CoffeeController 클래스에 DTO 클래스를 요구 사항에 맞게 적용하면 됩니다.실습에 필요한 클래스는 ‘com.springboot’ 내의 기능별 패키지(member, coffee, order)에 포함되어 있습니다.기능별 패키지(member, coffee, order)에 추가적인 하위 패키지는 필요 없..

중앙정보기술인재개발원

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

[실습] Controller 구현 실습 정답MemberController 핸들러 메서드 구현 1구현 내용memberId가 1인 회원의 회원 정보 중에서 아래 정보를 수정하는 핸들러 메서드를 구현하세요.phone(휴대폰 번호) 정보를 ‘010-1111-2222’로 수정하세요.⭐ 여러분들이 아직 데이터를 실제로 데이터베이스에 저장하는 학습을 진행하지 않았기 때문에 memberId가 1인 회원이 데이터베이스에 저장되어 있지 않고, 코드 h-1과 같이 members Map에 저장되어 있습니다. 따라서 members Map에서 memberId가 1인 회원 정보(member1)를 얻어서 요청으로 전달받은 phone 정보를 업데이트 한 뒤에 응답으로 전송하면 됩니다.members Map은 key를 memberId로 ..

중앙정보기술인재개발원

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

AOP(Aspect Oriented Programming)이전 유닛의 학습을 통해 우리는 AOP(Aspect Oriented Programming) 또는 관심 지향 프로그래밍이라 부르는 프로그래밍 기법에 대한 개념적인 내용을 배울 수 있었습니다.핵심적인 내용을 다시 요약하면, AOP란 애플리케이션 개발의 과정에서 여러 객체에 공통적으로 적용할 수 있는 공통의 관심 사항(Cross-cutting Concern)과 핵심 로직과 관련한 핵심 관심 사항(Cross-cutting concern)을 분리시키는 프로그래밍 기법을 의미한다고 했습니다.좀 더 구체적인 예시로, 애플리케이션의 보안, 로깅, 트랜젝션 등 공통적인 관심 사항을 따로 분리시켜 관리하는 것과 관련이 있었습니다.결론적으로, 이렇게 AOP를 적용하여..

중앙정보기술인재개발원

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

AOP(Aspect Oriented Programming)이번 시간에는 Spring Framework의 3대 핵심 개념 중 하나인 AOP에 대해서 살펴보도록 하겠습니다.[그림 2-11] Spring 삼각형 - AOP 설명 AOP(Aspect Oriented Programming)란?AOP란 무엇일까요? AOP를 한글로 번역하면 관심 지향 프로그래밍 정도로 해석할 수 있습니다.OOP(Object Oriented Programmig)란 객체 지향 프로그래밍 즉, 객체 간의 관계를 지향하는 프로그래밍 방식이라는 사실을 이제는 잘 알고 있을 거라고 생각합니다.그렇다면 이 관심(Aspect)을 지향하는 프로그래밍에서 관심은 무엇을 의미하는 것일까요?위 그림처럼 아기를 키우는 부모들의 육아 방식이나 교육 방식은 제..

중앙정보기술인재개발원

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

Spring FrameworkSpring Framework Basic프로그래밍 세계에 처음 입문하는 분들이 하나의 핵심 프로그래밍 언어에 익숙해지기까지는 일정 기간의 시간이 필요한 것이 사실입니다. 여러분들이 앞에서 학습하면서 익숙해진 Java의 기본 문법만으로 어떠한 소프트웨어를 만들 수 있을까요?아마도 콘솔 출력 프로그램 또는 Java의 GUI API인 AWT나 Swing을 사용한 데스크톱 애플리케이션 정도가 될 것입니다. 하지만 여러분들이 앞으로 만들어야 하는 소프트웨어는 서버에서 동작하는 Java 기반의 웹 애플리케이션입니다.Java 기반의 웹 애플리케이션을 만드는 다양한 기술들이 존재하는데, 그중에서 여러분들이 앞으로 배워야 할 기술은 바로 Spring Framework이라는 오픈소스 기반의 기..

중앙정보기술인재개발원

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

PostmanPostman 사용하는 방법HTTP API 테스트 도구웹 개발에서 사용하는 대표적인 클라이언트는 브라우저입니다. 브라우저는 서버에 HTTP 요청을 보낼 수 있는 훌륭한 도구이지만, 주로 웹 페이지를 받아오는 GET 요청에 사용합니다. 브라우저의 주소창에 URL을 입력하면, 해당 URL의 root-endpoint로 GET 요청을 보냅니다. 테스트를 위해 GET이 아닌 다른 요청을 보내려면, 개발자 도구의 콘솔 창에서 내장 함수 fetch를 사용해야 합니다.매번 코드를 작성할 수는 있습니다. 그러나 테스트를 위해 매번 코드를 작성하는 건 상당히 번거로운 작업입니다. 매번 코드를 작성하는 것 대신에, HTTP 요청을 테스트할 수 있는 다양한 도구가 있습니다. 많은 API가 HTTP 프로토콜을 이용..

기록하는 개발
'중앙정보기술인재개발원' 카테고리의 글 목록 (7 Page)