2010년 11월 27일 토요일

바코드에 대해 자세하게 알아보자.

교재에 등장한 바코드 비스무리 하게 생긴 것은 UPC라고 국제적인 상품 코드이다.

이는 바코드의 한 종류로서 이번 기회에 생활속에 녹아 들어있는 바코드에 대해 알아보기로 했다.


바코드의 정의 및 사용예시

우선 바코드의 정의를 짚고 넘어가자면 바코드는 바와 공백을 특정한 형태로 조합해서 문자와 숫자 및 기호 등 필요한 정보를 넣어 놓은 것으로서 바코드 아래에 있는 숫자를 보다 빠르게 해석할 수 있게 만든 것이다. 실재로 바코드의 바와 공백은 두께와 조합 및 스캐너에 따른 반사율에 따라 0과 1을 나타냄으로서 정보를 담고있다.

그러나 바코드에는 상품에 대한 정보가 담겼다고 보기보다는 그 정보를 열람할 수 있게 만드는 매개체에 대한 정보가 들어있다고 보는 것이 옳다.

가령 예를 들어 회사에서 어떤 사원에 대한 정보가 궁금하다 이런경우, 그 사원의 번호를 일일이 손으로 입력하기 보다는 스캐너를 통해 빠르게 읽어 들이는 것이 보다 효율적이기 때문에 바코드를 사용한다고 보면 된다.

바코드의 구성방법은 여러가지가 있지만 보통 13자리이며, 처음 세자리는 제품의 생산국, 다음 네자리는 제조업체명, 그 다음 다섯자리는 상품명, 마지막 한자리는 코드의 에러를 확인하기 위한 자리라고 한다.

바코드의 종류

1. 2 of 5 코드류 : 바와 스페이스의 넓고 좁음에 따라 0 또는 1을 표현한다.

1_1 industrial 2 of 5 코드
가장 단순한 형식의 2 of 5코드로서 5개의 요소를 이용해 0~9까지의 숫자를 표현한다. 5개의 요소중에서 2개는 넓은 요소를 3개는 좁은 요소다. 넓은 요소는 1 좁은 요소는 0을 의미한다.

무슨 의민지는 자세하게 모르겠지만...(예시를 찾기가 힘들다.) 5개의 바(막대기)를 이용해 정보를 표현하는듯하다.

1_2 interleaved 2 of 5 코드
가장 많이 사용되는 2 of 5코드로서 산업용 바코드중에서 많이 사용되는 편이라고 한다. 정보를 표현하는 방식은 한 개의 숫자가 5개의 바와 5개의 스페이스를 교대로 조합시키는 것이다. 이를 통해 industrial 코드에 비해 40%정도의 길이를 줄일 수 있다고 한다.

백문이 불여일견

바코드 생성기를 통해 만들어본 Interleaved 2 of 5 코드다 만약 정보를 저장하는 값이 홀수가 되면 바코드 아래의 숫자의 맨 앞에 0이 붙게 되는 특징을 볼 수 있다.

2. 3 of  9 코드(CODE 39)
이 코드는 알파벳 문자까지도 코드화 할 수 있다. 43개의 문자와 하나의 시작, 끝 문자로 구성되어있고, 각 문자는 9개의 요소로 다시 나눠진다. 현재 공업용을 비롯해서 가장 광범위하게 쓰이며 보통 막대기 5개가 한 문자에 해당되고 시작과 끝 문자는 반드시 '*'이어야 한다. 이 코드는 길이를 자유롭게 변경하는 것이 가능하고 양쪽 방향 모두다 해독이 가능한 양 방향성 코드라고 한다.

백문이 불여일견
아 솔직히 저 바코드보고 바로 해독이 가능하고 자잘한 설명을 할 수 있다면 내가 여기있지않겠지....그냥 알파벳도 표현가능하고 광범위하게 쓰이는 코드정도로 이해해야겠다. 이를 발전시킨 버전으로서 CODE128까지 나와있다고 한다. 이 코드는 주로 컴퓨터, 프린터등에 사용된다고 한다.

