일상/🏢 2022-23 실무경험

[2주차] 여의도 증권사 실무

letzgorats 2022. 12. 26. 17:19

12.26 (월)

- 오늘은 좀 여유롭게 회사에 도착했다. 주말에는 크리스마스지만, 집에서 좀 푹 쉬어서 비교적 피곤하지 않은 아침이었다.

- 오늘 출근길에 오늘의 운세를 살짝 찾아봤는데, 난관이 있다고 해서 조금 긴장이 됐다.

- 점심은 혼밥으로 KFC에서 햄버거를 먹었다. 그냥 구내식당에서 먹을까 했는데, 진교형도 따로 약속이 있으셔서 그냥 밖에서 혼밥을 했다.

 

- 오늘은 jsp파일에서 엑셀로 저장하는 방법에 대해 찾아보면서 게속 주어진 업무에 고민했다.

- 두 가지 방법으로 고민을 해봤는데, 

 

1. o4203o_05.jsp 파일이 엑셀저장을 눌러을 때 조회된 내용을 엑셀로 뿌려주는 jsp파일인 것 같아 조회를 눌렀을 때 나타나는 페이지인 o4203O_01.jsp 내에서 함수를 작성해 이 파일을 그대로 뿌리는 방법 과

2. 애초에 Svc 자바 파일을 수정해서 proc_flag 값을 따로 설정한 다음에 Dao 파일에서 selectDataToList 함수를 만들어 results를 반환해 jsp파일에 적용시키는 방법이었다.

 

하지만, 하다가 계속 오류가 뜨고 진행되지 않은 느낌이라 조금 좌절했지만, 개인 노트북을 가져와서 구글링을 하면서 고민해봤다. 진교형도 다 이런 시절이 있었다고 고민해보면서 하면 다 된다고 해서 자신감을 얻었다 오늘은 화면에 보이는 데이터를 엑셀 파일로 저장하는 방법에 대해 계속 공부한 것 같다. 나중에 퇴근 몇 분 전에는 프로그래머스 문제 하나도 풀어봤는데, nonlocal변수에 대해 좀 살펴볼 수 있었다.

1️⃣ JSP에서 DB를 연동해 데이터 값을 Excel로 다운로드 하여 보고 싶을 경우에는 아래와 같은 내용을 '본 페이지 jsp'와 '엑셀jsp'에 추가해줘야 한다. 

'본 페이지 jsp'는 이런 형식으로 되어 있다면 function을 추가해 주자.
<html>
....

function toExcel() {

..var address = "/jsp/excel.jsp?title=타이틀&file_name=리스트.xls";
..location.href = address;

}
....
<body>
....
<a href="javascript:toExcel()"><strong>Excel파일저장</strong></a>
....
</body>
</html>

'엑셀 jsp'에서는

// contentType 설정
<%@ page language="java" contentType="application/vnd.ms-excel;charset=UTF-8" pageEncoding="UTF-8"%>


// 응답 헤더 값 설정
<%
	...
	response.setHeader("Content-Disposition", "attachment;filename=excel.xls");
	response.setHeader("Contetn-Discription", "JSP Generated Data");
    ...
%>
를 추가해준다. 저장할 시에 기본적으로 설정되는 파일명을 지정하고 반드시 attachment로 설정을 해야 (파일열기,저장) 중에 선택하는 메시지가 뜬다.

2️⃣ global 변수와 nonlocal변수의 차이점
def print_nums():
    num = 0

    def change_num():
        num = 100
        print(num)

    change_num()
    print(num)

print_nums
위에서는 num이 100,0으로 출력된다. 이는 variable shadowing현상으로 change_num() 함수 안에서 num이라는 새로운 지역 변수가 생성되었기 때문이다.
만약에 change_num()함수 바깥에서 선언된 num 변수를 change_num()함수 안에서 갱신하고 싶다면 num 앞에 nonlocal 키워드만 붙여주면 된다. 
def print_nums():
    num = 0

    def change_num():
        nonlocal num
        num = 100
        print(num)

    change_num()

    print(num)

