본문 바로가기

회고록

기반을 더 다져보는 한 해 - 2024년 회고록

반응형

2024년 회고록 (용 이모지) (뱀 이모지) - 기반을 더 다져보는 한 해

 

 

 

어느덧, 사실 시간이 빠른지는 모르겠지만 벌써 2025년이 찾아오고 있습니다. 2024년이 마저 가기 전에 늘 하던 회고록을 적고 가보겠습니다.

🤔 작년 돌아보기

작년(2023년)에 세웠던 목표를 돌아봅시다. 작년 회고록에 적었던 가장 큰 목표 중 하나는 블로그 글쓰기입니다.

 

티스토리 24년 작성 글

 

올해는 (공지 글 제외) 다섯 편의 글을 썼습니다. 이 정도면 목표 달성이라고 봐도 되지 않을까요? 다섯 편의 글들을 돌아보면 아쉬운 점이 많습니다. 무의식에 '양'에 집중하려고 한 건지, 지금 와서 보면 부족한 내용들이 보입니다. 처음 작성했던 초안과 구조가 달라진 글들이 있는데 초안에는 있으나 실제 글에 미처 넣지 못한 내용들도 많습니다. 글 분량을 조절하다가 내용을 삭제하기도 하는데, 이러면서 넣지 못한 내용들이 생기지 않았나 싶습니다.

 

작년 회고록에 자세히 쓰지는 않았지만, 전공 기반을 다시 다져보기 위해 노력했습니다. 모든 배움을 계속하는 분들이 비슷하겠지만 상대방에게 정확히 가르칠 수 있을 때(설명할 수 있을 때) 비로소 이해했다고 보고 있습니다. 전공 지식면에서 다른 사람에게 설명할 수 있을까?라고 스스로에게 질문하면 아직 부족한 부분이 많은 것 같습니다. 올해는 이런 부분을 더 다져보기 위해 노력한 것 같습니다. 책을 읽기도 하고, 자료구조 같은 경우 알고리즘 문제를 많이 풀어보기도 했습니다.

📖 책을 읽어봅시다

책을 너무 안 읽는 거 같아서 올해는 조금조금씩 책들을 읽어보고 있습니다. 지식을 새로 배울 때는 책만큼 좋은 수단이 없는 거 같기도 하고요.

최근에 읽었던 책들 몇 가지를 나열해 보면, `개발자를 위한 Redis`, `쿠버네티스 패턴`, `테스트 주도 개발`, `자바 ORM 표준 JPA 프로그래밍`, `요즘 우아한 개발` 등등... 이 있는데 다른 학습 방법에 비해 Best Practice를 배우기 좋은 방법이 책인 것 같습니다.

 

위 책들에 대해서 좀 더 풀어보자면,

`테스트 주도 개발 (켄트 벡 저)`는 이미 유명한 책이지 않을까 싶습니다. TDD에 대해 소개하고 직접 구현해 보는 책입니다. TDD를 모르는 사람도 쉽게 이해할 수 있고 전반적으로 읽는데 큰 어려움이 없는 책입니다.

 

`요즘 우아한 개발`은 배달의민족 서비스를 만든 우아한 형제들에서 나온 책입니다. 책 내용은 모두 우아한 형제들 기술블로그에서도 같은 내용을 확인할 수 있습니다. 최근에 읽었던 책 중에서 가장 재밌게 읽은 것 같습니다. 우아한 형제들에서 생겼던 장애, 기술적인 고민들을 들어볼 수 있는 책입니다. 책 내용 중에 상용 환경 테이블을 삭제하는 에피소드가 있는데 가장 인상이 남네요.. 🥲

 

Best Practice를 배우기 좋은 방법이 책이라고 했는데, 기술의 발전 덕분에 책 말고도 여러 학습 수단이 생겼습니다.

🤖 올해 최고의 동료, ChatGPT

새로운 지식을 배우는데 ChatGPT를 적극 활용하고 있습니다. ChatGPT라고 대표해서 말했지만 Claude, Gemini 등 여러 LLM 모두 해당합니다.

단순한 지식을 검색할 때는 아직은 구글링이 편한 것 같습니다. ChatGPT를 포함한 LLM의 장점은 '형식적인 검색어가 아니어도 질문할 수 있다'가 큰 장점이지 않을까 싶습니다. 내 현재 상황, 내가 원하는 바를 바로 요청할 수 있습니다.

LLM이 멘토가 되어 어떤 조언을 받거나 Best Practice를 물어보기에도 굉장히 좋았습니다. 특히 새로운 지식을 배우는데 강점을 발휘하는 것 같습니다.

 

최근에 진행한 프로젝트들은 모두 인공지능 도움을 받았습니다. 24년 1월에 만든 웹게임인 '마블'의 경우 방 생성 시 랜덤 한 제목을 설정하는데 이때 ChatGPT가 추천해 준 제목 리스트를 기반으로 하고 있습니다. 인게임에서 쓰이는 배경음악 역시 인공지능이 만들어준 음악입니다.

 

ChatGPT에게 Gradle Multimodule에 대해 질문하는 모습

 

얼마 전에는 Apache Kafka를 배우기 위해 토이프로젝트를 진행했는데, 프로젝트 아이디어나 아키텍처를 조언받을 때 많음 도움이 되었습니다. LLM들이 흔히 '환각'이라고 하는 사실이 아닌 내용을 말해주는 경우도 있기 때문에 크로스체크를 어느 정도 필요할 것 같습니다.

✏️ 장난감을 만들었습니다

몇 가지 토이프로젝트를 만들었습니다. 회고록에서는 두 가지를 살펴볼까 하는데,

먼저 Resume 사이트 리팩토링 작업입니다. 기존 Resume 사이트는 간단하게 텍스트만 표시할 수 있고 이미지와 같은 다른 리소스는 보여줄 수 없었습니다. 프로젝트를 직접 보고 싶어 졌을 때, 데모사이트가 있으면 바로 가서 확인할 수 있지만 그게 아니라면 확인하기가 어렵습니다. GitHub에 들어가서 하나씩 빌드해 볼 수도 없고요.

 

그래서 이미지 업로드 기능을 추가하고 하는 김에 마크다운 문법을 개선했습니다.

Resume 사이트는 Supabase 기반으로 만들어졌기 때문에 Supabase Stroage 기능을 사용해서 쉽게 구현할 수 있었습니다. Supabase Stroage는 Amazon S3와 비슷한 기능을 제공합니다. (서로 호환도 됩니다.)

마크다운 문법 개선의 경우 축약(Collapsible) 문법을 지원하여 자세한 내용이 궁금할 때만 추가적으로 볼 수 있도록 유도했습니다. Collapsible 역시 사용하는 마크다운 라이브러리에서 써드파티로 지원하기 때문에 쉽게 구현했습니다.

 

Resume에 대한 자세한 내용은 이전에 개발 후일담으로 글을 올린 적이 있습니다. 참고하면 좋을 것 같습니다.

https://blog.skylightqp.kr/entry/NextJS%EC%99%80-Supabase%EB%A1%9C-%ED%8F%AC%ED%8A%B8%ED%8F%B4%EB%A6%AC%EC%98%A4-%EB%A7%8C%EB%93%A4%EC%96%B4%EB%B3%B4%EA%B8%B0

 

NextJS와 Supabase로 포트폴리오 만들어보기

시작하기 전에,해당 프로젝트 이야기는 처음 개발 시작한 2021년부터 현재(2024년)의 이야기를 담고 있습니다.✏️ 서론아마도 3년 전쯤 '그래도 개발자인데 포트폴리오 웹사이트가 있어야 되지

blog.skylightqp.kr

 

두 번째 토이프로젝트는 Apache Kafka를 활용한 RSS 피드입니다.

Kafka를 사용해서 만든 RSS 피드

 

 

'Kafka를 써본다'라는 목표를 중점으로 RSS 피드 크롤러를 만들었습니다.

Gradle MultiModule을 사용해서 RSS 크롤링을 하는 Kafka Producer와 Topic을 받아 데이터베이스에 저장하고 API로 뿌려주는 Consumer 모듈을 구현했습니다.

지금은 RSS 피드를 대상으로 만들었지만, 추가적인 크롤링이 필요하다면 Producer만 만들어서 확장하면 됩니다. Producer로 크롤러를 구현하고 Kafka Topic으로 전달만 해주면 추가적인 작업 없이 데이터베이스 저장하고, API로 확인할 수 있습니다.

🥇 TOPCIT 그리고 국방부장관상

올해 하반기에 제22회 TOPCIT 시험을 응시했는데 군인 부분 대상으로 선정되어 국방부장관상을 받고 왔습니다.

TOPCIT의 경우 IT에 관련된 지식을 전반적으로 시험하는 자격증입니다. CS 지식부터 보안, IT 시사용어, 비즈니스 관련된 문제들도 나옵니다. 하반기 시험에서 730점이 나왔는데, 대학생 분야였으면 대상까지 어려웠을 점수입니다. (대학생 부분 성적우수자 점수는 보통 700점 후반, 800점대로 이루어져 있습니다.) 군인 응시자가 적어서일까요? 운이 좋게도 군인 부분에서 대상을 받게 되었습니다.

 

TOPCIT 성적우수자 대상

 

시상식 초대를 받았는데 자세히 설명해주지 않아 다른 분들 후기를 검색했었습니다. 후기를 보면 식사 이야기가 대부분이고 밥이 맛있다고 그러는데, 시상식을 가면 바로 납득하게 됩니다.

 

TOPCIT 성적우수자 선정 시 미국 CES 해외교육 혜택이 있습니다. 개인적으로 TOPCIT은 깊은 지식보다는 얕고 넓은 지식을 요구하기 때문에 조금만 시간을 투자하면 성적우수자도 노려볼만하다고 생각합니다.

문제 자체가 어려운 건 아닌데, 공부하기 위한 접근성이 매우 낮은 것 같습니다. TOPCIT 에센스라는 공식 교재가 있으나 문법 오류, 오타 등으로 읽기에는 어려운 교재가 아닌가 하는 생각이 듭니다.. 시험을 보고 나면 항상 설문조사를 하고 이때마다 교재 개선에 대한 의견을 남겨두는데 이게 잘 반영이 될지 모르겠습니다.

 

기회가 된다면 TOPCIT 후기에 대한 이야기는 별도의 글로 써보겠습니다.

🌿잔디 심고 스트릭 유지하기

요즘 꾸준하게 알고리즘 문제를 풀고 있습니다. 사실 자의적으로 시작한 건 아니고 벌금이 걸린 알고리즘 스터디에서 시작된 거긴 한데...

알고리즘 문제를 풀고 GitHub에 올리다 보니 자연스럽게 잔디 심기도 같이하게 되었습니다. 회고록 초안을 작성하는 시점에는 solved.ac 스트릭 156일째 유지 중입니다.

 

solved.ac 스트릭 - 156일

 

GitHub도 (종종 구멍 난 곳이 보이지만) 꾸준하게 잔디를 심고 있습니다.

 

GitHub 스트릭

 

알고리즘 말고도 듀오링고도 하고 있습니다. 이미 하시는 분들도 많겠지만 외국어 학습을 할 수 있는 서비스입니다. 영어는 당연히 지원되고 독일어, 중국어 등 (한국어도 있다네요!)도 지원합니다.

 

해외 자료나 전공 원서를 볼 때 좀 더 부드럽게? 읽히길 원해서 영어 공부를 하고 있습니다. 듀오링고도 위에서 말한 서비스와 같이 연속 학습이라는 이름으로 스트릭을 제공합니다. 현재 시점으로 듀오링고는 115일째 유지하고 있습니다!

 

듀오링고 연속 학습 - 115일

💬 그 외에.. 이모저모...

별도의 항목으로 나누기에는 자잘한 내용들을 모아봤습니다.

 

작년 봄? 쯤에 Udemy(유데미)에서 AWS SAA(Solution Architect Associate) 자격증 강의를 샀습니다. 1년이 지나도록 안 보다가 그래도 전역 전에 이거라도 따고 나가고 싶어서 공부하고 있습니다.

 

전체적인 시험 내용은 '상황에 맞게 적절한 AWS 서비스를 쓸 수 있는가?'를 묻는 시험입니다. Associate 등급의 경우 AWS를 현업에서 사용했다면 익숙하게 풀 수 있고, 현업까지는 아니지만 조금이라도 써봤다면 쉽게 이해할 수 있는 수준입니다.

 

