[월간 회고록] 2024년 3월 회고록

mrcocoball·2024년 3월 31일
1

일상과 회고

목록 보기
6/20

1. 3월에는 무슨 일이 있었는지

프로젝트 관련

신규 프로젝트와 작년에 1차로 마무리했던 프로젝트를 동시에 진행하고 있다.
작년에 마무리했던 프로젝트의 경우 코드 리팩토링과 함께 인프라 관련 오류나 설정 변경을 진행하였다.

1. [Kubernetes & Fluentbit] Pod 메모리 누수 해결 사례
https://velog.io/@mrcocoball2/Kubernetes-Fluentbit-Pod-%EB%A9%94%EB%AA%A8%EB%A6%AC-%EB%88%84%EC%88%98-%ED%95%B4%EA%B2%B0-%EC%82%AC%EB%A1%80

2. [Kubernetes] Nginx Ingress Controller 활용해보기
https://velog.io/@mrcocoball2/Kubernetes-Nginx-Ingress-Controller-%ED%99%9C%EC%9A%A9%ED%95%B4%EB%B3%B4%EA%B8%B0

코드 리팩토링을 진행하면서 이전에 어느 커뮤니티에서 감명 깊게 본 '내가 짠 코드는 얼마 지나지 않아 반드시 레거시 코드가 된다' 라는 이야기가 정말 와닿았었는데 '내가 이걸 이렇게 짰었다고?' 하는 마음의 소리를 엄청 많이 들었다.

아직 서비스 런칭을 하지 않은 시점이어서 망정이었지 운영 중인 서비스에 대해 리팩토링을 진행해야 한다면 어떻게 해야 하는지, 아니 해도 되는 것인지 몰라 갈팡질팡 했었을 것 같다.

그리고 모듈 및 패키지 문제에 대해서도 고민을 하게 되었다. 마이크로서비스마다 존재하던 공통 기능을 공통 모듈로 빼내는 과정에서 모듈 간 관심사, 책임에 대해 명확하게 나누기 애매한 것들이 있었는데 이에 대해서는 더 많은 레퍼런스를 찾으면서 점진적으로 개선해야 할 것으로 보인다.

그밖에 CCE, CVE 점검과 시큐어 코딩 취약점 점검도 진행했고 특히 시큐어 코딩 취약점 점검 쪽에서는 Java 언어 기본 서적 등에서 강조하던 내용이었지만 놓치고 있던 부분들을 다시 고치면서 반성을 하는 시간을 가졌다.

연봉 협상(이라 쓰고 통보라고 함)

연봉 협상(이라고 쓰고 일방적 통보) 대상이 되었고 연봉이 올랐다. 개발자로서 맞이하는 첫 연봉 협상(통보) 이었는데 기분이 묘하다. 오른 금액, 만족도에 대해서는 여기에는 굳이 적진 않겠다. (보는 사람도 있고)

기타 개인 관련

1. 홈 서버를 구축하였다.
이전까지는 형이 구축한 홈 서버를 사용하고 있었는데 개인적인 사정으로 나만의 홈 서버를 구축하게 되었다. 기기는 Intel NUC를 사용하였고(형님의 협찬...), OS는 Ubuntu Server 22.04를 사용하였다.

대략적인 세팅이 완료되면 서버 구축 관련 포스팅도 진행할 예정이다.
앞으로 해당 홈 서버에 사이드 프로젝트를 배포할 예정이며 궁극적으로는 실제 사람들에게 배포하고 런칭할 서비스들도 배포하고 운영할 예정이다.

개인 Mac에서 개인 공부용으로 minikube를 사용하고 있기 때문에 Kubernetes 클러스터를 구축할 생각은 없다.

2. MongoDB 공식 문서 1차 정리를 마무리하였다.
2월달부터 진행했던 MongoDB 공식 문서 1차 정리를 마무리하였다. 모든 내용을 다 정리했다기보다는 실무에서 이미 활용하고 있거나, 도움이 될만한 내용을 우선적으로 정리했고 추후 운영 과정에서 검토하거나 확인해야할 부분들은 별도로 구분을 해두는 식으로 진행했다.

MongoDB의 경우 공식 문서도 체계적으로 잘 관리되고 있고 운영에 필요한 가이드 (스키마 디자인 패턴 등)도 제공하고 있어서 보기 잘했다는 생각이 든다. 나를 제외한 팀원들도 서서히 MongoDB와 PyMongo, MongoEngine에 적응해가고 있어 내용을 한 번 더 정리해서 팀원들에게 공유해볼 생각이다.

3. Docker, Kubernetes 공식 문서를 천천히 보고 있다.
작년에 3개월 정도 국비지원 과정으로 Kubernetes를 배웠었고 이를 토대로 어떻게든 프로젝트를 진행하면서 클러스터 비스무리한걸 만들긴 했다. (고마워요 관리형 서비스)

하지만 운영 환경에서는 클러스터 관련해서 어떤 이슈가 발생할지도 모르는 일이고, 애초에 내가 Docker, Kubernetes에 대해 제대로 알고 있는 것이 맞는가? 하는 의문이 들어 시간을 들여서 공식 문서를 천천히 정리하는게 낫겠다는 생각에 Docker, Kubernetes의 공식 문서를 천천히 정리해보기로 했다.

