- [ Spring/Core ][Spring] 예외 처리하기(체크/언체크), 트랜잭션 처리에 따른 예외 종속 해결 2편2024-04-02 09:16:26인프런 강의 인프런 김영한님의 Spring Boot 강의 시리즈를 듣고 Spring 프레임워크의 방대한 기술들을 복기하고자 공부한 내용을 가볍게 정리한 것입니다. 문제가 될 시 삭제하겠습니다. 해당 프로젝트에서 배우는 내용 섹션 6 | 스프링과 문제 해결 - 예외 처리, 반복 앞선 1편에서 트랜잭션 사용에 따른 특정 기술에 종속적인 문제로 체크 예외를 해결할 수 없음에도 불구하고 서비스, 컨트롤 단까지 예외를 의존해야 하는 문제가 있었다. 또한 JDBC 기술 사용으로 반복되는 코드가 있다. 이번에 체크 예외를 언체크 예외로 변환하기, 스프링의 예외 추상화, 스프링의 예외 변환기, JdbcTemplate 사용으로 반복되는 코드를 없애고, 특정 기술에 의존해야 하는 코드를 없애 유연한 코드가 되도록 수정해보..
- [ Spring/Core ][Spring] 예외 처리하기(체크/언체크), 트랜잭션 처리에 따른 예외 종속 해결 1편2024-04-01 15:46:58인프런 강의 인프런 김영한님의 Spring Boot 강의 시리즈를 듣고 Spring 프레임워크의 방대한 기술들을 복기하고자 공부한 내용을 가볍게 정리한 것입니다. 문제가 될 시 삭제하겠습니다. 해당 프로젝트에서 배우는 내용 섹션 5 | 자바 예외 이해 먼저 트랜잭션으로 인한 특정 기술의 예외 의존성 문제를 해결하기 위해 자바 예외에 대해서 알아보도록 하자 예외 계층 Object: 예외도 객체이다. 모든 객체의 최상위 부모는 Object이므로 예외의 최상위 부모도 Object이다. Throwable: 최상위 예외이다. 하위에 Exception과 Error가 있다. Error: 메모리 부족이나 심각한 시스템 오류와 같이 애플리케이션에서 복구 불가능한 시스템 예외이다. 상위 예외를 catch로 잡으면 하위 예..
- [ Spring/Core ][Spring] Spring Transaction(Manager - 추상화/동기화, Template, AOP)2024-03-29 23:58:33인프런 강의 인프런 김영한님의 Spring Boot 강의 시리즈를 듣고 Spring 프레임워크의 방대한 기술들을 복기하고자 공부한 내용을 가볍게 정리한 것입니다. 문제가 될 시 삭제하겠습니다. 해당 프로젝트에서 배우는 내용 섹션 4 | 스프링과 문제 해결 - 트랜잭션 문제점들 애플리케이션의 구조 프레젠테이션 계층 UI와 관련된 처리 담당 웹 요청과 응답 사용자 요청을 검증 주 사용 기술: 서블릿과 HTTP 같은 웹 기술, 스프링 MVC 서비스 계층 비즈니스 로직을 담당 주 사용 기술: 가급적 특정 기술에 의존하지 않고, 순수 자바 코드로 작성 데이터 접근 계층 실제 데이터베이스에 접근하는 코드 주 사용 기술: JDBC, JPA, File, Redis, Mongo... 이중에서 가장 중요한 곳은 비즈니스 ..
- [ Spring/Core ][Spring] Transcation, ACID, DB-LOCK2024-03-20 16:59:55인프런 강의 인프런 김영한님의 Spring Boot 강의 시리즈를 듣고 Spring 프레임워크의 방대한 기술들을 복기하고자 공부한 내용을 가볍게 정리한 것입니다. 문제가 될 시 삭제하겠습니다. 해당 프로젝트에서 배우는 내용 섹션 3 | 트랜잭션 이해 섹션 3 | 트랜잭션 이해 트랜잭션 - 개념 이해 데이터를 단순히 파일에 저장해도 되지만 데이터베이스에 저장하는 이유는 여러가지가 있지만, 가장 대표적인 이유는 바로 데이터베이스는 트랜젹션이라는 개념을 지원하기 때문이다. 트랜잭션이란 데이터베이스에서 트랜잭션은 하나의 거래를 안전하게 처리하도록 보장해주는 것을 의미한다. 데이터베이스의 상태를 변환시키는 하나의 논리적 기능을 수행하기 위한 작업의 단위 또는 한꺼번에 모두 수행되어야 할 일련의 연산들을 의미한다...
- [ Spring/Core ][Spring] JDBC 이해와 Connection-pool/DataSource2024-03-19 13:06:33인프런 강의 인프런 김영한님의 Spring Boot 강의 시리즈를 듣고 Spring 프레임워크의 방대한 기술들을 복기하고자 공부한 내용을 가볍게 정리한 것입니다. 문제가 될 시 삭제하겠습니다. 해당 프로젝트에서 배우는 내용 섹션 1 | JDBC 이해 섹션 2 | 커넥션풀과 데이터소스 이해 섹션 1 | JDBC 이해 애플리케이션을 개발할 때 중요한 데이터는 대부분 데이터베이스에 보관한다. 애플리케이션 서버는 다음 과정을 통해 데이터베이스를 사용한다. 커넥션 연결: 주로 TCP/IP를 사용해서 커넥션을 연결한다. SQL 전달: 애플리케이션 서버는 DB가 이해할 수 있는 SQL을 연결된 커넥션을 통해 DB에 전달한다. 결과응답: DB는 전달된 SQL을 수행하고, 그 결과를 응답하한다. 애플리케이션 서버는 응답..
- [ Spring/Core ][Spring] 로그인 처리(쿠키/세션, 필터/인터셉터)2024-03-16 22:42:03인프런 강의 인프런 김영한님의 Spring Boot 강의 시리즈를 듣고 Spring 프레임워크의 방대한 기술들을 복기하고자 공부한 내용을 가볍게 정리한 것입니다. 문제가 될 시 삭제하겠습니다. 해당 프로젝트에서 배우는 내용 섹션 6 | 로그인 처리1 - 쿠키, 세션 섹션 7 | 로그인 처리2 - 필터, 인터셉터 섹션 6 | 로그인 처리1 - 쿠키, 세션 로그인 처리하기 - 쿠키 사용 로그인 상태를 유지하려면 어떻게 해야할까? -> 쿠키를 사용하면 된다. 중요 데이터는 세션으로 처리해야 되는 것으로 알고 있는데 해당 강의 이후에 세션이 언급될 것 같다. 쿠키 서버에서 로그인에 성공하면 HTTP 응답에 쿠키를 담아서 브라우저에 전달하고, 그 이후 브라우저는 일종의 인증정보인 해당 쿠키를 지속해서 보내준다. ..