드디어 My Apps 카테고리에 글이 올라오는군요.


거의 1달간 야심차게 만든 단어 암기 프로그램 記憶のカケラ(키오쿠노카케라 : 기억의 파편)입니다. 이름만 일본어이지, 사실 일본어와는 아무 상관 없습니다.

사용자 삽입 이미지


사실 이 프로그램의 콘솔판은 3년 전부터 개인적으로 사용해 왔으나 버그도 많고 도저히 공개할 수준이 못 되어서 이제서야 공개판을 냅니다.

어디선가에서 읽은 책에 한 외교관의 이야기가 소개되어 있었습니다. 매 회의마다 다른 외교관들의 얼굴과 이름, 성격이나 특징 등을 외워야 했던 외교관은 독특한 방법으로 쉽게 외울 수 있었고, 이 방법을 단어 암기에 응용한 것이 記憶のカケラ입니다.

사용자 삽입 이미지

개발 환경이 C#인 관계로 .NET Framework 2.0 이상이 필요합니다. 설치 과정에서 .NET Framework가 설치되어 있지 않으면 설치 페이지가 열리므로 설치하시거나 다음 링크를 참조하시기 바랍니다. (http://www.microsoft.com/downloads/details.aspx?FamilyID=0856eacb-4362-4b0d-8edd-aab15c5e04f5&displaylang=ko )

왜 프로그램 이름이 記憶のカケラ가 되었냐고 하면 그냥 장난 삼아 X-Japan의 Rusty Nail이라는 곡의 첫 가사인 記憶のカケラ를 프로젝트명으로 삼은 것이 결국 프로그램 이름으로 굳어졌습니다. 본래 개인적으로 사용하던 콘솔판 프로그램의 이름은 'Memory Helper'였습니다(-_-).

아이콘도 도저히 만들 자신이 없어서 '내 그림' 폴더에서 가장 눈에 띄는 '귀리' 사진의 일부를 잘라서 만들었습니다. 누런 아이콘의 정체는 바로 '귀리'입니다.

단어장은 맨 윗줄에 단어의 개수가, 그 다음 줄부터 단어와 뜻이 번갈아 한 줄에 하나씩 있는 형태를 취합니다. 즉, 다음과 같습니다.

3
dog

cat
고양이
pig
돼지


아무튼, 첫 프로그램이다보니 이것 저것 부족한 게 많습니다. 단어장 형식도 제한이 심하고, 여러 가지 허접해 보이는 것이 사실입니다만, 자체 기능은 쓸 만 하니 너그러이 봐 주셨으면 합니다. 버그가 있을 경우 이 포스트에 댓글로 남겨 주시면 다음 판올림에 적용하도록 하겠습니다.

개발 환경 : Microsoft Visual Studio 2005
개발 언어 : Visual C#
개발 기간 : 약 1달




2008년 1월 19일 이후 작성된 모든 글에 대해서 퍼가는 것을 금지합니다.
퍼가고자 하시는 분은 링크를 달아 주시기 바랍니다.
Posted by Harry
바탕화면의 아이콘은 시스템 리소스를 잡아 먹는 원인 중 하나라고 한다. 때문에 필자의 바탕화면에는 주로 사용하는 프로그램들의 아이콘이 보이지 않는다. 또한 시작 메뉴의 모든 프로그램에도 몇 가지 안되는 프로그램만이 자리하고 있다. 그렇다고 매번 프로그램을 실행시킬 때마다 program files 폴더로 들어가서 직접 exe 파일을 실행시키지도 않는다. 어떻게 가능할까?

바로 환경변수를 최대한 이용하는 것이다. 환경변수란, OS상에서 사용하는 변수인데, Windows XP에는 path라는 환경변수가 존재한다. 이 path라는 환경변수를 조작하면 실행 창만을 통해 대부분의 프로그램을 구동시킬 수 있다. 실행 파일의 이름만 알고 있으면 실행 창에 이를 입력하여 실행시키는 것이다.

가령, Windows에서 기본으로 제공하는 계산기 프로그램의 경우 실행파일 이름이 calc.exe이다. 시작->실행으로 들어가서 calc라고 입력한 후 확인을 눌러 보자. 계산기가 뜬다. 하지만 대부분의 사람들이 사용하는 한글과 컴퓨터의 한글 프로그램의 실행파일 이름인 hwp를 입력해도 파일을 찾을 수 없다는 경고 창만이 뜰 뿐이다. 바로 환경 변수가 등록되지 않았기 때문이다.

calc.exec:\windows\system32 폴더에 존재한다(시스템 폴더의 위치를 변경시키지 않았을 경우). 이 경로는 환경 변수에 존재하고, 실행 창에 calc라고 입력할 경우 환경 변수에 등록된 모든 경로에 calc.exe가 있는지를 검사하여 있을 경우 실행시키게 된다. 하지만 hwp.exe가 존재하는 c:\hnc\hwp70 폴더(한글 2007버전 기준)는 환경 변수에 등록되어 있지 않기 때문에 실행되지 않는 것이다.

그렇다면 프로그램이 설치된 모든 폴더를 환경 변수에 등록하면 실행 창에서 실행 파일의 이름을 입력하는 것만으로도 손쉽게 프로그램을 실행시킬 수 있게 된다. 하지만 이는 매우 귀찮은 작업이다. 때문에 필자는 모든 프로그램의 바로가기를 한 폴더에 모아 놓고, 그 폴더의 주소를 환경 변수로 등록한다. 가령 c:\QuickLnk라는 폴더를 생성하고 폴더 아래에 주로 사용하는 프로그램의 바로가기를 생성한 후 기억하기 편한 이름으로 수정한다.

