전체 글 97

[Scheme] 1. Scheme, 스킴 이란 무엇인가.

안녕하십니까. 리습입니다. 이번에 우리는 Scheme 이라는 것을 배워보게 될것입니다. 우선 Scheme 이라는 것을 알아야 할텐데요. Scheme은 LISP이라는 언어에서 파생되어진 일종의 방언입니다. 또 이제 LISP이라는걸 알아야 하겠군요 먼저 LISP을 정의해보자면 다음과 같습니다. 위키피디아에서 정의된 글을 가져오도록 하겠습니다 위는 LISP, 아래는 Scheme 에대한 정의입니다. 리스프(Lisp, LISP) 혹은 리습은 프로그래밍 언어의 계열로서, 오랜 역사와 독특하게 괄호를 사용하는 문법으로 유명하다. 1958년에 초안이 작성된 이 언어는 현재 널리 사용되는 두 번째로 오래된 고급 프로그래밍 언어이다. 첫 번째는 포트란이다. 리스프는 포트란처럼 초반에 많은 변화를 겪어야 했으며 수많은 변종..

좋은 코드를 작성하는 방법. 코딩 스타일.

우리가 프로그래밍을 할 때 가장 눈에 보이는 결과물로써 존재하는 것이 '코드'입니다. 구현해놓은 모든 논리 순서 ( 알고리즘 ) 들이 결과물로써 코드가 존재하기 때문입니다. 또한 유지보수 및 디버깅이라는 것은 설계도인 ' 코드 ' 를 보고 하게 됩니다. 결론적으로 코드는 가장 중요한 프로그래밍에서의 결과물입니다. 그런데 이러한 코드를 마구자비로 작성하게되면 어떻게 될까요? 컴파일에는 상관이없겠지만 (기계는 얼마나 보기 좋게 썼는가를 신경쓰지 않으므로 ) 사람이 보기에는 매우 불편할것입니다. 그것들이 쌓여 유지보수 비용이 늘어나게되고 결국 그 감수는 코드를 작성한 사람이 해야하는 것입니다. 그래서 처음 코드를 작성할 때 부터 사람이 보기 좋은 코드를 작성해야 하는 것입니다. 평상시에 우리가 작성하고 사용하..

프로그래밍에서 숫자가 가장 쉬운 데이터다? 경우의 수를 잘 생각하자.

프로그램을 처음 접할 때 일반적으로 첫 연산으로 간단한 숫자의 덧셈과 뺄셈을 하는 경우가 많습니다. 그것 때문인지 프로그래밍을 처음 접하시는 분들은 숫자를 매우 쉽게 생각하시더군요. 이해하기가 쉽기 때문이죠. 하지만 잊지 말아야 할것이 하나 있습니다. 우리는 숫자를 사용하면서 "언급하지 않은 굉장히 많은 약속을 한다는 것" 입니다. 1 + 1.00 = ?!? 실제로 숫자 데이터를 처리하는 경우 단순하게 1 + 1 = 2 일것이다. 라고 많이들 예상합니다. 네 맞습니다. ' 통상적인 경우' 에는 맞죠. 하지만 1 + 1.00 은 과연 2 일까요? 2.00 일까요? 여기서 고민은 시작됩니다. 유효숫자가 있는 숫자와 그렇지 않은 숫자의 덧셈은 실제 프로그래밍 중에도 매우 발생합니다. 이런 충돌을 피하기 위해서..

프로그램을 만들 때 접근방식 -초보 프로그래머를 위하여-

어느 학원을 가던, 학교 강의를 듣던, "프로그래밍을 배우고 싶습니다. 그런데 무엇을 해야할까요?" 라고 질문한다면 "OO언어를 배워보라" 라며 "JAVA를 배워보라, C언어, PHP 등 " 특정 언어만을 소개합니다. 아니면, 안드로이드 프로그래밍, 아이폰 프로그래밍 등으로 이름지은 강의를 추천하기도 합니다. 그래서 처음 프로그래밍을 접하시는 분들 중에선 프로그래밍을 배우는 것은 그 언어를 배우는 것이다. 라고 오해하시는 경우가 많습니다. 하지만! 언어를 배우는 것은 프로그래밍을 배우는 것이 아닙니다. 언어는 프로그래밍을 하기 위한 준비를 하는 것입니다. 프로그래밍은 기계와 대화하는 것이다. 프로그래머는 항상 컴퓨터와 일을 하게 됩니다. 컴퓨터에게 어떤 작업을 요청하고 그 수행결과를 받는 것이지요. 하지..

[C언어]02. 첫 C언어 프로그램을 만들자. Hello World !

안녕하십니까. 리습입니다. 본격적으로 C언어 문법에 대하여 들어가기 전에 컴파일러를 설치한 기념으로 간단한 C언어 프로그램을 만들어 보도록 하겠습니다. 프로그램을 하나 만들어보시면 아 이런게 프로그래밍이구나 라고 깨달을 수 있게 되실겁니다. 우선 저는 비쥬얼스튜디오 2010 한글판을 설치하였습니다. 이 컴파일러를 기본으로 설명을 드리지만 코드는 모두 사용할 수 있으므로 각자에 상황에 맞추어서 보시면 됩니다. 모든 프로그래머가 만들어 보는 프로그램 Hello World! ① 프로그램을 실행한 후 상단의 파일 -> 새로만들기 -> 프로젝트를 클릭합니다. ② 왼쪽의 설치된 템플릿에서 'Visual C++'을 클릭하고 'Win32 콘솔 응용 프로그램'을 클릭합니다. 아래 이름에는 Hello World 를 위치는..

공인인증서 폐지. 드디어 칼을 빼어들다.

공인 인증서는 국가에서 발행하는 '인터넷 신분증' 입니다. 어떤 사람이 인터넷 접속을 할 때 '그 인물'임을 국가에서 인증해주는 것이지요. 말만들으면 매우 좋은 제도인것으로 보이지만 이 공인인증서라는 것은 인터넷과 컴퓨터의 속성을 그대로 무시한 , 매우 위험한 제도입니다. 컴퓨터 디렉토리에 그대로 저장되어있어 손쉽게 공인인증서를 복사할 수 있고 모든 프로그램에서 공인인증서에 접근할 수 있습니다. 또한 공인인증서라는 것은 비밀번호만 안다면 누구나 손쉽게 사용할수 있습니다. 또 비밀번호라는 것은 요즘 해커들에게 손바닥 뒤집듯이 얻어내기 쉬운것이지요. ( 직접 공인인증서를 뚫는 것보단 그 사람이 가지고 있는 다른 아이디나 비밀번호를 대입하는 방식을 많이 사용합니다. 생각보다 잘 맞습니다. 그래서 비밀번호를 각..

IT 소식 2013.06.01

[C언어]01. C언어 를 배워보자. ( C언어 프로그래밍 입문 , 컴파일러 설치 )

안녕하십니까. 리습입니다. 이 글을 읽으시는 분은 프로그래밍에 막 입문했거나, 혹은 C언어를 배우기 위해서 이실 겁니다. 모두들 환영합니다. 컴퓨터 활용이 더욱더 중요해지는 이 시기에 프로그래밍 언어 하나정도는 알고, 프로그래밍을 할 줄한다는 것은 큰 도움이 됩니다. 제게 프로그래밍 입문을 하는데 있어서 가장 좋은 방법은 무엇이냐. 라고 묻는다면 재미있어 보이는 프로그래밍 언어를 하나 배워보라 라고 합니다. 그리고 전 C언어를 가장 추천합니다. 참고할 수 있는 자료가 매우 많으며 ( 당장 네이버에 C언어만 검색해도 수많은 글이 나옵니다.), 가장 폭 넓은 분야에 사용되고있습니다. 자 그럼 C언어를 배워보기전에 사전 준비부터 해보도록 하겠습니다. C언어를 배우는데 필요한 준비는 딱 한가지입니다. '컴파일러..