프로젝트/스프링 부트와 AWS로 혼자 구현하는 웹 서비스_실습

스프링 부트와 AWS로 혼자 구현하는 웹 서비스 01

dudung__ 2023. 8. 8. 14:23

학원에서 리눅스(CentOS), 파이썬, 장고, 네트워크 등등 단과 수업을 들었고, 지금 클라우드 국비를 듣는 중

업계 관련 자격증은 몇개 취득이 된 상태

하지만, 실제로 클라우드를 다뤄본 경험이 전무한 상태

 

이게 지금 내 상태이다

 

물론 취업을 이쪽으로 하고 싶어서가 크지만, 내 가치를 높히기 위해서는 경험이 필요할거 같다는 생각이 들었다.

물론 국비를 들을면서, 프로젝트를 진행할 것이고, 이때 다룰 기회가 생기겠지만, 그 전에 경험을 쌓고  싶다는 생각을 했다.

어떤 부분으로 공부를 할까 생각하다가 이 책을 발견하게 되었다.

 

https://www.aladin.co.kr/shop/wproduct.aspx?ItemId=218568947 

 

스프링 부트와 AWS로 혼자 구현하는 웹 서비스

스프링 부트와 AWS로 웹 서비스를 구현한다. JPA와 JUnit 테스트, 그레이들, 머스테치, 스프링 시큐리티를 활용한 소셜 로그인 등으로 애플리케이션을 개발하고, 뒤이어 AWS 인프라의 기본 사용법과

www.aladin.co.kr

최종적인 목표로 Devops를 꿈꾸는 취준생으로써, 개발툴들도 미리 써보고, 그에 따른 결과인 웹 서비스를 직접 배포도 해보고, 운영도 해볼 수 있는 책이 있는것에 감사했다.

 

물론 나온지 꽤 된 책이라, 빠르게 변하는 it 업계답게 책에 있는 기술중에 지원이 안되거나, 버전이 다른 부분이 있다는 리뷰가 꽤 보이긴한다...

 

하지만, 뭐 어차피 공부를 해야하는 입장이고, git에 최신내용을 기반으로 올려놓으신 내용을 바탕으로 오류를 잡아가면서 공부를 해봐야겠다는 생각을 했다

 

 

정보처리 기사를 공부할때, 공부했던 자바관련 지식들이 도움이 되길 바라면서 시작한다.

 


시작!

 

01. 인텔리 제이로 스프링 부트 시작하기 

 

01_1 인텔리 제이 시작해보기(기본설정)

내 주변에서 같이 공부하는 사람들을 보면, 정말 다양한 개발툴을 사용하는것 같다. 용도에 따라서, 편의성에 따라서, 호환성에 따라서 다양하게 사용하는것 같다. 나도 파이썬정도는 접해본 상황이고 말이다.

일단은 작가님이 추천한 툴을 가지고, 사용해보려 함(이제부터 간결하게 적을 예정)

 

https://www.jetbrains.com/ko-kr/toolbox-app/

 

JetBrains Toolbox App: 도구를 간편하게 관리

 

www.jetbrains.com

 

 

 

 

인텔리제이 툴박스(인텔리제이 공식 홈페이지)를 받아서, community를 다운받았음

툴박스를 통해서 설치를 진행하면, 도구의 버전관리가 편하다는 작가님의 코멘트가 있었음

 

*

인텔리 제이는 이클립스의 워크스페이스 workspace와 같은 개념이 없음

==> 프로젝트 + 모듈

==> 모든 프로젝트를 한번에 불러올 수 없음 -> 한 화면에 하나의 프로젝트만 열림

 

 

*책에 쓰여진 초반 설정 부분과, 지금의 설정 부분에 많은 차이가 있어서 일단 스프링부트 프로젝트는 이곳에서 만들어서 넣었음

https://start.spring.io/

 

 

책에 있는 gradle 설정을 따라하는 동안에, 

 

dependencies {
    

    compile 'org.springframework.boot:spring-boot-starter-web'
    testcompile 'org.springframework.boot:spring-boot-starter-test'

}

 

이 부분에서 

A problem occurred evaluating root project 'webdepoly'.
> Could not find method compile() for arguments [org.springframework.boot:spring-boot-starter-web] on object of type org.gradle.api.internal.artifacts.dsl.dependencies.DefaultDependencyHandler.

 

==> 이렇게 찾을 수 없다고 오류가 계속 떠서 이리저리 바꿔보다가 구글링을 해보니

 


1. Compile(api)를 사용하는 경우
A라는 모듈을 수정하면,  이 모듈을 직접 혹은 간접 의존하고 있는 B와 C는 모두 재빌드 되어야 함.

==> compile은 상위 모듈까지 가져옴

2. Implementaion을 사용하는 경우
B라는 모듈을 수정하면, 직접 의존하고 있는 B만 재빌드 함.


==> 이런 특징을 지니고 있어서, complie을 사용하는 경우 보안적으로 이슈가 생길 수 있고, 또한 속도적인 측면에서도 이점이 없기 때문에 compile을 3.0이상부터 권장하지 않아왔으며,   7이상의 버전에서는 더이상 지원하지 않는다는 것을 알 수 있었음

 

문제 해결..! 

 

 

 

 

01_2 깃허브와 연동하기

 

Ctrl  + Shift  + a (윈도우) / Command  + Shift  + a (mac)을 누르면 action을 검색할 수 있는데, share project on github를 검색하면 깃허브에 공유하기가 뜸(한글을 설정해놔서 한글로 뜸)

 

나는 이미 깃허브 계정이 있기 때문에 바로 진행해봄

 

음....

 

이것도 구글링을 해봤음

이런 에러가 보였는데, 처음엔 무슨소린지 모르고 계속 찾았는데, 저기에 내 깃 정보들을 넣고 다시 커밋해주면 된다는 글을 발견해서 해보았음

 

keduit@603-10 MINGW64 /c/WebDeploy (master)
$ git config --global user.email "tbvkjaosdkdl@gmail.com"

keduit@603-10 MINGW64 /c/WebDeploy (master)
$ git config --global user.name "khw01012"

 

하고 다시 해주니, 

 

 

성공적으로 커밋이 되었음

 

확인결과 잘 들어간것을 볼 수 있었음