최근 개발 기록 (잡담 / feat: legacy project)

Table of Contents

[TOC]

1. 개요

이전 프로젝트를 마치고 요양 겸 1달정도 쉬기로 했"었"다. 쉬면서 개발내용 복기도 해보고, 블로그도 정리하고, 운동도 좀 하고...

여튼 정말 푹 쉬면( 그런데 일 할때만큼 피곤했던건 함정... )서 지냈다.

그러다 한달이 지나고 다시 프로젝트 요청이 들어와 전화로 내용을 브리핑을 받았는데........

부장님 : 차장님 잘 쉬셨나요?
나 : 아. 네 그렇죠.
부장님 : 이번프로젝트 xx월 xx일에 시작하니까 그 때 xx 로 오시면 됩니다.
나 : 아! 네 알겠습니다.
나 : 그런데 이번 프로젝트 뭐 어떤거 한답니까?
부장님 : 관리프로그램인데.
부장님 : 그런데 이번에는 react 안쓰고 스프링부트 에다 jsp 써 달라고 하네요.
부장님 : 뭐 새로 배우고 이런거 싫다고 xx 프레임워크도 안쓴데요.
부장님 : java 는 8버젼으로 맞추고 스프링부트랑 tiles 도 거기에 맞춰서 준비해 주시면 돼요
나 : ..... 아........ 네....... 그럼.. 프로젝트 수행기간은 어떻게 되나요?
부장님 : 3월에 마무리 하는걸로 알고 있어요.

3월이면 대화시점 기준 4개월 남았었다..

일단 여기서 1차적으로 멘탈이 나갔다.

보나마나 프로젝트 계약협상 진행했던 사람들이 아마도 이런 대화를 하지 않았을까 하는 생각이(확신이) 들었다.

예산이 좀 빠듯한데.
인원이랑 기간 조정 좀 하죠
react, vuejs 이런거 쓰려면 어렵고, 준비하는 기간도 있고 하니까 빼고
최대한 단순한 구조로 가시죠
xx프레임워크 이런것도 빼고 간단하게 찍어낼 수 있는 jsp 랑 tiles 조합해서 쓰시구요.
아. 네 jsp면 쉬우니까 사람들이 금방 만들 수있을거예요.

(참고로 여기서 말하는 xx프레임워크라는것은 고객사에서 자체 개발한 프레임워크다, 즉 자기가 만들어놓은걸 자기가 쓰기 싫다고 하는 셈....)

라는 대화를 하지 않았을까?..

하..... 아주 x발 존나좋구나....

이런 사람들 특. "프레임워크 쓰지말고 쉬운걸로 개발하라고 했지만. 기능자체는 프레임워크에 있는것들을 원하기 때문에"

프레임워크에서 사용했던 것들을 맨바닥에서 거의 날것으로 다 만들어야 하는 상황이다..

(예를들면 ReactJS / VueJS 같은 어려운거 쓰지 말고 SPA 구현해 주세요... 같은...)

필자의 개발 포지션인 공통파트 의 특성 상, 개발자들이 본격적으로 비즈니스 로직을 개발하기 전

기초적으로 다져두어야 하는 많은 것들을 준비해야 하는 형편으로, 항상 시간에 쫓기는 편이라

"전에 잠깐듣기로 이번에도 같은 프레임워크를 사용한다"고 해서.

쉬는동안 프로젝트에서 했던것들, 힘들었던 요소들을 하나하나 복기 해보면서 꽤나 많은 부분을 준비해 놨었다.

"이번 프로젝트는 펑펑 놀면서 할거야!"

라는 생각으로.......

2. 그런데...

기말고사 전날인데 시험범위를 잘못 공부했다!!!!!!!

고생좀 덜 하려고 미리 준비했던 것들이 모조리 헛수고가 된 셈이다.

요구사항이 어떻게 될지 모르겠지만. 듣기에 4개월짜리 짜친 프로젝트라