3. UPC코드
이 코드는 식료품과 잡화제품 같은 유통제품에 부착하기 위해 개발되었다. 0~9까지의 숫자만 표현이 가능하고 3가지 종류로 다시 세분화 되는데 A버전은 12자리를, E버전은 6자리를, D버전은 12자리 이상을 표현할 수 있다고 한다. 이 코드는 생산품목이 무엇인지, 제조업체는 어딘지, 상품명은 무엇인지의 정보를 포함한다.  또한 이 코드도 양방향성을 지녀서 어느 방향으로 스캔해도 정보를 읽어올수 있다고 한다.

백문이 불여일견
역시 어려울 뿐이다...이는 UPC바코드의 표준형이라고 하는데 12자리가 뭔지 심히 난해하다.

4. ISBN
이 코드는 국제표준도서번호로서 전세계의 모든 책들에 고유한 번호를 줘서 서적의 유통을 보다 효율적으로 하기 위해 만들어졌다. 총 10자리로 구성되고 10자리 숫자는 다시 두 자리, 네 자리, 세자리, 한자리로 나눠진다. 여기서 처음 두 자리는 국가번호(우리나라는 89), 다음 네 자리는 발행자 번호, 다음 세 자리는 서명 식별기호, 마지막 한자리는 확인용으로 쓰인다고 한다. 이와 유사한 코드로 ISSN을 꼽을 수 있는데 이는 연속적인 간행물, 잡지같은 서적을 관리하기 위해 만들어졌다.

백문이 불여일견
뭐 이번에는 그럭 저럭 볼만한 것 같다. 하이픈(-)을 기준으로 서적을 제조한 나라, 서적을 출판한 출판사, 그리고 서명, 마지막으로 오류가 있나 없나를 검사함으로서 본 코드에는 오류가없음(1)을 표시하는 것을 알 수 있다.

5. QR코드
이 코드는 요즘 광고에서 심심치 않게 볼 수 있다. 다른 코드들과는 색다르게 2차원 코드로서 일반적인 바코드는 양방향이라 할지라도 세로 방향으로만 정보를 저장할 수 있지만 이 코드는 가로와 세로에 모두 정보를 저장할 수 있기 때문에 훨씬 더 많은 정보를 저장할 수 있다고 한다. 하지만 이 QR코드는 치명적인 단점을 가지고 있는데 바로 호환성이다. 단순한 URL을 닮고 있는 QR코드라면 문제가 없지만 명함에 대한 정보를 지니고 있는 QR코드라면 코드 생성기와 리더기 사이에 호환성 문제가 생긴다. 특정 생성기로 만든 QR코드는 특정 리더기에서만 읽힌다는 이야기다. 하지만 이 코드는 누구나 간단하게 만들 수 있고 스마트폰의 보급이 늘어남에 따라 잠재적인 가능성이 풍부하기 때문에 당분간은 꾸준히 사용될 것으로 보인다.

백문이 불여일견


이 외에도 유명한 수많은 코드들(EAN, KAN 등등)이 있지만 필자는 그냥 흥미 있는 몇몇개만 조사했을뿐...

 그 이상에 대한 정보는 http://stewardess.inhatc.ac.kr/philoint/culture/barcode.htm에서 참고해 주길 바란다.

그리고 위에서 생성된 코드는 http://www.freedownloadscenter.com/Business/Inventory_Systems/Bytescout_BarCode_Generator_Download.html에서 다운 받은 바코드 생성기를 통해서 만든것이다.

2010년 11월 21일 일요일

윈도우의 구성

며칠전에 컴퓨터를 포맷하고 윈도우를 다시 깔았다.

다시 설치하고보니 상당수의 폴더와 파일들이 사라진 것을 느낄수 있었다.

아마도 윈도우를 구성하는 중요한 파일들만이 기본적으로 설치됐기 때문에 그렇게 보였던 것 같다.



이번단원에서 윈도우와 유닉스의 directory tree를 배운것이 기억났다.

이참에 기본적으로 윈도우가 제공하는 파일들과 폴더들을 공부해보는 것도 좋을거같아서 윈

도우의 구성을 찾아보기로 했다.


지금부터 소개할 파일들은 윈도우가 기본적으로 제공하는 것들로서 어느 한개라도 망가지면 시스템이 제대로 동작하지 않는다.