사용자 삽입 이미지

다음은 환경 변수를 수정할 차례이다. WIN+PauseBreak 키를 눌러서 시스템 등록정보 창을 띄운 뒤 고급 탭으로 이동하여 환경 변수 버튼을 클릭한다.

사용자 삽입 이미지

환경 변수 창이 뜨면 아래에 있는 리스트에서 path라는 변수를 찾아 편집을 누른다.

사용자 삽입 이미지

기존에 있는 환경변수 뒤에 등록하고자 하는 폴더의 경로를 적는다. 각 경로 간의 구분은 세미콜론(;)으로 한다.

사용자 삽입 이미지

확인을 눌러 창을 닫는다. 이제 실행을 해 보도록 하자. Win+R 키를 누르거나 시작->실행을 눌러 실행 창을 띄운다. 만든 바로가기 이름을 입력하고 확인 버튼을 눌러 보자.

사용자 삽입 이미지

프로그램이 정상적으로 실행될 것이다.

이와 같이 하면 바탕화면에서 아이콘이 줄어들고, 덕분에 시스템 리소스도 확보된다. 하지만 단점이라면 모든 프로그램에 대해 바로가기 이름을 외우고 있어야 하며, 내 컴퓨터에 어떤 프로그램이 설치되었는지 눈에 보이지 않기 때문에 필요 없는 프로그램을 지우지 않게 되는 경향도 있다. 본인의 판단 아래 사용하길 바란다.


2008년 1월 19일 이후 작성된 모든 글에 대해서 퍼가는 것을 금지합니다.
퍼가고자 하시는 분은 링크를 달아 주시기 바랍니다.
Posted by Harry
컴퓨터는 전류의 '흐름'과 '흐르지 않음'으로 모든 연산을 수행한다. '흐름'을 1이라 놓고, '흐르지 않음'을 0이라 놓았을 때 컴퓨터가 수행하는 모든 연산은 0과 1만을 사용하는 2진수로 나타내어질 수 있게 된다. 하지만 원래 컴퓨터는 인간의 일을 대신 하기 위해 만들어 진 것으로서, 인간의 명령을 받아들여야 한다. 하지만 인간이 2진수로 명령을 내리기란 매우 힘든 작업이다.

'프로그램'이란, 컴퓨터에게 내리는 명령의 집합이다. 프로그램 역시 컴퓨터에게 명령을 내려야 하므로 2진수로 작성되어있다. 이를 Binary Code(이진 코드)라고 한다. 컴퓨터는 이러한 이진 코드만을 이해할 수 있으며, 따라서 인간은 이진 코드로 프로그램을 작성할 필요가 있다. 하지만 아까 말했듯이, 이진 코드는 인간이 이해하기가 매우 힘들기 때문에 이진 코드를 이용하여 프로그램을 작성하는 것은 불가능에 가깝다.

그렇게 해서 생겨난 것이 프로그래밍 언어이다. 프로그래밍 언어란, 이름에서 알 수 있듯이, 일종의 언어이다. 영어나 중국어, 일본어, 스페인어와 같이 분명히 언어의 일종이다. 그렇다면 과연 언제 쓰이는 언어일까? 프로그래밍 언어는 컴퓨터가 쓰는 언어는 아니다. 아까 말했다시피, 컴퓨터는 오직 이진 코드만을 이해할 수 있다. 이진 코드가 아닌 프로그래밍 언어는 컴퓨터는 이해하지 못한다. 하지만 프로그래밍 언어는 인간과 컴퓨터를 연결해주는 역할을 한다. 결과적으로는, 컴퓨터와 인간 모두 이 언어를 쓰게 되고, 의사소통이 가능해진다.

분명 컴퓨터는 프로그래밍 언어를 이해하지 못한다고 했다. 하지만 컴퓨터가 이 언어를 쓴다고 했다. 모순인 듯 하지만 답은 어렵지 않다. 중간에 번역을 해 주면 된다. 프로그래밍 언어에서 이진 코드로 번역을 해 주는 작업을 '컴파일'이라고 한다. 또한 컴파일을 수행해 주는 프로그램을 '컴파일러'라고 한다. 즉, 컴퓨터는 컴파일러라는 번역기의 도움을 받아 프로그래밍 언어를 이해할 수 있게 되는 것이다.

분명 프로그래밍 언어를 이진 코드로 번역해주는 번역기는 있다. 하지만 애석하게도 인간의 언어를 프로그래밍 언어로 번역시켜주는 번역기는 없다. 인간의 언어가 너무 고차원인 것일까. 따로 번역기를 가지고 있지 않은 우리 인간은 직접 프로그래밍 언어를 이용하여 프로그램을 작성해야 된다. 이와 같이 프로그래밍 언어를 이용하여 프로그램을 작성하는 사람들을 '프로그래머'라고 부른다.

요약하자면, 인간은 직접 이진 코드로 된 프로그램을 작성할 수 없기에 보다 쉬운 프로그래밍 언어로 프로그램을 작성한다. 이렇게 작성된 프로그램을 번역기인 컴파일러에게 넘겨주면 컴파일러는 프로그래밍 언어를 이진 코드로 번역하여준다. 이와 같이 컴파일러에 의해 최종 번역된 프로그램만을 컴퓨터는 이해할 수 있다. 또한 이렇게 프로그램을 작성하는 사람들을 프로그래머라 부른다.


2008년 1월 19일 이후 작성된 모든 글에 대해서 퍼가는 것을 금지합니다.
퍼가고자 하시는 분은 링크를 달아 주시기 바랍니다.
Posted by Harry