프로젝트에 적용할 기술들
Till60 프로젝트를 진행하면서 다음과 같은 기술들을 적용해 볼 것이다.
앞선 글에서도 언급했지만 대다수가 아직 실무적으로 사용해 본 적이 없는
기술인만큼 많은 시행착오를 거쳐야 할 것으로 보인다.
1. Language
일단 가장 익숙한 java로 시작한다. 새로운 API를 사용할 일은 없을 것 같지만
버전은 1.8로 한다.
2. Framework (Back end)
가장 기본이 되는 프레임워크로는 Spring Boot를 이용할 계획이다.
아직은 시험삼아 잠깐 이용해본 정도지만 무엇보다 설정이 간단하다는
점이 가장 매력적이다. 그리고 stand-alone 애플리케이션을 만들 수
있다는 점도 거창한 WAS 설정을 생략하게 해주어 작업을 가볍게 할
수있다. 버전은 현재 GA(General Availability, General Acceptance)
버전인 1.4.1을 선택했다.
3. Framework (Front end)
애초 계획은 Angular JS + Bootstrap 조합으로 가려 했는데 한동안
손을 안 댄 사이 Angular JS 2.0이 발표되었고 1.X와는 너무나 달라져
사용할 엄두가 안났다. 그래서 이참에 아직 배워보지 않은 React를 써보기로
했다. 물론 React를 사용하기로 한 진짜 이유는 Angular JS가 Framework
급이라면 React는 UI 전담의 라이브러리 급이라는 이유도 있다. 일단은
최대한 가볍게 갈 수 있으면 좋다.
아직 미묘하게 혼란 스러운 것이 React도 UI쪽이고 Bootstrap도 UI쪽인데
서로 어떻게 다르고 어떻게 조합을 해야 할지 잘 모르겠다. React-Bootstrap
이라는 프로젝트도 진행되고 있는 것 같던데…
마지막으로 서버단이 java 기반이므로 서비스 호출은 jQuery로 처리하려고 한다.
사용할 버전들은 다음과 같다.
React : 15.3.2
Bootstrap : 3.3.2
JQuery : 3.1.1
4. DB
애초 계획은 MySQL로 하려고 했는데… 은근히 NoSQL에 대한 욕심이 생겨
mongoDB로 선택을 했다. 어차피 RDBMS로 하더라도 제대로 된 모델링이
되지 않을 것이기도 하거니와 새로운 것을 익히는 것도 이 프로젝트의 목적 중
하나이니만큼 처음으로 mongoDB에 도전을 해보고자 한다. 게다가 3.X 버전에는
$lookup이라는 join과 유사한 기능을 지원한다고 하니 한 번 써볼만 할 것 같다.
사용할 버전은 3.2.10이다.
5. CI (Continuous Integration)
가장 포괄적인 부분인 듯싶다. 그냥 단순히 나열을 해보면 build를 위해서는
Gradle을, 형상관리를 위해서는 GitHub를 좁은 의미의 CI를 위해서는 jenkins를
사용할 예정이다. gradle은 처음이나 다름없어서 공부를 좀 해야 할 것 같고
GitHub는 단순 형상관리용도로 좀 써보긴 했지만 깊은 내용은 모르고 그나마
jenkins는 현재 업무에서 모바일(안드로이드와 iOS 모두) 빌드용으로 설정하여
사용 중인데 막강한 플러그인들이 많아서 좋다. 특히 소스의 정적 분석 관련
플러그인들이 많은 도움이 되는 것 같다. GitHub와 jenkins 연동은 공부를 좀
해야 할 것이다.
6. Mobile
사실 테스트용 앱을 배포하고 테스트 하기에는 안드로이드 쪽이 좀 수월하지만
명색이 iOS 개발자인데 아직 Swift로 제대로된 앱을 개발해본 적이 없기에 iOS의
Swift를 선택했다. 추후 안드로이드도 개발할 예정
7. Container
요즘 많이 언급되는 아키텍처 중 하나가 마이크로 서비스, 그리고 마이크로 서비스를
구현하는 기반 기술로 Docker가 자리잡고 있다. 아직 마이크로 서비스의 개념 조차
제대로 이해하지 못하는 상황에서 잘 구현이 될지는 모르겠지만 Docker를 이용한
마이크로 서비스 구현도 이번 프로젝트의 목표 중 하나다.
거듭 강조하지만 상당히 많은 기술들을 다루지만 대부분이 처음 접하는 기술들이다.
과연 얼마나 해낼 수 있을지는 의문이지만 차근차근 진행을 해보고자 한다. 어차피
프로젝트 이름이 Till60이다. 60살까지는 아직 13년이 남았고 차근차근 익히다보면
그 때까지는 뭐 하나 남지 않을까…하고 막연히 기대해본다~
다음부터는 본격적으로 프로젝트 일지를 적어보도록 하겠다.
'Development > Till60' 카테고리의 다른 글
[Till60] Spring boot와 mongoDB 연동하기 (0) | 2016.12.11 |
---|---|
[Till60] 1차 개발분 Prototype 오픈 (0) | 2016.12.03 |
[Till60] Prototype 개발을 위한 SessionDB - Web Storage를 이용한 간이 DB (0) | 2016.11.12 |
[Till60] 프로젝트를 시작하면서… (0) | 2016.10.23 |
[Till60] 프롤로그 - 5년만의 개인 프로젝트 (0) | 2016.10.19 |