print_nums()

이번엔 num이 100, 100 으로 100이 두 번 출력된다.
nonlocal을 쓰는 것은 백준처럼 모든 코드를 구현할 때는 남용하진 않겠지만, 프로그래머스 처럼 함수안에서 또 다른 함수를 구현할 때 필요할 때도 있을 것 같다.


12.27 (화)

- 오늘은 조금 피곤했다. 8시 정시 출근을 하고야 말았다. 내 자신을 더 긴장하면서 조금 일찍 출근하는 습관을 더 들여야겠담,,ㅠ ㅅ ㅠ 

- 아침에는 "MTS DC 가입신청 가입일을 최근 기준" 으로 정렬하는 Dao java파일내에 있는 쿼리를 수정했다. 쿼리를 수정하는 것은 저번주만 해도 겁먹었는데, 구조가 이해가 가니까 바로바로 해결할 수 있었다.

- 어제 했던 "만기상환-재매수방법지정에서의 조회" 시 엑셀 파일로 저장되는 작업을 계속 진행했다. 오늘은 조금 제대로 뜯어보면서 구조를 살펴봤다. 한 이틀째 로그 찍어보고 오류 잡고 하니까 어떻게 돌아가는지 감이 약간 잡혀서 기분이 뿌듯했다. 항상 좌절을 맛봐도 그냥 계속 하면 되는 것이 이치 인가보다.

- 엑셀파일이 열리기 전까지는 로그를 찍어보면서 제대로 로직이 흘러가는지 확인을 했다. 도통 왜 안 열리는지 모르겠지만, successFLAG 로그까지 떴는데도, 계속 엑셀이 안열렸다. 어제랑 똑같은 래퍼토리가 이어졌다.

- structs파일에서 특정 PROC_FLAG 에 맞는 jsp파일을 열려는데,  null Exception이 어디서 나오는 것 보면 아마 jsp파일 내부에서 값을 받아오는 것에 대한 오류가 난 것으로 확신이 들었다. 미리 만들어져 있던 엑셀jsp 파일을 의심해 볼 필요가 있었다.

- 사수인 진교형도 신입 초창기 때 이런 똑같은 오류를 본 적이 있다고 해서 "아 틀린 방향은 아니구나!"라고 느껴서 더 열심히 살펴봤다.

 

- 점심은 퇴직/신탁 부서인 우리팀 차장님과 과장님 한명과 진교형과 나 이렇게 넷이서 식당을 가서 먹었다. (다른 과장님은 코로나에 걸리셔서 이번주에 재택근무를 하신다고 하셨다.)

- 나는 차장님과 똑같은 메뉴인 뚝배기불고기를 먹었는데, 너무 맛있었다,,ㅠㅠ여의도식당 역시 비싼값한다!

- 차장님이랑 두 과장님 다 성격도 좋으시고 멋있으신 것 같다. 뭔가 우리팀은 다 멋있는 남자들이 모인 진짜 "남자의 팀" 처럼 느껴진다. 다들 매력이 철철 흐르신다.

 

- 오후에는 추가로 프론트에서 요청하신 "플랜이전인수(타사->당사)" 메뉴의 두 번째 탭에서 이전접수를 눌렀을 때 '송금받을금융회사명' 을 '송금받을계좌주명'으로 수정하는 하드코딩도 했다.

- 오늘은 jsp와 Dao파일, SVC파일 Strut 관계에 대해 조금 더 이해가 깊어진 것 같은 하루였다.( 추후에 한 번 정리해보자 )

