들어가기 전에하기 포스팅은 "스프링부트 시작하기(김인우 저)" 책을 공부하며 적은 포스팅입니다. 이번 포스팅에서는 스프링 프로파일 적용하는 법에 대해 알아보겠습니다.스프링 프로파일 적용하기스프링 웹 어플리케이션을 개발하다보면 로컬, QA, PROD 환경에 따라 핵심 로직은 동일하지만 몇 가지 설정을 바꾸어 사용하게 됩니다. 예를 들어, 데이터베이스 주소나 로그는 환경에 따라 변경됩니다. 이를 위해, 스프링에서는 프로파일이라는 기능을 제공합니다. 프로파일은 각각의 환경에 맞는 설정을 지정해 실행 또는 패키징 시 원하는 설정을 사용할 수 있도록 해줍니다.로컬이나 QA 환경에서 사용하는 데이터베이스를 PROD 환경와 동일하게 운영하게 되면, 실제 고객 데이터를 가지고 테스트를 하게 될 수 있어 데이터베이스를 ..
FRAMEWORK
들어가기 전에하기 포스팅은 "스프링부트 시작하기(김인우 저)" 책을 공부하며 적은 포스팅입니다. 이번 포스팅에서는 스웨거(Swagger)에 대해 알아보도록 하겠습니다.REST API 문서화하기이번 포스팅에서 다뤄볼 것은 Swagger를 이용한 REST API 문서화입니다. 일반적으로 여러 명이 개발하는 프로젝트에서는 front 개발자와 back-end 개발자가 나뉘어 있습니다. front는 웹이나 안드로이드 앱과 같이 사용자가 실제로 사용하는 부분을 의미합니다. back-end는 front에서 발생한 사용자의 요청을 실제로 처리하는 서버쪽 어플리케이션을 의미합니다. front 개발자는 사용자에게 보여지는 화면 및 내부 로직에 집중하고, 데이터의 처리는 back-end 개발자가 개발한 API를 사용합니다...
들어가기 전에하기 포스팅은 "스프링부트 시작하기(김인우 저)" 책을 공부하며 적은 포스팅입니다. 이번 포스팅에서는 GCP에 대해 알아보겠습니다.GCP개발한 어플리케이션을 다른 기술과 함께 적용하려면 서버가 일반적으로 필요합니다. 하지만, 서버는 비용이나 부수적인 문제로 인해 운영하기 쉽지 않습니다. 이러한 상황에서 GCP(Google Cloud Platform) 또는 AWS(Amazon Web Services)와 같은 클라우드 서비스는 아주 유용합니다. 물리적인 서버에 비해 가격이 저렴하고 쉽게 서버를 구성할 수 있기 때문입니다. 구글은 GCP를 처음 시작하면 3개월동안 사용할 수 있는 $300의 크레딧을 지원합니다. 사용자는 이 금액 내에서 자신이 원하는 사양을 선택하여 사용할 수 있습니다. AWS를..
들어가기 전에하기 포스팅은 "스프링부트 시작하기(김인우 저)" 책을 공부하며 적은 포스팅입니다. 이번 포스팅에서는 JPA에 대해 알아보겠습니다.JPAJPA(Java Persistence API)란, 자바 객체와 데이터베이스 테이블 간 매핑을 처리하는 ORM(Object Relational Mapping) 기술의 표준입니다. ORM은 쉽게 말해 객체와 관계를 설정하는 것으로, 특정 언어에 종속적인 개념이 아닌 객체와 관계형 데이터베이스를 매핑시키는 것입니다. JPA는 각 기능의 동작이 어떻게 되어야 한다는 것을 정의한 기술 명세이기 때문에 해당 명세에 따라 실제로 기능을 구현한 구현체가 필요합니다. 이렇게 구현된 제품이나 프레임워크로 하이버네이트, 이클립스링크 등이 있고, 이러한 JPA 구현체를 JPA 프..
들어가기 전에하기 포스팅은 "스프링부트 시작하기(김인우 저)" 책을 공부하며 적은 포스팅입니다. 이전 포스팅에서는 RESTful 게시판으로 변경하는 방법을 살펴보았습니다. 앞선 구현을 가지고는 REST API를 만들었다고 이야기하기는 어렵습니다. 이번 포스팅을 통해 실제 어플리케이션 개발에서 프론트와 백엔드가 어떻게 나뉘는지 살펴보도록 하겠습니다. 일반적인 어플리케이션은 백엔드 서버와 클라이언트로 나뉩니다. 여기서 클라이언트는 웹 페이지가 될 수도 있고, 안드로이드나 iOS 앱이 될 수도 있습니다. 그리고, 백엔드 서버는 이러한 클라이언트의 요청을 수행하는 API를 만듭니다. 지금까지는 하나의 어플리케이션에서 Thymeleaf와 jQuery를 이용해 화면을 개발했습니다. 그리고, 이를 실행하기 위한 로직..
들어가기 전에하기 포스팅은 "스프링부트 시작하기(김인우 저)" 책을 공부하며 적은 포스팅입니다. 이번 포스팅에서는 RESTful에 대해 살펴보도록 하겠습니다.REST란?REST란 REpresentational State Tranfer의 약자로, HTTP 창시자 중 한 사람인 로이 필딩(Roy Fielding)이 2000년에 발표한 박사 학위 논문에서 소개되었습니다. 로이 필딩은 기존 웹 아키텍처가 HTTP 본래의 우수성을 잘 활용하지 못한다고 생각하여 HTTP의 장점을 최대한 활용할 수 있는 아키텍처로 REST를 소개했습니다.잘 표현된 HTTP URI로 리소스를 정의하고, HTTP 메소드로 리소스에 대한 행위를 정의합니다. 리소스는 JSON, XML과 같은 여러 언어로 표현할 수 있습니다.REST의 특징..
참고 사항하기 내용을 실습하게 되면, 게시판 구현하기 15를 실습할 때 문제가 생길 수 있습니다.존재하는 게시글에 파일을 추가하기 위해 boardDetail.html 내 form 태그에 enctype을 설정하였는데, 이 부분이 추후 RESTful로 변경할 때에 POST로만 form을 사용할 수 있는 문제를 일으킵니다. 따라서, 아래 내용은 참고만 하면 좋겠습니다. 들어가기 전에하기 포스팅은 "스프링부트 시작하기(김인우 저)"를 공부하며 만든 springboot 프로젝트 내에 추가로 구현한 부분에 대해 적은 글입니다. 잘못된 부분이 있을 수 있으니 참고만 해주시면 좋을 것 같습니다. "스프링부트 시작하기" 책에는 신규 게시글을 만들 때 파일 업로드만 가능하여, 기존에 업로드한 게시글에 파일을 추가하는 것..