일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
- 자바의 정석 기초편 ch9
- 자바의 정석 기초편 ch12
- 2024 정보처리기사 시나공 필기
- 자바의 정석 기초편 ch8
- 스프링 mvc1 - 스프링 mvc
- 게시글 목록 api
- 스프링 db2 - 데이터 접근 기술
- 스프링 mvc1 - 서블릿
- 스프링 db1 - 스프링과 문제 해결
- 자바의 정석 기초편 ch4
- 자바의 정석 기초편 ch2
- 스프링 mvc2 - 타임리프
- 타임리프 - 기본기능
- 스프링 mvc2 - 검증
- 자바의 정석 기초편 ch7
- jpa 활용2 - api 개발 고급
- 자바의 정석 기초편 ch1
- 스프링 입문(무료)
- 자바의 정석 기초편 ch6
- 자바의 정석 기초편 ch13
- 자바의 정석 기초편 ch3
- jpa - 객체지향 쿼리 언어
- 자바의 정석 기초편 ch11
- 자바의 정석 기초편 ch14
- 2024 정보처리기사 수제비 실기
- 코드로 시작하는 자바 첫걸음
- 자바의 정석 기초편 ch5
- @Aspect
- 스프링 고급 - 스프링 aop
- 스프링 mvc2 - 로그인 처리
- Today
- Total
목록인프런 - 스프링 완전정복 코스 로드맵/스프링 DB 1편 - 데이터 접근 핵심 원리 (8)
나구리의 개발공부기록
출처 : 인프런 - 스프링 DB 1편 데이터 접근 핵심 원리 (유료) / 김영한님 유료 강의이므로 정리에 초점을 두고 코드는 일부만 인용 https://www.inflearn.com/course/%EC%8A%A4%ED%94%84%EB%A7%81-db-1/dashboard1. 체크 예외와 인터페이스서비스 계층은 가급적 특정 구현 기술에 의존하지 않고 순수하게 유지해야 하는데, 이렇게 하려면 예외에 대한 의존도 함께 해결해야함서비스가 처리할 수 없는 SQLException에 대한 의존을 제거하기 위해서 체크 예외인 SQLException 체크예외를 런타임 예외로 전환해서 서비스 게층에 던지면 서비스 계층이 해당 예외를 무시할 수 있기 때문에 특정 구현 기술에 의존하는 부분을 제거하고 서비스 게층을 순..
출처 : 인프런 - 스프링 DB 1편 데이터 접근 핵심 원리 (유료) / 김영한님 유료 강의이므로 정리에 초점을 두고 코드는 일부만 인용 https://www.inflearn.com/course/%EC%8A%A4%ED%94%84%EB%A7%81-db-1/dashboard1. 예외 계층스프링이 제공하는 예외 추상화를 이해하기 위해서는 자반 기본 예외에 대한 이해가 필요함(1) Object예외도 객체이므로 모든 객체의 최상위 부모는 Objec 이므로 예외의 최상위 부모도 Object임(2) Throwable최상위 예외, 하위에 Exception과 Error가 있음(3) Error메모리 부족이나 심각한 시스템 오류와 같이 애플리케이션에서 복구 불가능한 시스템 예외이므로 애플리케이션 개발자는 이 예외를 ..
출처 : 인프런 - 스프링 DB 1편 데이터 접근 핵심 원리 (유료) / 김영한님 유료 강의이므로 정리에 초점을 두고 코드는 일부만 인용 https://www.inflearn.com/course/%EC%8A%A4%ED%94%84%EB%A7%81-db-1/dashboard1. 트랜잭션 템플릿트랜잭션을 사용하는 로직을 살펴보면 반복 패턴이 있는 것을 확인할 수 있는데, 해당 부분을 트랜잭션 템플릿으로 제거할 수 있음1) 트랜잭션 사용 코드 try-catch를 활용한 트랜잭션을 시작 -> 비즈니스 로직 -> 성공하면 커밋, 실패하면 롤백하는 형태가 각각의 서비스에서 반복될 것이고 비즈니스 부분 로직만 달라질 것임이럴 때 템플릿 콜백 패턴을 활용하면 반복 문제를 해결할 수 있음** 참고지금은 스프링이 T..
출처 : 인프런 - 스프링 DB 1편 데이터 접근 핵심 원리 (유료) / 김영한님 유료 강의이므로 정리에 초점을 두고 코드는 일부만 인용 https://www.inflearn.com/course/%EC%8A%A4%ED%94%84%EB%A7%81-db-1/dashboard1. 문제점들1) 애플리케이션 구조여러가지 구조가 있지만 가장 단순하면서 많이 사용하는 방버은 역할에 따라 3가지 계층으로 나누는 것 (1) 프레젠테이션 계층 - @ControllerUI와 관련된 처리 담당웹 요청과 응답사용자 요청을 검증주 사용 기술: 서블릿과 HTTP 같은 웹기술, 스프링 MVC(2) 서비스 계층 - @Service비즈니스 로직을 담당주 사용 기술: 가급적 특정 기술에 의존하지 않고, 순수 자바 코드로 작성(3)..
출처 : 인프런 - 스프링 DB 1편 데이터 접근 핵심 원리 (유료) / 김영한님 유료 강의이므로 정리에 초점을 두고 코드는 일부만 인용 https://www.inflearn.com/course/%EC%8A%A4%ED%94%84%EB%A7%81-db-1/dashboard1. 트랜잭션 이해1) 데이터 베이스에 저장하는 이유데이터를 저장할 때 단순히 파일에 저장하는 것이 아닌 데이터베이스에 저장하는 이유 중 가장 대표적인 이유는 데이터베이스는 트랜잭션이라는 개념을 지원하기 때문임트랜잭션은 이름 그대로 번역하자면 거래라는 뜻인데, 데이터베이스에서 트랜잭션은 하나의 거래를 안전하게 처리하도록 보장해주는 것을 뜻함하나의 거래를 안전하게 처리하려면 생각보다 고려해야할 점이 많은데, 예를들어 계좌이체의 경우 ..
출처 : 인프런 - 스프링 DB 1편 데이터 접근 핵심 원리 (유료) / 김영한님 유료 강의이므로 정리에 초점을 두고 코드는 일부만 인용 https://www.inflearn.com/course/%EC%8A%A4%ED%94%84%EB%A7%81-db-1/dashboard1. 커넥션 풀 이해1) 드라이버 매니저를 사용하면 데이터 베이스 커넥션을 매번 획득함(1) 데이터 베이스 커넥션을 획득할 때 거치는 과정애플리케이션 로직은 DB 드라이버를 통해 커넥션을 조회DB 드라이버는 DB와 TCP/IP 커넥션을 연결함(3 way handshake 같은 네트워크 동작 발생)TCP/IP 커넥션이 연결되면 ID, PW와 기타 부가정보를 DB에 전달DB는 ID, PW를 통해 내부 인증을 완료하고 내부에 DB세션을 ..
출처 : 인프런 - 스프링 DB 1편 데이터 접근 핵심 원리 (유료) / 김영한님 유료 강의이므로 정리에 초점을 두고 코드는 일부만 인용 https://www.inflearn.com/course/%EC%8A%A4%ED%94%84%EB%A7%81-db-1/dashboard1. JDBC 개발 - 등록H2 데이터 베이스를 실행 해놓고 member 테이블을 미리 만들어두고 시작해야함(이전 강의 참고)1) Member - domainpackage hello.jdbc.domain;@Datapublic class Member { private String memberId; private int money; // 기본 생성자 public Member() {} // 매개변수가 있는 생성..
출처 : 인프런 - 스프링 DB 1편 데이터 접근 핵심 원리 (유료) / 김영한님 유료 강의이므로 정리에 초점을 두고 코드는 일부만 인용 https://www.inflearn.com/course/%EC%8A%A4%ED%94%84%EB%A7%81-db-1/dashboard1. 프로젝트 생성 및 H2 데이터베이스 설정1) 프로젝트 생성 (1) 프로젝트 생성 후 build.gradle에 해당 내용을 추가test에서 롬복을 적용//테스트에서 lombok 사용testCompileOnly 'org.projectlombok:lombok'testAnnotationProcessor 'org.projectlombok:lombok' (2) 실행실행 후 로그에 Started JdbcApplication in 0.514..