관리 메뉴

새로운 시작, GuyV's lIfe sTyle.

Part 11. 프로그래밍을 공부하며 들이면 좋은 버릇 또는 조언[2] 본문

ⓟrogramming/웹프로그래밍 제대로 배우기

Part 11. 프로그래밍을 공부하며 들이면 좋은 버릇 또는 조언[2]

가이브 2020. 2. 17. 00:47

Part 11은 조금 쉬어가려고 합니다.

먼저, 제 글 실력이 많이 부족합니다. 전달하고자 하는 내용이 잘 전달이 되는지도 모르겠습니다. ^^;

웹프로그래밍의 기술적인 내용은 완결된 "asp.net 게시판"을 보셔도 됩니다. 10여년 시간이 지난 만큼 제가 완벽히 익히지 못한 내용을 전달한 부분도 보이고, 외부 링크가 깨져있거나 다수의 오타 등이 있습니다만, 아직까지도 꽤 쓸만한 내용들이 있습니다. (개인적인 예상대로 아직까지 HTTP가 제일 많이 쓰이고 있고 앞으로도 그럴 것 같습니다.)

준비된(예정된) 컨덴츠 없이 즉흥적으로 연재하는 글이기에 어차피 같은 내용이 되지 않을까 걱정스럽기도 합니다. 

 

우리는 인터넷을 하기 위해 웹브라우저를 실행하여 주소를 직접 입력하거나 즐겨찾기의 아이콘으로 자동 입력되게 하죠. 웹브라우저는 "컴퓨터 안의 새로운 컴퓨터 환경"이라고 저는 생각합니다. 웹브라우저는 (윈도우와 같은) OS입장에서는 다른 여느 앱과 다르지 않게 하나의 응용프로그램일 뿐이지만, HTTP의 모든 것을 사용하기 위해 준비되어 있는 소프트웨어 장비인 것입니다. 컴퓨터는 표준을 정하고 이를 지킴으로서 전 세계에 수 많은 장비들이 동일한 방법으로 작동을 합니다. 웹브라우저 역시 마찬가지입니다.

HTML이나, CSS, 그리고 앞으로 우리가 다룰 프로그래밍 언어도 모두 다 사람이 만들었거나, 아마 앞으로도 그럴 것입니다. 그래서 사람이 잘 사용할 수 있도록 만들어 놓았고, 이를 활용하는 사람이 또 다른 자신과 같은 사용자가 더 쉽게 사용했으면 좋겠다는 마음으로 그를 주제로 강좌를 쓰거나 책을 내놓을 것이고요. 그래서, 사실 시작하기에는 (필자의 글처럼)누군가가 쉽게 해석할 수 있도록 도움을 주는 도구를 사용하면 좋지만, 그 다음은 "원본"을 꼭 찾으러 가야 합니다. 여기서 원본이라는 것은 바로 "제가 만든 것을 사용해보세요~"라고 최초에 나왔던 공식(Official) 매뉴얼입니다. 물건을 사고 나면 꼭 들어있는 것과 같죠. 프로그래밍 쪽에서는 "API(Application Programming Interface)" 라고 부릅니다.

 

옛부터 컴퓨터는 각종 재료를 쭉~깔아놓고, 이를 활용하는 것은 사용자의 몫으로 놔뒀습니다. 몇몇 프로그램은 컴퓨터를 사용하게 하는 OS에서 기본으로 제공하지만, 많이 부족하죠. (윈도우에서 압축 푸는 기능도 언제부터 내놨더라...)시간은 계속 지금도 흐르고 있고, 여러 컴퓨터의 기능을 활용한 프로그램들이 많이 나와있구요. 한편에서는 표준화도 계속해서 여기저기에서 만들어내고 있습니다. 

 

