본문 바로가기

전체 글

(42)
STS 프로젝트 import 오류 해결 STS (Eclipse) 에서 로컬에 있는 프로젝트를 import 하려했는데 실패했다. 경로를 제대로 지정을 해 줬는데도 인식이 되지 않았다. 따라서 다른 방법으로 import를 하였다. 우측 상단 File -> Open Projects from File System... 에서 Directory로 경로 지정 후 Finish 해주니 import가 제대로 되었다.
STS 프로젝트 Bitbucket에 Push 안됨 해결 Bitbucket으로 clone한 프로젝트 소스를 수정한 후, commit은 했는데 push에서 오류가 났다. 반나절간 삽질 끝에 알고보니 내 잘못이 아니라 해당 원격 저장소 Repository에 내 권한이 ADMIN이 아닌 READ라 Push가 안됐던 것이었다. (즉, push 할 권한이 없었던 것. 읽는 것 말고는 다른 것을 할 권한이 없었다.) 삽질한게 아까워서 기록을 남겨보고자 한다. 1. 계정 Windows -> Preferences -> Git -> Configuration -> User Settings -> Add Entry (key : user.email / value : git 계정 이메일 , key : user.name / value : git 계정명 ) 에서 계정 등록도 하고 계정명이..
Chapter 3. Spring Data JPA 테스트 코드 작성하기 package com.jojoldu.book.springboot.domain.posts; import org.junit.After; import org.junit.Test; import org.junit.runner.RunWith; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.test.context.SpringBootTest; import org.springframework.test.context.junit4.SpringRunner; import java.util.List; import static org.assertj.core.api.Assertions.assertThat; @R..
Chapter 3. 프로젝트에 Spring Data JPA 적용하기 build.gradle에 다음과 같이 의존성들을 등록 compile('org.springframework.boot:spring-boot-starter-data-jpa') // 스프링 부트용 Spring Data JPA 추상화 라이브러리. 자동으로 JPA관련 라이브러리 버전을 관리 compile('com.h2database:h2') // 인메모리 관계형 데이터베이스. 별도의 설치가 필요없이 의존성만으로 관리 가능. h2 : 메모리에서 실행되기 때문에 애플리케이션을 재시작할 때마다 초기화된다는 점을 이용하여 테스트 용도로 많이 사용된다 이 프로젝트에서는 JPA의 테스트, 로컬 환경에서의 구동에서 사용할 예정 domain 패키지 생성 : 도메인을 담을 패키지 -> 도메인 : 게시글, 댓글, 회원, 정산, 결제..
Chapter 3. 스프링 부트에서 JPA로 데이터베이스 다뤄보기 MyBatis와 같은 SQL 매퍼를 이용해서 데이터베이스의 쿼리 작성 -> 실제로 개발하는 시간보다 SQL을 다루는 시간이 더 많아진다 -> 객체 모델링 보다는 테이블 모델링에 집중하게 됨 해결책 : JPA라는 자바 표준 ORM SQL 매퍼 - 쿼리 매핑 ORM - 객체 매핑 3.1 JPA 소개 현대의 웹 애플리케이션에서 관계형 데이터베이스는 빠질 수 없는 요소 -> 객체를 관계형 데이터베이스에서 관리하는 것이 중요 문제점 : 단순 반복 작업 -> 관계형 데이터베이스는 SQL만 인식할 수 있기 때문에 코드가 SQL 중심인 경우가 많다. (각 테이블마다 기본적인 CRUD SQL을 매번 생성해야하는 번거로움) -> 현업에서의 수십, 수백 개의 테이블의 몇 배의 반복적인 SQL을 만들고 유지 보수해야함 : 패..
Chapter 2. Hello Controller 코드를 롬복으로 전환하기 큰 규모의 프로젝트라도 롬복으로 전환 가능 -> 테스트 코드가 기존의 코드를 지켜주기 때문 web 패키지에 dto 패키지 추가 후 HelloReponseDto 생성 package com.jojoldu.book.springboot.web; import lombok.Getter; import lombok.RequiredArgsConstructor; @Getter // 선언된 모든 필드의 get 메소드를 생성해준다. @RequiredArgsConstructor // 선언된 모든 final 필드가 포함된 생성자를 생성해준다. final이 없는 필드는 생성자에 포함되지 않는다. public class HelloResponseDto { private final String name; private final int..
인텔리제이 "Non-ASCII characters" 경고 해결 IntelliJ 에서 Ascii 가 아닌 문자를 변수나 함수, 클래스 이름으로 사용하면 "Non-ASCII characters" 라는 경고가 뜬다. 다음과 같이 해결한다. IDE 의 Setting 메뉴 Editor → Inspection → Internationalization → Non-ASCII characters 클릭 Warn of 박스에서 Non-ASCII characters in an identifier 체크 해제 밑에 있는 "mixed ASCII / non-ASCII characters in an identifier" 도 체크 해제
Chapter 2. 스프링 부트에서 테스트 코드 작성 2.1 테스트 코드 소개 TDD =/= 단위 테스트(Unit Test) TDD : 테스트가 주도하는 개발 레드 그린 사이클 1. 항상 실패하는 테스트를 먼저 작성 - Red 2. 테스트가 통과하는 프로덕션 코드를 작성 - Green 3. 테스트가 통과하면 코드를 리팩토링 - Refactor 단위 테스트 : TDD의 첫 번째 단계 - 기능 단위의 테스트 코드를 작성하는 것 리팩토링 포함 X 테스트 코드의 장점 - 개발단계 초기에 문제를 발견하게 도와준다 (빠른 피드백) - 개발자가 나중에 코드를 리팩토링하거나 라이브러리 업그레이드 등에서 기존 기능이 올바르게 작동하는지 확인할 수 있다(ex.회귀 테스트) (자동검증) - 기능에 대한 불확실성을 감소 (기존 기능 보호 및 보장) - 시스템에 대한 실제 문서 ..