일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 디자인강의
- 디자인챌린지
- 백준
- 패스트캠퍼스
- 부트캠프
- Spring
- baekjoon
- 디자인교육
- 내일배움캠프
- Be
- 오픈챌린지
- 국비지원교육
- 티스토리챌린지
- 객체지향
- UXUI챌린지
- 백엔드
- 내일배움카드
- UXUIPrimary
- 환급챌린지
- UXUI기초정복
- 오픈패스
- 국비지원취업
- 백엔드 부트캠프
- mysql
- KDT
- Java
- OPENPATH
- 오블완
- 국비지원
- 백엔드개발자
- Today
- Total
목록Spring (15)
군만두의 IT 공부 일지

목차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 애너테이션의 사용하지 않고, 필요한 값 변경은 생성자와 메소드를 통해..

주문 관리 플랫폼 프로젝트에서 Store의 CRUD 기능을 담당하여 구현했다. 구현한 코드와 개발 초기에 팀원들과의 의논한 사항들을 정리하려고 한다.@RestController@RequiredArgsConstructor@RequestMapping("/api/v1/stores")public class StoreController { private final StoreService storeService; // 새로운 가게 생성 @PostMapping public ResponseEntity createStore(@RequestBody StoreRequestDto storeRequestDto) { Store store = storeService.createStore(store..

오늘은 어제 작성한 S.A의 피드백을 바탕으로 본격적인 개발을 시작한다. 먼저 Git Repository를 하나 생성해서 스프링 프로젝트 초기 설정을 마쳤다. 그 과정에서 commit, branch, issues, pr 컨벤션을 정하고 Slack 팀 채널을 하나 생성하는 등 사전에 정해야 하는 것들을 정하고 시작했다.Git & PR 특강Github를 처음 사용하는 분들도 있어서 그런지, 튜터님이 Git 관련 특강을 진행해주셨다. 내용은 Github로 협업을 해본 사람이라면 대부분 아는 내용이었는데, 주요 내용은 다음과 같다.1. 브랜치 명과 커밋 메시지의 좋은 예커밋 메시지는 '커밋 컨벤션' 키워드로 구글링에 하면 나오는 기본적인 내용들이었다. 우리 조는 아래처럼 정했다. 그리고 브랜치는 git-flo..

오늘부터 스프링 프로젝트를 시작한다. 프로젝트 주제는 다음과 같다.❓ What to do : 음식 주문 관리 플랫폼 개발- 음식 주문 관리 플랫폼 이란? - 00의 민족, 00 이츠, 00요 등 음식점들의 배달 및 포장 주문 관리, 결제, 그리고 주문 내역 관리 기능을 제공 - 식당에서 음식 정보 등록 >> 사용자는 원하는 음식을 주문 >> 할당된 라이더가 음식을 배달 - 해당 프로젝트에서는 ‘배달(라이더 할당, 배송상태 관리 등)’ 기능 제외 본격적으로 개발을 시작하기 전에 해야 할 일이 있는데, 바로 S.A를 작성해서 제출하는 것이다.✏️ S.A (Starting Assignments) : 프로젝트 시작 전 작성할 문서입니다 !- 제출 기한 : 2월 13일(목) 오전 11:00까지- ..