[스프링 DB 1편] 강의 전반적 개요

Chooooo·2023년 1월 10일
0

스프링 DB 1편

목록 보기
1/11
post-thumbnail

이 글은 강의 : 김영한님의 - "[스프링 DB 1편 - 데이터 접근 핵심 원리]"을 듣고 정리한 내용입니다. 😁😁


이번 강의를 들으면서 백엔드 개발에 필요한 DB 데이터 접근 기술을 기초부터 이해하고 완성시켜 나가보자.

🎃 스프링 DB 접근 기술

🎃 스프링을 통해 DB를 사용하는 다양한 방법

🎃 스프링을 통해 DB를 사용하는 내부 원리

해당 강의를 통해 이것들에 대해서 공부할 것이다.


데이터 접근 기술

현대의 애플리케이션은 대부분 웹 환경에서 동작하는 웹 애플리케이션이다. 단순하게 생각하면 웹 애플리케이션은 크게 3가지 기능을 수행한다.

이전까지 스프링 MVC강의를 통해 클라이언트의 요청을 받아서 처리하는 방법을 학습했었다. 이번에는 그 이후 단계인 비즈니스 로직을 수행하는 서비스와 수행 결과를 데이터베이스에 보관하는 리포지토리에 대해 깊이있게 학습할 것이다.

🎃 클라이언트의 요청을 받아서 처리하는 기능은 스프링 MVC를 사용한다.

🎃 비즈니스 로직을 수행하는 기능은 순수한 자바 코드로 만들어진다.

마지막으로 수행 결과를 데이터베이스에 보관하고 관리하는 기능은 JDBC, JdbcTemplate, MyBatis, JPA와 같은 다양한 기술들을 선택해서 사용한다. 그리고 스프링이 제공하는 DB 데이터 접근 기술을 사용하면 이러한 기술들을 스프링과 통합해서 매우 편리하게 사용할 수 있다 !

백엔드 개발자는 MVC와 DB접근기술이라는 2가지 큰 축을 꼭 완성해야 한다.

데이터 접근 기술을 정복해야 하는 이유

애플리케이션에서 데이터베이스에 데이터를 보관하고 관리하기 위해서는 다양한 데이터 접근 기술을 학습해야 한다. 이러한 데이터 접근 기술을 학습하기 어려운 대표적인 이유는 다음 3가지 때문이다.

데이터 베이스 기반 지식이 약하다.

모든 데이터 접근 기술은 데이터베이스에 데이터를 보관하고 관리하기 위한 것이다. 따라서 데이터베이스에 대한 기본 이해가 필요하다. 이 강의를 학습하기 전에 데이터베이스와 SQL에 대한 기본 내용을 알고 시작하는 것이 좋겠다

데이터 접근 기술이 너무 다양하다.

JDBC부터 시작해서 SQL 맵퍼(Mapper)라고 불리는 jdbcTemplate이나 MyBaits같은 기술부터 ORM 기술인 JPA, 스프링 데이터 JPA, Querydsl 같은 최신 기술까지 정말 다양하게 데이터 접근 기술들이 있다. 너무 다양한 기술들이 존재해서, 각각의 기술들이 어떤 장단점이 있고, 어떤 상황에 어떤 기술들을 사용하면 좋은지 명확하게 이해하고 사용하기는 쉽지 않다.

데이터 접근 기술의 역사가 너무 오래되었다.

JDBC부터 시작한 데이터 접근 기술은 이미 20년이 넘었다. 그동안 데이터 접근 기술의 발전은 물론이고, 스프링은 이러한 데이터 접근 기술들을 더욱 편리하게 사용하도록 돕기 위해 수많은 기능을 발전시키고, 개선해왔기에 지금은 너무 많은 것이 자동화되고, 추상화 되어버렸다. 특히 최근에 개발을 시작한 백엔드 개발자들은 데이터 접근 기술을 사용할 때 왜 이런 방식으로 기능이 동작하는지 정확한 이유를 모르고, 단순히 사용법 위주로 사용하게 될 것이다. 왜 이런 방식으로 사용하지?라고 의문을 가져도 과거에 어떤 불편한 문제 때문에 지금 이런 방식으로 개선되고 사용하는지 과거의 문맥을 제대로 이해하고 사용하기는 어렵다.

🎈 그렇기에 이번 강의를 통해 나는 데이터 접근 기술을 완벽히 공부하고 과거에 어떤 불편한 점이 있어서 다음 기술이 탄생했고, 어떤 점들이 개선되었는지 그 이유를 찾고 최신 실무 기술들까지 공부해볼 것이다.

목표

🎃 이번 강의를 들으면서 목표를 잡고 공부해 나가자. 백엔드 개발을 할 때 필요한 데이터 접근 기술을 완성하는 것을 목표로 하자 !

데이터 접근 기술을 위해 필요한 핵심 뼈대를 세우고 그 위에 실무에 꼭 필요한 기술을 위주로 완벽하게 이해해보자.

강의를 공부하면서 데이터 접근 기술의 핵심 개념 다지고, 스프링이 제공하는 데이터 접근 기술의 원리를 이해해 나가보자.

위와 같이 두 가지 축 지식을 잘 쌓아 올리자 !

자세히 분석하면

이렇게 기초를 다질 것이다.

profile
back-end, 지속 성장 가능한 개발자를 향하여

0개의 댓글