일상/🏢 2022-23 실무경험

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

letzgorats 2022. 12. 19. 17:30

12.19 (월)

- 오늘은 여의도 증권사에서의 첫 출근날이었다. 8시까지 출근이지만, 오늘 새벽에 카타르 월드컵 결승을 하는 바람에 잠을 거의 선잠으로 2시간 정도 밖에 못 잤다. 정상 컨디션으로 점심을 맞이할 수 있을지 걱정되는 아침이었다.

- 여의도의 첫 인상은 바쁨이었다. 생전 8시까지 출근은 해본적이 없다. 작년 겨울에는 수서역 부근에서 인턴을 했을 때도 9시까지 출근했었지만, 8시까지의 출근길에도 정말 사람이 많았다. 다행히 5호선에 사는 나로서는 출근시간이 25분 내외인 것은 정말 행운이다.

-  아침에, 학교 선배님이자 사수인 진교 형과 함께 7층으로 올라갔다. 엘레베이터에서 내리는 순간 사실 정말 숨막혔다. 뭔가 딱딱한 느낌이 들었고, 꽤나 한 사람 한 사람의 자리의 공간이 넓어서 누가 뭐하는지가 다 보였기 때문이다.

- 증권사라서 아무래도 포멀한 옷차림으로 아침을 맞이하니, 졸리지만 정신이 괜히 번쩍 차려졌다. 아침에 여러 윗분들께 인사를 드리고 내 자리에 앉았다.

- 오늘은 여러가지 컴퓨터 환경 세팅으로 실질적인 실무를 하진 않았다.

Oracle에서 '(홑따옴표)와 "(쌍따옴표)의 차이

