내일배움캠프 6주차 회고록

김광훈·2021년 10월 24일
0

WIL(Weekly I Learned)

목록 보기
5/7

💻알고리즘

⚙Fact


1. 알고리즘 주간

화요일에 프로젝트 발표를 마무리로 2차 스프린트를 마무리 짓고 알고리즘 주간이 시작되었다. 일주일동안 알고리즘 공부를 진행하며 5강으로 이루어진 강의와 함께 백준에서 제공되는 알고리즘을 팀원들과 고민하며 풀고 해설 영상을 찍었다.
알고리즘 강의는 알고리즘 풀이에 필요한 개념 위주의 내용이 주를 이루었으며 다음의 항목들에 대해서 배울 수 있었다.

  • 1강 : 시간복잡도와 공간복잡도
  • 2강 : 어레이와 링크드리스트 / 이진탐색 / 재귀함수
  • 3강 : 정렬 / 스택, 큐 / 해쉬
  • 4강 : 트리 / 힙 / DFS&BFS / Dynamic Programming

개념 공부는 되었으나 어떤 상황에서 사용할지 어떻게 코드를 짜야할지에 대해서 미숙하다.
추가적인 공부 또는 연습이 필요하다.

2. JAVA

JAVA 기초 문법 공부를 시작했다. 내일배움캠프에서 제공해주는 JAVA 문법 강의 영상을 베이스로 들으며 추가적으로 생활 코딩의 영상을 보며 공부했다.
JAVA 강의에서 다음의 내용들을 배울 수 있었다.

  • 기초 문법

  • 객체지향언어

  • 예외 처리

  • 컬렉션

  • 제네릭스, 람다, 스트림

  • OpenAPI 사용

    JAVA 문법의 경우 객체지향언어를 이해하는데서 막혔고 그 이후 JAVA의 제네릭스 사용과 인터페이스 사용하는 부분에 대해서 이해하기가 어려웠다. 또한 OpenAPI 코드 구성에 대해서는 거의 이해하지 못했다.

⚙Feeling


1. 배움의장
프로젝트도 끝나고 한결 가벼운 마음으로 새로운 것을 배울 생각에 한 껏 들떠있었지만, 현실의 벽은 내 생각보다 많이 높았다. 그저 강의 흐름대로 듣다보면 알고리즘 천재가 될줄 알았지만 현실은 머리속에 아무것도 남지 않았다. 대체 어디에 어떻게 적용해야 하는지 부터 왜 이렇게 짠 코드가 동작하는지... 한주 내내 자신과의 싸움의 계속이었다. 그 뿐만이랴 낮에는 알고리즘 저녁에는 JAVA까지 하려고 하니 머리가 너무 아팠다. 더욱이 JAVA도 내게는 너무 높은 벽이였다. 마치 커다란 벽사이에서 샌드위치가 된 느낌이랄까, JAVA의 객체지향언어 강의에 들어간 후부터 내일배움캠프에서 제공하는 강의만으로는 이해가 되지 않아서 추가적으로 생활코딩의 강의를 들을 수 밖에 없었다. 해야할 일은 많은데 정작 진행하고 있는 일의 속도가 나질 않으니 자꾸만 뒤에 쌓여만 간다. 언젠간 머리속에 빡하고 깨닫는 순간이 올까 궁금하다

⚙Finding/Future


1. 학습방법
한 주동안 알고리즘, JAVA문법 강의 두개를 완강했다. 하지만 내 머리속에 남는것은 얼마 없다는 사실이 현재 내가 공부하는 방법이 옳지 않다는 것을 증명했다. 내 공부 방식에서 가장 큰 문제점을 나열해보면,

  1. 강의를 보고 이해했다고 넘어가지만 이해한 내용을 다른 사람에게 설명하지 못한다.
  2. 내가 직접 생각하고 코드를 짜지 않는다.
  3. 내가 공부한 정보를 문서화 해놓지 않는다.
  4. 구글링을 하지 않는다.

막상 나열해보니 이런 내가 과연 개발자가 될 상인가... 라는 생각이 떠올랐지만, 하나하나 고쳐나가서 올바른 습관을 만들어보자...!

위의 문제를 해결하기 위해 또는 적절한 학습 방법을 익히기 위해 생각하고 찾아본 결과 다음과 같은 결론을 낼 수 있었다.

  1. 강의에서 내가 얻어가야할 것의 순위를 항상 생각하고 공부하자!
    • 1순위 : 개념 파악
      내가 처음 배우는 것이라면 개념을 먼저 익히는 것이 가장 중요하다! 다른 부분은 놓치더라도 개념을 탄탄하게 잡고 넘어가자.
    • 2순위 : 코드 직접 짜보기
      이 부분이 제일 어려울 것이라고 생각되는 부분이다. 내가 본 글에서는 코딩은 근육과 같다고 했다. 말인 즉슨, 내가 직접 코드를 짜보지 않으면 지식은 금방 휘발되기 마련이다. 항상 내가 직접 생각하고 코드를 짜보는 습관을 갖자.
    • 3순위 : 문서화
      강의에서는 공부에 도움이 되는 강의자료를 많이 챙겨준다. 이를 활용해서 나만의 문서를 만들자! 강의에 주요 개념과 기본 코드를 정리해 둬서 코드를 작성할 때 참고용으로 사용할 생각이다.
    • 4순위 : 구글링
      강의에서 부족하다고 느낀 내용은 구글링을 통해 보강하자. 비록 이 부분에서 많은 시간이 소요되겠지만 배운 지식에 대해서는 documentary 위주로 구글링을 해야겠다. 결국 나중에 뼈가되고 살이되는 습관이 될 것이다.
  2. 한정된 시간에 크게 구애받지 않기!
    이번 한 주 동안 가장 크게 깨달은 부분이다. 많은 강의를 들었지만 머리속에 남는 것은 없는 불상사가 발생했기 때문이다. 오래 걸리더라도 1번의 사항을 지켜가며 공부해야 겠다는 생각이 들었다.
  3. 미루지 말기!
    내가 할 수 있는 역량을 내가 알고 있는데도 주중에 해결하지 못한 것을 자꾸 주말로 밀어넣는 습관을 갖고있다. 결국 주말에는 해야할 것이 쌓여버리게 되는 문제가 발생했었다. 그러니 주중에 해결하지 못한 것을 주말로 미루지 말것!

이 중에서 가장 크게 생각하는 부분은 결국 내가 직접 생각하고 코드를 짜봐야한다는 것이다. 물론 개념 파악이 먼저이겠지만, 내가 이번 한주동안 가장 부족하다고 느낀부분은 직접 생각하고 코드를 짜는 부분이였다. 이번 한 주는 내가 부족한 부분을 깨닫게 되었으니 다음 한 주는 부족한 부분을 고쳐나가는 한주가 되도록 노력해봐야겠다.

참조 : https://ichi.pro/ko/ppaleun-sogdolo-saeloun-peulogeulaeming-eon-eoleul-baeuneun-bangbeob-269718473308053

profile
잘 부탁드려요

1개의 댓글

comment-user-thumbnail
2021년 10월 25일

Finding/Future가 정말 알찬 6주차였군요! 👍👍 남은 3개월 간 열심히 공부해서 함께 극복해봅시다!!

답글 달기