RunDll.exe

탐색기에서 확장자가 exe인 파일을 마우스로 누르면 그와 연결된 프로그램을 수행하게 만든다. 하지만 dll이나 ocx같은 확장자를 가진 파일들은 작동하지 않는다. RunDll.exe나 RunDll32.exe는 메모리에 상주하면서 필요한 때에 16비트 혹은 32비트의 라이브러리 파일을 불러와 수행시킨다.

Rnaapp.exe

'전화접속 네트워킹'과 관련된 파일로서 이를 이용해 인터넷에 접속하면 저절로 메모리에 들어간다.

Kernel32.dll

윈도우와 호환되는 프로그램들은 기본적으로 네모난 창과 이름등의 특징들을 가지고 있는데 이처럼 비슷한 인터페이스를 가질수 있는 이유는 Kemel32.dll덕분이다.

Explorer.exe

운영체제의 뿌리격인 쉘 프로그램으로서, 시작 버튼에 있는 탐색기와 비슷한 역할을 한다. 이 파일은 운영체제의 전체 구조를 관리하기 위해 항상 메모리에 자리잡는다. 때문에 이것을 강제종료 시킬경우 재부팅된다.

Systray.exe

작업 표시줄에 트레이를 두는 파일로서 시스템이 켜질 때 한번 실행된 후에는 딱히 하는일이 없는 프로그램이다.

Mmtask.tsk

동영상이나 mp3파일을 백그라운드로 실행할때 사용된다.

Mstask.exe

윈도우98에 있는 '작업 스케줄러'의 수행 파일로서, '예약된 작업'으로 알려져 있고 트레이에 등록된다.

Internet.exe

트레이에 있는 키보드의 언어를 표시한다.

Msgsrv32.exe

이 파일은 가상 장치 드라이버들, 즉 모니터와 같은 독립됀 부품들을 관리하는 프로그램으로서 부품들끼리 충돌하지 않도록 제어한다.



그 다음으로는 윈도우가 제공하는 기본적인 디렉토리들을 알아보겠다. 크게 나누면 Windows디렉토리와 ProgramFiles디렉토리와 기타 디렉토리로 나눌수 있다.

(파랑색 디렉토리 지우면 큰일 날수도 있다...)

Windows

1.바탕화면

사용자의 바탕화면에 있는 파일이나 폴더들이 들어있는 디렉토리다.

2.시작메뉴

바탕화면의 시작 단추를 눌렀을때 그안에 존재하는 여러가지 메뉴들에 대한 정보를 갖고있는 디렉토리다. 시작메뉴디렉토리에서 알아두면 좋은 것으로서 C:WINDOWS시작메뉴프로그램시작프로그램디렉토리에 프로그램을 넣어두면 윈도우 시작과 동시에 프로그램들을 실행되게 만들수 있다.

3. AllUsers

다양한 사용자들이 있을 경우 사용자별로 다른 바탕화면과 시작메뉴를 가질 수 있다. 이런 경우에 모든 사용자들이 공통적으로 가지고 있는 바탕화면과 시작메뉴가 이 디렉토리에 존재한다.

4.Command

윈도우에서도 도스를 사용할 수 있는데, 이 디렉토리에 도스에서 사용하는 명령어들이 들어있다. fdisk나 format과 같은 명령어들이 여기 있기때문에 실행할 수 있는 것이다. 윈도우를 처음 설치했을때 자동적으로 Command디렉토리가 autoexec.bat안에 path로 설정되는데 path로 설정하지 않는다면 도스의 명령어들을 사용할 수 없기 때문에 조심해야 한다.

5.Cursors

윈도우에서 사용되는 커서들에 대한 정보가 들어있다.

6.Fonts

윈도우에서 사용되는 모든 글꼴에 대한 정보가 들어있다. 또한 사용자가 추가로 설치하는 글꼴에 대한 정보도 모두 이 디렉토리에 저장된다. 이 디렉토리는 설치시부터 숨김의 특징을 갖고 있기 때문에 숨김속성을 해제해야만 볼 수 있다.

7.Help

윈도우에서 사용되는 여러가지 도움말에 대한 정보가 들어있다.

8.Inf

