[근황/회고] 10월 2주차 ~ 10월 4주차 (2024.10.07. ~ 2024.10.27.)

2024. 10. 27. 22:24근황 and 회고/회고

 

🧑‍💼Company

 
1. 운영/개발

 

  맡고 있는 서비스에서 개발의 비중이 좀 더 증가했다. 운영 업무를 수행하면서도, 중간중간 기능 추가/수정 등의 개발을 진행하였었다. 그런데 이제는 개발에 좀 더 집중을 해야 하는 시기가 왔다.

  서비스 특성 상, 규격서에 맞춰  원천 데이터를 가공한 뒤, 가공된 데이터를 전달하는 것도 중요하다. 하지만, 클라이언트의 요청에 맞춰 특정 데이터를 필터링 해야 하는 상황이 생길 수 있다. 그 시점이 최근이였고.. 기존 로직이 A였다면, A?(에서 조금 수정된)라는 로직으로 해당 데이터를 가공해야 하는 상황!! 그래서 열심히 코드를 수정하다가 문득...  나중에 유지보수하는 개발자 분들이 편하게 코드를 볼 수 있도록 코드를 추가/수정해야 한다는 생각도 들게 되었다. 그래서 코드를 좀 더 깔끔하게 만들고자, 클린 코드 책을 구매해서 보고 있고, 인프런의 Readable Code 강의(저자 박우빈)를 구매하였다. 누구나 읽기 쉬운 코드를 작성하고 싶다...

  또한 일을 진행하면서 Redis를 잠깐 접할 수 있는 기회가 생겼다. 덕분에 Redis를 조금 더 이해할 수 있게 되었다. Redis (Remote Directory Server) 는 key - value 형태로 이루어진 자료구조로 이루어진 DBMS이다. 서비스 운영할 때 메인 데이터베이스가 따로 존재할 수 있는데, 서비스 성능을 향상시키기 위해 Redis 를 '캐싱 계층'으로 활용하기도 한다. (참고 : 면접을 위한 CS 전공지식 노트, p.197, 레디스 캐싱 계층 아키텍처) 가벼운 프로젝트에서는 괜찮았겠지만, 트래픽이 증가하여 DB 호출이 증가하게 된다면 DB에 큰 부담이 갈 수 있다. 또한 설정된 커넥션 수가 증가하게 될 수 있고, 서비스 운영상 서비스 응답 호출 시간이 늘어나거나 에러가 발생할 수 있다. 이런 점을 어느 정도 해소할 수 있는 방법이, Caching!! 캐싱 처리가 참 중요하구나를 깨닫는 시간이 되고 있다. 

 

 

📝 Private
 
1. 방통대 중간 마무리 && 잡담

 

  전공 6개를 수강 중이기에..수업, 과제, 시험 등을 들으며 혹독한 시간을 보내고 있다. 어느 정도 마무리 되었기에.. 한숨 돌리나 싶었다만, 역시나 한 달 후에 기말고사가 진행된다. 일반 대학교와 달리, 방통대의 시험 범위는 대부분 전체인 것 같다. 선형대수의 행렬 파트를 지나 이제는 벡터 파트로,, 자료구조가 더 깊어지고, C++ 언어에서 포인터를 깊게 이해하는 시간을 경험하고 있다.. 사실 쉽지 않다.  하지만 나름 컴퓨터를 알아가는 시간이 재밌고, 덕분에 최근 정처기 실기 시험을 볼 때 큰 도움을 받을 수 있었다. 

  20살, 대학교 학과 선택을 컴퓨터로 선택한 친구들이 부러워지기도 했지만, 지금 주어진 이 시간들을 잘 보내야겠다. 20살 때 무역/정치외교 복수 전공하면서 해외로 갈 꿈을 키우기도 했었고, 전문직 시험 공부를 하며 전문가를 꿈꾸기도 했었고, 공무원 시험에 집중하고 합격해서 공공의 일을 즐겁게 수행하기도 했었다. 하지만 역시... 난 전문성을 쌓고 싶고, 기술을 배우고 싶다. 지금이 그 시간이고, 돌고 돌아왔지만 후회는 하지 않는다. 집중해서 기말 준비도 잘 해보자! 50~60살이 되었을 때, 어엿한 기술자가 되어 여러 사람들에게 재밌는 서비스를 제공하고 있는 나를 기대해본다.

 

2. 정처기 실기(가채점) && JAVA 고급 1편 마무리

 

  정처기 실기 시험이 있었다. 모의고사 집으로 조금 공부할 때랑 다른 점이... 올해 2회부터는 프로그래밍 시험이 많아진 것 같다. 단순하게 해결할 수 있는 프로그래밍 문제가 아니라, 실제로 실습하여 결과를 도출하는 문제의 형식이 많아진 것 같았다. 다행히 방통대 수업도 듣고 있고, 개발 일을 하며 코드를 매일 보고 있기에... 프로그래밍이 강화된 정처기 시험 문제를 어느 정도 풀 수 있었던 것 같다. 가채점은 합격이긴 한데.. 제발 실수하지 않았기를..😂

  지하철로 출근/퇴근하면서, 영한 쌤의 JAVA 고급 1편 수강을 마무리하였다.  1편은 참 재미있는 강의였다. 스레드부터 시작해서 가시성을 위한 volatile, 동기화를 위한 synchronized와 reentrantlock! 원자적 연산과(AtomicInteger 등) ExecutorService!!! 개인적으로 강의를 적용해보고 싶어서... 서비스를 점검하는 Tool에 newCachedThreadPool 을 적용해봤다. 서버의 자원을 많이 잡아먹는다면, newCachedThreadPool의 사용을 심히.. 고려해봐야 하고, newFixedThreadPool을 통해 스레드를 관리해야 한다. 하지만 내가 사용하고 있는 점검 Tool에서는 그렇게 스레드를 많이 사용하게 되지는 않았다. 따라서 newCachedThreadPool을 통해 몇 초를 단축해보고자 사용했구, 역시나! 점검 시간이 좀 더 빨라진 것을 확인할 수 있었다. 물론 자원 반납, 서버 종료도 필수~!!!

 

3. JAVA 고급 2편 전에 GoF의 디자인패턴(백기선 쌤)

 

  JAVA 고급 2편의 여행을 떠나기 전에, 디자인 패턴을 짚고 가려고 백기선 쌤의 디자인 패턴 강의를 수강중이다. 정처기 시험 공부하면서... 생빌프로... 구프데... 행 등! 두문자로 생성/구현/행위 패턴의 종류를 암기했었다. 근데 놀라운 게, 이번 정처기 시험에 관련 문제가 등장했다. 역시...😏 그래서 디자인패턴을 공부해보고자 한다. 물론 공부하는 것과 실제 구현을 통한 실습의 영역은 다르겠지만, 일단 프리뷰 느낌으로 빠르게 수강해봐야겠다.

 

 

🎈And 건강

  

  사실.. 직장까지 왕복 4시간이다. 체력적으로 부담이 되어, 이사갈까도 심히 고민해봤다. 하지만 개인 사정으로 이사를 가기에는 쉽지 않는 상황이다. 틈틈히 잠도 자고 운동도 하고.. 체력적으로 지치지 않게 관리해야겠다!!