(')홑따옴표 : 문자열을 감싸주는 기호
(")쌍따옴표 : 컬럼명 등을 감싸주는 기호

컬럼명을 쓸때는 쌍따옴표, 문자열은 홑따옴표 !

WHERE 1=1 을 씀으로써 주석달기를 편하게 할 수 있다.

12.20 (화)

- 오전에 SVN 설정 변경에서 애를 먹었지만, 오후에 세팅을 다 받고 이제 본격적인 업무를 할 수 있었다.

- 점심식사는 서로 잘 모르지만, 이곳에서 근무하고 있는 학교 여학우 동기와 진교형이랑 구내식당에서 밥을 먹었다.

- 오늘 업무의 내용은 "운용기관메뉴 - 운용상품등록 - 수익증권종목등록/변경" 페이지에서 조회 조건 입력에 디폴트 옵션 여부(전체, N,Y)의 라디오 버튼을 만들어서 해당 버튼에 따라 페이지가 출력되도록 수정하는 작업이었다.

- 해당 페이지를 보여주는 jsp파일과 연동되는 Dao java 파일을 수정하면서 TiberoAdmin을 사용해 SQL 쿼리문으로 쿼리를 찍어봤다. 아직 장문의 쿼리는 익숙하지 못해서 뭐가 뭔지 정확하게 모르지만, 일단 해보면서 적응해봤다.

- 해당 조건을 추가하는 것을 얼떨결에 성공해서, 다음 업무로, "운용기관메뉴 - 운용기관정상품등록 - 정기예금상품등록" 페이지에서도 디폴트옵션 여부조건을 추가하는 작업을 부여받았다.

- 업무를 마무리하긴 했는데, 아직 시스템에 대해서도 미숙하고 모든 프로그램을 사용하는 것이 느리고 어려운 것 같다.

- 뭔가를 하긴 했지만, 제대로 알고 한 느낌은 아니어서 불안했다.

- 추가로, git과 svn의 차이에 대해 공부해봤다.

- git은 n개의 저장소가 있고, commit 하면 로컬에만 저장 되고, 원격저장소에는 영향이 가지 않는다. 따로 push를 하고 관리자에게 수정 요청을 확인받으면 비로소 원격저장소에 저장이 된다
- SVN은 1개의 저장소를 서로 공유하기에, commit을 하면 바로 적용이 된다
  SVN Git
사용법 간편하고 어렵지 않다. 다소 복잡하고, 초보가 이해하긴 어렵다
기능 버전관리에 최적화된 간편한 기능 다양한 기능이 존재, 이런 기능이 있어?라고 생각할 정도로 버전관리에 필요한 모든 기능이 존재
프로세스 중앙 집중식 분산 관리식
소스 충돌 위험 매우 높음 권한 설정을 통해 충돌 위험 감소
저장소 백업 여부 저장소 백업 여부가 용이하지 못함 git 저장소만 있으면, 리모트 복구 언제든지 가능(매우  용이)
다수 작업 관리 관리에 한계가 존재 수백~수천의 프로그래머의 분산 작업에 매우 용이
작업 내용 복구 다소 불편함 예전 리비전으로 복구가 매우 편리
브랜치 생성 다소 불편함 로컬에서 브랜치 생성 및 태그 생성이 매우 편리
- 데이터 소실을 예방할 수 있고 관리가 용이한 Git은 위와 같이 많은 장점이 있다. .

12.21 (수)

- 월드컵 때문에 망가진 패턴을 다시 돌리려고 몸이 적응중인 것 같다. 종강을 하자마자 바로 회사를 다니는 터라 힘들긴 하다.

- 하지만, 더 일찍 출근해서 아침인사를 드리도록 노력해야겠다. 너무 급하게 나와서 여의도역 5번출구의 긴 줄에 대처하지 못했다. 3번 출구로 나와서 엄청 뛰었다. 

- 그래서 오늘은 그저께와 오늘 보다 조금 늦게 도착했다. 뛰어오느라 땀을 흘려서 조금 빡센 아침이었다. 다시 마인드셋 해보자. 변명하지말자.

- 오늘은 내 사수인 진교형과 부장님과의 점심식사 자리가 있는 날이었다.

- 갈비탕집을 가서 식사를 했는데, 역시나 긴장이 됐지만, 편하게 대해주시고 부장님이 나에게 존대도 해주면서 비교적 편한 분위기에서 식사를 할 수 있었다.

- 흔히들 증권사는 약간 꼰대문화가 자리잡았다고 하는데, 진교형이 부장님을 대하는 것과 부장님이 우리들을 대하는 것에 대해서는 전혀 그런 것이 없고 편안하게 대해주셔서 너무 감사했다. 뭔가 배려 해주시고 생각해주시는 것이 너무 느껴졌다. - 이런 감사함을 잊지 말고 끝까지 예의를 지키고 항상 긴장해야겠다. 

 

- 오늘 업무에 있어서는 좌절을 맛봐서 심란한 날이었다.

- 아무래도 어제 한것을 그냥 감으로 때려 맞춘것이 큰 것 같다. 잘하고 싶은데, 아직 툴에 대해 너무 손이 느리고, 다들 업무 중이어서 물어볼 타이밍도 못잡겠다. 다시 업무시스템에 대해서 제대로 이해가 선수되어야 하고, 툴의 이해도가 아직 너무 부족해 프로그램 다루는 것이 먼저 되어야 쿼리를 짜든 jsp를 바꾸든, java파일을 수정하든 해야 할 것 같다.

- java파일도 뭐가 뭔지 제대로 이해도 못하고 그냥 감으로 때려맞히는 것 같다. 

- 퇴근 전에 필수적인 툴의 기능만 빠르게 물어봤고, 적어놨다. 구글링 하면서 계속 찾아봐야겠다.

- Tibero Admin에서 테이블 정보 보는 법과 전산시스템에서 보이는 페이지와 관련한 소스파일을 로그를 찍어보면서 찾고, 관련한 페이지를 eclipse에서 찾는 단축키와 커밋, 빌드 방법 등을 숙지했다.

- 로그를 찍어가면서 계속 뭘 수정했지만, 계속 오류가 났다.ㅠ

- 오늘은 그래서 할당받은 업무인 "플랜/가입자- 가입자등록 메뉴 - 가입자목록" 페이지에 옵션여부를 추가하는 것을 다 수행하지 못했다. 내 자신이 초라한 순간이었다.

- 테이블 select 서브쿼리에 있는 키값은 where절에 못쓴다.
- Tibero 툴에서 테이블에 대해 F9를 하면 테이블 정보를 다 확인할 수 있다. (PK가 뭔지, Script 참고할 수 있다)
- Eclipse에서 Ctrl + Shift + R 은 소스찾는 단축키이다.
- 함수를 타려면 함수에다가 마우스 갖다 대고 Ctrl 누른채로 이동가능 하다.

12.22 (목)

- 어제까지 3일연속 단벌신사여서 옷을 빨아야 했다. 아무래도 여의도는 정장같은 포멀한 것 밖에 못입기 때문에 평소에 그런 옷을 입지 않는 나로서는 어쩔 수 없이 옷을 샀어야 했다.

- 진짜 요즘 돈이 너무 없어서 어찌저찌 버티려고 했지만, 시형이가 돈을 빌려줘서 5만원에 셔츠와 반집업니트를 빠르게 살 수 있었다. 어제 퇴근을 하고 바로 샀다.

- 매번 몇 천원 짜리 빈티지한 구제옷만 사다가 진짜 몇 년만에 새 옷을 사니 괜히 기분은 좋았다.

- 오늘은 늦잠을 잤다. 6시 10분에 알람을 해놓는데, 너무 피곤해서 다시 잤다가 눈을 뜨니 7시였다. 하마터면 진짜 지각할 뻔 했다.ㅠㅠ

- 오전에는 어제 했던 업무를 이어서 했고, 공부하면서 계속 고민했다. 아직 너무너무너무 실력이 부족하고 내 자신이 초라하다. 로그를 계속 찍어가면서 다시 원복해서 차근차근 해봤는데, Null 값일 때 출력이 되어야 하는데, 안된다. 테이블 자체를 UPDATE할 필요가 있었다.

- 오늘 점심식사는 13학번 한샘이 형을 5년만에 만났다. 한샘이형도 여의도 증권사에서 일하신다고 해서 진교형이 약속을 잡으셨다. 진교형이랑 한샘이 형이랑 같이 셋이서 김치찌개를 먹었는데, 정말 오랜만에 만났는데도 좋은 말도 많이 해주시고 계속 조언해주셔서 너무 감사했다. 

- 최근 2달동안 너무 금전적으로 힘들어서 하루에 1끼만 먹고 그랬는데, 의도치 않게 4일연속 밥을 공짜로 먹다니..너무 감사하다.

- 빨리 돈벌어서 대출이자랑 밀린 휴대폰비, 카드값, 대출원금, 친구들에게 빌린 돈, 후불 결제, 교통비에 보태야한다.

- 추가로 NVL과 NVL2를 활용하면서 쿼리를 비교해봤고, 쿼리에서 콜론(;)의 의미에 대해 구글링해보면서 공부했다.

1️⃣
NVL, NVL2함수 -
널처리 함수로, data값이 null일 때, 임의설정값을 처리해주는 함수

NVL ("값" , "지정값" ) ▶ 값이
NULL 이 아니면, 기존값을 그대로 출력하고, NULL 일 경우, 지정값을 출력한다.
(ex) NVL ( salary, 0 ) : salary가 NULL 이면 0, NULL이 아니면, salary값 그대로 출력

NVL2 ( "값", "지정값1", "지정값2" ) ▶ 값이 NULL이면, 지정값1을 출력하고, NULL이 아니면 지정값2를 출력
(ex) NVL2 ( salary, "N" , "Y" ) ▶ salary가 NULL이면 N, NULL이 아니면 Y를 출력

2️⃣
쿼리에서 콜론(:) 의 의미
- 콜론(:)의 의미는 바인드 변수이다. 바인드 변수를 사용하면 단일 SQL 문을 여러번 재사용 할 수 있는데, 이를 활용하며 SQL injection 공격이 허용되지 않아 보안에 도움이 되고, 필요한 구문 분석의 양을 줄임으로써 성능에도 도움이 된다.
- Oracle에서 쿼리를 실행하기 전에 프로그램은 커서를 생성한다. 프로그램은 커서에 대해 파싱할 SQL을 참조하여, SQL에 의해 참조된 바인드 변수에 대해 값을 바인딩한다.

12.23 (금)

- 오늘은 어제 잇몸 이슈로 이를 거의 3시간동안 닦았다. 진짜 양치를 이렇게 오래한 것은 살아 생전 처음이다.

- 아마 치과를 꼭 가야할 것 같다. 돈이 없을 때, 꼭 돈이 빠지는 상황이 생기곤 한다. 저번에 축구하다가 갈비뼈 다쳤을 땐 어찌저찌 버텼는데, 음식을 못먹겠으니까 이건 치과를 가야할 것 같다.

- 어제는 엄청 늦잠을 자서 오늘 잠을 1시간 40분만 자고 출근을 했다. (물론 밥먹고 좀 자긴 했지만) 출근한 이후에도, 오른쪽 잇몸 위,아래가 엄청 아프고 피가 계속 났다.

- 잇몸이 너무 아파서 점심을 그냥 패쓰했다. 대신 칫솔을 가져와서 오늘 점심시간에 게속 양치만 했다. 오늘도 계속 피가 나고 아파서 빨리 병원을 가고 싶었다. 바로 여의도 부근의 치과를 예약했다.

( 치과 후기 : 이는 엄청 깨끗하고, 염증이 난게 아니라 양치를 너무 오래해서 잇몸이 다 헐어서 피가 났던 것이였다..최대한 양치를 약하게 할 필요가 있다고 진단받았다. 추가로 스케일링을 진행했다.)

 

- 오늘은 "가입자의 제도 구분에 따라 'MTS등록여부'와 '디폴트옵션여부'와 '디폴트상품설정 여부' 라디오버튼을

(전체, Y, N) 으로 추가해서 적절하게 쿼리에 따라 출력되고 jsp파일에 적용해 페이지에 보여지는 업무를 오전에 했다.

 

- java파일의 if,else문에 따라 쿼리가 적절하게 들어가야 해서 조금 복잡했지만, 계속 로그를 찍어보고 어디서 오류가 나고 어딜 수정해야 하는지 계속해서 수정하고 빌드를 했다. 특히, 가입자의 제도 구분이 IRP가 아니라 DB와 DC인 경우 예외처리를 하는데 시간이 좀 걸렸다. 플랜번호에 따라 쿼리가 다르게 흘러가기 때문이었다.

- 그래도 오전 점심시간 전까지 딱 끝낼 수 있어서 뿌듯했다.

 

- 오후에는 "플랜/가입자 - 가입자목록 조회" 클릭시 엑셀이 다운로드 되는 파일에 'MTS등록여부' 칼럼을 추가하는 작업을 진행했다.

- 이 때 jsp 파일을 찾아가는 방법은 해당 페이지에서 엑셀 다운로드를 클릭했을 때, 로그를 찍어보면, PROC_FALG 가 'RR2'인 것을 캐치해서 해당 페이지를 뿌려주는 jsp파일에서 RR2를 찾아서 해당 함수 인자가 RR2일 때, 엑셀을 저장한다는 주석을 찾았다.

 

- structs파일에서 '엑셀저장'을 찾고 어떤 jsp파일과 관련한 것인지 또 찾아서 그 파일을 수정하면 됐었다.

- 기존에 Dao파일명.java 는 수정했기에 jsp에서 적절하게 뿌려주기만 하면 됐었다.

- 'MTS등록여부' 칼럼을 선언하기 위해 변수를 새로 설정하고 조건에 따라 Map객체에 저장되어 있는 데이터를 iterator를 따라 불러와 변수에 저장해 적절한 위치에 뿌려주면 됐다.

- 그래도, 기존에 파일이 어느정도 만들어져 있어서 1시간만에 완료할 수 있었다.

SVN에서 update를 안하고 commit했을 때 충돌로인해 커밋이 안되면, replace with latest from repository를 해주고 다시 코드를 짜자! (Update 먼저하고 커밋하는 것 명심하기!)

 

반응형