[side-project/personal-blog] 1. 개발 스펙

최지수·2022년 8월 24일
0

personal-blog

목록 보기
2/5

우야튼 자바java와 스프링 부트spring boot를 활용해 개인 블로그를 만들어 보기로 했어요!

개발 스펙부터 정했어요

  • 언어 : 자바OpenJDK 11
  • 프레임워크 : 스프링 부트Spring boot 2.7.3
  • 빌드 툴 : 메이븐Maven 3.8.4
  • 데이터베이스 : MongoDB
  • 퍼블릭 클라우드 : 구글 클라우드 플랫폼GCP

왜 이걸로 만들기로 했을까?

자바

자바Java를 메인으로 백엔드 엔지니어가 되는 것을 목표로 잡았기 때문에 당연한 거지만, 보통 현업에선 8 버전이 많이 쓴다고 해요.

자세한 내용은 이미 제 블로그에 써있으니 가볍게 말씀드리자면, 22년 기준, 향후 몇 년 내에 지원이 되지 않을거라고 해요.

그래서 8 버전으로 잘만 작업하고 있다가 갑자기 회사에서 11을 사용하겠다고 하면 또 다시 배워야하는 수고가 있겠죠? 어차피 길게 보고 있는 준비 과정인데 미리 해두면 좋을거 같아 선택했어요.

프레임워크

프레임워크의 경우, 원래 스프링 프레임워크를 사용할까 고민하다가, 생산성을 우선 순위로 둬서 빠르게 결과를 내고 유지보수를 쉽게 하기 위해 스프링 부트를 활용하는 것을 결정했어요.

스프링 프레임워크는 학습하면서 다른 사이드 프로젝트에서 시도해보려고 해요.

메이븐

메이븐Maven은 제 첫 자바 프로젝트에서 활용한 툴이에요. 본래 그레이들gradle로 마이그레이션을 시도했었어요.

하지만, 당시 구글의 오픈소스들을 분석하면서 그레이들보단 메이븐이 더 많이 활용된다는 것을 파악했어요. 어거지로 사용한다면 사용할 수 있겠지만, 좋은 습관의 개발 능력을 기르기 위해 구글에서 많이 사용하는 메이븐을 채택했어요.

데이터베이스

데이터베이스는 NoSQLmongoDB를 채택했어요. 기존 SQL과 달리 비관계형인데다, 따로 열을 정할 필요없이 자유로운 확장이 쉬워, 빠른 개발을 할 수 있다는 점이 매력적으로 느껴졌어요. 무엇보다 개인적인 학습의 의지가 있었구요 ㅎㅎ.

필요하다면 이후 SQL로 마이그레이션을 할 겁니다. 어렵겠지만, 이 또한 공부가 되겠죠 ㅋ.

퍼블릭 클라우드

마지막으로 퍼블릭 클라우드는 구글 클라우드 플랫폼GCP, Google Cloud Platform을 활용할 거에요. 퍼블릭 클라우드 시장에 많은 비중을 차지하는 AWS를 냅두고 GCP를 선택한 것은 나름의 이유가 있었어요.

22년 기준, AWS 서버가 다운되는 사태가 발생해 많은 서비스들이 장애를 입었어요. 그리고 개인을 기준으로 본다면 AWS보단 GCP가 저렴한 가격대로 이용할 수 있을 것이라 판단했어요. 무엇보다 구글의 문서화가 제일 잘 정리되어 있다고 생각했어요.

참고로 저는 이 블로그를 보면서 비교했어요.

이것 말고도 정해야할 스펙이 따로 존재하지만, 하게될 때 다시 이야기를 해야겠어요 ㅎㅎ

참고

2022 퍼블릭 클라우드 업체 3사 비교

profile
#행복 #도전 #지속성

0개의 댓글