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시간이다. 체력적으로 부담이 되어, 이사갈까도 심히 고민해봤다. 하지만 개인 사정으로 이사를 가기에는 쉽지 않는 상황이다. 틈틈히 잠도 자고 운동도 하고.. 체력적으로 지치지 않게 관리해야겠다!!
'근황 and 회고 > 회고' 카테고리의 다른 글
| [근황/회고] 2025년 1월 : Almost 1 Year (0) | 2025.02.10 |
|---|---|
| [근황/회고] 2024년 회고 : 드디어 1년차? (2달 간의 일정 정리 : 10.28~12.31) (0) | 2024.12.30 |
| [근황/회고] 9월 2주차 ~ 10월 1주차 (2024.09.09. ~ 2024.10.06.) (0) | 2024.10.06 |
| [근황/회고] 8월 4주차 ~ 9월 1주차 (2024.08.26. ~ 2024.09.08.) (0) | 2024.09.08 |
| [근황/회고] 8월 3주차 (2024.08.19. ~ 2024.08.25.) (0) | 2024.08.24 |