오늘은 10,11,12 장 내용을 다루어 보자! 10장. 흥미로운 발급 책에서는 또 비유적으로 시간이라는 은유를 썻는데 나는 있는 그대로(?) 작성 하였다. 카드 수수료 (20%) 카드번호, 유효기간, 결제 금액 값 필요 card 부작용? + 수수료비율 필드 추가 + 수수료금액 필드 추가 + getChargeAmt 추가 equals() hashCode() chageAmt private 하게 만들기 계좌 수수료 (30%) 카드, 계좌 중복 공용 equals 공용 newIssuance Card와 Account 비교 하기 newIssuance 신규 발급 추가 사용가능 국가 공용 newIssuance 로 중복 코드를 줄이자. Payment newIssuance(double chargeRate) { if (get..
7장. 사과와 오렌지 요구사항 카드 수수료 (20%) 카드번호, 유효기간, 결제 금액 값 필요 card 부작용? + 수수료비율 필드 추가 + 수수료금액 필드 추가 + getChargeAmt 추가 equals() hashCode() chageAmt private 하게 만들기 계좌 수수료 (30%) 카드, 계좌 중복 공용 equals 공용 getChargeAmt Card와 Account 비교 하기 이장에서는 Card, Account 를 비교해 보도록 하자. 기존 테스트 코드에 Card 와 Account 를 비교하는 코드를 넣어보자 @Test void equalsTest() { assertTrue(new Card(0.2).equals(new Card(0.2))); assertFalse(new Card(0.2)..
임시 저장 했던게... 다 날아 갔다 ㅠ.ㅜ... 다시 요약 하면 4장 에서는 객체 변수에 직접 접근을 위해 변수를 private 하게 변경 하였고, 5장 에서는 Account(계좌)를 새롭게 만들었다, 현재 요구 사항은 아래와 같다. 요구사항 카드 수수료 (20%) 카드번호, 유효기간, 결제 금액 값 필요 card 부작용? + 수수료비율 필드 추가 + 수수료금액 필드 추가 + getChargeAmt 추가 equals() hashCode() chageAmt private 하게 만들기 계좌 수수료 (30%) 카드, 계좌 중복 공용 equals 공용 getChargeAmt 6장 돌아온 '모두를 위한 평등' 5장에 계좌를 만들면서 카드를 복붙하였기 때문에 (빠른 테스트 성공을 보기 위함이다...!) 우리는 엄..
오늘 부터는, 테스트 주도 개발(켄트백)에서 예제로 쓰고 있는, Dallor 예시를 Paymt(결제)로 투영하여 테스트 코드 작성 훈련을 진행 하도록 하겠다. 1장. 결제의 종류 (카드) 요구사항 카드 수수료 (20%) 카드번호, 유효기간, 결제 금액 값 필요 card 부작용? + 수수료비율 필드 추가 + 수수료금액 필드 추가 + getChargeAmt 추가 CardTest @Test void CardChargeTest() { Card card = new Card(0.2); card.getChargeAmt(1000); assertEquals(card.chargeAmt, 200); } 테스트 코드 부터 작성 하고... 초록 막대기가 보이게(테스트 성공) 하게 바꾸자. Card package com.exam..
TDD 개발 방법론 학습을 위한 포스팅이다. 켄트백 저자의 테스트 주도 개발 내용을 참고하여 작성 할 것이며, 해당 내용은 1장 다중 통화를 지원하는 Money 객체, 2장 타락한 객체, 3장 모두를 위한 평등에 대한 실습 내용을 주로 담을 것이다. 1장 다중 통화를 지원하는 Money 객체 새로운 보고서 작성을 위한 환율 개선 요구 사항 1. $5 + 10CHF = $10(환율이 2:1일 경우) 2. $5 X 2 = $10 작업이 끝나면 취소선 표시 하도록 한다. 1. 테스트 코드 부터 작성 package com.example.demo; import org.junit.jupiter.api.Test; import org.springframework.boot.test.context.SpringBootTes..
TDD 수련법 무술 수행 단계 : 수파리 수 1. 간단한고 쉬운 문제들을 TDD로 시도 합니다. 가능하면 전에 접하고, 프로그래밍해본 문제가 좋습니다. 2. 초록 막대 주기는 가능하면 짦도록 합니다. 예를 들어서 a=b+3xc 를 입력하고자 할 때, a=까지 입력한 시점은 빨간 막대 시점입니다. 그 시점에서 테스트를 실행하면 분명히 실패(정확히는 에러가)할 것이기 때문입니다. 가능한 빨리 초록 막대가 나오도록 해야 합니다. 3. 이때 초록 막대 주기의 최대 시간을 정해놀고 진행하다가 시간을 초과하면 직전 초록 막대 상태로 돌린 다음(그 동안의 코드는 포기하고) 새로 시작하는 것이 좋습니다. 4. '진짜로 만들기 전까지만 가짜로 구현하기'를 적극적으로 사용하려고 노력합니다. 가짜로 구현하기는 초록 막대 주..
이번엔, 앞에서 TDD 로 기반을 만든 서비스를 다충 아키텍처로 설계 하고 서비스 해보도록 하겠다. 우선 웹 애플리케이션을 설계할때 아래 3계층이 가장 많이 사용 된다. 클라이언트 계층 사용자 인터페이스를 제공하는 계층 (프론트 엔드) 애플리케이션 계층 비지니스 로직, 상호작용을 위한 인터페이스, 데이터를 저장하는 인터페이스를 포함하는 계층 (백엔드) 데이터 저장 계층 애플리케이션의 데이터를 보관하는 계층, (DB, File System ...) 여기서 애플리케이션 계층을 새분화 하면 아래와 같다 비니지스 레이어 도메인과 비지니스 명세를 모델링한 클레스가 있음, 도메인(개체)과 애플리케이션(서비스)로 나누기도 함 프레젠테이션 레이어 웹 클라이언트에 기능을 제공하는 컨트롤러 클래스가 프레젠테이션 레이어에 ..
이번글에서는 Spring boot 를 이용한 웹서비스 구성 및 TDD 를 이용한 MSA 웹서비스 구현해 보도록 하겠다. Spring boot 로 웹프로젝트 구성 SpringBoot initializr : https://start.spring.io/ SpringBoot 스팩 구동 TDD를 통한 Cert(인증) 서버 개발 TDD : 실제 코드 보다 테스트 코드 먼저 작성하며, 테스트를 실패하게 만든 후에 테스트에 성공하는 로직 작성 TDD 가 개발자들에게 좋은 이유 : TDD 로 요구사항에 대해 더 깊이 있게 생각 할 수 있다는 점 테스트코드의 반복적으로 리팩터링하는 생각 vs 테스트만 통과 시키고 나중에 리팩터링 하려는 생각에 균형이 필요함 Cert 로직 개발 certResDto package com.sw..
- Total
- Today
- Yesterday
- data mining
- 분산처리
- Python
- data crawling
- EC2
- 켄트 백
- 테스트 주도 개발
- 테스트주도개발
- SpringBoot
- nodejs
- AWS
- mongodb
- TDD
- 테스트
- 퀜트백
- 웹개발
- kafka
- fastapi
- 웹서비스
- MQ
- Python #FastAPI
- MSA
- GateWayApi
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |