paint-brush
치트 없는 코드 챌린지 - 내가 Odin 프로젝트에서 살아남은 방법~에 의해@codebyblazej
248 판독값

치트 없는 코드 챌린지 - 내가 Odin 프로젝트에서 살아남은 방법

~에 의해 CodeByBlazej5m2024/06/08
Read on Terminal Reader

너무 오래; 읽다

첫 번째 게시물에서는 까다로운 피보나치 수열과 지속성의 중요성을 포함하여 코딩 학습의 최고점과 최저점을 자세히 살펴보았습니다. 나는 내 경험, 팁, 그리고 가끔 내 자신의 어려움에 대한 웃음을 공유함으로써 동료 코더, 특히 이제 막 시작하는 사람들에게 영감을 주고 즐겁게 하는 것을 목표로 합니다. 코딩과 문서화의 흥미진진한 세계를 탐험하는 과정에 저와 함께 하세요.
featured image - 치트 없는 코드 챌린지 - 내가 Odin 프로젝트에서 살아남은 방법
CodeByBlazej HackerNoon profile picture

안녕하세요 블레이즈입니다. 코딩 학습 여정을 시작할 때 나는 부정행위를 하지 않겠다고 스스로 다짐했습니다.

부정행위란 무엇을 의미하나요?

어떤 연습 문제를 풀 때, 나는 내 코드가 작동할 때까지 해결책을 찾지 않겠다고 스스로 다짐했습니다.

오딘 프로젝트 선택

Udemy 강좌와 YouTube 동영상에 지쳤기 때문에 The Odin Project를 선택하게 되었습니다. Udemy 강좌와 YouTube 동영상은 결코 나쁘지 않은데 저를 아무 데도 데려가지 못하는 것 같은 느낌이 들었습니다.


각 영상을 3분만 시청해도 집중하기 힘들고 생각이 흩어지기 시작했습니다. 그러나 이것은 다른 블로그 게시물의 주제입니다.

오딘 프로젝트에 뛰어들기

Odin 프로젝트 커리큘럼은 문서 읽기 및 연습 문제 해결, 프로젝트 만들기, 더 많은 문서 읽기, 더 많은 연습 문제 해결, 예상대로 진행할수록 더 어려워지는 더 많은 프로젝트 구축을 기반으로 합니다.


이 지점에 도달하기 전까지는 모든 것이 괜찮았습니다.


TOP 과제



회문과 피보나치의 도전

긴 주말이었던 기억이 나네요. 4일 내내 모든 것을 해결하려고 노력했습니다. 처음 몇 가지 연습은 순조롭게 진행되었지만 회문(결국 해결함)과 피보나치에서 막히게 되었습니다.


아 맞다… 그건 살인자였어. 그런데 위 사진에는 그런 운동이 없지 않느냐고 물으실 수도 있겠네요. 예, 하지만 언급된 저장소로 이동하면 8번째와 9번째 위치에서 찾을 수 있습니다.


이전 연습 문제를 해결하는 데 시간이 너무 오래 걸려서 어디서 멈춰야 할지 모르고 계속 진행했습니다.


킬러



피보나치와의 투쟁

나는 차를 마시고 차를 마시면서 열심히 생각하고 있었다. 시간이 지날수록 '다 간단해, 내가 할게'에서 '뭔가 잘못된 것 같아, 내 사고방식이 맞는 것 같아, 운동 자체에 뭔가 잘못된 게 틀림없어'로 생각이 급격하게 바뀌기 시작했습니다. 해결책을 찾아봐야 하지 않을까요?”


나의 여러 시도


저는 공부할 때 25분간 집중하고 5분간 휴식하는 뽀모도로 기법을 사용합니다.


포모도로가 지나가고 있었는데, 일종의 피보나치 수열을 얻을 수 있는 지점에 도달했지만… 여전히 옳지 않은 것 같았습니다.


깨진 피보나치



유혹의 순간

이 순간 '그래, 여기까지 왔구나. 나중에 배울 게 있을 테니 해결책을 살펴보고 넘어가면 되지'라는 생각이 들었습니다.


생각한 대로 했는데… 물론, “아, 그렇구나. 그만큼 쉽고 논리적으로 생각했구나. 좋아, 그럼 계속하자!”

실수를 깨닫는 것

피보나치 이후에 풀어야 할 객체 연습이 있었는데 아직 TOP에서는 그 시점에 객체를 다루지 않았기 때문에 혼란스러웠습니다.

그리고 제가 옳았습니다. 실수로 몇 가지 레슨을 먼저 진행했습니다…