윈도우에서 프로그램들을 설치할 때 사용되는 설치정보파일로서, 각종 프로그램의 설치정보를 보고싶을때는 이 디렉토리안의 Inf파일들을 메모장과같은 파일로 실행해서 볼 수 있다.

9.Media

윈도우에서 사용되는 wav와 mid파일들을 갖고있다. 윈도우에서 기본적으로 제공하는 효과음들은 이 디렉토리안에 있는 파일들을 사용해서 실행된다.

10.SendTo

이 메뉴는 사용자가 원하는 파일을 원하는 곳으로 보낼때 사용된다. 주로 하드디스크나 내문서등의 자주 사용되는 디렉토리가 원하는 곳으로 설정되어있다.

11.System

윈도우의 핵심인 동적 링크 라이브러리와 여러가지 드라이버가 포함된 디렉토리다. 이 안에 있는 파일들을 함부로 지우거나 수정하면 윈도우를 사용할 때 문제가 생길 수 있다. 그러므로 삭제나 수정시 주의를 요해야 한다.

12.Temp

윈도우에서 기본적으로 사용하는 임시 디렉토리로서 실행 프로그램의 압축을 풀거나 프린터로 보내는 파일들이 생성되고 삭제되는 작업을 한다.

ProgeamFiles

1.Accessories

윈도우에서 기본적으로 설치되는 보조 프로그램들, 예를 들어 백업프로그램, 페인트, 사용자 정의 문자 편집기, 워드패드 같은 프로그램들이 들어있다.

2.CHAT

인터넷이 연결되어있을경우 사용할수있는 채팅프로그램을 갖고있다.

3.commonFiles

마이크로소프트 프로그램들에서 공통적으로 사용하는 여러 프로그램들에 대한 공통된 정보가 들어있다. 과거 윈도우의 단점중 하나가 프로그램 설치시 System디렉토리에 수많은 dll파일과 드라이버파일이 생겨서 Windows디렉토리의 크기가 엄청나게 커진다는 것이었는데 이를 방지하기 위해 생겨난 것이 이 디렉토리다.

4.DIRECTX

윈도우에서 그래픽을 사용할때 사용되는 다이렉트x에 대한 정보가 들어있다. 실질적인 드라이버나 dll파일들은 System디렉토리에 존재하고 이 디렉토리에는 다이렉트x의 버전을 표시해준다.

5.FrontPageExpress

인터넷 익스플로러 4.0이상이 윈도우에 설치되 있는 경우 간단한 홈페이지를 만들수 있는 프로그램이 설치된 디렉토리다.

6.Internet Explorer

윈도우에서 인터넷을 사용하기 위한 파일들이 들어있는 디렉토리로서 익스플로러에서 사용되는 플러그 인 프로그램을 설치했을 경우 이 디렉토리에서 수정이나 삭제가 가능하다.

7.MicrosoftNetShow

윈도우에 인터넷 익스플로러가 설치된 경우에 네트워크에서 사용할 수 있는 멀티미디어 파일을 보여주는 프로그램을 갖고있다. 하지만 모든 음성, 동영상파일들을 지원하는게 아니기 때문에 지원하지 않는 파일들은 사용자 스스로가 플러그 인 프로그램을 설치해야 한다.

8.NetMeeting

윈도우에 인터넷 익스플로러가 설치된 경우에 이 디렉토리가 가진 NetMeeting프로그램을 사용해서 마이크로소프트에서 제공하는 특정 서버에 접속해서 여러명의 사용자들과 대화를 나눌수 있다. 이 프로그램도 인터넷 익스플로러4.0이상의 버전에서만 지원된다.

9.OutlookExpress

윈도우에 인터넷 익스플로러나 마이크로소프트 오피스가 설치된 경우에 이 디렉토리 안에 있는 OutlookExpress프로그램을 이용해서 메일을 주고받거나 뉴스 그룹을 검색할 수 있다.

10.UninstallInformation

윈도우에서 프로그램을 제거하는데 필요한 정보들을 갖고있다. 프로그램설치시 설치정보를 기록해 주기 때문에 프로그램을 완벽하게 제거하고 싶을 경우 사용할 수 있다. 이 디렉토리를 함부로 수정할 경우 프로그램의 제거를 제대로 수행할 수 없게 될 수도 있다.

