Weekly I Learned/2022's(7. ~ 12.) WIL

2022년 11월 3주차(11/14 ~ 11/18) Weekly I Learned "기초부터 차근차근 학습하기!"

ikjo 2022. 11. 21. 21:07

지난 한 주 되돌아보기

마스터즈 코스를 수료한 이후 매주 학습했었던 것들을 되돌아보기 위해 작성하기 시작했던 WIL 작성도 이번으로 벌써 20번째이다. 👀 즉, 마스터즈 코스를 수료한지도 20주가 지났다는 것이다. 😅 적은 나이는 아니기에 빠른 취업에 대한 생각도 없는 것은 아니지만, 마스터즈 코스를 수료한 직후 '기초' 학습에 대한 욕심이 강했기에 CS, 프로그래밍 언어, 알고리즘 등 기초에 대해 차근차근 학습해나가고 있다.

 

프로젝트 세부 기획 시작!

지난 주에 앞으로 팀 프로젝트를 함께 하실 디자이너 모집을 완료한 이후 이번 주부터 본격적으로 프로젝트 기획에 대한 세부 기능들을 논의하기 시작했다. 프로젝트 주제를 정한지 무려 한 달이 넘게 지났었는데, 마침내 세부 기획에 대해 논의할 수 있었다. 

 

막연히 '어떤 서비스를 제공하고싶다' 라는 것은 있었지만, 그 안에서 구현해야 할 세부적인 기능들을 생각하다보니 앞으로 프로젝트를 진행함에 있어 '갈 길이 멀다' 라는 생각이 들었다. 😇 그래서 일단 한 번에 모든 기능들을 구현하려고 하기 보다는 단계적으로 최소한의 그리고 필수적인 기능부터 차근차근 구현해나가고자 한다. 

 

아울러, 마스터즈 코스에서는 프로젝트를 진행하기에 아주 짧은 시간이었기에 다소 '기능 구현'에 초점을 맞춰 진행했었는데, 이번 프로젝트에서는 개발을 함에 있어 단순 '기능 구현' 보다는 '성능'과 '유지보수성'에 초점을 맞춰 진행하고자 한다. 

 

멀고도 멀은 득고리즘의 과정..

마스터즈 코스 수료 이후 나름대로 알고리즘 문제(프로그래머스, 백준 등)들을 꾸준히 풀면서 익숙치 않았던 유형의 문제들과 새로운 유형의 문제들을 숙달해나가면서 알고리즘 문제에 대한 자신감이 늘어나면서도, 특정 문제를 풀이하거나 특정 로직을 생각하는데 있어 많은 시간이 소요되거나 내가 전혀 생각치도 못한 (효율적인) 방식으로 작성된 로직들을 보다보면 아직도 득고리즘을 위한 여정이 멀고도 멀었다라는 것을 느끼고 있다. 😇

 

물론, 지금으로부터 1년 전의 나의 상태와 비교하면 월등히 실력이 는 것은 맞지만, 현재 내가 마주하고있는 문제들을 능숙하게 풀어냄에 있어서는 아직 많은 노력이 필요하다는 것을 느끼고 있다. 알고리즘을 학습하면 할수록 러닝 커브(학습 곡선)의 구간이 점차 완만해지고있음을 느끼기에 '가성비'에 대한 의문이 들곤한다. 하지만, 쉽게 얻을 수 없는 만큼 가치가 있다고 생각하기에 일단 '꾸준히'만 하고자 한다.

 

Java 8에 새롭게 추가된 것들은?

마스터즈 코스 CS10 과정을 따라가던 중 어떤 미션 과제에 Java 8에 새롭게 추가된 CompletableFuture를 적용해야했던 적이 있어 부리나케 인프런 강의 중 백기선님의 '더 자바, Java 8'이라는 강의를 수강했었던 짤막하게 수강했었던 적이 있었다. 당시 강의를 들을 때에는 뭔가 이해도 제대로 되지 않은 채 (미션 과제를 위한) 주입식으로 학습했었는데, 최근 온라인 자바 기초 스터디를 마쳤으니 해당 강의를 완강하고 싶다는 욕심이 들었다.

 

해당 강의는 Java 8에 추가된 기술들에 대해 다루는 강의로서 '함수형 인터페이스와 람다', '인터페이스의 변화', 'Optional', 'Stream' 등에 대해 다루는 강의였다. 올 초에 자바 기초를 제대로 학습하지 않았던 내가 이 강의를 완강하려고 했었으면 과연 남는 게 있었을까 싶었다. 😅 그래도 최근 온라인 자바 스터디를 진행했었던 덕에 해당 내용들을 복습 및 정리하는 차원에서 수월하게 들을 수 있었다.

 

도커 컴포즈에 대해 알아보았다!

우연히 도커 컴포즈에 대해 다루는 인프런 강의 할인 쿠폰을 받을 수 있어, 기회가 얻은 김에 도커 컴포즈에 대해 학습하는시간을 가져보았다. 마스터즈 코스에서 팀 프로젝트를 수행하던 당시 도커를 사용하면서 '도커 컴포즈'라는 키워드에 대해 들어본 적은 있었지만, 당시에는 도커 컴포즈를 왜 사용해야하지에 대한 기초조차 없었기에 대수롭게 생각하지 않았었다.

그래도 이번에 해당 강의를 들으면서 도커 컴포즈를 왜 사용해야하는지와 도커 컴포즈 사용법에 대해 간략히 학습해볼 수 있었다. 생각해보니 마스터즈 코스 팀 프로젝트에서 도커 이미지를 실행할 때 명령어에 각종 환경변수과 포트 그리도 볼륨 마운트 등을 기입하다보니 장황해져 이를 관리하기 매우 불편하다는 느낌을 받았었는데, 도커 컴포즈를 이용하면 이를 효율적으로 관리할 수 있었던 것이다. 😅 지금 진행하고 있는 팀 프로젝트에서는 이를 잘 활용해보고 싶은 욕심이 있다.

 

프로젝트를 위한 AWS 학습 시작!

자바 기초 학습을 마친 이후 요즘에는 이전에 묵혀두고 있었던 인프런 강의들을 하나씩 완강해나가고 있다. 그 중 하나로는 마스터즈 코스 웹 백엔드 과정 마스터이신 '호눅스'가 강의하신 '실습으로 배우는 AWS 핵심 서비스'가 있었다. 마스터즈 코스에서 팀 프로젝트를 하던 당시 호눅스가 해당 강의를 꼭 완강하기를 권장해주었었지만, (변명이지만...) 프로젝트 일정에 쫓기고 있었던 나는 해당 강의에서 당장 필요한 부분만 편식해서 학습했었다. 또한, AWS 서비스에 대한 개념과 원리를 생각하기보다 기능 구현에 초점을 맞춰 강의를 들었기에 나의 지식으로 남았던 것이 거의 없었다. 😂

 

이제 마스터즈 코스를 벗어나서 본격적으로 팀 프로젝트를 진행함에 있어 AWS에서 제공해주는 서비스들을 이해하고 이를 제대로 활용해보고싶은 욕심이 있어 다시 처음부터 해당 강의의 내용들을 차근차근 학습해나가고 있다. 🏋️‍♀️