꼭지 남기기
말이 좀 이상하게 보일 수 있으나 결론은 회고록을 안 쓴 지 오래되어 정글 기간 동안의 나의 변화점을 기록하려고 한다.
(Notion이라는 정리하기 아주 좋은 플랫폼을 발견하여 그곳에 계속 적으로 정리 중이다.)
https://therapeutic-scallion-56a.notion.site/SW_Jungle-458 f012 a 5 adb4 a 38 b 5 f64 f2 da60 ee56 f
WEEK04까지 했던 알고리즘
개인적으론 가장 힘든 시간이었다. (솔직히 지금 Pintso 하는 시간보다 힘들었다)
이유는 다음과 같다.
- 기본적인 수학적인 지식을 기초로 필요하여 추가적인 공부
- 계속된 test에서의 부진
- 많은 공부를 짧은 시간 안에 해야 했음(이건 지금 생각하면 그렇게 많은 거 같지도 않다)
수학을 안 한 지 12년도 더 되었고 그 상태에서 사고하여 문제를 해결해야 한다는 부분이 많이 어려웠던 것 같다.
이 부분을 해결해 보기 위해 여러 방법을 사용했었다. 다음과 같다.
- 모르는 수학 개념 동영상 강의(이거 덕분에 아직도 유튜브에서 추천 영상으로 수학선생님들이 많이 나온다.)
- 효과는 좋았다. 기본적인 수학적 개념들이 다시 생각나고 적용할 수 있게 되었다.
- 집중하는 시간 정하기 (30분 집중, 5분 휴식)
- 이 방법은 지금까지도 좋은 습관으로 남아 있다. 누구에게나 추천해 주고 싶은 방법이다.
- 지금은 조금씩 그 시간을 늘려서 더 길게 집중하고 집중의 질도 좋아졌다.
하지만 알고리즘에서 끝까지 내 발목을 잡는 건 '문제를 파악하는 것' 이였다.
제출자의 의도와 접근 방식을 잡지 못했다. 여러 조언으로 '많이 풀어보자'는 결론이 나왔고 하루 한 문제씩을 못 표로 잡았으나 어느새 1주에 한 번으로 되어 버렸다.
오늘 네이버에서 와주셨고 알고리즘을 강조하시기에 다시 시작해야 한다는 다짐을 하게 되었다.
하루 한 시간.
길지 않은 시간이다. 충분히 할 수 있다.
WEEK05, C언어의 시작
처음에는 재밌을 것 같았다
- 알고리즘 안 해도 된다는 생각
- 새로운 언어를 배운다는 생각
그리고 지금 느끼는 점은 아직 재밌다. 중간에 조금 힘든 시기가 있었다. 포인터라는 놈이 나오고 구조체라는 놈이 나오고...
하지만 어떤 강의에서 이렇게 말했다.
C를 하는 사람들은 포인터에서 자유를 느끼고 나중엔 이것이 어마어마한 권력이라고 느끼게 된다.
이 말을 듣고 쳐다보기 싫었던 포인터를 다시 생각하고 공부하게 됐다. 지금은 다행히 어느 정도 코드의 흐름이 보이고 포인터도 어느정도 사용할 수 있게 되었다.
잡담은 이것까지 하고 5주 차는 RB-Tree였다.
먼저 난 가장 간단한 링크드 리스트부터 구현해보고 이분 탐색 트리도 구현했다.
위 작업을 미리 구현하면서 포인터에 대한 이해와 C에 대해 많이 배웠고 본격적으로 RB-Tree를 구현했다.
수도 코드를 많이 참고하여 구현하였으나 개인적으로 배운 것이 정말 많았던 주였다. 스스로도 크게 성장했던 시기이다.
[공부 정리했던 링크]
WEEK06, Malloc 구현. 본격적인 하드웨어와 친해지기
가장 힘들었던 부분은 다음과 같다.
- 너무나 방대한 CS 공부
- 방대한 것뿐만 아니라 너무 깊음
6주 차에서 CS공부를 가장 많이 했다. (물론 지금도 많이 한다. 끝이 없다)
정말 정말 힘들었지만 한편으론 설레는 부분이 있었다.
평생 공부해도 다 알 수 없을 것 같은 느낌이 이 들면서, 내가 죽을 때까지 성장할 수 있겠구나 하는 생각이 들었다.
정글 오기 전부터 내가 원했던 부분이고 다시 한번 정글에 온 것을 잘했다고 생각하게 되었다.
그렇지만 너무 어려운 부분들이 많았다.
그래도 CPU와 메모리의 관계에 대해 깊이 이해할 수 있었다.
WEEK07, 웹 서버 구축. CS 재밌다!
이전에 알던 지식들을 어느 정도 적용할 수 있는 주차였다.
더불어 해당 주차를 진행하면서 내가 지금 어떤 레이어에 있는지를 이해하면서 코드를 짜기 시작했다.
개인적으론 이 부분이 가장 큰 성장이라고 생각한다.
난 일을 하던 공부를 하던 내가 지금 어디서 무엇을 하고 있는가가 가장 중요하다고 생각한다.
네트워크 7 계층을 공부하게 되면서 유저/커널/HW의 3 계층도 배웠다. 이 부분에 대한 이해는 PintOS 프로젝트를 하면서도 많이 도움이 되었다.
이때부터 점점 더 공부의 재미(정확히 CS의 재미)를 느끼게 된 것 같다.
그리고 집중도도 확실히 좋아졌다고 느꼈다. 공부하는 습관이 점점 바로 잡혔다. 중요한 주차였다.
WEEK08~10, PintOS 시작부터 지금까지
지금까지 Project 1, 2를 완료하고 금주부터 Project 3 시작했다.
정확히는 10.5주를 넘어서고 있다.
유튜브 여유로운 개발자의 강의들이 정말 큰 도움이 되었다. (돈 벌면 구독해서 갚겠습니다!)
https://www.youtube.com/@user-kw8xd4qi8q
처음 과제 파일을 받았을 때는 집에 가고 싶었다.
뭐가 어떻게 돌아가는지 파악하는데만 3일을 넘게 시간이 걸렸던 것 같다. (아직 지금도 완벽히 알지 못한다.)
체력적으로 많이 힘들었지만 그래도 남은 게 너무 많아서 좋았다.
심지어 지금 Project 3을 하는 중인데, 재밌다. 코드 파악하는 부분이나 이론 공부나 하루하루 재밌게 하고 있다.
잘 마무리해보자
지금까지 느낀 점 정리
더 열심히 할 수 있겠다는 생각이 아직 있다.
이런 생각이 남는다면 끝나고 분명히 후회한다. 따라서 더 열심히 하고 집중해야 한다.
배워야 할게 많다. 남들보다 늦은 부분들도 있고 같은 것을 배워도 가끔 뒤처지는 것도 인정한다.
그래도 뒤돌아보니 결국은 성장해 있었다는 것을 이 글을 쓰면서 느꼈다.
재밌다.
정글이 끝나고 더 재밌으려면 지금 더 노력해야 한다.
'Develop > SW사관학교 정글5기' 카테고리의 다른 글
[SW사관학교정글]5기_WEEK10~13_회고 (1) | 2022.12.20 |
---|---|
[WEEK10~13]_Pintos_Project3_Virtual Memory (0) | 2022.12.06 |
[WEEK09]Pintos_Project2_User Program (0) | 2022.11.29 |
[WEEK08]PintOS_Project1_Threads (0) | 2022.11.17 |
[WEEK07]웹 서버 구축(Tiny서버, Proxy)_C언어 (0) | 2022.11.11 |