1️⃣ 로그에 관련한 많은 이야기들
- 로그를 찍다가 log.debug나 log.info 등의 로깅 수준에 따라 로그를 다르게 찍어야 할 필요가 있다.
- 물론 System.out.println 으로 테스트해도 상관없을 수 있다. 하지만, 운영시에는 삭제를 해야하는 불편함과 log4j 같은 라이브러리를 사용함으로써 debug ,info, error 로 단계가 나누어져있어서 '개발시에는 debug레벨', 운영시에는 'info 또는 error 레벨'로 올려서 하면 로그파일관리도 편리하다고 한다.
- 관리차원의 편의성도 있지만 native IO 자원을 사용하는 System.out.println 는 log4j 이나 java 의 Logger 클래스와는 성능상 100배까지 까지 차이가 난다. ms 단위의 미비한 차이지만 많은 사용자가 이용한다면 차이가 크겠지!?
- 만드는 코드는 결국 개발계에서 운영계에 올라가는데, 운영계에서도 로그를 찍어야 할 텐데 운영계에 올라가는 시점에서 수정하진 않을거니까 그럴바엔 개발 초기에 로그를 잡고 가는게 좋다!

12.28 (수)

- 오늘은 문제를 해결하고 추가적으로 업무를 쭉쭉 할 수 있을 것 같은 자신감으로 출근했다..하지만, 오늘은 입사 이후로 가장 열심히 뛴 아침이 아닐까 싶다. 지각은 면했지만 아침에 급한 모습은 보기 안 좋기에 내일은 정말 여유롭게 와봐야겠다.

- 오늘 깨달았다. 결국 내가 수정한 엑셀 jsp는 기존에 다른 곳에서 쓰이고 있었던 엑셀 jsp였다는 것을 말이다..진짜 좀 허무했지만, 다시 할 수 있다는 자신감을 가지고 새로운 jsp파일을 만들어서 해당 문제를 해결하려고 오전을 갈아 넣었다.

- 퍼즐이 하나씩 맞춰져 갈 때마다 뭔가 짜릿하고 뿌듯했다. 

- 재기동하는 방법까지 숙지하고, 새로운 jsp파일을 만들고 struts.xml에 파일을 연동하니까 제대로 엑셀이 열리기 시작했고, 이제 값을 불러오는 것만 제대로 하면 작업을 완료할 수 있었다. 오전에는 모든 필요한 파일들을 만들고 수정했다.

- 점심은 진교형이랑 같이 구내식당에서 밥을 먹었는데, 구내식당의 만족도는 항상 100점이다 ㅎㅎ5천원의 행복이다 진짜로..! 양도 푸짐하고 영양도 좋고..한 달에 7번 무료라는데...군침이 싹 돈다. (물론 난 정규직이아니라 사먹어야한다)

 

- 오후에는 파일을 모두 빌드하고 재기동하는 방법을 숙지하고 실행한 뒤 작업을 테스트해봤다...드디어!! 엑셀을 제대로 저장할 수 있었고, 조회한 해당 쿼리가 제대로 들어가 엑셀에도 정확한 내용을 뿌려줄 수 있었다. 진짜 너무 뿌듯했다..추가로 엑셀에 필요한 칼럼과 그에 따른 내용과 재매수운용방법에 따라 출력할 수 있도록 하는 작업을 수행했다.

- struts파일과 jsp파일과 Dao파일, 그리고 svc파일을 알맞게 수정하고 추가했다. 특히, 재매수운용방법에 따라 출력하는 처리는 DECODE 구문 하나를 쿼리에 추가함으로써 바로 완료할 수 있었다.

- 이로써 "입금/운용 - 만기상환 - 재매수방법지정 - 엑셀 버튼 추가"  와 "입금/운용 - 만기상환 - 재매수방법지정 - 엑셀 저장 기능하는 새로운 jsp파일 만들고 새로만든 SVC파일, Dao파일과 연동하기 "를 완료했다.

- 추가로 "플랜/가입자-가입자투자상품등록-가입자투자상품미등록조회" 에서도 엑셀저장버튼을 추가하고 엑셀 jsp를 생성하고 만드는 작업을 오늘 오후동안 바로 처리할 수 있었다.

