프로그래밍/스프링

목표 JDBC 및 JPA를 사용하는 이유에 대해 설명할 수 있다. 단순히 ORM의 기능을 넘어서 영속성 컨텍스트를 이용하는 장점(1차 캐시, 지연 로딩, 쓰기 지연 등) Transactional 등의 부가 기능들도 잘 설명할 수 있다. 잘못 사용하는 경우의 영향력과 해결 방법에 대해 설명할 수 있다. JAVA 진영의 JPA와 Spring 진영의 JPA가 어떻게 구현되어 있는지 설명할 수 있다. JDBC, JPA, Hibernate, JPA, Spring Data JPA의 차이를 설명할 수 있다. Kolin으로 Spring JPA를 사용할때 주의점 1. JDBC란? (From Oracle) Java Database Connectivity의 약자로서 자바의 Universal Data Access를 제공한다...
어느 덧 서버개발 5년차가 되었지만, 숱한 물음표에 대해 마침표를 찍기가 너무 어려웠다. 또한 하나의 책에 대해 기억에 남는 부분이 무엇이냐라고 했을때 당당히 답하기 힘들었다. 가장 익숙한 스프링 환경에서 극복하고자 한다. - Spring은 무엇인가요? - Spring 을 왜 쓰시나요? - Spring 을 썼을때 장점과 단점은 무엇인가요? - Spring 을 사용함으로써 어떤 점이 편해졌나요? - Spring Boot는 무엇인가요? - Spring Webflux는 무엇인가요? - MVC와 비교하면? - JDBC를 사용하는 것과 JPA를 사용하는 것은 무슨 차이가 있을까요? - MVC, WebFlux가 각각 유저의 요청이 들어온 순간 부터 응답되기까지의 과정을 말해주세요. - Spring Bean의 라이프..
2장 마이크로서비스 아키텍처를 구축할 때 프로젝트의 아키텍트는 다음 세 가지 일에 집중한다. 1. 비즈니스문제의 분해 2. 서비스 세분화의 확정 3. 서비스 인터페이스의 정의 1. 비즈니스 문제를 기술하고 그 문제를 기술하는 데 人居된 명사에 주목하라 문제를 기술하는 데 동일한 명사가 반복해서 사용되면 대개 핵심 비즈니스 영역과 마이크로서 비스로 만들 기회가 드러난다. 1장에서 EagleEye 영역의 대상 명사는 계약과 라이선스, 자산 같은 것이다. 2. 동사에주목하라 동사는 행위를 부각하고 문제가 되는 영역의 윤곽을 자연스럽게 드러낸다. 여러분이 “트랜잭 션 X 는 A와 B 에서 데 이 테 ■ 가져와야 해 .”라고 말한다면 대개 여러 서비스가 엮여 동작 중인 상태다. EagleEye에 동사 관찰 방법을..
1-1. 마이크로 서비스란? 모놀리식 아키텍처 (monolithic architecture) : 배포 가능한 단 일 소프트웨어 산출물 UI 및 비즈니스 로직,데이터베이스 액세스 로직 모두가 하나의 애플리케이션 산출물로 패키징되고 애플리케이션 서버에 배포 마이크로서비스 아키텍처 대형 애플리케이션을 관리하기 쉽고 제한된 책임을 담당하는 컴포넌트로 분해 HTTP와 JSON(JavaScript Object Notation) 같은 경량 통신 프로토콜 사용 1-2. 스프링이란 무엇이고 마이크로서비스와 어떤 관련이 있을까? Java EE의 단점 EJB(Enterprise Java Beans) Container 기반의의 Java EE 개발은 제공하는 API를 상속 받아야만 했고 부가적인 코드를 작성해야 하는 등의 불편..
- 스프링 마이크로서비스 코딩 공작소 • 1장에서는 마이크로서비스 아키텍처가 애플리케이션,특히 클라우드 기반 애플리케이션을 구축하는 데 중요하고 적절한 접근 방법인 이유를 설명한다. • 2장에서는 스프링 부트를 사용해 첫 번째 REST 기반 마이크로서비스를 작성하는 방법을 살펴본다. 이 장에서는 아키텍트와 애플리케이션 엔지니어, 데브옵스(DevOps) 엔지니어 관 점에서 어떻게 마이크로서비스를 바리볼 것인지 설명한다. • 3장에서는 스프링 클라우드 컨피그(Spring Cloud Config)를 사용한 마이크로서비스의 구성 (configurarion)을 관리하는 방법을 소개한다. 스프링 클라우드 컨피그는 단일 저장소에 구성 정 보를 중앙 집중화하고 버전 관리해서 모든 서비스 인스턴스에 반복 가능하게 구성할..
2.1 서블릿 시작하기 서블릿 : JVM 기반에서 웹 개발을 하기 위한 명세이자 API다. Java EE에 포함된 스펙 중의 하나로 자바에서 HTTP 요청과 응답을 처리하기 위한 내용들을 담고 있다. 자바를 실행하려면 JRE가 필요-> 서블릿을 실행하려면 웹 애플리케이션 컨테이너가 필요 2.1.1. 서블릿 설정 그래들을 사용할 예정. InitServlet.java import javax.servlet.ServletException; import javax.servlet.annotation.WebServlet; import javax.servlet.http.HttpServlet; @WebServlet("/init") public class InitServlet extends HttpServlet{ @Ove..
1.1 인프라와 스프링 프레임워크의 변화 1.1.1 아키텍처의 변화 - 1단계) 서버/클라이언트 개념의 등장 : GUI개발의 본격화, 델파이를 이용한 업무 프로그램과 ActiveX를 이용한 웹 애플리케이션- 2단계) 서버에서 파일로 데이터를 저장하거나 소켓 통신을 통해 클라이언트와 통신- 3단계) 전자상거래, 웹의 인기, 상용 관계형 DB의 흥행3tier : 서버(JSP,PHP,ASP) - 클라이언트 - 데이터베이스- 4단계) 클라우드 서비스 :장점 : 인스턴스 형태로 자유롭게 확장 가능단점 : 클라우드 업체의 기술에 종속, 정해진 요금제 사용 1.1.2 스프링 프레임워크의 변화 초기 : 오라클, IBM 등 업체가 제공하는 솔루션을 사용-> 웹로직, 웹스피어 같은 서버 사용 + EJB(Enterprise..