스터디
-
책장 속 먼지 털기 - 토비의 스프링 링크24년 11월 이전/책장 속 먼지 털기 - 토비의 스프링 2021. 2. 6. 20:52
블로그, 노션, 노트앱 세개로 정리하다 보니까 옮기는 것도 일이다. 특히 요즘은 회사 일이 매우 바쁜데 이를 위해서 시간 들이는게 부담스럽다. 따라서 이제부터 노션으로 관리하고 링크로 공유할 생각이다. 1장 오브젝트와 의존 관계 (1) 1장 오브젝트와 의존 관계 (2) 2장 테스트 3장 템플릿 (1) 3장 템플릿 (2) 4장 예외 5장 서비스 추상화 (1) 5장 서비스 추상화 (2) 6장 AOP (1) 6장 AOP (2) 6장 AOP (3) 7장 스프링 핵심 기술의 응용 (1). 7장 스프링 핵심 기술의 응용 (2) 7장 스프링 핵심 기술의 응용 (3) 7장 스프링 핵심 기술의 응용 (4) 8장 스프링이란 무엇인가 9장 스프링 프로젝트 시작하기 (1) 9장 스프링 프로젝트 시작하기 (2)
-
6장 AOP (2)24년 11월 이전/책장 속 먼지 털기 - 토비의 스프링 2021. 1. 25. 08:22
책장속 먼지털기 스터디 11차 스터디 날짜 : 2021.01.25 작성 날짜 : 2021.01.24 - 2021.01.25 페이지 : 475 - 512 개요 이전 장을 통해서 우리는 ProxyFactoryBean과 Advise, Pointcut을 적용하여, 핵심 기능에서 분리하여 부가 기능을 따로 깔끔하게 적용할 수 있도록 만들었다. 이번 장에서는 우리가 여태까지 해온 작업들을 돌아보고 Spring AOP를 이용해서 조금 더 "투명한 부가기능 형태"로 제공해보자. 여기서 투명하다라는 뜻은, 부가 기능을 적용한 후에도 기존, 설계와 코드에 영향을 주지 않는다는 뜻이다. 프록시 팩토리 빈의 한계와 극복 방법 지난 장에서 언급했던 프록시 팩토리 빈의 두 가지 한계를 다시 한 번 톺아보자. (여기서 프록시 팩토..
-
6장 AOP (1)24년 11월 이전/책장 속 먼지 털기 - 토비의 스프링 2021. 1. 18. 11:38
책장속 먼지털기 스터디 9차, 10차 스터디 날짜 : 2021.01.11, 2021.01.18 작성 날짜 : 2021.01.10 - 2021.01.18 페이지 : 401 - 474 개요 스프링의 3대 기술은 다음과 같다. IoC/DI (의존성 주입) PSA (서비스 추상화) AOP (관심사의 분리) 이 중 가장 어렵다는 Aspect Oriented Programming(이하 AOP)에 대해서 공부한다. 대표적인 예는 이전 장에서 만들었던 "트랜잭션"이다. 따라서 이전 장의 코드를 최대한 활용한다. 트랜잭션 코드의 분리 현재 UserService 코드의 문제점은 무엇일까? 트랜잭션 경계를 담당하는 코드와 비지니스 로직을 담당하는 코드가 뒤섞여 있다. 다음은 위의 문제점을 나타내는 코드의 본문이다. User..
-
5장 서비스 추상화 (2)24년 11월 이전/책장 속 먼지 털기 - 토비의 스프링 2021. 1. 4. 11:16
책장속 먼지털기 스터디 8차 스터디 날짜 : 2021.01.04 작성 날짜 : 2021.01.03 - 2021.01.04 페이지 : 349 - 399 개요 이번 스터디에서 다룰 목표는 다음과 같다. UserService의 DB 트랜잭션 적용 MailService 적용 각 기술들을 적용하면서 서비스 추상화를 적용하는 내용을 다룰 것이다. 또한 서비스 추상화를 하면서 예외 상황을 발생시키는 테스트를 작성하거나 Mock 객체를 이용한 테스트를 작성하는 방법에 대해서 다룰 것이다. 트랜잭션 서비스 추상화 임의로 예외를 어떻게 발생시킬까? 책에서 요구 사항 한 개를 추가하였다. 유저들의 레벨을 업그레이드 하는 도중 어떤 이유로 서버가 다운 됐을 때, 이미 업그레이드 된 유저들의 상태를 돌려놓고, 레벨 변경 작업을..
-
4장 예외24년 11월 이전/책장 속 먼지 털기 - 토비의 스프링 2020. 12. 20. 22:03
4장 예외 책장속 먼지털기 스터디 6차 스터디 날짜 : 2020.12.14 작성 날짜 : 2020.12.20 페이지 : 279 - 315 사라진 SQLException 현재, JdbcContext에서 JdbcTemplate으로 전환하면서, 한 가지 특이점이 발생했다. 바로, 메소드 시그니처에 throws SQLException이 사라진 것이다. JdbcContext 버전 public void deleteAll() throws SQLException { final String query = "delete from users"; this.jdbcContext.executeSql(query); } JdbcTemplate 버전 public void deleteAll() { final String query = ..
-
1장 오브젝트와 의존관계 (2)24년 11월 이전/책장 속 먼지 털기 - 토비의 스프링 2020. 11. 28. 20:54
책장속 먼지털기 스터디 2차 스터디 날짜 : 2020.11.16 (불참) 작성 날짜 : 2020.11.14 ~ 15 페이지 : 102 ~ 143 싱글톤 레지스트리? 우리가 만든 DaoFactory를 직접 사용하는 것과, @Configuration 애노테이션으로 ApplicationContext에 등록해서 사용하는 것에는 어떤 차이가 있을까? 결론부터 말하면 차이는 스프링 빈이냐 아니냐의 차이다. 스프링 빈은 이전에 언급했 듯이, 스프링 IoC 컨테이너가 라이프 사이클을 관리하는 객체들이다. 스프링 빈은 특정 스코프를 가지는데 기본적으로 "싱글톤" 스코프를 가진다. 쉽게 말하면, 애플리케이션에서 딱 1개의 객체만 만들어진다. 이 후 챕터에서 다룰 것이지만 한 발 앞서서 JUnit(나는 JUnit5이다.) ..
-
1장 오브젝트와 의존관계 (1)24년 11월 이전/책장 속 먼지 털기 - 토비의 스프링 2020. 11. 28. 20:43
책장속 먼지털기 스터디 1차 스터디 날짜 : 2020.11.09 작성 날짜 : 2020.11.08 ~ 09 페이지 : 53 ~ 102 초 간단!하지만, 초 난감한 DAO를 만들어보자 책에 나온대로, id, name, password 세 개의 프로퍼티를 가진 User클래스를 만든다. @NoArgsConstructor @AllArgsConstructor @Getter @Setter @ToString @EqualsAndHashCode public class User { private String id; private String name; private String password; } 참고! 자바 빈이란 위의 User 클래스는 자바빈이라고 부를 수 있습니다. 간단하게, 다음의 조건이 충족되면 자바빈이라고 말..
-
(1) JVM은 무엇이며 자바 코드는 어떻게 실행하는 것인가24년 11월 이전/백기선의 Study Halle 2020. 11. 19. 22:05
백기선님의 온라인 스터디 "스터디 할래" 1주차 정리 문서입니다. 목표 자바 소스 파일(.java)을 JVM으로 실행하는 과정 이해하기. 학습할 것 JVM이란 무엇인가 컴파일 하는 방법 실행하는 방법 바이트코드란 무엇인가 JIT 컴파일러란 무엇이며 어떻게 동작하는지 JVM 구성 요소 JDK와 JRE의 차이 JVM이란 무엇인가 JVM이란 Java Virtual Machine의 약자로써, 어떤 OS 환경에서라도 Java 코드를 컴파일하고 실행할 수 있는 도구이다. 이 JVM 덕분에, OS가 다를지라도 같은 자바 코드는 같은 동작이 실행됨이 보장된다.(정말 특별한 경우 제외하고는...) 이를 "Write once. Run anyware"라고 말하곤 한다. 출처: 도우출판 "남궁 성 - Java의 정석" 한 가..