Udemy AWS SAA 강의 썸네일

 

25년 2월 시험 응시를 목표로 하고 있습니다. 연습 문제를 봤을 때 문제가 매우 어렵거나 하지는 않는데, 문제는 응시료가 150달러입니다. 글을 쓰는 시점의 환율로 계산하면 20만 원이 넘는 가격인데 20만 원을 주고 시험에 떨어지면 조금 슬플 것 같습니다. (AWS 시험은 시험 종료 시 자리에서 바로 결과를 볼 수 있다고 합니다.)

 

최근에는 새 프로젝트로 Nextjs + Spring Boot를 사용하여 '마루'라는 일기 서비스를 만들어보고 있습니다. 작년 이맘때쯤에는 마블을 만들고 있었는데 올해는 마루를 만들게 되었습니다.

 

일기 서비스 - 마루, 랜딩 페이지

 

일기를 쓰는 습관이 좋다고 하는데 말만 많이 들었지 실제로 쓰고 있지는 않습니다. 일기 서비스와 함께 연속 기록 시스템을 넣어보려고 하는데 이러면 동기부여나 자극이 되지 않을까요?

 

일기 서비스의 경우 실제 상용으로 배포할 목적으로 설계, 구현을 하고 있습니다. 유퀴즈 - 박보영 님 회차를 보다 보면 '일기를 금고에 보관한다'라는 이야기가 나옵니다. 어떤 이야기가 있을지 모르는데 다른 사람들에게 노출되면 큰일이겠죠. 서비스를 만들다 보니 이 생각이 나서 일기 내용에 암호화를 적용하도록 구현하고 있습니다. 내용이 간단하면 모르겠지만 많아진다면 암호화, 복호화 과정에서 비용이 발생할 거 같은데 프로젝트의 주 목표가 되지 않을까 싶습니다.

 

일기 서비스까지 쉽게 접근해야 되니까 모바일 앱도 계획하고 있습니다. Kotlin이나 Swift를 사용해서 네이티브로 만들기에는 버거워서 React Native를 생각 중입니다.

 

마지막으로 2019년부터 운영하고 있던 '수프트'라는 서비스를 공식적으로 종료했습니다.

 

수프트 서비스 종료 이미지

 

커뮤니티 형태의 기여가 가능한 문제 은행 서비스인데 (관련 개발 후일담은 여기서 확인할 수 있습니다: https://blog.skylightqp.kr/entry/%EA%B5%90%EB%82%B4-%EB%AC%B8%EC%A0%9C%ED%92%80%EC%9D%B4-%EC%82%AC%EC%9D%B4%ED%8A%B8-%EA%B0%9C%EB%B0%9C%EA%B8%B0),

사실 고등학교 졸업 한 이후에는 쓰는 사람도 없고 유지보수도 안 하고 있었습니다. 개인 서버에 돌리고 있어 가지고 비용적인 부담이 크지는 않은데 아무래도 몇 년 동안 이용자가 없다 보니까 서비스 종료로 이어졌습니다. (사실 종료라고 해봤자 제가 하는 건 데이터 영구 삭제 밖에 없습니다.)

마무리

결과적으로 제목에도 언급했던 기반을 잘 다져주었나?라고 물어보면 그래도 '네'라고 대답할 수 있는 한 해가 아니었나 싶습니다. 물론 아직도 부족한 점이 많습니다. 지식을 다지면서 넓고 얕은 지식보다는 좁고 깊은 지식을 만들려고 노력하고 있습니다. (넓으면서 깊은 지식이면 더욱 좋겠지만 쉽지 않으니까요.)

 

30일, 31일쯤 해서 연말에 글을 올리려고 계획했는데 어쩌다 보니 크리스마스가 먼저 보입니다. 이르지만 미리 새해 복 많이 받으시고, 행복한 크리스마스 되시고 원하는 일이 모두 되는 25년이 되기를 바랍니다.

 

끝~

반응형

'회고록' 카테고리의 다른 글

24년까지 하루가 남았습니다 : 2023년 회고록  (0) 2023.12.31
졸업 그리고 입학 : 2021~2022 회고록  (0) 2022.12.30
벌써 2021년?  (1) 2020.12.31
2019년 회고  (0) 2019.12.31