일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 국비지원
- 내일배움캠프
- 국비지원교육
- 티스토리챌린지
- 국비지원취업
- Spring
- Be
- 오블완
- KDT
- 패스트캠퍼스
- Java
- 백엔드개발자
- 오픈챌린지
- 디자인챌린지
- 디자인강의
- baekjoon
- 내일배움카드
- 백엔드 부트캠프
- 환급챌린지
- 부트캠프
- UXUI챌린지
- OPENPATH
- UXUI기초정복
- UXUIPrimary
- 디자인교육
- 객체지향
- mysql
- 백엔드
- 오픈패스
- 백준
- Today
- Total
목록Spring (12)
군만두의 IT 공부 일지
목차 드디어 이 책을 마무리하게 되었다. 여기서는 테스트를 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:독립적으로 운영되는 서비스의 집합으로 구성되며, 각 서비스는 특정 비즈니스 기능을 수행한다.장점:독립적인 배포: 서비스가 독립적으로 배포되어, 다른 서비스에 영향을 주지 않는다.기술 다양성: 각 서비스에서 최적의 기술 스택을 선택할 수 있다.단점:복잡성 증가: 서비스 간의 통신과 데이터 일관성..

오늘은 JPA에 대해서 조금 더 심화된 내용을 공부했다. 지난 블로그에서는 JPA가 무엇이고 어떻게 사용할 수 있는지 간략히 정리했는데, 이번에는 엔티티의 연관 관계에 대해서 정리하려고 한다.1. Entity 연관 관계주문 APP DB 테이블 설계고객(users) 테이블idname1Robbie2RobbertCREATE TABLE users ( id BIGINT NOT NULL AUTO_INCREMENT, name VARCHAR(255), PRIMARY KEY (id));음식(food) 테이블idnameprice1후라이드 치킨150002양념 치킨200003고구마 피자300004아보카도 피자50000CREATE TABLE food ( id BIGINT NOT NULL AUTO_INCRE..

오늘은 인증과 인가, 쿠키와 세션, JWT에 대해서 공부했다. 각각에 대해서 간단히 정리해보려고 한다. 어려운 부분이니만큼 실습을 따라서 제대로 공부하려고 한다.1. 인증과 인가인증(Authentication): 해당 유저가 실제 유저인지 인증하는 개념인가(Authorization): 해당 유저가 특정 리소스에 접근이 가능한지 허가를 확인하는 개념웹 애플리케이션 인증일반적으로 서버-클라이언트 구조로 되어있다.Http라는 프로토콜을 이용하여 통신하는데, 그 통신은 비연결성(Connectionless) 무상태(Stateless)로 이루어진다.웹 애플리케이션 인증 방식 쿠키-세션 방식의 인증서버가 '특정 유저가 로그인 되었다'는 상태를 저장하는 방식서버는 인증과 관련된 최소한의 정보만 저장해서 로그인을 유지시..