- 이틀동안 주어진 업무를 파고드니까 구조를 제대로 이해하면서 해낸 느낌이 들어 뿌듯한 하루였다. 이제는 손도 조금은 빨라져서 실력이 느는 느낌이 살짝 들었다,,! (아직 뭐 아무것도 아니지만,,ㅎㅎ)

- [   DECODE(IO6.REBUY_DIV,'0','동일상품','1','자동투자비율','2','직접입력','3','엑셀업로드','4','현금','5','디폴트옵션','-') AS REBUY_DIV  -- 재매수 방법  ]구문을 SELECT 절에 추가해줌으로써 DB에 저장된 재매수운용방법의 값에 따라 지정값이 나오도록 했다.
- 주택청약에 대해 살짝 알아봤다. 내년 1월부터는 한달에 꾸준히 넣어야겠다! (1년기준 12번이니까 매달 넣어야한다)

12.29 (목)

- 아침에 어제 했던 작업을 최종 마무리하고 오늘은 새로운 업무를 할당받았다. 이제까지는 홈페이지 내부에서만 동작하는 기능과 페이지를 개발했는데, 오늘은 모바일 트레이딩 시스템(mobile trading system)-MTS에 대해 직접적으로 개발하게 됐다. 9시 50분에 MTS 개발을 진행하면서 작성해야 하는 인터페이스 정의서 형식의 엑셀파일과 휴대폰화면에서 어플을 눌렀을 때 어떤 로직으로 흘러들어가는지 나와있는 MTS_퇴직연금_디폴트옵션 ppt를 전달받았다. 그리고 서비스를 새로 딸 때, 그냥 xml파일이 아니라 _mts가 포함되어있는 applicationContext xml파일을 수정하고 재기동해야 하는 것도 숙지했다. MTS 테스트를 하는 새로운 링크를 전달받고 MTS와 RK 사이에 주고 받는 송수신 데이터를 파악하고, 그에 따라 코드를 써내려가는 작업을 진행했다.

- 점심은 진교형이랑 구내식당에서 먹었다. 구내식당에서 밥을 먹으면서 일상 얘기도 하고 업무에 대해 궁금한것도 많았지만 공부를 하고 물어보려고 한다. 

- 오늘 오후에도 계속 MTS화면에서 "가입자의 정보변경페이지"의 송수신 데이터를 찾아갔는데, 실제 홈페이지에서 해당 기능을 하는 페이지로 들어가 로그를 찍어가보며 뭐가 뭔지 찾으면서 엑셀을 채워나갔다. 즉, 인터페이스 정의서를 작성하면서 PPT에도 화면단에서 각 용어들이 RK에서 어떤 key들인지 찾아서 PPT에 추가했다.

- 일을 하면서 페이지도 만져보며 적응하는 도중, 사수인 진교형과 차장님 그리고 부장님과의 회의를 잠깐 진행했다. 부장님께서도 뭘 하는지 알아야 개발하는데에도 재밌을 것이라고 말씀해주셨다. 하나하나가 다 경험이라서 이런 회의를 참여하는 것도 다 감사했다.

- 진교형이 PPT를 넘겨가면서 어떤 플로우로 어플이 흘러가는지를 설명하였고 프론트단에서 전달받은 것은 어떤 것이고, 어떤 식으로 작업할 것이며 기간을 얼마나 걸리는지 등등 최종 프로젝트의 마감 예정 날짜도 포함되는 발표안을 간략하게 선보였다. 굉장히 짧았지만, 실무에서는 어떤 프로젝트를 진행할 때 이런식으로 하는구나 라는 것을 느낄 수 있었다.

