지난번에 2023년 2분기 엔지니어로서 키우고 싶은 역량들을 적었었고
다시 한번 2분기에 집중할 것을 요약하면 1. 개발 역량, 2. 데이터 (활용, 문화), 3. 소프트 스킬 크게 3가지입니다.
https://mentha2.tistory.com/285
이번 분기를 2주씩 총 7회로 나누어 엑셀 시트에 회사 업무와 개인 공부 / 스터디를 통해 알게 된 것을 적어나가려고 합니다.
회차 | 일자 | 내용 |
1 | 2023-03-27 | - |
2 | 2023-04-10 | - |
3 | 2023-04-24 | - |
4 | 2023-05-08 | - |
5 | 2023-05-22 | - |
6 | 2023-06-05 | - |
7 | 2023-06-19 | - |
- 트랜잭션 히스토리 조회 페이지의 서비스 속도개선을 위해 인덱스를 추가하고 Count를 Redis 캐싱하는 로직을 추가를 해봤습니다.
a. 인덱스: 데이터가 누적되어 기존 단일 key 인덱스만으로 조회 시 Index Range 스캔으로 5만 여건의 데이터를 가져와 100 ~ 200건 만 필터링하는 비효율이 발생했습니다. 복합 Key 인덱스를 추가해 Index Range 스캔 범위를 좁히고 필터링을 최소화했습니다.
b. Count 캐싱: Pagination이 적용되어 있어 처음 페이지 접근 시 Count를 집계하는데 과거 이력의 변화가 거의 없는 데이터임에도 불구하고 다음 offset 데이터를 가져올 때도 Count 쿼리가 발생하는게 비효율적으로 보여 Count를 Redis에 캐싱했습니다.
- Front에서 API를 2번 호출해서 테이블용 데이터 셋을 만드는 로직을 API 1회 호출로 변경 했습니다. 결과적으로 Front로 가져오는 데이터를 90% 이상 줄이고 속도도 기존의 1 / 3 수준으로 개선했습니다.
- 개인 공부로 Vue js 책 1권을 50% 학습 했습니다.
- RealMySQL 8.0 책으로 스터디를 시작했고 1회 진행했습니다.
- 기타: 회사에서 AWS 매니지드 ElasticSearch (OpenSearch)를 운영 중인 이유?
ElasticSearch가 회사에서 사용되고 있는데 왜 사용되고 있는지 잘 몰랐었습니다. 회사 동료분이 ElasticSearch를 통한 상품 검색 개선을 위해 (상품명 완전 일치 상품 최상단 노출) N-gram tokenizer의 min, max를 변경하고 인덱싱을 새로 하는 것을 보며 간접적으로나마 왜 ElasticSearch를 도입했는지 알게 되었습니다.
- 회사 월간 리포트 작성 자동화를 위한 대시보드(QuickSight) 초안을 만들어 봤습니다.
데이터 검증, 그래프 시각화 개선, 지표 정리, 월간 리포트용 마트 데이터 배치 파이프라인 생성 등 아직 남은 일들이 많긴 하지만 시작이 반이라고 긍정적으로 생각하려고 합니다.
매월 1 Week 정도는 대시보드와 관련된 작업에 시간을 쏟으며 지속적으로 개선할 것 같습니다.
- 진행했던 데이터 관련 업무에 대해 Document를 남기는 일을 꾸준히 했습니다. 아직은 데이터 추출 / 피봇 결과와 간단한 의견 그리고 사용했던 Query를 남기는 수준으로 정리하고 있습니다.
- 중간에 2~3일 정도 크롬 익스텐션 때문에 Doc 편집에 장애가 있어 일부를 Notion에 정리하기는 했습니다.
- 개인 공부로는 변성윤 님의 PM을 위한 데이터 리터러시(프러덕트 데이터 분석) 강의를 1 / 4 수강했습니다. 함께 공부하는 스터디로 시작했는데 지난 스터디에는 참여하지 못하고 개인 수강만 진행했습니다. 강의를 보며 문제를 정의하고 문제 해결 / Action Plan을 위한 데이터 분석이 중요하다는 것에 많이 공감되었고 동시에 뜨끔했습니다. 또한 데이터 / 리포트 공유 시 데이터 수요자 입장에서 생각해야 한다는 것을 상기할 수 있어 좋았습니다.
Action Plain이 수시로 그리고 매 챕터마다 정리되어 있기에 강의 / 스터디를 통해 배우고 저희 회사에 적용할 수 있는 것들을 하나씩 적용해 보려고 합니다.
- 개인적으로 재택도 많이 했고 먼저 여쭤보는 게 많이 없던 2주였던 것 같습니다.
- 슬랙보다는 대면으로 여쭤보는 게 편하기에 최소 주 3회 이상 출근하고 궁금한 것들과 현재 중요하고 필요한 일에 대해 지속적으로 여쭤보겠습니다.
스터디를 2개 시작했습니다. 데이터 리터러시 강의는 1~2개월 안에 끝날 것 같고 MySQL 스터디는 3개월 이상 진행할 것 같습니다.
2개의 스터디를 통해 프로젝트, 업무를 진행하며 어렴풋이 알고 있던 많은 것들이 정리되길 기대합니다.
- PM을 위한 데이터 리터러시(변성윤님) 강의 / 스터디 시작
- MySQL 스터디 시작
- Vue.js 책 1권 훑기 (50% 진행)
책을 훑으려고 했으나 훑는 게 아니고 코드를 Typing 했습니다.
책의 저자분이 워낙 백견불여일타를 강조하기에 그렇게 했고 후회는 없습니다.
성과로는 CTO 님이 말씀해 주셨던 Vue computed는 프로퍼티다 라는 말이 이제는 잘 이해가 되었고 실제로 코드를 치며 computed와 watch를 작게나마 해볼 수 있던 것 같습니다.
남은 50%도 모두 보고 제가 담당하고 있는 Vue로 되어 있는 서비스를 잘 개선 / 업데이트해보려고 합니다.
- 회사에서 Titket으로 떨어지는 업무 외에 MySQL slow query parser를 통한 슬로우 쿼리 모니터링, 주요 지표 Slack 공지 2가지를 해보고 싶은데 2~3회 차 정리 시에는 '의미 있던 이벤트'에 적을 수 있으면 좋겠습니다.
회고: 2023-06-19 ~ 07-01 (2) | 2023.07.02 |
---|---|
회고: 2023-03-12 ~ 06-18 (0) | 2023.06.18 |
2분기 엔지니어로서 키우고 싶은 역량들 (1) | 2023.03.26 |
엔지니어로서 현재 역량 및 4개월 후 기대하는 모습 (2) | 2023.03.12 |
글또 8기 시작 (0) | 2023.02.12 |