웹 프로그래밍
[강좌]스프링 입문 - 7. AOP
이 글은 인프런에서 김영한 님의 "스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술"을 수강 후 개인적으로 공부한 내용을 정리한 게시글입니다. 잘못된 점이나 부족한 부분이 있다면 언제든 지적 부탁드립니다. 해당 강의는 이곳에서 수강할 수 있습니다. 이전 강의에서는 JPA와 스프링 데이터 JPA를 활용한 스프링 DB 접근 기술에 대해 알아보았습니다. 이번 강의에서는 AOP에 대해 학습합니다. 1. AOP가 필요한 상황 백엔드 구현에서의 관심사항은 두 가지 사항으로 나뉩니다. 공통 관심사항(cross-cutting concern)과 핵심 관심사항(core concern)으로 나뉘는데, 회원 가입, 회원 조회와 같은 비즈니스 로직과 같은 경우가 핵심 관심사항이고, 이러한 기능 외에 회원..
[강좌]스프링 입문 - 6. 스프링 DB 접근 기술(2)
이 글은 인프런에서 김영한 님의 "스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술"을 수강 후 개인적으로 공부한 내용을 정리한 게시글입니다. 잘못된 점이나 부족한 부분이 있다면 언제든 지적 부탁드립니다. 해당 강의는 이곳에서 수강할 수 있습니다. 이전 강의는 스프링의 DB 접근 기술 중 첫 번째 강의로 H2 데이터베이스의 사용을 통해 Jdbc와 JdbcTemplate에 대해 알아보았습니다. 이번 강의에서는 스프링 JPA에 대해 학습합니다. 1. JPA 지난 강의에서 스프링과 DB를 Jdbc로 연동하고, JdbcTemplate를 사용해 기존의 코드에서 더 간단한 코드로 DB에 접근해 보았습니다. JPA를 사용하면 기존의 반복 코드를 줄일 뿐 아니라 기본적인 SQL도 JPA가 직접 ..
[강좌]스프링 입문 - 6. 스프링 DB 접근 기술(1)
이 글은 인프런에서 김영한 님의 "스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술"을 수강 후 개인적으로 공부한 내용을 정리한 게시글입니다. 잘못된 점이나 부족한 부분이 있다면 언제든 지적 부탁드립니다. 해당 강의는 이곳에서 수강할 수 있습니다. 이전 강의에서는 회원 관리 예제를 통해 웹 MVC 개발 원리를 학습하였습니다. 이번 강의에서는 스프링 DB 접근 기술 중 첫 번째로 H2데이터베이스를 활용해 순수 Jdbc와 JdbcTemplate에 대해 학습합니다. 이전 강의에서까지 사용했던 메모리 리포지토리는 서버를 내리면 저장된 회원 데이터가 전부 사라진다는 문제가 있었습니다. 이번 강의에서는 스프링에서 데이터베이스를 통해 데이터에 액세스하는 방법에 대해 실습하고 학습해 봅니다. 1..
[강좌]스프링 입문 - 5. 회원 관리 예제 - 웹 MVC 개발
이 글은 인프런에서 김영한 님의 "스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술"을 수강 후 개인적으로 공부한 내용을 정리한 게시글입니다. 잘못된 점이나 부족한 부분이 있다면 언제든 지적 부탁드립니다. 해당 강의는 이곳에서 수강할 수 있습니다. 이전 강의에서는 스프링 빈과 의존관계에 대해 학습하였습니다. 이번 강의에서는 회원 관리 예제를 통해 웹 MVC 개발 원리를 학습해 봅니다. 1. 회원 웹 기능 - 홈 화면 추가 이전의 강의에서 작성한 멤버 컨트롤러에서 회원을 등록, 조회하는 기능과 화면을 만들어 봅니다. 기존에는 "localhost:8080"으로 홈 화면 접속 시 static의 index.html을 띄웠지만, 이번에는 홈 화면을 띄우는 컨트롤러를 만들어 우리가 직접 작성..
[강좌]스프링 입문 - 4. 스프링 빈과 의존관계
이 글은 인프런에서 김영한 님의 "스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술"을 수강 후 개인적으로 공부한 내용을 정리한 게시글입니다. 잘못된 점이나 부족한 부분이 있다면 언제든 지적 부탁드립니다. 해당 강의는 이곳에서 수강할 수 있습니다. 이전 강의에서는 회원 관리 예제를 작성하며 백엔드 개발을 실습해 보았습니다. 이번 강의에서는 스프링 빈과 의존관계에 대해 학습합니다. 1. 컴포넌트 스캔과 자동 의존관계 설정 이전 강의에서 작업한 로직을 화면으로 나타내기 위해서 컨트롤러를 작성해야 합니다. 클라이언트의 요청을 받은 컨트롤러는 서비스를 통해 view를 제공, 즉 회원 서비스를 사용하여 회원가입, 데이터 조회 등을 실시합니다. 이렇게 컨트롤러의 동작이 서비스에 의존하고, 우..
[강좌]스프링 입문 - 3. 회원 관리 예제 - 백엔드 개발
이 글은 인프런에서 김영한 님의 "스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술"을 수강 후 개인적으로 공부한 내용을 정리한 게시글입니다. 잘못된 점이나 부족한 부분이 있다면 언제든 지적 부탁드립니다. 해당 강의는 이곳에서 수강할 수 있습니다. 이전 강의에서는 웹을 개발하는 크게 3가지 방법인 정적 컨텐츠, MVC 템플릿 엔진, API에 대해 알아보았습니다. 이번 강의에서는 간단한 회원 관리 예제를 작성하며 백엔드 개발을 학습합니다. 1. 비즈니스 요구사항 정리 개발에 앞서 비즈니스 요구사항을 정리합니다. 이번 강의에서 만들 예제는 회원 ID와 이름이 데이터로 저장되고, 회원 등록과 조회의 기능이 있는 간단한 예제입니다.데이터 저장소(DB)는 아직 정해지지 않았다고 가정하며 진..
[강좌]스프링 입문 - 2. 스프링 웹 개발 기초
이 글은 인프런에서 김영한 님의 "스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술"을 수강 후 개인적으로 공부한 내용을 정리한 게시글입니다. 잘못된 점이나 부족한 부분이 있다면 언제든 지적 부탁드립니다. 해당 강의는 이곳에서 수강할 수 있습니다. 이전 강의에서는 IntelliJ에서 프로젝트를 생성, 생성된 프로젝트와 라이브러리를 살펴보고 실행을 통해 Thymeleaf의 동작을 확인해 보았습니다. 웹을 개발하는데는 크게 3가지 방법이 있으며, 이번 강의에서는 이 3가지 방법에 대해 알아봅니다. 1. 정적 컨텐츠 html 파일을 그대로 웹 브라우저에 보여줍니다. 스프링 부트는 정적 컨텐츠 기능을 자동으로 제공합니다. 이전 강의에서 진행했던 것과 같이 resources/static에 ..
[강좌]스프링 입문 - 1. 프로젝트 환경설정
이 글은 인프런에서 김영한님의 "스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술"을 수강 후 개인적으로 공부한 내용을 정리한 게시글입니다. 잘못된 점이나 부족한 부분이 있다면 언제든 지적 부탁드립니다. 해당 강의는 이곳에서 수강할 수 있습니다. 1. 프로젝트 생성 사전에 Java11과 IntelliJ 또는 Eclipse 설치 작업이 필요합니다. 저는 IntelliJ를 사전 설치 후 진행하였습니다. 스프링 부트 스타터 사이트로 이동 후 스프링 프로젝트를 생성합니다. spring boot starter는 Spring Boot에서 제공하는 사전에 미리 정의한 편리한 의존성 조합으로, 프로젝트에 설정해야하는 다수의 의존성들을 starter를 통해 간편하게 설정, 새로운 기능을 추가하여 ..