프로그래밍 코딩 실력 늘리기!!

개발 Tip 에 첫 포스팅으로 코딩 실력

늘리기에 대한 글을 가져왔다.

먼저 이글은 내가 블로그를 돌아다니다 발견한 글로

읽어보면 단순하고 다들 알고 있을것 같다는

생각이 들지만 코딩은 단순한거부터 시작된다고 생각되고

많은 공감을 가졌기에 이분의 글을 가져왔다.

(출처 : http://marinelifeirony.tistory.com/m/22)


-------------------------------------------------------------------


맨처음에 프로그래밍을 시작할때 어떻게 하면

프로그래밍 코딩 실력을 늘릴 수 있지? 이 책 한권만 공부하면 정말

그 언어를 마스터 할 수있을까? 고민 하신분이 있을거라 생각합니다!

의욕이 넘치던 저 또한 그랬으니까요. 하지만 언어를 마스터한다는

말은 상당히 오만한 말이 될 수가 있습니다! 책에서 배우는 것들은

주로 쓰이는 것들, 기초적인 지식을 가르치는 것일 뿐이니까요.



1. 스스로 기존에 짰던거보다 큰 프로그램 짜보기


 저는 대학교에 처음들어와서 프로그래밍 공부를 시작한 초보이였습니다.

학교에 들어가기 전에 중고등학교에서 프로그래밍 공부하고 온 친구들에게

실력으로 무시 당하기 일쑤였습니다. 하지만 저는 엄청 단시간에

많은 실력을 올릴 수 있었습니다. 그 놀리던 친구들도

저의 늘어난 실력에 놀랄정도 였으니까요!

 제가 실력을 늘릴 수 있었던 비결은 제가 프로젝트 조장을 맡으면서

배운것을 이용해 자신이 만들고 싶은 프로그램을 정하고

구상하며 만들어 나간것이였습니다. 이는 책에 있는 것을 활용하는

능력뿐만아닌 자신이 필요한 해당 언어의 기능을 인터넷에 쳐서 찾아보게 되며

실력이 늘게되는 효과를 가져옵니다. 기존에 짰던거 보다 큰 프로그램을

짜게되면 자연스럽게 간단한 "소수만 출력하기!", "ax+by=c(자연수범위)에서 a,b,c

입력받고 x,y값들 출력받기!" 등의 프로그래밍을 하는게 쉬워지며 머리속에서

어떻게하면 짜질지 떠오르게 됩니다. 한마디로 레벨업한거죠! 

비유를 하자면 "수학문제들의 난이도 상 문제들은 보통

쉬운문제가 여러개가 합쳐진것이다." 라고들 합니다. 프로그래밍도 마찬가지입니다.

여러분이 큰걸 짜면서 결국 여러개의 쉬운 난이도의 코딩을 하게되며

그것들이 복합적으로 작동 할 수 있게 하는 능력을 기를 수 있게 되는것입니다.


2. 디버그를 통해 자신의 소스가 의도적으로 돌아가는지 확인하기


 큰 프로그램을 짤수록 오류가 생기는 빈도가 커집니다.

자신은 제대로 짠거 같은데 오류가 생기면 그걸 해결하기 위해 엄청나게

스트레스를 받고는 하죠! 특히.. 오류목록에 없는데 프로그램 실행중에

오류가 생기면 더 찾기 힘든 오류! 이 오류들의 원인을 자기 스스로 찾아내고

해결해내는것이 프로그래밍 코딩 실력에 향상에 큰 도움이 됩니다.

공부 할때 오답노트를 푸는것과 마찬가지이죠. 자신의 코딩에

약점이 되는부분을 많이 보완해줄것입니다.

보통 ctrl+f5로 디버그하지않고 시작하는 경우가 많은데,f5로 디버그를 통해

오류가 나는곳 근처에 중단점을 놓거나, 오류가 나는 해당 함수만 따로 컴파일해서

시험을 해보던지, 한줄한줄 시행하며 변수가 의도한대로 잘 변하는지 확인해주시면 됩니다.


3. 알고리즘 공부하기


알고리즘, 자료구조를 공부하면 논리적 사고하는 능력이 늘어나기 때문에

프로그래밍 실력에 큰 향상을 하는데 도움을 줍니다. 책을 사셔서 공부하셔도 되고

정보올림피아드에 있는 정보들로 공부하셔도 됩니다. 초급~고급책까지 무료pdf로

배포하고 강의도 있으니 관심이 있으시면 보시면 될것같습니다.

(4번 항목에 문제푸는 사이트에서 하는 것이 알고리즘 활용&학습입니다)


알고리즘pdf링크

(https://www.digitalculture.or.kr/koi/StudyBook.do)



4. 여러 문제를 풀어보며 실력 늘리기(경험 쌓기!)

프로그래밍에 대한 마스터란 말이 왜 오만인가!! 그것은 문제가 주어질때

자신이 짠 소스보다. 더 효율적인 프로그램 소스가 있을수도있고,

아직 발견되지 않은것도 있기때문 입니다. 그 외에도 많은 이유들을 들 수 있겠죠?

결국 프로그래밍을 많은 경험이 쌓이고 꾸준히 해야 실력을 늘릴 수가 있습니다.

여러 문제들을 풀수있는 사이트를 소개해드리겠습니다.


사이트주소

http://codeup.kr/JudgeOnline/index.php

http://euler.synap.co.kr/

https://www.acmicpc.net/


해당 사이트에서 여러문제를 접해보고 풀어나가시면

한층더 성장한 자신을 발견하실수 있게 될것입니다.


5. 다른사람의 소스도 읽어보고 이해해보기

자신만의 코드를 짜는것도 중요하지만 자신보다 더 뛰어난 코드가

얼마든지 있을 수 있습니다. 우리는 언제나 배우는 입장임을 직시하고

배우는 자세를 항상 취하시면 그것이 자신이 성장하는데 많은 도움이 될것입니다.



6.주석 활용하기


주석은 큰 프로그래밍을 짤수록 자주 사용하게 되는데요. 자기가 어떻게

할껀지 생각해놓고 까먹는 경우가 허다하거든요.  또한 수정을 할때 많은 도움이 되고,

다른 사람들이 자신의 코드를 읽을때 이해하는데 큰 도움이 됩니다.


7.헤더 활용하기


헤더를 사용하면 소스를 볼때 가독성이 좋아지고 파일을

관리 및 공유하기가 좋아집니다. 처음에는 귀찮고 할줄몰라서

오류도나지만 활용만한다면 프로그래밍을 할때 도움이 됩니다.



8. 언어를 배우기전에 자신이 만들고 싶은것 정하기


처음 언어를 배운다면 조금 힘들지도 모르겠지만 공부를 할때 자신이

만들고 싶은걸 먼저 정하고 공부를 시작하면 학습에 큰 도움이 됩니다.

자신이 만들고 싶은것, 필요한 기능을 위해 필요한 함수를 찾고 만들면서

자연스럽게 해당 언어의 프로그래밍 실력이 늘게됩니다. 간단한것부터 시작해 어려운것,

자신이 마음속에서 만들고만 싶었던것을 정해봅시다.

예를들어 C언어로 테트리스, 뱀게임 만들기, python으로 메이플 두글자 크롤링하는것 만들기,

랜섬웨어 만들기, 다이어리만들기 등등(만들고 싶은것은 언어에 국한 되지는 않습니다.

먼저 해당언어에 대해 조사한후 정하면 멀 공부해야

만들수 있을지 방향성을 쉽게 찾아나갈수 있습니다.)


10. 모르는것이 있으면 구글링하기

앞으로 it공부하시면서 제일 중요한것이 바로 구글링을 하는 능력이 될것입니다.

핵심 키워드를 뽑아내서 서치하는걸 지금부터 연습하시면 좋겠습니다.

특히 오류같은건 그대로 검색해도 같은이슈로 고민했던 사람들의 글이 블로그나

각종 커뮤니티에서 해결책을 적어놓은것을 금방  찾을수 있습니다.



댓글

Designed by JB FACTORY