아래 영상에 일부 부족한 부분이 있는 것 같아 보충 영상을 올립니다. [C/C++기반 윈도우 계열 시스템 프로그래머가 되려면 얼마나 공부해야 할까?] • C/C++기반 윈도우 계열 시스템 프로그... 좋은 의견을 올려주신 '이름없음'님 감사합니다. 영상과 댓글을 보는 다른 분들께 도움이 되리라 확신합니다.
최근에 전역했고 내년에 컴공 2학년으로 복학하는데 복학전까지 자료구조 최대한 공부하고 가보겠습니다. 이전에 1학년때 C 파이썬 자바조금(객체지향 의미정도?) 배웠었는데 군대갔다오니 C언어만 기억나서 온라인문제풀이 사이트에서 C로 문제만 주구장창 풀다가 메지소트나 퀵소트를 다뤄야만 풀리는 시간복잡도에 관련된 문제들을 접하고 메지소트에 대해 공부해 보니 알고리즘이 왜 중요한지 알게되었고 이전에 C언어로 자료구조부터 탄탄히 만들어 놓으려고 합니다. 아직 링크드리스트가 뭔진 모르겠지만 복학 전까지 능숙하게 작성할 수 있게 올려주신 강의 잘 보겠습니다. 강의 진짜 잘보고 있어요! 감사합니다!
컴공 전공자 예비군이군요! 일단 고생했다는 말부터 건내고 싶습니다. 저도 육군병장으로 제대해서...군생활에 대한 공감도가 높은 편입니다. ^^ 복잡한 자료구조나 알고리즘에 앞서 연결 리스트 같은 선형 자료구조는 능숙해질 필요가 있습니다. 열심히 공부하셔서 복학 전에 충분히 워밍업 하기 바랍니다. 건투를 빕니다!
1년정도면 가능하긴 하죠. 물론 대부분 어마어마한 시간과 노력을 끈기 있게 투자한다는 전제 조건이 달리긴 합니다만...또한 많은 문제를 풀어보고 코드를 작성해보는 것이 중요하다는 것도 확실하고요. 오프라인 강의는 방학 특강 정도로 생각하고 있습니다. 1~2달 동안 C언어만 집중적으로 다루는 시간을 가져보면 어떨까 해서요. ^^;;
전 2월달에 공부를 시작하여 현재까지 하루에 10시간 ~ 12시간씩 공부 중인데 맨 처음 한 두 달 동안 정말 너무 고통스러웠습니다 변수, 생성자, 반복문 등등.. 매일 매일 눈 뜨자마자 공부 시작해서 잠에 들기 직전까지 공부하다보니 딱 2달만에 '아 이건가?'하면서 느낌이 빡 오더라구요 그 이후부터 뭔가 컴퓨터랑 대화를 한다는 느낌이 들기 시작했구요 다른 사람들의 경우는 잘 모르겠지만 저에게는 프로그래밍 분야에서만큼은 시간이 배신한 적은 없었던 것같습니다 아직도 너무 부족하지만 항상 영상 잘 보면서 많이 배우고 있습니다 감사합니다!
C/C++이 대학에서는 1년 과정으로 잡는 걸로 알고 있고 Hello World에는 다들 흥미를 갖다가 점점 진행할수록 하나둘 사라지고 포인터에서 절반이 사라지죠. 문법 자체가 어려워진 것도 있긴한데 Hello World는 그냥 따라 치기만 하면 뭔가 뜨니까 재미를 느끼는데 반해 포인터 정도부터는 예제를 따라쳐도 빌드가 안되거나 프로그램을 실행해도 갑자기 죽거나 스트레스가 쌓입니다. 사실 컴퓨터 내부 동작 원리가 곧 포인터라 말씀하신대로 컴퓨터 구조를 이해하면 그때부터는 포인터로 응용이 가능하더라구요. 어떤 개념을 이해하는 시간은 사람마다 다르고 개념을 이해하는데 필요한 부분도 각자 달라서 공통 교육 과정으로는 모두를 이해시키기 어렵긴한데 그만큼 매력이 넘치는 개념이라 아쉽긴하네요. 컴퓨터 내부 동작 원리가 포인터라는 건 포인터를 이용하면 뭐든지 가능하다는 것과 같은 말이라 개인적으로는 포인터를 이해한 후에는 보안도 생각했으면 하는 바람이 있습니다 ㅎㅎ 포인터가 그야말로 양날의 검이라고 할 수 있으니까요...
좋은 의견 감사합니다. 지적한 우려는 사실이죠. 포인터는 분명히 양날의 검이고 통제되지 않는 절대권력 같은 측면이 있습니다. 그리고 시스템에 대해 일정 수준 깊이가 더해지면 보안은 따라오는 경향이 있다고 생각합니다. 물론 이 수준까지 고민한다면 초보자라 할 수는 없으니 실무 경험으로 알게 되는 부분이 상당수 잇을 것 같습니다. ^^
'이름 없음'님 의견에 공감가네요. 저 당시 왜 그랬는지 모르겠지만 엄청 헤맸었어요. 아마 컴퓨터 구조를 몰라서 그랬던 것 같기도 했습니다. 그리고 저가 만약 다시 생짜로 돌아가서 2개월이라는 기간동안 다 숙지해라고 한다면 못할 것 같습니다. ㅋㅋ 한다고 해도 분명 부작용 있을 것 같아요. 길을 알고 있는 사람에서의 시각과 모르는 사람의 시각 차이는 심하기 때문에 독학으로 한다면 저는 언어 배우는 기간을 넉넉하게 잡아 1년 정도면 괜찮을 것 같아요. 물론 길을 안내 해주는 사람이 있다면 훨씬 줄겠지만요.
프로그래밍 감이 없는 상태로 파이썬부터 시작하며 뜬구름만 잡다가 퇴근 후 하루3 시간, 주말 하루 5시간 정도 자바 기본기 + 객체지향만 8개월 하니 이제 겨우 조금 보이더라구요 이제 자료구조 들어가는데 오메.. 1년 이상 반복 해야할거 같아요 ㅠㅠ 프로그래밍 감이? 좋으신 분들 너무너무 부럽습니다
아하...그러시군요. 그 '반복'을 자동하게 되는 좋은 방법은 미니 프로젝트 입니다. 뭐라도 하나 해보면 자연스레 실력이 향상되지요 문제는 막히는 부분이 발생했을 때 입니다. 그럴 때 단서 하나라도 제공해줄 동료가 있으면 외롭지도 않고 더 빠르게 스터디를 이어갈 수 있지요.
전공자입니다. 프로그래밍 강의는 다른 분야랑 다르게 한 5초 정도라도 놓치면 못 따라가는 분야기 때문에 제 경험상 3시간 강의 듣는 시간도 빡집중을 하는 시간입니다. 거기에 선생님 말씀대로 강의시간 만큼 복습을 하면 하루 6시간 한달이면 산술적으로 120시간 조금 넘겠죠 빡공시간이요. 근데 솔직히.. 강의포함 6시간도 공부 못 하면 접는게 맞다고 봐요 이 IT 바닥에서 먹고살겠다는 생각이면. 근데 C 계열 프로그래밍은 또 CS 지식 부족하다면 채워야 한다는 전제가 반드시 깔릴테니 그 공부까지 생각하면.. 더 해야죠.
제가 바로 c/c++ 15년째 공부중인 만학도 입니다 ㅎㅎ 일단 다른 언어로 프로젝트를 시작하게 되면 c/c++ 손이 잘 안가요 저도 말년에 시스템 프로그래밍쪽으로 이직해서 은퇴하는게 목표라 짬나는데로 계속 독하게 시작하는 C 를 비롯한 강좌를 지금까지도 보고 있는데 현실은 L2 vb, c# -> L3 java, c# -> js 프론트 엔드 이런식으로 자꾸 목표랑 다른 프로젝트를 하게되니 c/c++은 감도 떨어지고 오랫만에 강좌 보면 저번주에 본거 다 잊어먹고 다시 돌려보고 그러느라 진도가 너무 안나가네요. 물론 저같은 경우 영상에서 설명한 일명 "군필자"에 해당이 안되기 때문에 의지가 아주 부족한 경우에 해당합니다~~ ㅎㅎ 그러니 2개월 바짝 해서 끝내지는게 가장 좋을거라는데 동의합니다~
안녕하세요 널널한 개발자님! 게임개발을 하고싶어 학원을 다니면서 프로그래밍을 배우고있는 29살 비전공자 학생입니다! 현재 학원에서 c++을 공부하고있는데 제가 방법을 몰라서 그런가 많이 답답 하더군요.. 학원에서는 문법 알려준 후 과제를 내주시고 인터넷 찾아보지말고 4시간정도 풀어보고 못풀면 다시 복습해라 라고해서 따르면서 답답하니까 코딩에 쓰는시간이 아닌 이론을 보는 시간이 많아 지더라구요… 사람마다 공부 하는 법은 다 다르지만 저는 현재 누구보다 시간을 할애하면서 열심히 할 저신은 있는데 공부 하는 방식이 좀 잘못 됐다고 느낌니다.. 어떤식으로 공부를 해봐라! 같은 가이드? 같은게 있을까요..? 너무 두서없이 글을썼네요..😢😢 긴글읽어주셔서 감사합니다:)
정확한 내용을 알 수는 없으나 기본기를 배우고 있는 것으로 보입니다. 중요한 시기입니다. 지루하고 답답하며 무엇보다 왜 이렇게 하는지 이유를 스스로 인지하기 어렵습니다. 많은 사람들이 포기하는 시점이기도 합니다. 현 시점에서 권하고 싶은 방법은 C++책 한 권 골라서 마르고 닳도록 봐서 마스터 하라는 것입니다. 제가 쓴 책이 하나 있습니다. '이것이 C++ 이다.'(한빛미디어) 이 책 두께도 얇고 가볍습니다. 여기서 다루는 내용을 모두 이해했다면 C++ 기초는 끝났다 할 수 있습니다. 휴일에 서점에 들러 한 번 살펴보시죠. 건투를 빕니다.
이 업계 최고 권위자인 G 선생님과 M 선생님의 사사로 c# 공부하다가(독학했다는 소리입니다. ^^) 메니지드 코드를 떠 받치는 네이티브 코드에 대한 목마름으로 이 채널을 알게 되었습니다. 이 채널의 영상들을 보면서 깨달은 건, 저한테 부족했던 것은 코드가 아니라, 컴퓨터 구조와 동작 원리에 대한 이해였다는 점입니다. 매니지드 코드를 설계하고 설명하는 사람들도 네이티브 기술자들이기에, 그들의 말에는 구조와 원리에 대한 개념이 스며들기 마련인데, 비전공자의 입장에서, 그런 단어 하나하나가 태산같은 무게로 짓눌려오기 일쑤였죠. 전공을 시작하는 분들도 저와 다르지는 않을 것입니다. 그런 단어 하나를 이해할라고 얼마나 G선생님을 괴롭혔던지.. 돌이켜 보면, 제과 봤던 거의 모든 책, 설명, 글, 강좌, 강의가 귀납적인 방식이기 때문에 그렇지 않을까합니다. 예를 들면, 이 코드로 인해 컴퓨터는 이렇게 동작한다는 식이죠. 코드는 결국은 하드웨어를 움직이기 위한 것인데, 코드로부터 출발하면, 컴퓨터에 전체에 대한 그림이 파편화되어 연결이 안되니 제대로 된 지식으로 안착되기 어려웠던 것같습니다. 다른 분들은 어떻게 느끼실지 몰라도, 널널한 개발자님의 강의는 이와 반대로 연역적이라는 생각이 듭니다. 즉, 컴퓨터 구조와 동작 원리가 이러하니, 코드는 이렇게 해야한다는 식이죠. 선생님이 항상 쓰시는 세줄을 처음 봤을 때의 통쾌함을 잊을 수가 없네요. 아마 전공자 혹은 현업에 계신 분들이라 하더라도 연역적 설명이 주는 통쾌함을 이 강의에서 느끼셨을 것이라 생각이 듭니다. 길었지만, 큰 그림에서 작은 부분으로 가능 방식의 강의의 부족으로 인해, 입문자들이 많은 어려움을 겪지 않나하는 생각을 해봅니다. 이는 전공 강의도 크게 다르지 않다고 생각이 드네요. 혹시, 선생님께서 "코드 없는 프로그래밍 원론" 같은 바이블 하나 쓰신다면, 미리 예약하겠습니다. ^^
제 경험을 쓰자면 C언어 책을 목차 순서대로 읽다가 포인터를 깨우치고 나면 머릿속의 목차가 모두 바뀌게 되는 신기한 경험을 하게 됩니다. 포인터와 변수, 포인터와 배열, 포인터와 구조체, 포인터와 함수 등등 이런식입니다. C언어의 고급 테크닉은 포인터로 시작해서 포인터로 끝나기에 어쩔 수 없는 것 같습니다.
@@1Q81725 순서는 그리 중요하지 않은 것 같습니다. 어차피 언어라는 것이 모든 부분에서 완벽하지 않으면 유창하게 쓸 수가 없거든요 지난 번 영상에서 잘 설명해주셨듯이 책을 한번 훑어보시고 일단 링크드리스트로 간단한 프로그램을 작성해보시기를 추천해드립니다. 만약 책이나 인터넷 코드를 참고해서밖에 만들 수 없다면 아직 이해가 부족한것이니 다시 책이나 다른 자료로 돌아오시면 됩니다.
@@nullnull_not_eq_null 이렇게 답변주시니 황송합니다. ^^ 유튜브 넋놓고 보며 시간 낭비하다가 이렇게 유용한 채널을 찾아 구독하게 되어 정말 다행입니다. 다른 강좌 영상과 다르게 설명을 너무 잘 하셔서 이해가 잘 됩니다. 이렇게 유용한 강좌를 계속 올려주시니 올라오는 동영상을 안 볼 수가 없네요. 앞으로도 번창하세요~~
다음 단계인 알고리즘을 풀기 위해 문법만 익히고 기초 예제만 푸는 정도의 C라면 1개월도 충분한것 같습니다. 아니 사실 알고리즘을 풀면서 필요한 문법을 때에 따라 배워도 상관없다고 생각합니다. C자체는 엄청 가벼운 언어지만 그걸 깊이 있게 쓰는것은 다르니까요. 정말 제대로 C를 알고 제대로 쓸줄 아는것에는 어찌보면 1년도 충분하지 않다고 생각되네요. 제 기준에 C는 사람이 읽기 쉬운 어셈블리이기 때문에 제대로 알고 쓰려면 배경지식, 전공 지식이 많이 필요하니까요. 특히 첫 컴퓨터 언어로 C를 배우는 사람 입장에서 C를 2개월 안에 마스터 한다? 말이 안된다고 생각합니다. 널널한 개발자님 같은 경험 많은 시니어 입장에서야 기본이 뭐고 뭐다 확실히 구분할 수 있는 능력이 있고 모르는 것도 쉽고 빠르게 습득이 가능한 배경지식이 있고 패턴 파악 능력이 있기 때문에 2개월이면 가능하겠지만, 새로 배우는 입장에서 2개월은 그냥 코딩문제 알고리즘 문제 풀정도의 준비로만 충분하다라는게 제 결론입니다. 저도 코딩은 논리적 수학적 사고 기반의 "글"이고, 그렇기에 아는것과 쓰는것에는 차이는 있다고 생각합니다. 예를 들어, 아무리 기타의 원리를 완벽히 이해 했다고 해도 연주를 못하는것, 그리고 연주를 할줄 알아도 기타의 원리는 모를 수 있는것과 같이 말이죠. 새로 배우시는 분들이 나는 2개월 안에 배움을 끝내지 못했다고 해서 좌절하지 않으셨으면 합니다. 그리고 실제로도 저는 2개월안에 마스터 한다는것은 말이 안된다고 생각합니다. 개인적으로는 파이썬 같은 직관적이고 진입 장벽이 낮은 언어로 알고리즘을 먼저 풀어보고 프로그래밍 실력을 키운후 C를 다루는게 오히려 빠를수도 있다는 의견입니다. 게다가 파이썬은 쓸줄 알면 어디서든 유용하니까요 자동화 스크립트, 테스트 등등 유용한곳이 많습니다.