본문 바로가기

업무 TIL

230719 수요일 업무 TIL

'오늘의 고민'
퇴근길에 '자존감 수업'이란 책을 읽으면서 왔는데, 책에서 소개하기를 자존감이 건강한 사람의 뇌에선 '나랑 관련 없는 일'이라며 중요도를 낮게 평가하고 폐기할 정보들이라고 한다. 반면에 자존감이 약하고 예민한 사람들은 이러한 불필요한 정보를 끌어안고 되새긴다고 하는데, 읽으면서 내 이야기 같았다. 확실히 일하면서 자존감이 생겼다기 보다는, 자존감이 점점 낮아지고 있는 것 같다는 것을 몸소 체험하고 있는데 남의 감정은 그 사람에 맡겨두는 연습을 해야겠다고 생각했다.



[잘한점]
상황1) 칸반보드를 열심히 써가며 오늘 내 업무에 있어서 우선순위가 무엇이고, 어떤 업무를 했는지 관리하며 했다.
액션1) 칸반보드를 썼다.
칭찬1) 오늘이 다른 날들 중에서 칸반보드를 제일 열심히 활용한 날 같다. 앞으로 칸반보드를 더 집중적으로 관리하며 매일 나의 업무 상태를 관리해야겠다.



[개선점]
문제1) QA에서 연습삼아 적용해봤던 내용에서는 문제없이 데이터가 잘 출력되어 검수가 잘 끝났지만, 막상 PROD에 적용하고 나서는 내가 QA에서 적용했던 것들 중에서 하나의 컬럼을 빼먹어서 라이브 환경에 배포됐을때 해당 부분이 출력되지 않았다.
원인1) 프론트엔드 배포 시간에 맞춤 + 기획자분의 요청으로 빨리 데이터를 게재해야했는 상황에서 나도 모르게 마음이 조급해져서 이전에 QA환경에서 잘 됐다!를 인지하지 못하고 그저 다시 새로운 데이터로 라이브 환경에 배포했다. 그랬더니 프론트엔드측에서 하드코딩한 classname이 DB값에 들어가지 않아 해당 부분이 라이브 환경에서 노출되지 않는 문제가 있었다.
액션플랜1) QA환경에 먼저 배포해보고 검수받은 이유를 망각하고 있었는데, 앞으로 해당 업무를 할 때는 QA환경을 제대로 실행하고 이를 라이브 환경에 조건 그대로 배포하는 것을 잊지 말아야겠다.

문제2) 기존에는 DB에 데이터를 넣고, 라이브 환경에서 아무런 문제가 없었는데 2개의 컬럼이 순서가 뒤바껴서 나온 문제가 있었다. DB상에도 순서대로 컬럼에 데이터값을 삽입했는데 왜 이런 문제가 발생하지? 이전에 같은 상황에서도 이런 문제가 발생하지 않았는데 의아했다.
원인2) 알고보니, 컬럼에서 시간 기준에 대한 로직 추가가 되어있지 않았다.
액션플랜2) created_at을 ASC로 내려주는 쿼리를 addOrderBy를 이용해서 한 줄 추가해주니, 원하는대로 데이터가 출력되었다. 이렇게 테이블 형태로 데이터를 내려줄때나, 데이터를 순서대로 내려주어야 하는 상황에서는 created_at이나 index 등 기타의 기준을 세우고 데이터를 정렬하는 것을 잊지 말자. (왜 나는 이것을 간과하고 있었을까?)

문제3) develop 브랜치에서 main 브랜치 배포 시에 main 브랜치로 체크아웃 후 develop 내용을 merge하고, 이것을 토대로 main 환경에 배포하는 것은 알았으나, 막상 main에 배포하고자 하니 '혹시 다른 문제가 생기지 않을까?'라는 불안감에 휩싸였다. 더군다나 해당 api만 배포를 하면 되는데, develop에 올라온 다른 브랜치들의 내용 모두 병합하니 마음이 조급할 당시에 '이게 맞는걸까?'라는 생각이 들었다.
원인3) 나는 플로우를 잘 숙지하고 있었는데,막상 main에 배포할 일이 그닥 많지 않았어서 경험이 부족했던 것 같기도 하고 내가 겁을 많이 먹은 것 같기도 했다.
액션플랜3) 오늘 main에 한번 더 배포를 하는 경험을 쌓았으니, 다음번에 배포할 때는 main 환경에 배포할때 겁먹지 말자!

문제4) 내가 충분히 작성할 수 있는 로직이었는데 왜 에러만 나면 사고 회로가 정지하는 것 같은 느낌이다 (빨리 처리해야겠다는 부담감이 생긴다)
원인4) 빠른 시간 안에 해결을 해야한다는 내 마음속의 부담감 때문에, 어떻게 로직을 수정해야 하는지 감이 오지 않아 팀원에게 질문을 하면 내가 충분히 혼자서 추가할 수 있는 로직이었다.
액션플랜4) 내가 담당한 부분에서 에러가 났다는 말을 누군가에게 전해들으면, 그거에 대해서 먼저 멘붕이 오지 말고 호흡을 길게 가져갔다가 후 길게 내쉬고, 내가 어떤 로직을 추가함으로써 어떻게 문제를 해결할 수 있는가에 대해 생각해야겠다. 호흡을 길게 가져가자..


[배운점]
배움1) DB에 컬럼을 추가할때마다 추가한 순서대로 노출되는 보장이 없다. created_at이나 index같이 정렬 기준을 세워야한다.
의미1) 정렬 기준에 대한 로직(쿼리 등)을 작성하지 않으면, 내가 원하는 순서대로 데이터가 출력되지 않을 수 있다.

배움2) control + option + o를 누르면 인텔리제이에서 안쓰는 import문을 자동으로 한 번에 정리할 수 있다.

배움3) @Transform은 DB로부터 받은 값을 애플리케이션에서 사용하거나 표시하기 전에 '원하는 형식'으로 변환해준다.
의미3) 엔티티 컬럼 중에 timestamp 같이 시간이 들어가는 개념은 LocalDateTime으로 적용하도록 @Transform 데코레이터를 자주 사용한다.

배움4) 기획을 파악할때 항상 '확장성'을 고려하는 것이 좋은 습관이라고 한다.
의미4) 이 기능에만 쓸 것이 아닌, 이 기능이 확장됨으로써 테이블의 연관관계도 달라질 수 있고, 다른 곳에서도 쓸 때 호출해서 쓸 수 있으니 확장성을 고려하는 습관을 기르는 것이 좋다고 한다.  

'업무 TIL' 카테고리의 다른 글

230721 금요일 업무 TIL  (0) 2023.07.24
230720 목요일 업무 TIL  (0) 2023.07.24
230718 화요일 업무 TIL  (0) 2023.07.19
230717 월요일 업무 TIL  (0) 2023.07.18
230714 금요일 업무 TIL  (0) 2023.07.18