동아리 관리 시스템 개발에 사용된 환경은 다음과 같습니다.
- MySQL
- Node.js 8.9.3
- Visual Studio Code
- Brackets
- Git
![](https://upload.wikimedia.org/wikipedia/en/thumb/6/62/MySQL.svg/1200px-MySQL.svg.png)
1. MySQL
MySQL을 선택한 이유는 오픈소스 DB중 가장 많은 레퍼런스와 사용자를 가지고 있기 때문입니다.(Oracle은 라이선스와 용량 때문에 제외하였습니다.)
개발을 하면서 막힐 때에는 구글에 검색을 하는 경우가 많은데 개발 된 지 얼마 되지 않았거나, 사용자가 많지 않은 프레임워크와 같은 경우에는 문제가 발생해도 알아볼 길이 없게 됩니다.
오랜 경험과 엄청난 실력을 가진 개발자라면 문제를 다양한 측면에서 분석하여 해결하는 경우도 있겠지만 저와 같은 초보 개발자로서는 문제 해결은 물론이고 원인조차 알 수 없는 경우가 많기 때문에 레퍼런스와 사용자가 많은 MySQL을 선택하게 되었습니다.
(특히 DB의 경우 설정과 같은 부분에서 오류가 날 확률이 높기 때문에 더더욱 알기 어렵다는 점도 있습니다.)
이 뿐 아니라 부대에 있을 때 연습용으로 만져본 경험이 있어 익숙한 것도 선택한 이유 중 하나입니다.
![](https://upload.wikimedia.org/wikipedia/commons/thumb/d/d9/Node.js_logo.svg/1200px-Node.js_logo.svg.png)
2. Node.js
Node.js를 선택한 가장 큰 이유는 바로 개발속도 때문입니다.
작년 10월에 오픈소스 교육을 받은 적이 있는데 그 때 사용했던 서버사이드 환경이 Node.js였습니다.
그당시 서버쪽 코딩하면서 느낀 점은 제가 주로 사용하던 Spring에 비해서 정말 높은 생산성을 보여주었고, 배우기도 매우 쉬웠습니다. 단 몇 줄 만 작성하면 MySQL과 연동이 되어 쿼리문을 날릴 수 있었고 필요한 기능은 npm에서 모듈을 다운받아서 사용하면 되어 개발시간이 매우 단축되었습니다.
또한 개발을 완료한 뒤에 실제로 운영을 하는 것을 생각해 보았을 때, HTML, CSS, JavaScript만 할 줄 안다면 프론트엔드부터 백엔드까지 작성된 코드를 보는 것에 무리가 없을 것이기 때문에 선택한 점도 있습니다.
만약 Spring이나 Django를 사용했다면 인수인계 받는 사람이 위의 3개 언어를 배우고 Java나 Python을 추가적으로 배워야 하고 이는 인수인계 받는 사람의 부담이 커진다는 것을 의미합니다.
![](https://pbs.twimg.com/profile_images/922911523328081920/jEKFRPKV_400x400.jpg)
3. Visual Studio Code(VSCode) 백엔드 개발용 텍스트 에디터
Microsoft에서 개발한 텍스트 에디터인 VSCode는 출시된 지 그리 오랜 시간이 지난 에디터는 아니지만 빠르게 사용자층을 넓혀가고 있는 에디터입니다.
VSCode의 장점을 꼽자면 매우 가볍고 빠르게 구동된다는 점과 모던한 UI를 가지고 있어 시각적 만족감이 크다는 것에 있습니다.
원래 사용될 후보로는 Atom, sublime text 3, Notepad++ 등이 있었으나 Atom의 경우는 큰 용량과 상대적으로 프로그램이 무거워서 후보군에서 제외되었고, Sublime text 3는 다른 점은 괜찮았지만 유료라는 점에서, Notepad++는 최악의 UI 디자인 때문에 탈락하게 되었습니다.
(clien의 hexley님이 올리신 Atom, Sublime Text3, VSCode 비교글이 더 자세하고 기술적인 내용이 많으니 참고하시면 좋을 것 같습니다.)
다만 VSCode에서도 단점은 있었는데 여러 개의 작업 폴더를 열 수가 없는 것입니다.
-VSCode의 작업 폴더
예를 들자면, VSCode에서 Node-project라는 폴더를 열어서 작업을 하던 도중에 Spring-project이라는 새로운 폴더를 밑에 열고 작업을 하려고 하는 것은 ‘불가능’ 하다는 이야기입니다. 이클립스의 워크스페이스 변경처럼 VSCode가 재시작 되면서 작업중인 폴더를 변경하는 것만 가능합니다.
따라서, 여러 프로젝드 개발을 동시에 하려면 폴더를 왔다갔다 할 때 마다 VSCode를 재시작 해야합니다. 물론 여러 프로젝트 폴더를 모두 포함하는 상위 폴더를 작업 폴더로 지정함으로써 문제를 해결할 수도 있습니다.
위와 같은 단점이 있지만 VSCode를 이용해 백앤드만 개발한다면 그런 문제는 아무런 상관이 없기 때문에 훌륭한 디자인과 부족함 없는 확장 기능들을 가지고 있는 VSCode를 선택하게 되었습니다.
2부에 계속됩니다.
'프로젝트 > 동아리 관리 시스템' 카테고리의 다른 글
프로젝트 중단 (0) | 2018.09.04 |
---|---|
개발 환경 구축하기 2 (0) | 2018.01.08 |
동아리 관리 시스템 개요 (1) | 2018.01.02 |