본문 바로가기

Web/스프링 부트와 aws로 구현하는 웹서비스14

5. Spring 웹 계층 정리 해당 게시물들은 이동욱 저자님의 "스프링 부트와 AWS로 혼자 구현하는 웹 서비스"를 공부하며 기록한 것입니다. 등록, 수정, 삭제 api를 작성하기 전에, Spring 웹 계층을 한번 정리하고 진행할 것이다. Spring에서는 웹 계층을 크게 Web Layer, Service Layer, Repository Layer으로 나눈다. 우선 Web Layer는 브라우저 상의 웹 클라이언트의 요청, 응답을 처리하는 곳이다. 흔히 사용하는 @Controller, 그리고 JSP/Freemarker 등의 뷰 템플릿(HTML, CSS와 같은 마크업 속성과 뷰 인스턴스에서 정의한 데이터, 로직들을 연결해 브라우저에서 볼 수 있는 HTML형태로 변환해 주는 것)의 영역이다. + 이 외에도 외부 요청과 응답에 대한 전반적.. 2021. 7. 16.
4. JPA 사용해보기 해당 게시물들은 이동욱 저자님의 "스프링 부트와 AWS로 혼자 구현하는 웹 서비스"를 공부하며 기록한 것입니다. 이번 게시물에서는 JPA를 활용하여 이 책에서 앞으로 실습하게 될 게시판을 만들어 보도록 할 것이다. 이때 웹 서비스를 다루게 된다면 필수적으로 데이터베이스를 관리하게 된다. 하지만 개발을 진행할 시, 실제로 개발하는 시간보다 SQL문을 다루는 시간이 더 많아지게 된다. 객체 모델링보다는 테이블 모델링에 시간을 쏟고, 할애하게 된다. 이를 위해 JPA라는 기술을 사용하게 된다. JPA를 사용하면, 개발자는 객체지향적으로 코딩을 하고, JPA가 이를 보고 SQL을 대신 생성해서 실행하는 과정을 진행하게 된다. 따라서 개발자는 SQL에 매달리는 시간을 줄일 수 있게 된다. 따라서 유지 보수에서 또.. 2021. 7. 14.
3. 롬복 해당 게시물들은 이동욱 저자님의 "스프링 부트와 AWS로 혼자 구현하는 웹 서비스"를 공부하며 기록한 것입니다. 이번 게시물에서는 롬복 설치, hellocontroller를 롬복으로 전환해 볼 것이다. 기존의 controller를 롬복으로 전환할 경우 어떤 기능에 문제가 생길 지 모르지만, 우리는 테스트 코드를 통해 동작 여부를 확인할 수 있다. 우선 기존 build.gradle에 lombok 을 추가한후, gradle을 새로고침하여 라이브러리를 다운받는다. 그 후, .ignore를 받을때와 같이 Ctrl+Shift+A(맥은 Command+Shift+A)를 입력한 후 plugins을 입력한다. 그 후 marketplace에서 Lombok을 찾아 설치한후, intelij ide를 재시작한다. 마지막으로 E.. 2021. 7. 14.
2. TDD와 테스트 코드 해당 게시물들은 이동욱 저자님의 "스프링 부트와 AWS로 혼자 구현하는 웹 서비스"를 공부하며 기록한 것입니다. TDD는 테스트가 주도하는 개발을 이야기 한다. 즉, 테스트 코드를 먼저 작성하는 것을 말한다. TDD는 1. 항상 실패하는 테스트를 먼저 작성 (Red) 2. 테스트가 통과하는 프로덕션 코드 작성 (Green) 3. 테스트가 통과하면 프로덕션 코드를 리팩토링 (Refactor) 이 3단계를 거쳐서 개발한다. 반면 단위 테스트는 TDD의 첫 번째 단계인 기능 단위의 테스트 코드를 작성하는 것을 말한다. 꼭 테스트 코드를 먼저 작성해야 하는 것은 아니며, 테스트 코드를 작성하는 것을 말한다. 이 책에서는 단위 테스트 코드를 배우며, 추후에 TDD를 배우는 것을 추천한다고 한다. 단순하게 생각하면.. 2021. 7. 8.
1. 그레이들 프로젝트를 스프링 부트 프로젝트로 변경하기 해당 게시물들은 이동욱 저자님의 "스프링 부트와 AWS로 혼자 구현하는 웹 서비스"를 공부하며 기록한 것입니다. 인텔리제이에서 그레이들 자바 프로젝트를 생성한 후 build.gradle 파일을 열어보면, 다음과 같은 코드들이 존재한다. 이는 기초적인 설정들만 되어있는 상태이며, 스프링 부트에 필요한 설정을 하나씩 추가해본다. 실제로는 스프링 이니셜라이져(https://start.spring.io/)을 활용하지만, 이를 통해서 진행하지 않고 직접 작성해 본다. 그 이유는 build.gradle안의 코드들이 무슨 일을 하는 지, 그리고 의존성 추가가 필요할 때 어떻게 하는지 모르는 상태로 개발을 할 경우가 발생하기 때문이다. 해당 책에서 스프링 부트와 그레이들을 충분히 이해하고 있다면 스프링 이니셜라이져를 .. 2021. 7. 2.
0. "스프링 부트와 AWS로 혼자 구현하는 웹 서비스" 책 따라 배워보기 해당 게시판에서는 이동욱 저자님께서 집필하신 "스프링 부트와 AWS로 혼자 구현하는 웹 서비스" 책 내용을 공부하고, 정리한 내용을 게시할 것이다. (이동욱 저자님의 책 출간 후기) (저자님의 예제 코드 github) 지난 학기 중에 스프링 부트를 공부하고 싶은 마음에 서적을 찾아보던 중, 해당 책이 입문하기 좋을 것 같다는 생각이 들어 서적을 구매하게 되었다. 시간이 날 때마다 조금씩 따라해가면서 진행하였으나, 그 텀이 길었으며, 별도로 기록하며 진행한 것이 아니라 기억에 잘 남지 않았다. 따라서 처음부터 다시 블로그에 내용을 정리해가며 학습할 계획이다. - 학습 내용 저장할 github https://github.com/imgzon3/imgzon3-springboot-test imgzon3/imgzo.. 2021. 7. 2.