이정도 와보면, 이제 우리가 즐기는 각종 화려한 게임이나, 흰 바탕에 검은색으로 키보드 글자를 치는 것이나 컴퓨터 입장에서 다를바 없는 그냥 "컴퓨터를 활용하는 방법"입니다. 대단한게 없죠. 컴퓨터는 미리 정해진 규칙대로 움직이는 것입니다. 

서두가 길었네요.

 

어디서부터 시작되었는지를 찾아라

 

앞에서 말한 제품을 사게되면 알려주는 매뉴얼 종이와 같은격인 공식 API 입니다. 프로그래밍 언어는 그 언어를 만든 사람이 문법이나 내장된 함수를 모두 다 설명한 매뉴얼이 있습니다. 이 문서를 꼭 찾으시고 이것을 읽는 방법을 먼저 익히시기 바랍니다.  HTML은 여기라고 보시면 됩니다. CSS는 여기부터입니다. (한국어 번역)

사실, 이렇게 시작부터 하면 외우는 것은 미친짓이다라는 것을 알 수 있을 것입니다. 또한 많은 개발자들이 실제 현업에서 일을 하는데, 이런 내용을 모두 다 달달 외우고(참고하지 않고) 하는 것인가? 라고도 한번 생각해보면 어떻습니까? (필자는 차라리 그 능력이라면 다른 직업을 했을 것입니다.. 직업보다는 취미로는 컴퓨터 분야가 최고라고 생각하거든요) 그런 사람도 있겠지만, 결코 그렇지 않을 것입니다. 

늘 연재 중에 하는 말이지만 프로그래밍 언어 역시 사람이 만든 도구이기에, 사람이 잘 사용했으면 하는 마음일 것입니다. 그러기에 사용하는 방법(문법)은 설명하되, 답을 절대 주지 않습니다. "예제"를 줄 뿐이죠. 프로그래밍 언어에서는 "1부터 10까지 구하는 예제"라고 하지, "1부터 10까지 구하는 정답"이라고는 하지 않죠. 정답은 정확한 답, 유일한 1개일 것입니다. 조금 다르게 "1~10의 합을 구하는 내장 함수"의 답은 정해져 있을 입니다. 

 

그러니, 어디에서든 프로그래밍 언어의 정답은 없습니다. 굉장히 다양하게 만들어낼 수 있으니 게임처럼 즐기시기 바랍니다. 게임 보면 게임을 만든 개발자도 모르는 비기가 나오죠? (오류도 많이 나오고 ^^) 게임보다 프로그래밍쪽은 더욱 엄청난 비기들이 나올 수 있는 곳입니다. (버그도 많이 나오고 ^^)

 

프로그래밍 언어의 사용법을 모르는 것은 이른바 시험에서 자주 하는 "찍기"로 사용한다는 말과 동일하지 않을까요? 이거겠지~ 저걸거야~. (다행히도 혹시나) 찍어서 만든게 잘 작동한다 쳐도, 찍은 사람은 어떻게 작동하는지는 모르게 됩니다. 그럼 다음 프로그램도 찍어서 만들어야 될겁니다. 앞으로 영원히 말이죠.

 

처음에 배울 때 함정에 빠지지마세요. 딱 한번 이해만 하면 됩니다. 이해하고 활용하면 이제 자기 것이 됩니다. 프로그래밍 언어를 개발한 사람과 같은 생각을 가지게 되는거죠. (이 글을 포함해서) 남들이 만든 거 보면 쉽게, 그리고 당연히 잘 작동합니다. 왜냐면 이해하고 쓰니까 그런겁니다. 그런데 내가 직접 해보면 잘 안되거든요. 이해를 못해서 안되는 것입니다. 이건 진리예요. 혹시나 "찍기"로 잘 찍어서 작동한다면, 함정에 빠지지 말고 스스로를 냉정하게 판단하시기를 바랍니다. 이 첫 단추가 정말 중요합니다.

 

잔소리(?)는 여기까지만 하겠습니다. ^^

반응형
Comments