11.WebPublish

윈도우에서 웹 게시 마법사를 실행 할 수 있는 실행파일들을 갖고 있다. 이 파일들은 FrontpageExpress를 사용해서 웹 형식의 파일을 만든 경우에 이를 원하는 서버로 직접 옮겨준다. 다른 웹에디터를 사용해서 만든 웹 형식의 파일도 원하는 서버로 옮겨준다.

기타 중요한 파일들

1.Networks

네트워크 연결시 이름으로 설정된 사이트를 IP주소로 바꿔주는 역할을 한다.

2.Services

FTP나 telnet, www를 사용할 때 사용되는 프로토콜에 대한 정보를 갖고 있다.

3.dosstart.bat

도스창을 열 때 기본적으로 실행되야하는 프로그램들을 갖고 있다. 도스 실행시 실행하고 싶은 프로그램이 있다면 이곳에 명령어추가를 통해 할 수 있다.

4.Ini파일들

각종 프로그램들을 실행할 때 필요한 초기화 정보를 갖고있다. 원래는 윈도우 3.1과 호환을 위해 존재한다고 한다.

5.pwl파일

윈도우 로그인시 사용되는 암호에 대한 정보를 갖고 있다. 이 파일을 해석할 수 있으면 각종 공유 디렉토리나 로그인시 필요한 암호를 알 수 있다.

6.scr파일

화면보호기 실행 파일로 원하는 화면보호기를 실행하기 위해 존재한다.

7.system.dat, user.dat

윈도우의 실행에 가장 중요한 파일인 레지스트리에 대한 정보를 갖고 있다.

출처 - http://psd0622.blog.me/60010884780

2010년 11월 14일 일요일

빌게이츠의 생애와 업적

교재에 컴퓨터에 대해서 관심이 조금이라도 있다면 한번쯤은 들어봤을 이름인 스티브잡스에 대해서 간단하게 언급이 나와있었다. 그래서 이참에 인물의 업적을 알아볼까 했는데(사실 교재에 있는 내용을 읽기가 싫었을지도...) 이미 동기중 한명이 너무나도 조사를 잘해서 다른 사람에 대해서 조사하기로 결심했다.

우리가 대표적으로 알고 있는 운영체제는


MS WINDOWS(Microsoft windows)


MAC(Macintosh)


UNIX


정도로 압축할 수 있다.

그런데 UNIX는 특정 대표적인 개발자를 갖기 보다는 다수의 사람들이 개발에 참여했다는

점때문에 그리고 앞서서 얘기했듯이,

MAC은 동기가 미리 조사를 했기때문에,

MS WINDOWS의 창시자인 빌게이츠의 생애와 업적에 대해서 알아보기로 했다.





우선 빌게이츠의 사전적인 정의(?)를 보면

본명은 윌리엄 헨리 게이츠 3세로서 1955년 10월 28일 미국 시애틀에서 변호사인 아버지와 교사인 어머니 사이에서 태어났다.

게이츠는 시애틀의 명문 사립중고등학교인 레이크사이드에서 13세의 나이로 처음 컴퓨터를 접한다.

이후 17세에 중학교와 고등학교 2년 선배인 폴 앨런과 첫 회사인 'Traf-O-Data'를 설립하고 시내 교통량을 기록·분석하는 소형 컴퓨터를 생산한다.

하버드대학 2학년인 19세의 나이이던 1975년, 학교를 중퇴하고 다시 폴 앨런과 함께 마이크로소프트(MS)사를 설립했다.

빌 게이츠는 개인용 컴퓨터(PC) 성장을 예측하고 첫해 컴퓨터 언어 프로그램인 ‘BASIC’을 개발하였고 포트란 등 후속 프로그램을 출시하였다.

MS사가 세계적인 소프트웨어가 된 계기는 90년대 초반의 그래픽환경을 지원하는 Windows 3.1의 성공에서 시작된 것이다. 이후 Windows 95, 98, 2000, XP 등 컴퓨터 운영체제(OS)를 개발, 시장을 독점하게된다.

