Go, Vantage point
가까운 곳을 걷지 않고 서는 먼 곳을 갈 수 없다.
Github | https://github.com/overnew/
Blog | https://everenew.tistory.com/
* 김영한님의 스프링 DB 1편 강좌를 수강하며 정리한 글입니다. * 스프링 DB 1편 - 데이터 접근 핵심 원리 - 인프런 | 강의 백엔드 개발에 필요한 DB 데이터 접근 기술을 기초부터 이해하고, 완성할 수 있습니다. 스프링 DB 접근 기술의 원리와 구조를 이해하고, 더 깊이있는 백엔드 개발자로 성장할 수 있습니다., - 강의 www.inflearn.com 이전 글에서는 스프링의 트랜잭션 관리에 대해 정리하였다. 우리는 예외처리는 문법서에서 배웠지만 실무에서 어떤 식으로 활용하는지는 전혀 배우지 못했다. 이번 글에는 예외의 활용법에 대해 정리해보자. 자바 예외 계층 Throwable은 최상위 예외이다. Error는 JVM에서 throw되는 복구 불가능한 오류이다. 만약 Throwable을 catch로..
* 김영한님의 스프링 DB 1편 강좌를 수강하며 정리한 글입니다. * 스프링 DB 1편 - 데이터 접근 핵심 원리 - 인프런 | 강의 백엔드 개발에 필요한 DB 데이터 접근 기술을 기초부터 이해하고, 완성할 수 있습니다. 스프링 DB 접근 기술의 원리와 구조를 이해하고, 더 깊이있는 백엔드 개발자로 성장할 수 있습니다., - 강의 www.inflearn.com 이전 글에서는 트랜젝션과 DB 락에 대해서 공부하였다. 애플리케이션 3 계층 구조 1. 프리젠테이션 계층 클라이언트의 진입점으로 UI와 관련된 처리 한다. 클라이언트의 요청을 검증하고 응답한다. 특정 기술에 의존한다. 2. 비즈니스(서비스) 계층 비즈니스 로직을 담당한다. 특정 프레임워크 기술에 종속적이지 않아야 프레젠테이션과 데이터 계층의 기술 ..
* 김영한님의 스프링 DB 1편 강좌를 수강하며 정리한 글입니다. * 스프링 DB 1편 - 데이터 접근 핵심 원리 - 인프런 | 강의 백엔드 개발에 필요한 DB 데이터 접근 기술을 기초부터 이해하고, 완성할 수 있습니다. 스프링 DB 접근 기술의 원리와 구조를 이해하고, 더 깊이있는 백엔드 개발자로 성장할 수 있습니다., - 강의 www.inflearn.com 이전 글에서는 커넥션 풀과 DataSource에 대해 정리하였다. 데이터베이스 트랜잭션 데이터베이스 트랜잭션 - 위키백과, 우리 모두의 백과사전 ko.wikipedia.org 트랜잭션은 ACID를 보장해야한다. ACID는 데이터베이스의 트랜잭션이 안전하게 수행되는 것을 보장하기 위한 성질이다. 트랜잰션에서 실패한 작업이 하나라도 있다면 commit..
* 김영한님의 스프링 DB 1편 강좌를 수강하며 정리한 글입니다. * 스프링 DB 1편 - 데이터 접근 핵심 원리 - 인프런 | 강의 백엔드 개발에 필요한 DB 데이터 접근 기술을 기초부터 이해하고, 완성할 수 있습니다. 스프링 DB 접근 기술의 원리와 구조를 이해하고, 더 깊이있는 백엔드 개발자로 성장할 수 있습니다., - 강의 www.inflearn.com 이전 글에서는 JDBC 자바 표준 인터페이스에 대해 정리하였다. 커넥션 풀 저번 글에서는 커넥션 풀과 비슷한 커넥션 풀에 대해서는 간단히 다뤄 보았다. 클라이언트의 요청마다 서비스 로직은 커넥션을 조회한다. DB 드라이버가 DB 서버와 커넥션(TCP/IP 연결)을 수행하고, DB 서버에 세션을 생성해 커넥션을 반환한다. 단순히 회원의 조회만 수행하..
* 김영한님의 스프링 DB 1편 강좌를 수강하며 정리한 글입니다. * 스프링 DB 1편 - 데이터 접근 핵심 원리 - 인프런 | 강의 백엔드 개발에 필요한 DB 데이터 접근 기술을 기초부터 이해하고, 완성할 수 있습니다. 스프링 DB 접근 기술의 원리와 구조를 이해하고, 더 깊이있는 백엔드 개발자로 성장할 수 있습니다., - 강의 www.inflearn.com JDBC (Java Database Connectivity) 클라이언트가 직접 데이터베이스에 접근하지 않고, 애플리케이션 서버를 거쳐 DB의 데이터를 받아오게 된다. 애플리케이션 서버는 DB서버와 연결을 해두고, SQL과 같은 DB 구문을 통해 요청을 한 데이터를 받아오게 된다. 과거의 수많은 DB들은 모두 사용법이 달랐고 애플리케이션 서버는 DB..
* 김영한님의 스프링 MVC 1편 강좌를 수강하며 정리한 글입니다. * 스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술 - 인프런 | 강의 웹 애플리케이션을 개발할 때 필요한 모든 웹 기술을 기초부터 이해하고, 완성할 수 있습니다. 스프링 MVC의 핵심 원리와 구조를 이해하고, 더 깊이있는 백엔드 개발자로 성장할 수 있습니다., - www.inflearn.com 이전 글에서는 스프링에서 MVC 패턴에 대해 공부하였다. 이번에는 기능에 대해 알아보자. 기초 기능 활용 Welcome Page Jar 파일로 세팅한 스프링 부트에서는 /resource/static/index.html 파일을 Welcome Page(기본 페이지)로 만들어 준다. Logging 서버에서는 System.out 과 같이 항상 출력되는..
* 김영한님의 스프링 MVC 1편 강좌를 수강하며 정리한 글입니다. * 스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술 - 인프런 | 강의 웹 애플리케이션을 개발할 때 필요한 모든 웹 기술을 기초부터 이해하고, 완성할 수 있습니다. 스프링 MVC의 핵심 원리와 구조를 이해하고, 더 깊이있는 백엔드 개발자로 성장할 수 있습니다., - www.inflearn.com 이전 글에서는 프런트 컨트롤러와 어댑터 패턴을 적용해 보았다. 스프링 MVC 패턴은 프런트 컨트롤러의 역할을 DIspatcher Servlet가 한다. 지금까지 직접 구현해보았던 클래스들은 모두 Spring MVC가 지원하는 클래스로 대체가 가능하다. DispatcherServlet 스프링 MVC의 프런트 컨트롤러의 역할을 한다. Dispatc..
* 김영한님의 스프링 MVC 1편 강좌를 수강하며 정리한 글입니다. * 스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술 - 인프런 | 강의 웹 애플리케이션을 개발할 때 필요한 모든 웹 기술을 기초부터 이해하고, 완성할 수 있습니다. 스프링 MVC의 핵심 원리와 구조를 이해하고, 더 깊이있는 백엔드 개발자로 성장할 수 있습니다., - www.inflearn.com 이전 글에서는 MVC 패턴을 공부해 보았다. Front Controller 패턴 이번에는 공통된 로직을 먼저 수행하는 프런트 컨트롤러를 도입해보자. 프런트 컨트롤러도 하나의 서블릿으로 클라이언트의 모든 요청을 받고, 공통 로직 수행 후에 요청에 맞는 컨트롤러로 호출을 해준다. 따라서 더이상 모든 controller가 서블릿 객체일 필요가 없어진..
* 김영한님의 스프링 MVC 1편 강좌를 수강하며 정리한 글입니다. * 스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술 - 인프런 | 강의 웹 애플리케이션을 개발할 때 필요한 모든 웹 기술을 기초부터 이해하고, 완성할 수 있습니다. 스프링 MVC의 핵심 원리와 구조를 이해하고, 더 깊이있는 백엔드 개발자로 성장할 수 있습니다., - www.inflearn.com 이전 글에서는 서브릿에 대해 공부하였다. 이번에는 서블릿만으로 웹 서비스를 만든다고 생각해보자. 간단히 회원 목록을 조회 요청을 했을 때, 클라이언트에게 HTML로 응답한다면 모든 HTML 테그를 일일히 다 메시지 본문에 담아주어야 한다. PrintWriter w = response.getWriter(); w.write(""); w.write(..
* 김영한님의 스프링 MVC 1편 강좌를 수강하며 정리한 글입니다. * 스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술 - 인프런 | 강의 웹 애플리케이션을 개발할 때 필요한 모든 웹 기술을 기초부터 이해하고, 완성할 수 있습니다. 스프링 MVC의 핵심 원리와 구조를 이해하고, 더 깊이있는 백엔드 개발자로 성장할 수 있습니다., - www.inflearn.com 이전 글에서는 서버와 쓰레드 풀에 대해서 살펴보았다. @WebServlet 스프링은 서블릿을 위해 @ServletComponentScan 어노테이션을 지원한다. 적용된 클래스의 하위 패키지를 모두 탐색해 서블릿을 자동 등록해준다 따라서 스프링 프로젝트의 루트 패키지의 애플리케이션 클래스에 적용하면 모든 서블릿이 자동 등록될 것이다. 서블릿 스캔..