Docker의 경우 크게 Docker Engine, Docker Build, 그밖의 요소 3가지로 분리를 해두었고 Kubernetes는 개념, 태스크, 레퍼런스 순으로 분리를 해두었다.

Docker Engine 부분은 이미 아는 내용이 대부분이라서 빠르게 정리를 끝마쳤고 Docker Build 부분을 들어갈 계획이다.

Kubernetes 개념 부분은 확실히 Kubernetes에는 이런 리소스가 있고 이런 역할을 해요~ 정도로 공부를 했었는데 그보다도 훨씬 더 심화된 내용을 다루고 있어서 적당히 볼 거 보고 넘겨도 될 건 넘기는 형식으로 진행을 하고 있다.

Docker는 그래도 금방 끝날 것 같긴 한데 Kubernetes는 양이 방대해서 한 달만에 끝내지는 못할 것 같아서 천천히 진행해볼 생각이다.

4. 알고리즘, 자료 구조 공부를 진행하고 있다.
사실 취업 전까지는 Python을 기반으로 백준에서 코딩 테스트 준비를 했었는데 취준을 위해서라지만 내 주력 언어도 아닌데 이게 맞는건가? 하는 의구심을 떨쳐낼 수가 없었다.

그래서 취업 이후에는 자연스레 별도의 코딩 테스트 준비를 하지 않았고 자연스레 알고리즘, 자료 구조와도 거리가 멀어지게 되었는데 형이 대략 1000페이지 정도 되는 Java / Kotlin 기반 알고리즘, 자료구조 책을 선물로 줘서 하루에 1문제씩이라도 푸는 식으로 공부를 다시 시작하게 되었다.

그런데 확실히 주력 언어로 공부를 하다보니 재미가 있어서 1년짜리 장기 프로젝트로 생각하고 꾸준히 진행하고 있다.

일단 1문제당 최대 1시간을 잡고 1시간 내에 풀지 못하면 책 내에 있는 풀이를 보면서 주석을 남기는 식으로 진행하고 있는데, 책에서는 LeetCode를 플랫폼으로 사용하고 있다 보니 내 코드가 얼마나 효율적 또는 비효율적인지 바로바로 체크가 되어서 더 자극이 되는 느낌이다.

아무튼 책의 양이 방대하다보니 급하게 하지 않고 천천히, 그러나 꾸준히 진행할 생각이다.

5. 사이드 프로젝트 기획을 시작하였다.
취업 이후 한동안 사이드 프로젝트를 진행하지 않고 있었는데 내가 필요한 어플리케이션을 사이드 프로젝트로 개발하는게 좋을 것 같다는 생각 + 기획부터 각잡고 들어가서 개발을 해보는 경험이 있어야겠다는 생각이 들어 사이드 프로젝트 기획을 시작하게 되었다.

일단 대략적으로 아이디어가 떠오른 것은 2가지고 그 중에서 1가지는 문서 작업 중에 있다. 이에 대한 내용은 뒤에 더 설명하도록 하겠다.

2. 놓쳤거나 개선해야 하는 것

비 개발 직군 간의 커뮤니케이션 관련

여자친구에게 비 개발 직군 간 커뮤니케이션에 대해 '좀 더 쉽게 풀어서 설명하는 연습을 했으면 좋겠다'는 조언을 들었다. 비슷한 이야기를 개발 관련 커뮤니티에서도 많이 보긴 했었는데 중요한 조언이라고 판단이 들었다. 앞으로는 개발자가 아닌 팀원들에게 좀 더 쉽게 설명하는 습관을 들여야 할 것 같다.

3. 4월 목표

1. Docker, Kubernetes 공식 문서 공부 지속
앞서 이야기했던 것처럼 Docker, Kubernetes 공식 문서 공부를 지속할 예정이다. Docker의 경우 4월 중에 끝날 것 같지만 Kubernetes는 워낙 양이 방대하여 시간이 좀 더 소요될 듯하다. 대충 끝낼 생각이 없기도 하고.

2. 알고리즘, 자료 구조 공부 지속
알고리즘, 자료구조 공부 역시 마찬가지로 장기 프로젝트로 진행할 생각. 일단 선형 자료구조는 한번씩 찍먹을 했는데 비선형 자료구조와 알고리즘 부분에서 예전에 애를 먹었던 것철머 벌써부터 걱정이 되긴 한다... 다만 취준용은 아니다보니 너무 부담을 가지진 않을 생각.

3. 사이드 프로젝트 진행
현재 사이드 프로젝트 아이디어 2가지 중 1가지에 대해서는 문서 작성 중에 있다. 이전에는 기획을 대충 하고 바로 얼기설기 개발을 했었는데 업무를 진행하면서 기획의 중요성을 절실히 깨닫고 있다 보니 이번 프로젝트는 기획을 꼼꼼히 진행하고자 한다.

사이드 프로젝트 진행 과정에 대해서는 일일이 기록을 남기진 않고 중간 회고 형식으로 포스팅을 할 예정이다.

profile
Backend Developer

0개의 댓글

관련 채용 정보