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

1. MSA(Microservices Architecture)모놀리틱 아키텍처와의 비교모놀리틱 아키텍처:모든 기능이 하나의 애플리케이션 내에 통합되어 있어, 간단한 배포가 가능하다.단점:확장성의 제한: 특정 기능만 확장하기 어렵다. 예를 들어, 사용자 인터페이스가 많이 사용되는 경우, 해당 부분만을 독립적으로 확장할 수 없다.긴 개발 주기: 모든 기능이 통합되어 있어 작은 변경 사항도 전체를 재배포해야 한다.MSA:독립적으로 운영되는 서비스의 집합으로 구성되며, 각 서비스는 특정 비즈니스 기능을 수행한다.장점:독립적인 배포: 서비스가 독립적으로 배포되어, 다른 서비스에 영향을 주지 않는다.기술 다양성: 각 서비스에서 최적의 기술 스택을 선택할 수 있다.단점:복잡성 증가: 서비스 간의 통신과 데이터 일관성..