- 부장님께서는 나의 의견도 물어보면서, 디폴트옵션이 뭔지 아느냐, 예수금이 뭔지 아느냐 등등 취준생으로서 나중에 도움이 될 만한 공부내용을 짚어주셨다. 또, 진교형한테는 이 프로젝트는 진교형은 36일이라고 했는데, 프론트 단에서 3월 초까지는 개발테스트까지 다 완료한채로 넘겨달라고 했다고 하는데, 다른 프로젝트도 있지 않냐고 언급하시면서 한 번 협의를 해보라고 하셨다. 개발 테스트까지 완료한 기한이 36일이면 여러가지 다른 업무도 고려하면 2달 반이라고 일단 말하라고 하고 프론트단이랑도 PPT상에 의견이 다르게 해석될 수 있는 사안에 대해 나중에 모여서 회의도 진행하기로 일정을 잡으라고 하셨다. 정말 필요한 부분만 확실하고 정확하게 회의하는 부분이었고, 굉장히 신선하면서 학부 프로젝트는 정말 아무것도 아니라고 느꼈다.

- 부장님이 나가시고, 차장님과 진교형이 서로 이해가 다른 부분에 대해 잠깐 토의한 후, 해결을 하고 회의를 끝냈다. 회의를 끝내니까 뭔가 더 책임이 막중해진 느낌이다. 물론 내 역할은 아주아주아주 미미하겠지만 뭔가 그런 느낌이 든다.

- 오후에도 맡은 업무를 하면서, 디폴트 옵션이 무엇이고, 예수금이 무엇이고, DB,DC,IRP가 무엇인지 살짝살짝 찾아보면서 공부했다.

1️⃣예수금 , 증거금 비율
: 주식거래를 하려고 증권계좌에 넣어둔 돈을 예수금이라고 한다. 편하게 주식 거래 전 지갑에 넣어둔 돈이라고 생
각하면 되는데, 예수금도 한 번에 다 못 뺀다. 체결을 하고 이틀 후 쯤 돌려받을 수 있다
(주식은 거래가 이뤄지는 데 3영업일이 걸리기 때문이다. 바로 한국예탁결제원이란 곳을 거쳐 진행되기 때문).
예수금에도 그냥 '예수금', 'D+1예수금', 'D+2예수금' 이 있는데, 예수금'은 지갑에 있는 돈이라고 했으니, 자유로이 주식도 사고 은행계좌로 바로 넣고 뺄 수 있다. D+1예수금은 예수금에 'D+1'이 붙었으니 하루 지나 뺄 수 있다는 뜻이 되고, 'D+2'는 이틀 후 뺄 수 있다는 얘기가 된다. 중요한 건 정확히는 '영업일'이란 사실이다. 금요일에 거래했다면 주말을 제외한 월요일과 화요일, 이렇게 영업일을 기준으로 따져야 한다.

증권사 MTS(모바일트레이딩시스템)을 열고 주식을 사려고 종목을 검색하면 그 옆에 ''이란 작은 글씨 옆에 숫자 하나 써있는 것을 볼 수 있는데, 이걸 증거금 비율이라고 한다. 우리가 주식을 살 때 한 번에 그 값을 다 치르는 게 아니라 처음에 계약금처럼 일정 비율만큼 먼저 지불하는 데 그 계약금이 얼마인지를 보여주는 게 바로 이 '증'이 되겠다. 그리고 3영업일째 남은 잔액을 치르도록 되어있다. 이 수치는 종목마다 증권사 마다 다르니 거래 시 확인이 필요하다.

(ex)
가령 주당 10만원 하는 주식을 사려는 데 '증 30'이라 써 있다면 매수 주문을 걸었을 때 첫날 3만원 만 빠져나가고 이틀 후 남은 7만원이 자동 결제되는 식이다. 이걸 모르고 거래 첫날 "어? 주식을 샀는데도 계좌에 꽤 돈이 남아있네, 그럼 다른 주식도 사볼까" 하면서 이것저것 사들였는데 이틀 뒤 잔액이 빠져나가야 할 때 막상 돈이 부족해 당황할 수 있으니 나중에 잔액이 뒤늦게 빠져나갈 것도 계산해야 한다.

