일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 | 31 |
- 자바
- Java
- 디자인교육
- 백준
- UXUIPrimary
- 국비지원
- 오픈패스
- 부트캠프
- UXUI기초정복
- Be
- 백엔드개발자
- 오픈챌린지
- baekjoon
- 환급챌린지
- 내일배움카드
- KDT
- 패스트캠퍼스
- mysql
- 오블완
- 내일배움캠프
- Spring
- 백엔드 부트캠프
- OPENPATH
- 티스토리챌린지
- 디자인강의
- 국비지원취업
- 객체지향
- 디자인챌린지
- UXUI챌린지
- 국비지원교육
- Today
- Total
목록Spring (18)
군만두의 IT 공부 일지
목차부록 A A.1 아키텍처 방식A.1.1 모놀리식 방식모놀리식(monolithic) 또는 모놀리스(monolith): 배포하고 실행하는 하나의 구성 요소로만 구성되어 있다는 것. 이 구성 요소에 모든 기능도 구현된다.예) 서점 관리 앱 - 사용자는 서점에서 판매하는 제품, 송장, 배송, 고객을 관리한다. 모든 기능이 동일한 프로세스 일부로 동작한다.비즈니스 흐름(flow): 사용자가 애플리케이션에서 수행하려는 것.예) 서점 주인이 책을 판매할 때 흐름은 다음과 같다. 제품(products) 기능은 재고에서 책을 예약하고, 청구(billing) 기능은 해당 책의 송장을 생성하며, 배송(deliveries)은 언제 책을 배달할지 계획하고 고객(customers) 기능에 알린다.수평 확장(horizontal..
목차14장. 스프링 데이터로 데이터 영속성 구현이 장에서 다룰 내용- 스프링 데이터의 작동 방식 이해하기- 스프링 데이터의 리포지터리 정의하기- 스프링 데이터 JDBC를 이용한 스프링 앱의 영속성 계층 구현하기14.1 스프링 데이터란스프링 데이터(Spring Data): 영속성 기술에 맞는 구현을 제공하는 스프링 생태계의 한 프로젝트데이터 영속성을 구현하는 방법드라이버 관리자를 이용하여 관계형 DBMS에 직접 연결하는 JDBC를 사용한다.JdbcTemplate을 사용하거나JDK 인터페이스(Statement, PreparedStatement, ResultSet 등)로 직접 작업할 수 있다.하이버네이트(Hibernate) 같은 ORM 프레임워크를 사용한다.다양한 NoSQL 기술 중 하나를 사용한다.스프링 데..
목차11장. REST 엔드포인트 사용이 장에서 다룰 내용- 스프링 클라우드 OpenFeign으로 REST 엔드포인트 호출하기- RestTemplate으로 REST 엔드포인트 호출하기- WebClient로 REST 엔드포인트 호출하기 OpenFeign: 스프링 클라우드(Spring Cloud) 프로젝트에서 제공하는 도구.RestTemplate: 스프링 3부터 개발자들이 REST 엔드포인트를 호출하는 데 사용하여 널리 알려진 도구. 저자는 새로운 앱에서 작업한다면 RestTemplate 대신 OpenFeign을 추천함.WebClient: RestTemplate의 대안으로 제시된 스프링 기능. 리액티브 프로그래밍(reactive programming)이라는 다른 프로그래밍 방식을 사용함.11.1 스프링 클라우..

목차10장. REST 서비스 구현이 장에서 다룰 내용- REST 서비스 이해하기- REST 엔드포인트 구현하기- HTTP 응답으로 서버가 클라이언트로 전송하는 데이터 관리하기- HTTP 요청 본문(body)에서 클라이언트가 보낸 데이터 가져오기- 엔드포인트 수준에서 예외 관리하기10.1 REST 서비스를 이용한 앱 간 데이터 교환REST 엔드포인트:스프링에서 HTTP 메서드와 경로에 매핑된 컨트롤러 액션이다.스프링 MVC 디스패처 서블릿이 뷰를 찾지 않는다는 것이 다르다.서버는 컨트롤러의 액션이 반환하는 것을 클라이언트에 대한 HTTP 응답으로 직접 전송한다.REST 엔드포인트의 통신 문제:컨트롤러 작업이 완료되는 데 오랜 시간이 소요된다면 엔드포인트에 대한 HTTP 호출이 타임아웃(timeout)되어 ..
목차7장. 스프링 부트와 스프링 MVC 이해 이 장에서 다룰 내용- 첫 번째 웹 앱 구현하기- 스프링 부트를 사용한 스프링 앱 개발하기- 스프링 MVC 아키텍처 이해하기7.1 웹 앱이란웹 앱: 웹 브라우저로 접속하는 모든 앱7.1.1 웹 앱에 대한 일반적인 개요웹 앱클라이언트 측(the client side): 사용자가 직접 상호 작용하는 부분. 웹 브라우저는 웹 서버에 요청을 보내고, 서버에서 응답을 수신하며, 사용자가 앱과 상호 작용할 수 있는 방법을 제공한다. 웹 앱에서는 프런트엔드(frontend)라고도 한다.서버 측(the server side): 클라이언트에서 요청을 수신하고 응답에 데이터를 회신한다. 응답을 보내기 전에 클라이언트가 요청한 데이터를 처리하고, 저장하는 로직을 구현한다. 웹 앱..
목차5장. 스프링 컨텍스트: 빈의 스코프 및 수명 주기이 장에서 다룰 내용- 싱글톤 빈 스코프 사용하기- 싱글톤 빈을 위한 즉시 및 지연 인스턴스 생성하기- 프로토타입 빈 스코프스코프(scope): 스프링에서 빈을 생성하고 수명 주기를 관리하는 방식싱글톤(singleton)프로토타입(prototype)5.1 싱글톤 빈 스코프 사용5.1.1 싱글톤 빈의 작동 방식싱글톤은 스프링에서 가장 많이 사용되는 기본 빈 스코프이다.스프링은 컨텍스트를 로드할 때 싱글톤 빈을 생성하고 빈에 이름(빈 ID)을 할당한다. 특정 빈을 참조할 때 항상 동일한 인스턴스를 얻기 때문에 이 스코프를 싱글톤이라고 한다.스프링 컨텍스트에서 이름이 다른 경우 동일한 타입의 인스턴스를 더 많이 가질 수 있다. 스프링에서 싱글톤은 동일한 타..
목차 드디어 이 책을 마무리하게 되었다. 여기서는 테스트를 SOLID 법칙에 따라 어떻게 설계하는지 설명한다. 책을 읽으면서 SRP에서는 실제 프로젝트에서 팀원이 튜터님한테 Repository 의존성을 많이 주입받고 있다고 지적받은 상황이 떠올랐다. 이런 부분을 유의해야 할 것 같다.16 . 테스트와 설계테스트와 소프트웨어 설계가 추구하는 가치에 교집합이 있다. 좋은 설계는 시스템이 모듈로 분해되고 각 모듈이 독립적으로 개발될 수 있게 하는 것을 추구한다. 더 나아가 시스템이 확장될 수 있는 것을 추구한다. 좋은 설계를 갖춘 코드는 대부분 테스트하기도 쉽다.테스트와 좋은 설계1. 테스트하기 어려운 코드는 좋은 설계 원칙을 적용함으로써 테스트하기 쉽게 만들 수 있다.2. 어떤 방식이 좋은 설계인지 헷갈린..

오늘은 Store의 CRUD 기능을 구현한 내용에 대해서 Store, StoreRepository, StoreService, StoreController 클래스 코드를 팀원에게 코드 리뷰를 받았다. 코드 리뷰의 목적은 서로 코드를 어떻게 구현했는지 확인하고, 개선할 부분을 조언해주기 위함이다.Store 엔티티의 변경 사항주소 정보 임베딩: 공통적으로 사용되는 Address 클래스를 임베드 타입으로 적용하여, 관리의 일관성을 높였다.유효성 검증 로직 강화: 필드별로 유효성 검증 로직을 추가하여 데이터의 정확성을 보장했다. 특히 수정 작업 시 null 값이 입력되지 않도록 했다.Setter 메소드 제거: 데이터 무결성을 위해 @Setter 애너테이션의 사용하지 않고, 필요한 값 변경은 생성자와 메소드를 통해..