일단은 기본적인것이라도 마련해 가려고 부랴부랴 jdk8 다운로드 받고 간단한 spring-boot 구성하고

의존 라이브러리들 nexus 로 떠 놓고 하다 보니 다시 부장님한테 연락이 왔다.

지금 전체 감사 중이라 예정보다 일주일정도 늦게 들어갈 거 같아요.

뭐.. 불행인지 다행인지 모르겠지만. 조금 더 준비할 시간이 생겼다.

그래. 이왕 이렇게 된 거 legacy 프로젝트도 함 만들어 보자. 라는 마음으로 만들어 보았다.

(주소는 아래 링크에..)

Legacy Spring-java 프로젝트 템플릿
https://gitlab.ntiple.com/developers/legacy-java-was.git

급하게 만드느라 README 등은 대충만 써놨다.

일단은 기본적으로 jdk-8, spring-boot, spring-security, open-api, jsp, tiles, mybatis 등을 준비했고,

프론트엔드로 쓸 것은 jqueryjquery-ui 를 기본으로 쓰고, vuejs브라우저 버젼으로 템플릿 기능만 쓰도록 한다.

레이어 팝업과 몇 몇 컴포넌트, 그리고 validation 기능은 게시판 프로젝트 때 만들어 둔 "기초 웹 개발 프레임워크" 에서 포팅했다.

구간 암호화/난독화 기능은 crypto-js(AES) 와 JSEncrypt(RSA) 를 쓰도록 하고.

퍼블팀과의 협업을 위해 실시간 sass 컴파일러 까지 준비했다. (비록 HMR 까지는 안되지만...)

그리고 완료상태는 아니지만. 사용자 메뉴관리 기능과 권한관리 기능 도 반개발 상태 로 구현해 두었다.

두서없이 정리하지 않고 만들어 두기는 했지만.

(정말 정신없이 준비해서 구조라던가 설정들이 조금 엉망이기는 하다.. javax-servlet 패키지와 jakarta-servlet 패키지가 공존하는 등...)

썩 맘에 들지는 않지만. 여기까지 해 두니 그래도 최소한의 준비까지는 된 듯하다.

3. 그런데 (x2)...

낼 모레 출근할 생각으로 쉬고 있었는데 갑자기 프로젝트 주선해 주신 이사님께서 연락을 주셨다....

이사님 : 차장님! 연락 들으셨나요?
나 : 네 ? 무슨 연락이요?
이사님 : 이번에 들어가기로 한 프로젝트 말인데요.
이사님 : 감사때 이것저것 문제 되는것이 있어서 잠정 보류되었어요.
이사님 : 지금 현장에 있던 인원들도 해산한 상태예요.
나 : 네? ... 그럼 프로젝트 어떻게 되는건가요?
이사님 : 재협상 하고 아마 한 3주정도 있다가 재개 할 듯 하네요.
이사님 : 그리고 감사에서 xx프레임워크 만들어놓고 왜 안 쓰냐고 날뛰어서 다시 쓰기로 했대요.
이사님 : 기간도 7개월로 늘리고 인원편성도 다시 한다고 해요.

나. 여태까지 모한고야?....

마지막에는 거의 이틀정도 밤을 새면서 만들었는데...

그것도 출근하기도 전에......

하........

기왕 이렇게 된 거 컨텐츠로나마 써 먹자.

그래서 다음 포스팅은 "Legacy Java-Spring 프로젝트 삽질기" (아마 2~3 부작 정도...) 가 될 듯 하다..

실전에는 쓸모 없을지는 몰라도 원리구현 이라던가 오히려 설명하기는 이쪽이 편할듯...

Legacy Spring-java 프로젝트 템플릿
https://gitlab.ntiple.com/developers/legacy-java-was.git

구동 화면은 아래와 같다..

(대충 필요한 샘플만 구현해 놓은 반구현 상태이기 때문에 본격적인 기능들은 코드 리뷰를 통해 설명할 예정이다..)

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다