본문 바로가기

전체 글266

TDD(Test Driven Development) 켄트 벡의 "테스트 주도 개발(Test Driven Development, 김창준 역)을 읽고 내용을 정리해 본다. 아직 TDD에 대한 이해는 추상적이여서 책을 읽고 필기 해본 내용들만 적어본다. 하지만 계속해서 TDD에 대한 조사와 탐구를 통해서 이해도를 높여갈 것이다. 따라서 정리한 내용은 앞으로 수정해 갈 예정이다. TDD 주기 작은 테스트를 추가한다. 모든 테스트를 실행하고 실패하는 것을 확인한다. 코드에 변화를 준다 모든 테스트를 실행하고 성공하는 것을 확인한다. 중복을 제거하기 위해 리팩터링한다. 테스트-> 실패 ->수정 -> 성공 -> 리팩터링 결과를 가짜 코드로 구현 컴파일 에러 -> 수정 테스트 실패 -> 수정 테스트 성공 -> 중복 제거(리팩터링) mocking(가짜 구현), 삼각측량법.. 2023. 7. 16.
날짜, 시간, 포맷팅 Date, Calendar Date - JDK 1.0부터 있던 클래스 Calendar - Date를 보완한 클래스. JDK 1.1부터 제공됨. Calendar Calendar 사용 시에는 static 메서드인 getInstance()로 생성. (GregorianCalendar, BuddhistCalendar 등 시스템 설정에 맞춰 알맞은 구현 클래스 반환해 줌) 현재 날짜를 설정할 때에는 Date 클래스가 여전히 필요하다. Date date = new Date(); Calendar calendar = Calendar.getInstance(); calenar.setTime(date); get(Calendar 상수들)로 날짜 시간 요소 가져올 수 있음. 차이 구할 때는 getTimeMillis()로 계산 후.. 2023. 7. 11.
Querydsl 사용을 위한 build.gradle 설정하기 Gradle + JPA + Querydsl 사용을 위해 build.gradle을 작성할 때 많은 경우, 플러그인을 추가하여 사용한다. 특히, 인프런 김영한 님 등 JPA를 전파하시는 분들의 강의 내용에 플러그인을 사용하여 설정하는 방법이 나와 있어서 구글 검색 내용 중 다수가 그렇게 사용하고 있다. 그러나 해당 방법에는 문제가 있다. (아래 프로젝트는 JDK 17, Spring Boot 3.x를 사용합니다.) Bad Case plugins { id 'java' id 'org.springframework.boot' version '3.0.6' id 'io.spring.dependency-management' version '1.1.0'.. 2023. 5. 14.
Redis 기초 특징 인메모리 데이터 베이스 고성능 이중화 영속화(인메모리지만 가능) 5가지 데이터 구조(Strings, Lists, Sets, Hashes, Zsets 등) Redis 데이터 구조 Strings, Lists, Sets, Hashes, Zsets 공통 명령어(DEL, TYPE, RENAME...) String - 문자열, 정수, 부동소수점 값 List - 문자열 링크드 리스트 Set - 순서, 중복 없는 문자열 컬렉션 Hash - 값에 대한 키의 순서 없는 해시 테이블 Zset - 부동소수점 점수에 대한 순서 있는 문자열 매핑(점수순) String 명령어 GET [KEY]: KEY에 해당한는 데이터 가져오기 SET [KEY]: KEY에 저장할 값을 설정 DEL [KEY]: KEY에 저장할 값을 삭제 Li.. 2023. 5. 8.
728x90