이 글은 프로그램 개발 공부를 시작하려고 마음먹은 사람에게 도움이 되길 바라는 목적과 나 스스로 그동안의 지난 날을 글로 남겨두기 위해서 작성합니다..
if age >= 30 or main_subject != "programming":
raise Error
안녕하세요 저는 올해 36살이고 처음 공부를 시작했던 시기는 아마도 4년전인 32살 때였던것 같습니다. 비전공자입니다. 공부를 시작하기에 '나이'는 중요하지 않은것 같습니다. 나이보다 중요한 것은 공부를 할 수 있는 '상황'인지 여부가 훨씬 더 중요한 것 같습니다.
무슨 공부든지 공부를 하려면 당연히 '시간(time)'이 필요합니다. 온라인 강의, 책 등 공부에 필요한 것을 구매하기 위한 '돈(money)'도 필요합니다. 공부를 할 수 있는 시간이 없고 돈이 없으면 공부를 할 수 없습니다. 이건 시작하기 전에 당연히 생각해보셔야 할 부분입니다.
특히 시간이 생각보다? 많이 필요합니다. 😥
저는 1. python 👉 2. django 👉 3. react 순서로 공부를 했습니다.
이제 혼자서 웹개발을 간단하게 할 수 있는 정도의 수준입니다.
이정도의 실력? 까지 공부하는데 걸린 시간이 4년 인 것 같습니다.
당연히 하루종일 공부만 했다면 조금 더 빨랐지 않았을까? 생각해봅니다.
일을 병행하면서 공부를 하니 생각보다 진도가 더뎠습니다.
무엇보다 일이 바쁜주간은 한주 또는 두세주 내내 공부를 하지 못했고, 이 기간이 지나고 난 이후 다시 공부를 하려고 돌아오면 심지어 지난번에 공부했던 내용까지 전부 까먹는 경우가 많아서 더더더더더 진도가 느렸던 것 같습니다. 🤣
지금에 와서 과거를 돌아보니 전공여부는 전혀 중요한게 아니었습니다.
나이도 전혀 중요한게 아니었습니다.
성패를 가르는 결정적인 요인은 결국 멈추지 않고 계속 나아갈 수 있는 힘이 있는지 여부 였습니다.
저는 지난 4년 동안 너무 느렸지만 그래도 꾸준히 계속 했던 것 같습니다.
비록 중간에 3개월 동안 아예 쳐다도 보지 않은 적도 있긴 했지만 그래도 3개월 이후 다시 시도했습니다. 여러분도 이런 마음으로 빨리가지 않아도 좋으니 멈추지만 않겠다는 생각으로 시작 하셨으면 좋겠습니다.
당연히 멈추지 않고 매일 최고 속력으로 달리면 가장 빨리 도달할 수 있습니다.
그러나 우린 사람입니다. ^^ 감정을 가진 동물이잖아요. 중간에 슬픈일도 있고, 아프기도 하고, 잡생각이 들기도 하기 마련입니다. 괜찮아요 당연한 거니까요. 그런일로 자책하지 말고, '다시(again)' 시작하면 됩니다.
않사본 책, 않사본 온라인 강의가 많지는 않은 것 같습니다.
온라인 강의도 정말 많이 구매했습니다. fastcampus, nomadcoder, 코딩애플, 인프런 등등 돈 많이 썼네요 ㅎㅎㅎ 앞으로 많이 벌어야 본전이겠구만 ㅋㅋ
다만 python 기본 문법을 정말 잘 설명한 책 한 권을 추천드립니다.
Do it! 점프 투 파이썬 - 일명 점프투 시리즈 입니다. 저 개인적으로 여기 시리즈 정말 다 좋다고 생각합니다. 믿고 보는 점프투 시리즈입니다.
저는 python 기본 문법을 익히기 위해 python 기본 문법책도 시중에 나온 것은 정말 거의다 대부분 사보았습니다. 그 중 가장 좋은 책이라고 생각합니다. 별로 좋지 않은 책도 있었습니다. 그러나 굳이... 나쁜 책은 공개적으로 여기에 글로 영원히 남기고 싶진 않습니다. 그 저자분도 최선을 다해서 쓰셨을 책을 제가 개인적인 시각으로 공객적으로 비난하는 것은 옳지 못한것 같습니다. 우선은 위 책 정말 너무나 너무나 추천 드립니다. 꼭 읽어보세요 ^^ 최고!!
"자 이제 django 책으로 넘어가겠습니다."
"시중에 출판된 django 와 관련된 책은 영어로 출판된 원서를 제외하면 전부 다 샀습니다."
저는 책을사면 먼저 목차를 읽어봅니다. 어떤 책은 python 기본 문법을 모르는 사람들도 있을 수 있다고 생각해서 django 책 앞쪽에 python 기본 문법을 설명하는 책이 있습니다. 당연히 이런 책을 볼때 저는 그런 부분은 스킵하고 넘어갔습니다.
책에서 목차를 읽고 목차의 순서에 관계없이 궁금한 내용이 있으면 그것을 먼저 읽어 봅니다. 당연히 선행학습이 되어야만 이해가 가능한 챕터의 경우에는 제가 가서 읽어도 무슨 내용인지 이해할 수 없습니다. 그러나 !!! 눈으로 한 번 읽어본 것 과 평생 전혀 단 한번 도 보지 못한 것은 천지차이입니다. 이점 꼭 명심해주세요 😎 내가 흘깃~ 이라도 한 번 눈으로 읽어 본 것과 전혀~ 단 한번도 보지 못한 것은 완전히 다르다는 점, 그냥 편안한 마음으로 읽습니다. 원래 모른다~~ 당연히 모르지 뭐 ~ 내가 모르는게 뭐 어때서 ~~ 이해 안됨~~ 원래 이해 안됨~~ 오오오오~~ 그래 ~~ 이해 안됨~ 안돼에에에엠~ 뭐래는거야 ~ 으 으으응~ 기래기래 오구오구~~ 그래~~~ 이렇게 그냥 편하게 읽어봅니다.
그리고 지쳤다면 책을 덮고 쉬었습니다. ㅎㅎㅎ 정말입니다. 그래서 제가 4년 이나 걸렸는지도 모르겠네요 아무튼 저는 머리에 안들어오면 쉬었어요. 그리고 다음에 다시 그 책을 펼치고 이번에는 진도대로 학습을 따라가봅니다. 이번엔 진도대로 가는거에요. 챕터 1 👉 챔터 2 👉 챕터 3
이때도 이해 안되는게 무지하게 많이 나옵니다. 이때도 멘탈 관리가 중요합니다.
모르는게 너무 많아... 하 씨발 내가 비전공자라서 그런가? 전공자 새끼들은 이거 이미 다 알고 있는 존나 간단한거 아니야? 하... 나만 모르는거 아니야?? 나는 안될 새낀가. 내 주제에 무슨 공부를... 하겠다고 설쳐서... 하 .... 😥
절대!!! 이런 생각 하지 마세요. 절대 !!! 전공자라서 아니고, 나이 많아서 아니에요. 그냥 처음 보는거니까 당연히 모르는거에요. ㅎㅎㅎ 절대 그런 부정적인 생각을 하지 마세요. 아니 차라리 모르는게 당연한거에요 ㅎㅎ 모르니까 공부하는거잖아요 온갖 이유를 가져오지 마세요 내가 비전공자라서, 내가 30 40 50 대라서 등등 다 아닙니다. 몰라도 되고, 몰라야 됩니다. 모르는걸 배우는 거니까요 ㅎㅎ
자 이렇게 멘탈관리도 잘 해나가면서 머리로 이해가 안되지만 열심히 읽고 손으로 성실하게 따라서 코드도 쳐 봅니다. 그렇게 차근차근 거북이처럼 챕터 1 👉 챔터 2 👉 챕터 3 순서대로 진도를 나갑니다. "와~~~ 나는 이해가 안되지만 그래도 기능이 작동을 하네?? ㅎㅎㅎㅎ" 이런 생각이 들면 잘 하고 계신거에요. 물론 머리로 이해도 된다면 더욱 좋겠죠 하지만 이해가 안되는 것들도 있기 마련이에요 거듭 말하지만 '당연' 한 거랍니다.
그렇게 책을 완독? 하다가 도중에 포기하실 겁니다. 네 이것도 너무나 당연한 거에요 ㅎㅎㅎ
아니 진짜에요. 저도 django 책 챕터 1부터 챕터 20까지 있지만 도중에 챕터 7, 챕터 13, 챕터 10 에서 포기한적이 한 두 번이 아닙니다. 이게 너무나 당연한 거에요.
자 그럼 포기한 이후 곧바로 다시 그 책을 챕터 1 부터 다시 또 도전할 수 있다? 아니 대부분 못하실거 같은데요? 왜냐면 저는 그랬거든요. 저는 포기하고 곧바로 다시 시도할 수 있는 강철멘탈이 아니었어요. 그래서 저는 포기한 이후에는 다른걸 했습니다.
request, selennium 등을 이용한 크롤링 프로그램을 만들었어요.
네이버 뉴스 스크랩을 하거나, 주식 시세를 크롤링 하거나 하는 등의 개인적인 장난감 프로그램을 여러개 만들었어요. 이때 파이썬에 대한 이해도가 매우 높아집니다. 만드는 중간에 구글을 이용해 이것 저것 찾아보기도 하고, 머릿속으로 원하는 기능을 실제 코드로는 어떻게 구현할지 등도 떠올려 보면서 구글링을 하게 되죠. 이때 파이썬에 대한 이해도가 높아집니다. 이렇게 몇일에서 몇주의 시간을 보냈던 것 같습니다.
자 이제 기분전환? 도 좀 했겠다. 그동안 멀리두고 지냈던 django 와 다시 친해져볼 시간입니다. 포기했던 django 책을 다시 폅니다. 챕터 1 부터 다시 조집니다. 렛츠씨발고우~ 🤩
와 그래도 포기하기 전에 해봤던 거라고 나름 좀 익숙한 명령어들이 많습니다.
처음에는 아 프로젝트는 뭐고 앱은 뭐여, 그 장고 어드민에 운영자 계정 만드는 명령어가 뭐였더라 아 모델은 뭐고 뷰는 뭐여 했던 것들이 이제는 그래도 어렴풋이 떠오르면서 몇개는 명령어의 일부가 생각 나기도 하는 등 합니다. 와.... 내가 그래도 백지는 아니구나 싶은 마음이 듭니다. 네 맞습니다. 잘 가고 계신 겁니다.
지난번에 챕터 7에서 막혔던 게 이번에는 챕터 7을 통과하고 챕터 8에서 막혔습니다. 와 축하합니다. 발전하셨습니다. 대박 그래도 지난번에 이해가 안된게 이번엔 이해가 된거잖아요. 포기할 이유가 전혀 없습니다. 이렇게 다시 하고 다시 할까요? 아닙니다. 솔직히 저는 여기서 그 책을 안봤습니다. 그리고 다른 책 또는 다른 온라인 강의로 넘어갔습니다. 이렇게 징검다리 식으로 저는 이책 저책과 이 온라인 강의 저 온라인 강의를 마구마구 넘어 다녔습니다.
특히 fastcampus 강의는 정말 이해가 안되는데 질문을 할 수 없어서 너무 답답했습니다. 이점은 지금도 아쉬운 부분이라고 생각합니다.
이게 제가 공부한 방식입니다. 요약하면 아래와 같습니다.
이상이 제가 공부한 방법입니다.
과거를 돌이켜 보면서 이걸 미리 알았다면 좋았을 텐대 하는 점이 하나 있습니다.
그건 바로 제가 django 를 이해하지 못한 이유가 python 기초가 부족해서 였다는 것을 깨달았을 때 였습니다.
django 를 공부하다가 도중에 이해가 도저히 안될때가 몇 번 있었는데 이것들의 원인이 대부분 python 기초 문법을 이해하지 못해서 였습니다...
그렇다고 맨 처음 python 기초 문법을 학습할 때 아주 꼼꼼하게 철저히 오래 하라는 말씀을 드리는 것은 절대 아닙니다. 다만, 여러분이 django 를 공부하시다가 도중에 모르는게 등장 했을 때 그게 순수한 django 를 이해하지 못한 것인지 아니면 python 문법을 이해하지 못해서 이해하지 못하는 것인지 구분해서 모르는 부분을 찾으셔야 한다는 얘길 드리고 싶었습니다. ㅎ
"좀 더 이해할 수 있게 간결하게 일목요연하게 글을 쓰고 싶은데 능력 부족인듯 합니다. 그래도 제 마음만은 진심이라는 것을 알아 주시길 바랍니다.😊"
제가 사서 읽어본 책 그리고 온라인 강의 들에 대한 저의 개인적인 감상평 및 장단점을 말씀 드리고 싶어요. 여러분의 돈은 소중하니까요. 🤣😍🤩
설명드리는 순서는 아래와 같습니다.
fastcampus 는 매우 많은 양의 동영상 강의를 제공합니다. 지불한 비용에 비해 상대적으로 많은 양의 학습자료를 받는 기분입니다. 그러나 처음 학습하는 수강생의 입장에서는 강의 도중 모르는 내용이 등장 했을때. 이것을 질문할 수 없는 것은 매우 치명적인 단점입니다. 특히 강의 내용 자체에서 설명이 충분하지 못한 경우라면 더더욱 그렇습니다. 저는 fastcampus 를 통해 django 강의를 구매했는데 해당 강의를 진행하는 2명의 선생님이 모두,,, 설명을 잘 하신다는 느낌은 받지 못했습니다. 그냥 혼자서만 이해하고 혼자 코딩하고 넘어가는 듯한 느낌을 받은 적이 많습니다. 우리는 너무나 코린이기 때문에 능력자 분들의 입장에서는 당연한게 우리한테는 당연한게 아닐 수 있거든요 ㅠㅠ 하지만 fastcampus 선생님들은 코린이들의 눈높이에는 다소 맞지 않았습니다. 그래서 처음 공부하시는 완전 코린이들은 좀... 버거울 수 있다. 고 생각합니다.
무조건 강추하는 nomadcoder 입니다.
단, 단점이라고 할만한것은 강의가 내용이 풍부하진 않습니다. 비교적 짧게 강의가 끝나는 편입니다. 다양한 기능을 다채롭게 구현해보지 않습니다. 핵심적인 기능만 몇개 구현해보고 끝나는 경우가 많습니다. 그러나 그럼에도 불구하고 프로그램의 핵심적인 기능을 쉽고 재미있고 빠르게 이해하고 싶을땐 애플코딩 강의 만한게 없습니다. 강추입니다.
또 한가지 약간 아쉬운 점은 강의의 수강기간 제한이 존재한다는 점입니다.
1년 인가? 10개월인가? 하는 수강기간의 제한이 있습니다. 이점은 다소 아쉽습니다.
그러나 음... 딱 한 두번 집중해서 강의를 들어보기에는 결코 부족한 기간은 아닙니다.
그냥 개인의 욕심이겠죠 ㅎㅎㅎ 평생 갖고 싶은 욕심 ㅋㅋ 이런걸 단점이라 말 하기도 좀 뭐하네요 ㅎㅎ
"이후 시간내서 추가로 작성하겠습니다."