본문 바로가기

개발/스프링28

[Spring] 스프링 웹 개발의 기초 개요 지금까지 Spring Boot를 이용해 간단한 서비스를 만드는 과정을 체험해 보았고, 어렴풋이 Spring 개발은 어떻게 진행되고, 어디에 어떤 클라스를 작성하는지 알게 되었습니다. Spring을 어느 정도 체감하였으니, 이제 내부 구조, 동작 방식 등 이론적인 내용을 알아볼 때라고 생각됩니다. Spring으로 웹 서비스 개발을 할 때, 컨텐츠를 보여 주는 방법은 크게 세 가지가 있습니다. 정적 컨텐츠 MVC API 이 세 방식에 대해 각각 간단한 소개를 해 보려고 합니다. 더 자세한 내용인 추후 공부하며 알아갈 예정입니다. 정적 컨텐츠 정적 컨텐츠라고 함은, 변화가 없는 컨텐츠를 뜻합니다. 사진, 문서 등 있는 그대로를 보여주는 것을 정적 컨텐츠를 보여준다고 하며, 어떤 사용자가 와도 같은 내용을.. 2022. 3. 3.
[혼자 구현하는 웹서비스] 10. 24시간 365일 중단 없는 서비스를 만들자 *이 글은 '스프링 부트와 AWS로 혼자 구현하는 웹 서비스' (프리렉, 이동욱 저) 를 공부하며 내용을 정리한 글입니다. *내용을 따라가며 쓴 글이라 책과 흐름이 겹칠 수 있으나, 최대한 내용을 이해한 후 저의 글로 옮겼습니다. *이 글은 9-1. 코드가 푸시되면 자동으로 배포해 보자 - Travis CI 배포 자동화 (2)에서 이어집니다. 0. 개요 1. 무중단 배포 소개 2. Nginx 설치와 Spring Boot 연동하기 3. 무중단 배포 스크립트 만들기 4. 무중단 배포 테스트 0. 개요 앞선 글의 마지막에서 언급한 바 있듯, 우리의 프로젝트의 남은 문제점은 배포 시 서비스가 잠시 중단된다는 점이다. jar 파일을 이용해 배포를 진행하기 이전에, 기존에 열려 있던 서비스를 종료하고, 배포가 마치.. 2022. 2. 26.
[혼자 구현하는 웹서비스] 9. 코드가 푸시되면 자동으로 배포해 보자 - Travis CI 배포 자동화 (2) *이 글은 '스프링 부트와 AWS로 혼자 구현하는 웹 서비스' (프리렉, 이동욱 저) 를 공부하며 내용을 정리한 글입니다. *내용을 따라가며 쓴 글이라 책과 흐름이 겹칠 수 있으나, 최대한 내용을 이해한 후 저의 글로 옮겼습니다. *이 글은 9-1. 코드가 푸시되면 자동으로 배포해 보자 - Travis CI 배포 자동화 (1)에서 이어집니다. 4. Travis CI와 AWS S3, CodeDeploy 연동하기 5. 배포 자동화 구성 6. CodeDeploy 로그 확인 4. Travis CI와 AWS S3, CodeDeploy 연동하기 CodeDeploy (AWS의 배포 시스템)을 이용하기 전에, EC2가 CodeDeploy를 연동받을 수 있도록 설정해야 한다. IAM 역할을 하나 생성하자. AWS에서 I.. 2022. 2. 26.
[Spring] 스프링의 IoC, DI 개요 스프링은 가장 대중적인 웹 프레임워크입니다. Java 기반이며 (요새는 Kotlin으로도 동작합니다), 요새는 Node.js, django 등 다른 프레임워크도 많지만 백엔드 개발자라면 한 번씩은 써 보게 됩니다. 특히 한국에서는 전자정부표준프레임워크에 채택되어 있어 SI, SM 업계에서는 거의 필수적으로 사용하고 있습니다 (예전 버전이지만...). Spring! 이름의 유래는 봄입니다. Spring 이전에는 EJB가 Java 기반 엔터프라이즈 소프트웨어 개발의 중심이었는데, 이 때를 Java 개발의 겨울에 비유하고, Spring의 등장으로 Java 개발 환경에 봄이 왔다는 뜻에서 지었다고 합니다. 저 역시 백엔드 개발을 Spring으로 하고 있습니다. (정확히는 Spring Boot를 통해 하고 .. 2022. 2. 21.
[혼자 구현하는 웹서비스] 9-1. 코드가 푸시되면 자동으로 배포해 보자 - Travis CI 배포 자동화 (1) *이 글은 '스프링 부트와 AWS로 혼자 구현하는 웹 서비스' (프리렉, 이동욱 저) 를 공부하며 내용을 정리한 글입니다. *내용을 따라가며 쓴 글이라 책과 흐름이 겹칠 수 있으나, 최대한 내용을 이해한 후 저의 글로 옮겼습니다. *이 글은 8-1. EC2 서버에 프로젝트를 배포해 보자 (MariaDB)에서 이어집니다. 0. 개요 1. CI & CD 소개 2. Travis CI 연동하기 3. Travis CI와 AWS S3 연동하기 0. 개요 앞서 우리의 프로젝트를 EC2 서버에 배포해 보았다. 이걸로 끝인가? 아니다. 실제 현업에서 운영되는 프로젝트는 배포가 끝이 아니라 시작이다. 수많은 내용 변경과 이슈가 있을 것이고, 이를 수정하여 다시 배포하는 과정을 반복하게 된다. 이를 매번 직접 하는 것은, .. 2022. 2. 14.
[혼자 구현하는 웹서비스] 8-1. EC2 서버에 프로젝트를 배포해 보자 (MariaDB) * 이 글은 '스프링 부트와 AWS로 혼자 구현하는 웹 서비스' (프리렉, 이동욱 저) 를 공부하며 내용을 정리한 글입니다. * 내용을 따라가며 쓴 글이라 책과 흐름이 겹칠 수 있으나, 최대한 내용을 이해한 후 저의 글로 옮겼습니다. * 이 글은 7-1. AWS에 데이터베이스 환경을 만들어보자 - AWS RDS (MariaDB) 에서 이어집니다. 이전 글에서 밝혔던 대로, 일단은 MariaDB로 진행할 예정이다. 글 제목은 이전 글과 같이 챕터-1 의 형식을 유지하려고 한다. 나중에 PostgreSQL로 이어서 작성하게 된다면 그때 넘버링을 이어 갈 예정이다. 앞서 1~5장에서는 스프링 부트를 이용해 웹 서비스를 담당할 코드를 작성했고, 6~7장에서는 웹 서비스를 올릴 서버 환경을 세팅했다. 여기서부터는.. 2022. 2. 3.