그것은 부정행위가 옳다는 확신을 주었을 뿐이며, 나중에 또는 더 쉽게 문제를 해결할 수 있는 새로운 것을 곧 배우게 될 것입니다. ㅋ!

회문과 피보나치로 돌아가기

몇 번의 수업을 마치고 일주일 정도 지나서 다시 Palindromes와 Fibonacci로 돌아왔습니다. 이번에는 조금 스트레스를 받았지만…


회문은 순조롭게 진행되었고 저는 자리에 앉아 피보나치를 했습니다. 여기서 언급해야 할 점은 연습문제로 파일을 열면 당연히 해결되었기 때문에 코드를 많이 보지 않으려고 노력했다는 점입니다.


그냥 다 표시하고 삭제했어요. 그러나 나는 첫 번째 줄이 다음과 같다는 것을 기억했습니다.


 let fib = [];

마지막 투쟁

나는 그것을 해결하기 시작했다. 아무것도 작동하지 않았습니다. 나는 저녁을 먹고 산책을 하기로 결정했다. 컴퓨터에서 떨어져 있을 때마다 내 뇌는 피보나치로 돌아가고 있었습니다.


머릿속에서 VSCode가 실행되는 것 같은 느낌이 들었습니다. 맹세코 에어프라이어에서 요리되는 칩을 보는 대신 피보나치 코드 줄(특히 그 빌어먹을 루프와 'if' 문)만 볼 수 있었습니다.


물론 재미있는 느낌은 내가 이미 이것을 시도했거나 단순히 JavaScript가 전혀 작동하지 않는다는 것을 깨달은 5초 후에 어떤 해결책을 상상하는 것이었습니다!!!

획기적인 순간

밥을 먹고 산책을 나갔습니다. 1시간 걷기 = 1시간 깊이 생각하기 나는 노트에 3가지 새로운 솔루션을 적어 두었고 그것이 효과가 있을 것이라고 100% 확신했습니다.


내 휴대폰에 있는 메모



그 중 어느 것이 효과가 있었는지 맞춰보세요. 예, 당신 말이 맞아요, 없음! 나는 여전히 같은 결과를 얻고있었습니다. 그 순간 나는 배열에 뭔가를 추가하는 것에 대해 생각했습니다.


나는 거기에 뭔가가 필요하다는 것을 알았습니다. 그런데 뇌 속 깊은 곳에서는 “이전에 풀었던 연습 문제를 삭제했는데 그 배열은 비어 있었네요.”라는 응답이 들렸습니다. 나는 단지 나 자신에게 거짓말을 했을 뿐입니다.

내 원칙을 고수하기

다시 문서와 기사를 읽었지만 이번에는 속일 수 없다는 것을 알았습니다. 나는 부정행위가 장기적으로 도움이 되지 않는다는 것을 이미 배웠으며, 지금 부정행위를 하면 나중에 같은 문제에 직면하게 될 것입니다.


3시간이 지났습니다. 나는 더 이상 좌절하지 않았다. 나는 이 문제가 해결되기를 바랐고, 내가 뭘 잘못하고 있는지 이해하고 싶었습니다. 또한 이 루프가 어떻게 작동하는지 알고 있는 것 같았고 조건문을 사용하여 모든 구성을 이미 시도한 것 같았습니다.

도움을 요청

내 머릿속에 있는 유일한 해결책은 Discord 채널에 도움을 요청하는 것이었습니다.


도움을 구걸하다


제발…



내 뇌는 포기했어



이야!



감사합니다!!!



솔루션과 교훈

해결했어요!!!! 보세요, 저는 그 배열에 값을 넣고 루프 전에 조건문을 가져와야 했습니다. 그것이 바로 내 뇌가 실제로 10시간 이상 전에 나에게 말한 것입니다.


그런데 해결책을 조금 봤기 때문에, 다르다고 믿고 하지 말라고 계속 속였습니다. 에에.


해결책!



결론

이날 제가 배운 두 번째 교훈은 당연히 도움을 요청하는 것이었습니다. 하지만 저는 모든 사람이 문서를 읽고 모든 것을 스스로 해결하는 과정을 거치도록 강력히 권장합니다. 특히 아직 배우는 단계에서는 더욱 그렇습니다.


이 과정에서 많은 것을 배웠고, 다시는 이런 실수를 하지 않겠다고 믿습니다.


이제 나는 다른 운동으로 또 다른 벽에 부딪힐 준비가 훨씬 더 되었습니다. 이제 그 과정이 익숙해졌습니다!