이 때문에 빌게이츠는 독점금지법에 휘말리게 되고 패소한다.

여론을 잠재우기 위해 공동창업자인 스티브 발머에게 최고경영자 자리를 물려주고 경영 일선에서 물러난다.




개략적으로 알아본 바는 이렇지만 뭔가 그의 사상이나 철학등을 알기에는 턱없이 부족하다. 그래서 그가 살아온 인생에서 굵직굵직한 모습들을 찾아보며 하나하나 세분화 해보기로했다.



1. 과감한 결단

1973년 빌게이츠는 세계유수의 대학중 하나인 하버드 대학에 입학했다. 그러나 빌은 자신의 길이 컴퓨터쪽인 것을 깨닫고 대학을 포기한후 고등학교 선후배 사이였던 폴 앨런과 함께 회사를 차리고 회사의 이름을 MS라고 명명한후 최초의 업적인 프로그래밍언어 BASIC를 만들게 된다. 솔직히 여기서 그의 부모님이 상당한 재산가에 명망있는 집안이었다는 점을 보면 그가 대학을 중퇴한것이 크게 부각되지 않을 수도 있다. 그러나 지금 우리나라 이과 학생들이 의대를 어떻게 보는가, 문과 학생들이 법대를 어떻게 보는가를 생각해보면 사회적인 지위와 인식을 무시하고 자신만의 길을 이른나이에 선택하는게 얼마나 과감한 결단인지를 파악할 수 있다.



2. 열린 사고관

IBM에서 MS사에게 OS를 만들어 달라고 했을때 이들은 OS를 갖고 있지 않았음에도 불구하고 IBM과 이야기를 나눈 지 이틀 만에 '시애틀 컴퓨터 프로덕트'사가 갖고 있던 Q-DOS를 5만달러에 샀다. 약간 수정한 뒤 이 프로그램을 MS-DOS로 이름 붙여 IBM에 8만달러에 납품했다.  더불어 빌은 IBM이 이 프로그램을 무기한 사용하는 대신 MS가 다른 회사에도 이 프로그램을 팔 수 있다는 조건을 따냈다. 이미 대기업인 IBM에 납품한 프로그램을 마다할 회사는 없었고, 소프트웨어를 줌으로서 그 이상의 가치를 창출해내는 것은 현재 일상적인 마케팅이 됐지만 그 당시에는 획기적인 기법이었다. 물론 그가 천재적인 프로그래머가 아니었다는 건 분명하다. 하지만 독자적인 사업수완으로 대기업인 IBM을 능가할 정도로 자회사를 키운 그의 수단은 분명히 열린 사고관을 통해 형성된 것으로서 충분히 높은 값어치를 지니고 있다고 생각한다.



3. 넓은 시야

빌게이츠는 처음부터 모든 책상에 개인용 컴퓨터(PC)를 놓겠다고 했었고, 이를 이루기 위한 문제점은 프로그램의 호환성 이었다. 예를 들어 IBM사와 DEC사가 만든 PC에는 서로 다른 OS가 사용돼 사용자들이 응용프로그램을 위해 상당한 비용을 부담해야 되는 것이 문제였다. 그는 IBM을 기반으로 보폭을 넓혀 나갔고, 결국 보편적인 OS가 윈도로 통일되자 PC 보급이 폭발적으로 늘었다. MS는 독점과 관련해 비난을 받을 때마다 “OS 운용체계가 표준화된 덕에 이용자들은 호환 문제를 걱정할 필요 없이 저렴한 가격에 PC를 사용할 수 있게 됐다”고 반박하는 근거가 여기에 있다.이외에도 자사의 제품에 Internet Explorer을 무료로 지원하여 PC의 지원외에도 보다 많은 사람들이 인터넷을 이용할수 있게 만든 것도 어떻게 보면 독점문제로 왈가왈부되며 상당수의 사람들이 그를 싫어하는 원인이 되게 만들었지만 그의 넓은 시야로 보다 많은 사람들이 컴퓨터세상을 알수 있게 만들었다는 점을 보면 그의 업적은 독점 및 다른 문제들을 상쇄하고도 남는 업적이었다고 생각된다.

출처 네이버도서 및 네이버 백과사전