본문 바로가기

🎒 Activity/패스트캠퍼스

[패스트캠퍼스] 패스트캠퍼스 백엔드 개발 3주차 회고

3월 17일 날 시작한 후 3주가 지났다. 사실 많으면 매주 회고글을 작성해보고 싶었는데, 아직 초반부라서 그렇게 적을 내용도 많진 않았다.

 

적응 기간도 조금 필요했고, 3주밖에 안 지났지만 나름 루틴에 적응을 해가고 있습니다. 해당 부분에 대해서 짧은 회고를 조금 남겨보려고 합니다.

 

 

🏃🏻 7개월을 꾸준히 참여하기 위해서 필요한 것은 '체력'

월요일부터 금요일까지 오후 1시부터 10시까지 매일 컴퓨터 앞에 앉아있다 보니 몸소 느낀 것이 있다.  '체력'을 키워야 개발자도 꾸준히할 수 있겠구나...

 

처음에는 별로 대수롭지 않게 생각을 했었는데, 요즘은 크게 느껴지고 있는 것 같다. 그래서 하루에 적어도 10분 정도씩은 나가서 뛰는 루틴을 추가해 봤다. 물론...이런 저런 핑계를 대며 안 갔었던 날도 많지만 확실히 작심삼일은 넘겼다. 이것도 나름 대견한 결과이다.

 

물론 10분이 짧을 수도 있지만, 아침에 이렇게 뛰고 오면 나름 오후 1시부터 시작하는 일과 때 정신이 조금 맑아지는 느낌이 난다. 확실히 안 뛰었을 때와는 다른 활력이 조금은 생긴 것 같다. 기회가 된다면 하프 마라톤! 해보고 싶다.

 

작심삼일은 넘긴 나의 도전 😀

 

 

 

🧐 하루에 한 번은 뇌를 돌리자 (알고리즘 문제 풀기)

뇌도 안 쓰다가 쓰려고 하면 저릿한 느낌이 든다. 쉬운 문제라도 조금씩 머리를 돌려보는 것이 중요하다고 느꼈고, Java 언어를 학습하면서 알고리즘 문제를 하루에 적어도 1문제를 해결해보자라는 목표를 정했다.

 

하지만 평소와는 다른 방법으로 알고리즘 문제에 접근해 보기로 했다. 사실 이 부분은 패스트캠퍼스 멘토님이 추천해 주신 방법이다. 

 

항상 알고리즘 문제를 풀 때 고민했었다. 스스로 문제를 푸는 것은 중요한데 이렇게 많은 시간을 쏟는 것이 효율적인 것인가라는 생각이다. 나는 지금껏 알고리즘 문제를 풀 때, 따로 시간을 지정해두지는 않았다. 그래서 어떨 때는 정말 4시간~5시간을 한 문제에 쏟았던 적도 많았다. 

 

근데 문득 이 방법은 그리 효율적인 방법이 아니라는 느낌이 들기 시작했고, 멘토님에게 질문을 드렸다. 멘토님의 의견을 받아들여 내가 정한 알고리즘 문제 풀이 방식은 다음과 같습니다.

1. 문제를 읽자마자 코드를 작성하지 않는다.

이전에는 문제를 읽고난 후 코드를 바로 작성했었다. 이렇게 했을 때의 문제점은 코드를 작성하는 과정 중간에서 막히면 코드를 싹 초기화하고 다시 작성하는 일이 빈번했다. 

그래서 결정한 방법은 처음에 문제를 정독한 후 20~30분 정도는 오직 알고리즘만을 생각하며 종이에 사용할 알고리즘의 방향성에 대해서 적어나간다.

만약 이 과정에서 1시간이 넘게 알고리즘 구상도 못하고 있다면, 그 문제는 모르는 문제로 생각하여 다른 사람의 알고리즘을 참고한다. 이때 코드 답을 바로 보지 않고, 알고리즘 방향만 먼저 참고한 후 해당 알고리즘대로 코드를 작성해봅니다.

알고리즘을 참고하고, 코드를 작성했는데도 계속 풀지 못한다면 다른 사람의 코드도 참고합니다. 이렇게 해결한 문제는 반드시 이해하고 넘어가야 합니다. 그리고 도움을 받은 문제는 따로 깃허브 레포지토리 Readme에 기록해 둡니다.
2. 도움받은 문제는 반드시 다시 풀어보기

일주일 이상이 지난 후 해당 문제를 다시 풀어봅니다. 이 과정은 내가 문제를 정확히 이해하고 넘어갔는지 확인하기 위한 작업입니다.
3. 새롭게 알게 된 알고리즘이나 개념이 있으면 블로그 기록하기

처음 사용해 본 알고리즘이나 기록해뒀으면 하는 과정이 존재하는 알고리즘 문제는 블로그에 따로 기록해 둡니다.

 

 

깃허브 레포지토리 README.md

 

 

 

🙋🏻‍♂️ 일일 계획의 성공률을 높여보자

멘토님을 만나기 전까지는 미친 듯이 달려 나가는 계획을 작성했었다. 물론 결과는 처참했고, 성공률도 저조했다.

성공률이 낮으니깐 뭔가 성취도도 조금 떨어지는 것 같고, 하루 만족도가 많이 떨어졌었다.

 

원인을 생각해 보면 "무리한 계획", "핑계"가 대부분을 차지했다.

 

아 오늘은 조금 힘드니깐 달리기 미뤄야겠다. 강의 듣느냐고 알고리즘 문제 못 풀었다. 내일은 꼭 풀어야지~ 이런 식의 핑계들이었다. 문제점은 파악했으니 해결방안을 생각해 봤다.

 

1. 계획은 최대한 구체적으로 작성

원래는 chapter 단위로 크게 크게 묶었었는데, 이번주에는 chapter안에 세부 chapter 단위로 나누어서 계획을 작성해 봤다.
이렇게 했을 때의 결과는 크게 크게 잡았던 계획보다는 확실히 성공률이 많이 늘었다. 그리고 추후에 복습에 대한 계획을 정할 때도 도움이 많이 됐다. 
2. 일과 시작 전에 알고리즘 문제 풀고 시작하기

2주 차까지는 온라인 강의, 실시간 강의 모든 일과를 다 마친 후에 알고리즘 문제를 풀 계획을 잡고 있었다. 근데 문제는 강의 계획이 지켜지지 않은 날은 알고리즘을 풀지 않고 넘어가는 날이 많았다. 사실 핑계다.

그래서 같은 그룹 스터디원의 의견을 수용하여 일과를 시작하기 전에 알고리즘 문제를 먼저 풀고 시작하는 계획으로 변경했다. 이렇게 했을 때 얻을 수 있었던 효과는 알고리즘 문제에 시간을 과도하게 사용하지 않는다는 점과 일과 시작 전에 뇌를 약간 워밍업 하는 느낌으로 시작할 수 있다는 점이 있었다.

 

이렇게 계획을 변경하고 난 후 3주 차 계획 성공률을 많이 높일 수 있었다. 이렇게 계속 적용해보고 점점 계획을 개선해볼 생각이다. 여기까지 3주차 회고를 마치며 다음 회고글은 언제일지 모르겠지만 그때는 지금보다 조금 더 성장해 있을 거라는 확신이 들었다. 🙂