팔 때도 이 시스템을 잘 확인해야 하는데, 매도 주문을 걸어 체결이 되면 그 돈을 바로 가용할 수 있는 게 아니다. 우선 그 돈은 D+2예수금이 되고, D+1예수금을 거쳐 예수금에 도달했을 때 비로소 지갑처럼 은행계좌로 옮겨 사용할 수 있게 된다! 그러니 왜 주식을 팔았는 데 돈을 쓸 수 없는 것이냐며 당황하면 안된다. 이 과정에서 수수료나 세금이 제외될 수 있으니 참고하자!
(참고출처: 뉴시스 뉴스)

2️⃣ 디폴트 옵션
: 여기 자세히 설명되어 있다.
: 디폴트옵션 여부는 퇴직연금 가입자가 별도로 운용방법을 고르지 않으면 자동적으로 사전에 지정된 포트폴리오를 운영되도록 한 것이다. 대체로 DC(확정기여)형 퇴직연금 가입자가 이를 방치하기 때문에, 이 제도가 빛을 발휘할 수 있다.
※ 왜 사람들은 DB(확정급여)를 안할까?

3️⃣ DB, DC, IRP
: (추후 정리) 

더보기

[퇴직급여제도]
- 퇴직연금제도: 퇴직급여를 외부(금융기관)에 적립, 운용 → 안전
- 퇴직금: 퇴직급여를 회사 내부에서 관리 → 불안
🔻
[퇴직급여제도]
- 퇴직연금제도: 확정급여형(DB), 확정기여형(DC), 개인형퇴직연금(IRP)
- 퇴직금
🔻
 차이 1. Q) 근로자 개인이 퇴직연금 적립금을 직접 운용할 수 있는가?
- 확정급여형(DB): X  사용자가 운용
👉️ 적립금을 사용자가 운용하고 근로자는 사전 확정된 퇴직급여를 수령
- 확정기여형(DC), 개인형퇴직연금(IRP): O 개인(근로자)이 직접 운용
👉️ 적립금을 근로자가 운용하고 퇴직시 적립금과 운용손익을 최종 급여로 수령

 차이 2. Q) 모든 퇴직연금제도를 자유롭게 가입할 수 있는가?
- 확정급여형(DB), 확정기여형(DC)
👉️ 사용자가 퇴직하는 근로자에게 급여를 지급하기 위하여 설정
- 개인형퇴직연금(IRP)
👉️ 소득이 있는 모든 취업자는 자유롭게 가입 

즉, 확정급여형(DB) 또는 확정기여형(DC) 퇴직연금제도가 설정된 사업장의 근로자
노후대비를 위해 추가로 개인형퇴직연금(IRP)에 가입할 수 있습니다. 

🔻

◆ 퇴직연금 이래서 좋아요!
- 퇴직급여를 꼬박꼬박 금융회사에 적립합니다!
: 근로자는 사용자의 적립금으로 체불 걱정없이 퇴직급여를 수령하고, 사용자는 부담금 납입금에 대해 법인세(사업소득세)를 절감할 수 있습니다.
- 적립금 운용수익으로 사용자 부담은 줄이고, 퇴직급여는 늘리고~
: 사용자는 확정급여형 퇴직연금의 운용수익으로 퇴직급여 지급 부담을 낮추고, 근로자는 확정기여형 퇴직연금의 운용수익으로 퇴직급여를 증액시킬 수 있습니다.
- 퇴직급여 연금으로 수령이 가능합니다!
: 회사를 옮기더라도 개인형퇴직연금(IRP) 제도를 통해 퇴직급여를 계속 적립하고 55세 이후 연금으로 수령하여 다양한 노후설계가 가능합니다.
: 특히 관심 높은 DC형과 IRP의 경우 투자 수익 이외에도 연말정산 세액공제의 혜택이 있지요.
* 최대 연 700만원까지 세액 공제가 가능.(단, 연금저축에 가입되어 있는 경우에는 연금저축과 퇴직연금을 합하여 연 700만원 까지)

