안녕하세요 블레이즈입니다. 코딩 학습 여정을 시작할 때 나는 부정행위를 하지 않겠다고 스스로 다짐했습니다.
어떤 연습 문제를 풀 때, 나는 내 코드가 작동할 때까지 해결책을 찾지 않겠다고 스스로 다짐했습니다.
Udemy 강좌와 YouTube 동영상에 지쳤기 때문에 The Odin Project를 선택하게 되었습니다. Udemy 강좌와 YouTube 동영상은 결코 나쁘지 않은데 저를 아무 데도 데려가지 못하는 것 같은 느낌이 들었습니다.
각 영상을 3분만 시청해도 집중하기 힘들고 생각이 흩어지기 시작했습니다. 그러나 이것은 다른 블로그 게시물의 주제입니다.
Odin 프로젝트 커리큘럼은 문서 읽기 및 연습 문제 해결, 프로젝트 만들기, 더 많은 문서 읽기, 더 많은 연습 문제 해결, 예상대로 진행할수록 더 어려워지는 더 많은 프로젝트 구축을 기반으로 합니다.
이 지점에 도달하기 전까지는 모든 것이 괜찮았습니다.
긴 주말이었던 기억이 나네요. 4일 내내 모든 것을 해결하려고 노력했습니다. 처음 몇 가지 연습은 순조롭게 진행되었지만 회문(결국 해결함)과 피보나치에서 막히게 되었습니다.
아 맞다… 그건 살인자였어. 그런데 위 사진에는 그런 운동이 없지 않느냐고 물으실 수도 있겠네요. 예, 하지만 언급된 저장소로 이동하면 8번째와 9번째 위치에서 찾을 수 있습니다.
이전 연습 문제를 해결하는 데 시간이 너무 오래 걸려서 어디서 멈춰야 할지 모르고 계속 진행했습니다.
나는 차를 마시고 차를 마시면서 열심히 생각하고 있었다. 시간이 지날수록 '다 간단해, 내가 할게'에서 '뭔가 잘못된 것 같아, 내 사고방식이 맞는 것 같아, 운동 자체에 뭔가 잘못된 게 틀림없어'로 생각이 급격하게 바뀌기 시작했습니다. 해결책을 찾아봐야 하지 않을까요?”
저는 공부할 때 25분간 집중하고 5분간 휴식하는 뽀모도로 기법을 사용합니다.
포모도로가 지나가고 있었는데, 일종의 피보나치 수열을 얻을 수 있는 지점에 도달했지만… 여전히 옳지 않은 것 같았습니다.
이 순간 '그래, 여기까지 왔구나. 나중에 배울 게 있을 테니 해결책을 살펴보고 넘어가면 되지'라는 생각이 들었습니다.
생각한 대로 했는데… 물론, “아, 그렇구나. 그만큼 쉽고 논리적으로 생각했구나. 좋아, 그럼 계속하자!”
피보나치 이후에 풀어야 할 객체 연습이 있었는데 아직 TOP에서는 그 시점에 객체를 다루지 않았기 때문에 혼란스러웠습니다.
그리고 제가 옳았습니다. 실수로 몇 가지 레슨을 먼저 진행했습니다…
그것은 부정행위가 옳다는 확신을 주었을 뿐이며, 나중에 또는 더 쉽게 문제를 해결할 수 있는 새로운 것을 곧 배우게 될 것입니다. ㅋ!
몇 번의 수업을 마치고 일주일 정도 지나서 다시 Palindromes와 Fibonacci로 돌아왔습니다. 이번에는 조금 스트레스를 받았지만…
회문은 순조롭게 진행되었고 저는 자리에 앉아 피보나치를 했습니다. 여기서 언급해야 할 점은 연습문제로 파일을 열면 당연히 해결되었기 때문에 코드를 많이 보지 않으려고 노력했다는 점입니다.
그냥 다 표시하고 삭제했어요. 그러나 나는 첫 번째 줄이 다음과 같다는 것을 기억했습니다.
let fib = [];
나는 그것을 해결하기 시작했다. 아무것도 작동하지 않았습니다. 나는 저녁을 먹고 산책을 하기로 결정했다. 컴퓨터에서 떨어져 있을 때마다 내 뇌는 피보나치로 돌아가고 있었습니다.
머릿속에서 VSCode가 실행되는 것 같은 느낌이 들었습니다. 맹세코 에어프라이어에서 요리되는 칩을 보는 대신 피보나치 코드 줄(특히 그 빌어먹을 루프와 'if' 문)만 볼 수 있었습니다.
물론 재미있는 느낌은 내가 이미 이것을 시도했거나 단순히 JavaScript가 전혀 작동하지 않는다는 것을 깨달은 5초 후에 어떤 해결책을 상상하는 것이었습니다!!!
밥을 먹고 산책을 나갔습니다. 1시간 걷기 = 1시간 깊이 생각하기 나는 노트에 3가지 새로운 솔루션을 적어 두었고 그것이 효과가 있을 것이라고 100% 확신했습니다.
그 중 어느 것이 효과가 있었는지 맞춰보세요. 예, 당신 말이 맞아요, 없음! 나는 여전히 같은 결과를 얻고있었습니다. 그 순간 나는 배열에 뭔가를 추가하는 것에 대해 생각했습니다.
나는 거기에 뭔가가 필요하다는 것을 알았습니다. 그런데 뇌 속 깊은 곳에서는 “이전에 풀었던 연습 문제를 삭제했는데 그 배열은 비어 있었네요.”라는 응답이 들렸습니다. 나는 단지 나 자신에게 거짓말을 했을 뿐입니다.
다시 문서와 기사를 읽었지만 이번에는 속일 수 없다는 것을 알았습니다. 나는 부정행위가 장기적으로 도움이 되지 않는다는 것을 이미 배웠으며, 지금 부정행위를 하면 나중에 같은 문제에 직면하게 될 것입니다.
3시간이 지났습니다. 나는 더 이상 좌절하지 않았다. 나는 이 문제가 해결되기를 바랐고, 내가 뭘 잘못하고 있는지 이해하고 싶었습니다. 또한 이 루프가 어떻게 작동하는지 알고 있는 것 같았고 조건문을 사용하여 모든 구성을 이미 시도한 것 같았습니다.
내 머릿속에 있는 유일한 해결책은 Discord 채널에 도움을 요청하는 것이었습니다.
해결했어요!!!! 보세요, 저는 그 배열에 값을 넣고 루프 전에 조건문을 가져와야 했습니다. 그것이 바로 내 뇌가 실제로 10시간 이상 전에 나에게 말한 것입니다.
그런데 해결책을 조금 봤기 때문에, 다르다고 믿고 하지 말라고 계속 속였습니다. 에에.
이날 제가 배운 두 번째 교훈은 당연히 도움을 요청하는 것이었습니다. 하지만 저는 모든 사람이 문서를 읽고 모든 것을 스스로 해결하는 과정을 거치도록 강력히 권장합니다. 특히 아직 배우는 단계에서는 더욱 그렇습니다.
이 과정에서 많은 것을 배웠고, 다시는 이런 실수를 하지 않겠다고 믿습니다.
이제 나는 다른 운동으로 또 다른 벽에 부딪힐 준비가 훨씬 더 되었습니다. 이제 그 과정이 익숙해졌습니다!