Spring Boot의 장점 - Java가 컴파일 언어라 문법 에러를 잡아줌 - Bean 개념(일종의 싱글톤같은 느낌이라고 볼 수 있다) ㄴ 코드 구조 단순화, 단위 테스트 단순화 - Java 관련 검색시 에러 해결법, 라이브러리가 많다 단점 - Java가 인터프리터 언어 입장에서 봤을 때 쓸데없다고 느껴지는 코드들이 있다 - 가벼운 프로젝트를 만들기에는 따져야 할게 많아서 코드양이 많아서 적합하지 않다 - 공부해야할게 많다 일단 이미 필자가 이 회사에 왔을 때 Python으로 간단하게 API를 만들 수 있는 Flask로 웹 개발까지 하는 구조였다. 생각보다 그렇게 큰 규모는 아니였음에도 개발자마다 개발하는 방식이 다르기 때문에, 구조가 중구난방으로 개발이 되었다. 또한 Python은 인터프리터언어이기 ..
필자가 다닌 첫회사는 모든 SQL문을 프로시저화 하는 회사였다. 충분히 납득이 가는 이유였다. 큰 쿼리는 줄수만 1000줄이 넘어가는 경우도 있었기 때문이다. 그러나 프로시저는 그래도 배포에 대한 부담감으로 다가왔다. 배포를 할때마다 변경한 프로시저를 일일이 수정해주는 방식으로 가야했기 때문이다.(게다가 배포 실수 가능성으로 인해 배포 전 백업까지도 해야했다.) 이 과정은 당연히 자동화되어있지 않았고 일일이 사람 손으로 해야했다. 자회사로 오게 된 이유, 쿼리 길이가 그닥 길지도 않았고 프로시저를 만드는 작업이 번거로운 면도 있었기에 쿼리를 소스코드안에 넣는 방식으로 작업을 진행했더니 배포가 훨씬 더 편리해짐을 느낄 수 있었다. 이런 식으로 방법을 바꿔보니 소스코드내 쿼리를 넣는 것에 대한 장점이 확 와..
요약 수동으로 빌드파일만 배포할 경우 문제점 - 빌드 파일이 많을 경우 빠뜨릴 수 있음 - 로컬에서는 되는데 배포하니 안될 수 있음 Docker - 서버 셋팅의 반복작업이 없음(Dockerfile에 작성 가능) - 로컬PC에서 서버와 같은 환경 테스트 가능 docker-compose - Docker 명령어 실행시 사용하는 옵션이 많은 경우 이를 파일화 가능 젠킨스 - 구축이 완료된 상태에서는 Build Now 버튼만으로 쉽게 배포가 가능 - docker와 함께한다면 구축 과정도 훨씬 간단해질 수 있음 - git과 연동하여 git push한 후 Build Now만으로 알아서 pull받고 빌드처리(docker에서)까지 마칠 수 있음 현업에 뛰어들고 나서 개발자로써 일을 하면서 가장 힘들었던 부분은 '배포'였..