[예시]
- 총급여 5,500만 원 초과: 700만 원 X 13.2% → 92만 4천 원 공제
- 총급여 5,500만 원 이하: 700만 원 X 16.5% → 115만 5천 원 공제


12.30 (금)

- 오늘은 사수인 진교형이 휴가를 쓴 날이라서 사수가 없는 첫 날을 맞이했다. 오늘은 어제 썼던 PPT를 다시 한번 수정하고, 엑셀파일도 다시 정리했다.

- 퇴직연금 MTS 테스트 페이지 메뉴에서 "퇴직연금관리-가입자 정보 조회" 에 해당하는 jsp파일과 Svc파일과 Dao java파일을 다 생성하면서 수정했다. 로그를 찍어가면서 MTS화면으로부터 받은 데이터를 우리가 처리해야 하는데, 그 처리를 SVC 파일과 Dao 파일에서 할 수 있도록 코드를 짜고 해당 처리한 데이터를 해시 Map에 담아서 다시 MTS로 보내야 하는 것이 업무의 흐름이었다.

- 공통 파라메터에 필요한 정보는 서버, tr_cd, proc_falg, 아이피주소, 암호화주민등록번호 인데, struts xml파일에 Dao와 Svc를 잘 연결하고 proc_flag에 맞는 jsp를 잘 열어주면 해결되는 문제였다. 이제 문제는 업무 파라메터에 사용자가 어떤 데이터를 조작하고, 조회하는지가 관건이었다. 

- 플랜번호와 가입자번호를 입력하고 조회하면, 해당 가입자에 대한 정보가 다 나올 수 있도록 해야 해서, 필요한 테이블이 꽤 있었다. 

- Svc에서 proc_flag에 따라 Dao파일에 있는 함수가 열리도록 해야 했고 Dao에서는 MTS가 아닌 웹페이지에서 똑같은 기능을 하는 SVC를 그대로 타게 하고 맵을 가져와서 다시 Dao에서 MTS SVC로 결과를 반환해주면 이를 resultMap에 담아서 jsp에 뿌려줘야 하는 것이 대략적인 틀이었다.

- SVC에서 업무 파라메터에 사용자가 입력하는 데이터를 paramMap으로 받아 selectData라는 함수의 인자로 그대로 쏴줬다. selectData함수에서는 subMap이라는 새로운 해쉬맵을 생성하고 flag가 '조회'에 해당하는 flag를 키와 값으로 담아주고 나머지 paramMap도 모두 putAll 해줬다.

- "ApplicationContext"라는 키값을 paramMap에서 찾은 후, 해당 context를 getBean함수를 통해 웹페이지에서 똑같은 기능을 하는 SVC객체를 넘겨주고, 선언한 새로운 CommonSVC 객체를 doService함수를 통해 subMap을 인자로 넣어 처리해줘서 새로운 맵 결과를 반환해주면 됐다.

- 이런 과정을 빌드와 로그를 수없이 반복하면서 깨닫게 되었다. 계속해서 로직이 이해되고 실력이 올라가는 느낌이다!

- 오늘은 상무님께서 차장님께 나보러 일찍 보내라고 하셔서 4시정도에 퇴근했다! 연말 선물을 받은 것 같아 기분이 좋았지만, 지갑을 보면 슬픈 연말이었다.(이 날은 부산에서 4년만에 올라온 군대동기와 약속이 있던 날인데, 하필 지갑이 너무 추웠지만, 부산에서 올라와서 어쩔 수가 없다. 멀리서 왔는데 돈을 쓰게 하는 것은 예의가 아니기에 꼭 사줘야 한다. 아마 오늘 지갑이 동 날듯하다.)

 

- 어느덧 2주차가 끝났다. 2023년에도 화이팅해보자

반응형