# 이 게시글은 "토비의 스프링" 책을 보고 정리를 위해 기록해둔 게시글입니다. [이전 글] 더보기 볶음밥 1장 - 1,2,3: 자바빈, 디자인 패턴(템플릿 메소드, 팩토리 메소드, 전략 패턴), 관심사의 분리, SOLID 및 객체지향 약간 볶음밥 1장 - 4,5,6: 제어의 역전, 프레임워크 vs 라이브러리, 스프링 IoC 및 용어 정리, 싱글톤, 동일성 vs 동등성, 빈의 스코프 볶음밥 1장 - 7: 의존관계 주입(DI), DL, IoC 볶음밥 2장: 테스트, TDD, jUnit 볶음밥 3장: 템플릿/콜백 [4장] 예외 1. 예외를 무시하거나 잡아먹어 버리는 코드를 만들지 마라 모든 예외는 적절하게 복구되든지 / 작업을 중단시키고 개발자에게 명확하게 통보되든지 해야한다 - 예외가 발생했다는 것은 어디..
# 이 게시글은 "토비의 스프링" 책을 보고 정리를 위해 기록해둔 게시글입니다. [이전글] 더보기 볶음밥 1장 - 1,2,3: 자바빈, 디자인 패턴(템플릿 메소드, 팩토리 메소드, 전략 패턴), 관심사의 분리, SOLID 및 객체지향 약간 볶음밥 1장 - 4,5,6: 제어의 역전, 프레임워크 vs 라이브러리, 스프링 IoC 및 용어 정리, 싱글톤, 동일성 vs 동등성, 빈의 스코프 볶음밥 1장 - 7: 의존관계 주입(DI), DL, IoC 볶음밥 2장: 테스트, TDD, jUnit [3장] 템플릿 객체지향의 핵심 개념인 OCP => 코드 중 어떤 부분은 변경을 통해 기능을 확장하려는 성질이 있고, 또 어떤 부분은 고정되어있고 변하지 않으려는 성질이 있다. 이에 변화의 특성이 다른 부분을 구분하고 각기 다..
# 이 게시글은 "토비의 스프링" 책을 보고 정리를 위해 기록해둔 게시글입니다. [이전글] 더보기 볶음밥 1장 - 1,2,3: 자바빈, 디자인 패턴(템플릿 메소드, 팩토리 메소드, 전략 패턴), 관심사의 분리, SOLID 및 객체지향 약간 볶음밥 1장 - 4,5,6: 제어의 역전, 프레임워크 vs 라이브러리, 스프링 IoC 및 용어 정리, 싱글톤, 동일성 vs 동등성, 빈의 스코프 볶음밥 1장 - 7: 의존관계 주입(DI), DL, IoC [2장] 테스트 변화하는 애플리케이션에 효과적으로 대응할 수 있는 전략 1. IoC/DI 컨테이너를 이용해 확장과 변화를 고려한 객체지향적 설계 2. 만들어진 코드를 확신할 수 있게 해주고 변화에 유연하게 대처할 수 있도록 자신감을 주는 "테스트" [2-1] UserD..
# 이 게시글은 "토비의 스프링" 책을 보고 정리를 위해 기록해둔 게시글입니다. + 김영한의 스프링 핵심 기본원리 강의도 참고했습니다. [이전글] 더보기 볶음밥 1장 - 1,2,3: 자바빈, 디자인 패턴(템플릿 메소드, 팩토리 메소드, 전략 패턴), 관심사의 분리, SOLID 및 객체지향 약간 볶음밥 1장 - 4,5,6: 제어의 역전, 프레임워크 vs 라이브러리, 스프링 IoC 및 용어 정리, 싱글톤, 동일성 vs 동등성, 빈의 스코프 ★★ [1-7] 의존관계 주입(DI) IoC(제어의 역전)는 프로그램의 제어 흐름 구조가 뒤바뀌는 것이며, 객체를 생성하고 관계를 맺어주는 등의 제어 권한을 제 3자에게 위임하는데 이 제 3자 역할을 수행하는게 IoC 컨테이너라고 했었다. 여기서 IoC 대신에 의존관계를 ..
# 이 게시글은 "토비의 스프링" 책을 보고 정리를 위해 기록해둔 게시글입니다. + 김영한의 스프링 핵심 기본원리 강의도 참고했습니다. [이전글] 더보기 볶음밥 1장 - 1,2,3: 자바빈, 디자인 패턴(템플릿 메소드, 팩토리 메소드, 전략 패턴), 관심사의 분리, SOLID 및 객체지향 약간 [1-4] 제어의 역전(IoC) 팩토리: 객체의 생성 방법을 결정하고 그렇게 만들어진 오브젝트를 반환하는 역할을 수행하는 오브젝트. ( != 추상 팩토리 패턴, 팩토리 메소드 패턴) - 오브젝트를 생성하는 쪽과 생성된 오브젝트를 사용하는 쪽의 역할 및 책임을 분리하려는 목적으로 사용한다. - 애플리케이션 내 오브젝트를 구성하고, 관계를 정의하는 책임을 담당한다. 구조 및 관계를 정의하는 설계도 역할. -애플리케이션..
# 이 게시글은 "토비의 스프링" 책을 보고 정리를 위해 기록해둔 게시글입니다. 그 유명한 토비의 스프링 책을 도서관에서 빌려왔다.. 두께부터 엄청나게 두꺼운게 압도당하는 기분이다. 과연 이걸 다 읽을 수 있을지 걱정되긴 하지만 되는데까지 한번 읽어보고 기록해두고자 한다. 화이팅! # 스프링이란 무엇인가? 자바 애플리케이션 개발에 사용되는 애플리케이션 프레임워크로 개발을 빠르고 효율적으로 할 수 있도록 틀과 API를 제공한다. * 스프링 컨테이너(=애플리케이션 컨텍스트) - 스프링 런타임 엔진 - 설정 정보를 참고로 애플리케이션을 구성하는 오브젝트를 생성 및 관리한다 - 웹 모듈에서 동작하는 서비스나 서블릿으로 등록해서 사용한다. * IoC/DI: 오브젝트의 생명주기와 의존관계에 대한 프로그래밍 모델 *..
보호되어 있는 글입니다.
에러: org.springframework.dao.DataIntegrityViolationException 언제: AWS EC2에서 git pull 한 이후 ./gradlew build를 통해 빌드 중에 발생 이상한 점: 로컬 PC에서 빌드할 때는 이런 에러가 전혀 없었는데 EC2에서 빌드할 때만 발생함 원인: 테스트 데이터가 이미 DB에 저장되어있는 데이터랑 겹쳐서 발생하는 에러였음. 에러가 발생한 관리자 수정에 대한 테스트 코드인데 왜 에러가 발생하지 싶었던 순간.. 혹시나 해서 DB를 보니 똑같은 데이터가 저장되어있던 것이였다...!!! 그래서 로그인 아이디랑 전화번호의 유니크 제약조건 때문에 데이터가 제대로 추가되지 않고 에러를 냈던 것 같다. 저 데이터를 날리고 다시 빌드를 해보니 정상적으로 빌..