조금 싸게 Windows 10 구입 방법

막상 윈도우10을 구입하려니 종류도 많고 공식홈페이지에서도 구입할 수 있지만, 쇼핑몰에서도 구입할 수 있다. 차이가 무엇인지 살펴본다.

조금 싸게 Windows 10 구입 방법

일단 Windows 10으로

자신의 컴퓨터를 윈도우10으로 업그레이드를 해야 하느냐 마느냐 고민할 필요가 없다. 가능하면 윈도우10을 사용하는 것이 무조건 정답이다.

윈도우10은 장치호환성, 체감속도, 보안성 등 모든 면에서 뛰어나다. 물론, 기존의 윈도우즈와 비교해서 상대적으로 뛰어나다는 뜻이다.

  • 고해상도 디스플레이 지원
  • 인터페이스의 일관성 문제
  • 괴상한 태블릿모드 등

해결해야 할 문제들이 아직 많이 남아있지만, 윈도우7 이후로 가장 향상된 운영체제임에는 틀림이 없다.

Home? Professional?

Home 버전과 Professional 버전 중에 고민하는 분들도 많은데, Professional 버전을 꼭 써야만 하는 이유를 당장 말할 수 없다면, 그냥 Home을 사용해도 충분하다. 끝.

제발 윈도우7이 최고니까~로 시작하지 말자. 설치만 보더라도 장치 드라이버도 이미 윈도우10이 공개되어 있고, 호환 드라이버는 설치과정에서 자동으로 알아서 설치한다.

과거에 윈도우7을 새로 설치하고 매달려서 장치 드라이버 설치하는데 3시간이 필요했다면, 윈도우10은 운영체제 설치하고 장치 드라이버와 각종 윈도우 업데이트를 진행하는데 2시간이면 충분하다.

뭐 놀랍게 설치 시간이 줄어든건 아니지만, 일일이 매달려서 설치할 필요 없이 끝날 때 까지 기다리기만 하면 되므로, 전체적인 번거로움은 획기적으로 줄어든 편이다.

DSP? USB?

 

Microsoft Windows 10 Home 을  공식페이지에서 구입하면 172,000원이다.

그런데, 큰 온라인쇼핑몰 몇 곳을 다녀보면 172,000원 보다 저렴하게 구입할 수 있다. 공식유통사에서 판매하고 있다면, 가격을 할인하여 판매하는 정품인 경우다.

자, 이제 자신이 가입되어 있는 온라인 쇼핑몰에서 검색을 해보면, 140,000 ~ 169,000 선에서 형성되어 있는데, 지금 이 글을 읽는 순간에도 수산시장 생선값처럼 시기에 따라 오르락 내리락 하기 때문에, 최저가를 잘 살펴보기 바란다.

그런데, 제품 목록을 자세히 살펴보면, 윈도우10 이라는 제품명에 DSP / USB 같은 옵션들이 붙어 있어 혼란스럽다.

DSP

등록번호 스티커가 붙은 카드만 들어있고, 설치용 USB 메모리는 없다. 한 대의 컴퓨터에 한 번 설치할 수 있는 버전으로, 메인보드의 정보를 이용해 정품인증을 하기 때문에, 노트북이나 데스크탑의 메인보드가 교체되면 고객센터에 전화로 재인증을 받아야 하는 번거로움이 있다. 하지만, 최근에 Microsoft ID에 종속되어 쉽게 예전 컴퓨터에 대한 정품인증을 해제할 수 있고, 새로운 컴퓨터에서 쉽게 인증할 수 있도록 바뀌었다고 한다. (확인은 안해봤음)

처음설치용(USB)

윈도우10 설치용 이미지가 저장된 USB가 박스에 들어 있는 버전이다. 컴퓨터가 바뀌어도 USB로 설치하면 정품인증이 승인되며, 이전에 설치한 윈도우는 정품인증이 해제된다. 설치 후, Microsoft ID로 로그인하면 계정에 종속되어서 정품인증을 온라인으로 해제하고 인증할 수 있다.

 

잘 살펴보면 DSP 버전이 처음설치용(USB)버전보다 약 10,000원~15,000원 가량 싸다. USB메모리 가격만큼 싼 듯 싶다. 그런데, 만 원 차이가 만들어내는 편리함과 불편함은 꽤나 큰 편이다.

설치용 USB가 있는 것과 없는 것의 차이

공식페이지에서 172,000원에 구입했다 치자. 구입 후 설치용 이미지 (.iso) 파일을 내려받은 뒤에, 곧바로 내 컴퓨터에 설치할 수 없다.

일단 iso 파일을 USB 메모리에 부팅가능하게 옮겨 담고, USB를 이용해 부팅을 할 수 있어야지만 운영체제가 없는 PC에 설치하거나 지금의 컴퓨터를 초기화하고 설치할 수 있다.

빈 USB 메모리를 구해야하는 번거로움도 있거니와, 이미지 파일을 USB로 복사해야 한다는 그 과정이 어렵지는 않지만 번거로운 일임에 분명하다.

요약하면

  1. Windows 10 은 Home (한글) 버전을 선택
  2. 처음설치용(USB)을 쇼핑몰에서 구입

이벤트 시기를 잘 만난다면, 공식 홈페이지에서 구입하는 것 보다 2~3만원 저렴하게 구입할 수 있거니와, 설치USB가 있으므로 언제든 재설치 할 수 있다.

연말이 되면 특가 또는 할인쿠폰 등의 이벤트가 많다. 그 때 구입하는 것이 가장 좋다.

아이들을 컴퓨터게임 속에서 평화롭게 꺼내오는 방법

컴퓨터 게임에 지나치게 몰입하는 아이들

컴퓨터게임에 지나치게 몰입하여 생활 패턴이 망가진 아이를 꺼내오는 방법에 대해 여러 전문가들이 이야기하는 조언들을 듣다보니, 게임을 가까이하던(?) 사람으로서 거리감이 느껴져 예전에 ‘인터넷윤리와 정보보호’에 대한 주제로 강의했던 내용을 간략히 추려 정리해 봅니다.

 

게임은 시간이 아니라 ‘미션’이 중심

컴퓨터 게임에 빠져들어 집중하기 시작하는 아이를 앞에 두고,

“딱 한 시간만 하자~”

“밥먹어야 하니까, 6시 까지만 딱 하고 그만 해야해~ 약속하는 거다!”

드디어 시간이 되어 식탁을 차리면서,

“시간 다 되어 간다. 이제 그만해라”

“(버럭) 시간 넘었으니까, 그만해~!! 너 컴퓨터 끈다!”

익숙한 대화입니다. 처음은 평화로우나, 그 끝은 전쟁으로 이어집니다.

컴퓨터 게임의 경우에 특히 시간 약속을 아무리 해봤자, 제대로 지킬 수가 없습니다. 아이가 약속을 지키고 싶지 않아서가 아닙니다. 게임에 몰입한 아이가 느끼는 시간은 인터스텔라에 가까이 있는 상태입니다. 정말 신기하게도 엄마가 살고 있는 지구(?)의 1시간이, 아이들의 게임스텔라(?) 공간에서는 10분 밖에 흐르지 않은 겁니다.

TV에 나오는 아동교육전문가의 컨설팅을 보면 ‘시간’을 정해서 하라고 하지만, 실제로 게임을 즐기다보면 시간보다 미션(목표)을 중심으로 했을 때, 더 통제하기 편한 요소라는 것을 알 수 있습니다.

아케이드와 전략게임의 경우에는 한 판, 두 판(스테이지)이 미션이고,

롤플레잉게임(RPG)류는 성장(레벨업)이나 도전과제(퀘스트)가 미션이 됩니다.

스마트폰 게임의 아케이드들은 점수(스코어)를 갱신하는 것이 중요한 미션입니다.

아이들과 약속을 정할 때, 시간이 아니라

세 판만 하기

레벨 1개만 더 올리기

다음 퀘스트까지만 진행하기

최고 기록 두 번 더 달성하기

다만, 미션을 중심으로 게임할 시간을 정하더라도 부모와 아이가 함께 하루 일정을 명확히 지킬 수 있도록 시간의 개념은 확실히 잡는 것이 좋기 때문에

  1. 게임은 최대 몇 시간 동안 (or 몇 시까지) 하는 것으로 정하되,
  2. 시간이 넘어갈 것 같으면 미리 예상하여 스테이지 도전을 중지하고,
  3. 예상이 빗나가 넘겨야 한다면, 레드존을 정해 최대 몇 분을 초과하지 않도록 미리 정하고,
  4. 1분 초과된 만큼 10회 줄넘기를 하는 등의 신체활동으로 뇌를 자극하는 벌칙을 수행해야 합니다.
  5. 혹시나 부모의 관심이 소홀해진 틈에, 무의식적으로 지나치게 많이 게임을 즐기고 있다면,
    다음 일정을 수정하고 이후 계획을 스스로 재구성하여 지키도록 해야 합니다.

부모가 게임을 알아야…

게임 내 미션을 중심으로 아이들과 약속을 좀 더 진정성 있게 세우기 위해서는, 일단 아이들과 게임에 대해 충분히 대화해보아야 합니다.

부모가 게임을 직접 해본다는 것은 크게 세 가지 의미로 볼 수 있습니다.

  1. 게임 콘텐츠를 이해하여 아이에게 어떤 부분에 도움이 되고 해가 될지 살펴보는 기회.
  2. 함께 살펴보는 과정에서 아이들과 대화하고 공감하는 기회로서의 의미.
  3. 약속이나 규율을 정할 때, 부모와 아이 사이에 신뢰 관계를 형성하는데 도움이 됨.
아이들이 가상의 세계 속에서

새롭고 신기한 미션(퀘스트)이 시나리오 속에서 무한히 제시되고,

내가 극복해야하는 강력한 몬스터와 미로 같은 던전이 끊임 없이 주어지고,

어마어마한 넓이의 지도를 뛰어다니고 날아다니면서 자유로움도 느끼고,

현실에서는 불가능한 강력한 무기와 힘과 환상적인 마법을 마음껏 구사한다는 것이

얼마나 매력적인 요소입니까?

아이들 뿐만아니라 어른들도 이런 매력에 쉽게 빠지게 되어, 시작이 어렵지 한 번 발들이면 벗어날 수 없을 정도입니다. 그나마 어른들은 직장이라는 사회생활을 위해 어쩔 수 없이 손을 놓아야 한다지만, 아이들의 사회생활이라는게 ‘놀이’가 전부인지라 지나치게 몰입하다보면 일상 생활에 지장을 주게 되기 쉽습니다.

아이를 이해하기 위해 내가 게임을 직접 해볼 엄두가 나지 않거나 시간적 여유가 없다면, 출퇴근길에 Youtube 를 한 번 찾아보면 게임 전문가(?)가 자세히 설명해주는 영상을 쉽게 찾아 볼 수 있습니다.

가장 효과 좋은 방법을 권장하자면, 주말에 시간내어 아이와 함께 컴퓨터 앞에 앉아서, 아이와 함께 게임을 살펴보며 대화하고 궁금한 점을 묻고 답하는 것이 아닐까 싶습니다.

실제로, 학부모님을 대상으로 관련된 강의를 진행하면서

아이들이 가장 많이 즐기는 게임의 종류와 시나리오를 간단히 설명해 드리고,

폭력성이 발생하는 부분과 아이들에게 유해한 요소를 말씀드리고 나서,

시간이 흐르고 다시 강의를 이어갈 때 부모님들의 반응을 살펴보니,

아이가 즐기는 게임을 부모가 알고 있다는 사실만으로도 대화를 끌어내기가 훨씬 수월했고,

부정적인 부분을 아이와 (짧게 나마) 대화한 덕분에 어느 정도 자제시킬 수 있었다

라고 하시더군요. 아이들은 원래 어른보다 이해심이 많고, 생각이 유연하기에 가능한 일일지도 모르겠습니다.

 

비교육적인 콘텐츠 요소

컴퓨터 게임, 특히나 온라인 롤플레잉게임(RPG)…

아바타가 가상 세계의 내가 되어,

흥미진진한 시나리오가 무한히 제시되고,

나와 겨뤄야하는 몬스터와 새로운 장소가 끊임 없이 주어지고,

어마어마한 넓이의 지도를 뛰어다니고, 동물을 타고 날아다니면서 자유로움도 느끼고,

현실에서는 불가능한 강력한 힘과 환상적인 마법을 마음껏 구사한다는게

얼마나 매력적인 일입니까?

 

대부분의 온라인 롤플레잉 게임은 정해진 시나리오의 반복입니다.

  1. (주변 인물로부터 어떤 퀘스트를 받아) 던전이라고 하는 몬스터가 출몰하는 지역에
  2. 다른 온라인 사용자들과 팀을 만들어 여럿이 들어가서
  3. 퀘스트에서 요구한 강력한 몬스터들을 죽이고
  4. 때로는, 힘을 과시하며 스트레스를 풀기 위해 지역의 모든 몬스터를 학살하여
  5. 시원하게(?) 퀘스트를 완수하면,
  6. 특수한 아이템이나 성장(레벨업)할 수 있는 경험치를 보상으로 받는 과정의 반복

때로는

  1. 몬스터를 죽여 빼앗거나,
  2. 채광하여 얻은 여러 종류의 재료를 모아,
  3. 마법과 스킬을 더해 특수한 아이템을 생산하고
  4. 가상의 장터에 내 놓아 팔고 가상의 돈을 버는 경제활동

을 즐기는 경우도 많습니다만, 이 또한 초반에는 전투를 통해 기본 능력을 키워야만 가상 경제활동이 가능하도록 구성되어 있습니다.

아이템, 경험치, 가상화폐

이런 과정에서 아이템경험치는 게임을 끊임없이 이어갈 수 있도록 하는 중독적인 요소가 되어 아이들의 몸과 마음과 시간과 ‘문상’을 빼앗아가고 있습니다. (문상; 문화상품권, 학교와 학원에서 상품으로 받은 문화상품권을 이용해 온라인 아이템을 구입하는 일이 빈번하다. 상장에는 상품명이 씌여 있지 않으므로, 부모는 종이 상장만 달랑 받아보게 된다.)

게임 콘텐츠 속 가상현실을 현실로 끌어내어 아래의 질문을 던져 봅니다.

(문제1) 몬스터가 흉악하게 생겼다고 해서 과연 악이라 할 수 있는가?

(문제2) 몬스터들이 모여사는 마을도 따지고 보면, 인간들의 마을과 다름 없지 않은가?

(문제3) 퀘스트를 위해 몬스터의 마을에 침입하여 마구잡이로 죽이는 것에 대해서 몬스터들이 강력하게 저항하는 것이 나에 대한 공격인가?

(문제4) 나보다 강력한 몬스터들을 죽이기 위해서, 내가 더 강해지려고 노력하는 것에 대한 목적이 과연 윤리적인가?

(문제5) 입장을 바꾸어서 보면, 나를 성장시키기 위해서 다른 몬스터들은 무고하게 희생되어도 괜찮은가? (현실세계에서 나를 위해서라면 다른 사람들에게 피해를 주어도 좋은가?)

(문제6) 죽으면 같은 자리에서 다시 살아나는 몬스터들이 되살아나기를 기다렸다가 반복해서 죽이는 과정 속에서, 생명을 가볍게 여기게 되지는 않을까?

게임 제작사들도 이런 문제점에 대해 전혀 생각하지 않는 것은 아니지만, 상업적인 목적과 결합되어 있기 때문에 달콤한 유혹을 버릴 수 없는 것입니다.

아이들과도 분명히 이런 문제에 대해 아이들과 생각해보는 기회가 필요합니다. 교실에서 아이들과 이야기를 시작하려다 보면, 몇몇 아이는 순간적으로 게임의 일부가 되어 흥분 상태로 들어가 왁자지껄 자기 캐릭터의 자랑을 늘어놓기 시작하는 경우도 보입니다.

대부분의 아이들은 이런 질문에 대해 묻고 답하는 과정이 끝나갈 무렵에 무언가 이상하다(잘못되었다)는 느낌을 받았다 하고, 일부 아이들은 흥미를 잃었다고 하는 경우도 봅니다. 이야기를 나누는 기회 하나만으로도 아이들은 어른들보다 충분히 잘 판단하고 더 유연하게 반응할 수 있습니다.

물론, 아이들이 보는 TV 만화 영화에도 이런 선악구도와 대결이 흔히 구성되어 있지만, 컴퓨터 게임이라는 것은 TV와 달리 인터랙티브(상호작용)가 가능하기 때문에, 내가 판단하여 결정하고 행동에 옮기고 이를 반복하는 것에서 더 큰 자극이 될 수 있습니다.

 

비교육적인 간접 요소

인터넷 온라인을 통해 여러 사용자들이 협력하며 게임을 진행하는 경우,

아이들은 연결된 상대방을 ‘내 친구’, ‘사용자’, ‘사람’이 아니라,
나와 직접적으로 관계가 없는 ‘컴퓨터’, ‘아바타’, ‘인공지능’, ‘가상인물’ 등 으로 착각하게 됩니다.

이런 착각이 게임 내에서 대화를 주고 받을 때, 사람이 아니라 컴퓨터를 상대한다고 착각하게 되면서 평소(현실세계에서)에 하지 않던 행동을 망설임 없이 저지르게 되는 원인이 됩니다.

친구들과 얼굴을 마주 대하면, 기분 나빠도 웃으며 넘기고, 험한 말도 섣불리 못하는 아이가 키보드와 스마트폰을 쥐어주면, 무개념의 용맹한 키보드워리어(?)로 변신하여 날리는 ‘욕설’과 ‘비방’ 행동 자체가 비교육적인 간접 요소로 볼 수 있습니다.

하나 덧붙이자면, 가상세계 속에서 자제력을 상실하게 되는 경우인데,

사이버 머니와 게임 아이템은 동네 상점에서 물건을 구입하 듯 실물을 거래하는 것이 아니기 때문에, 현실감을 잃고 쉽게 판단하여 구매하게 됩니다. 이런 이유로 아이템 구입에 용돈을 몽땅 써버리고, 더 많은 아이템을 구입하기 위해 더 많은 용돈을 필요로 하게 되어, 2차적으로 발생하는 문제도 상당히 많습니다.

친구에게 돈을 빌리고 갚지 않는다거나, 상품으로 받은 문화상품권을 아이템으로 교환하는 등이 대표적인 사례입니다.

 

사실대로 전달하는 대화법

컴퓨터에 지나치게 몰입한 아이들의 경우, 대부분 생활 습관이 잘못 형성되게 마련입니다. 고착화되면 부모와의 심리적 갈등이 여기부터 시작됩니다.

컴퓨터 게임은 내가 목표에 도전하기 위해 아바타(혹은 컴퓨터)에게 끊임없이 명령을 내리면서 성취감을 맛보는 과정의 반복입니다.

아이가 신(god)이 되어 가상의 세계에서 명령하고, 즐기고 있는 상태에서 부모가 ‘컴퓨터 게임을 멈추라’고 아이에게 명령한다면, 과연 게임이 주는 자극을 순간적으로 쉽게 포기할 수 있을까요?

대화 불능 상태가 되는게 당연한 수순입니다.

  1. 아이가 게임에 몰입하여 약속된 시간을 넘기게 되었을 때, 그만하라 명령하지 마시고 약속된 시각에서 몇 분 초과 되었음을 ‘통보’하면 됩니다.
  2. 통보는 미리 약속된 횟수 만큼 냉정하고 (잔소리 없이) 명료하게 알려주기만 하고, 해당 횟수가 초과되었을 때는 정해진 액션을 취하시면 됩니다. (스피커의 소리를 끈다거나하는 평화적인 방법) 그 뒤에 일어나는 모든 상황에는 함께 정한 규칙대로 한 것이라는 정도만 ‘답변’하시면 됩니다.
  3. 초과된 시간만큼 신체 발달 수준에 맞는 팔굽혀펴기나 윗몸일으키기 등의 다른 두뇌자극 활동으로 확실히 초기화 시켜야 다음에 게임을 할 수 있음이 함께 들어가야합니다.
  4. 게임을 마치고 난 뒤에는 아이의 입으로 오늘 게임 내용 중 기억나는 부분, 시간이 초과된 이유, 두뇌자극 활동, 이후에 해야할 스케쥴 등을 직접 차례대로 말하도록 하시는게 좋습니다.
  5. 부모는 흥미롭게 들어주고, 현재 감정상태를 확인하고, 지금 시각이나 다음 스케쥴을 주지시켜 주는 정도로 끝내시면 됩니다.

원리는 간단합니다. 게임이 특별한 무언가가 아니라 아이들의 일상 중 하나라는 관점으로 접근하시면 됩니다. 운동장에서 축구를 하고 돌아온 아이에게 대하듯이 하면 되는 겁니다.

 

주변환경과 준비단계

규칙을 어겼다 하더라도, 앞서 말씀드린대로 신(god)이 되어 게임 세상을 다스리다가 다시 인간이 되어 돌아온 아이에게 이래라 저래라 훈계하는 건 아무래도 받아들여질 것 같지 않습니다. 예방이 최선인데 그러기 위해서 사소한 환경적인 요소를 이용하시는게 좋습니다.

  1. 컴퓨터는 가급적 거실에 두는게 좋지만 방에 두어야한다면 문을 열어놓고,
  2. 컴퓨터를 켜서 무엇을 할지 부모나 형제에게 미리 말하고 나서 시작,
  3. 손쉽게 설정할 수 있는 시끄러운 애그 타이머(스마트폰 알람)를 미리 맞춰 놓고,
  4. 모니터 바로 아래에 한 눈에 들어오는 LED 디지털 시계를 두는

것과 같은 컴퓨터 주변의 기본 환경을 설정하는 것도 큰 도움이 됩니다.

시간이 초과된 뒤에는 스피커를 끄고,

이어폰을 빼도록 하는 단순한 약속만으로도

게임에 대한 흥미도가 급격히 반감되어서, 현실로 데려오기 쉽습니다.

 

최근들어, 스마트폰의 보급에 따라 각종 스마트폰 게임에 지나치게 몰입되는 것이 더 큰 문제라 하는 시각도 있습니다. 다음 기회에 한 번 다뤄보겠습니다.

보낸편지함의 개인정보

보낸편지함의 개인정보

Clear Umbrella Project #1
아이들과 함께 고민해야 할 정보보호 키워드 : 전자우편의 사용

 

신분증 사본 발송

인터넷통신사, 휴대전화통신사, 보험사 등의 계약을 해지하고자 할 때, 상담원이 전자우편/팩스를 통해 신분증 사본을 요구하는 경우가 있다.

스마트폰/카메라로 촬영하거나 스캐너를 이용해 파일의 형태로 만들어 전자우편으로 발송한 다음에는 모든 절차가 끝났다고 생각하기 쉽다.

하지만, 전자우편으로 발송한 메일은 별다른 설정이 없다면, ‘보낸편지함’에 보관된다. 신분증 사본을 전자우편으로 발송된 후에도 전자우편의 보낸편지함에 남아 있다는 뜻이다. 전자우편함이 해킹을 당했을 경우, 신분증 사본이라는 상당히 높은 레벨의 개인정보가 유출될 수 있다는 뜻이다.

전자우편으로 보내지 말아야 할 것들

전자우편으로 보내거나 받지 말아야 할 정보는 다음과 같다.

  • 신분증사본 (주민등록증, 자동차운전면허증, 소속직장ID카드 등)
  • 개인관련공문서 (주민등록등/초본, 인감증명서, 소득신고서, 원천징수영수증 등)
  • 은행관련 (계좌이체보안카드, 각종 은행상품신청서식 사본 등)
  • 기타 개인정보가 포함되었거나, 직접적으로 사용될 수 있는 문서

암호화와 관리

절차상 어쩔 수 없이 전자우편을 통해 발송할 때에는

  • 이미지 파일이 아닌 암호화 가능한 문서의 형태로 6자 이상의 알파벳+숫자로 암호화하여 보내고, 반드시 ‘음성’으로 암호를 필요에 따라 공유
    (워드 .hwp .docx .pptx .pdf 등의 암호화 가능한 파일로 첨부하거나, 압축파일 .zip 등으로 묶어서 암호 설정)
  • 전송하는 본문에 개인정보보호지침에 따를 것을 기재하여 상기시키고,
  • 전송한 뒤에는 반드시 보낸편지함을 삭제하는 것을 잊지 않도록 하자.

 

맥노턴의 킥!

(쉐프의 킥 패러디)

학교/교실/컴퓨터실의 PC는 공용PC라고 볼 수 있다. 결코 안전하지 않으며, 개인정보가 저장/활용되지 않도록 유의!

스캐너가 연결된 PC/스캐너의 저장장치에 임시로 보관된 신분증 사본도 반드시 삭제할 것.

보안카드를 스캔하거나 스마트폰에 저장하는건 절대 금지!

 

투명우산 프로젝트의 시작 : 맥노턴.

프레젠테이션을 성공적으로 ‘망치기’ 위한 10가지 방법

프레젠테이션은 내가 다른 사람(들)에게 메시지를 전달하기 위한 매우 중요한 수단인지라, 충분히 기획하고 정성들여 제작한 다음에는 실전과 같은 연습으로 최선을 다해 준비 하게 된다. 하지만, 무대를 내려온 다음에는 준비에 비해 만족도가 형편없이 낮은게 일반적인 상황이다. (나만 그런건가?)

얼마 전, 인생에 몇 안되는 경우지만 성공적으로 망친 것을 기념하기 위해 다음과 같은 ‘프레젠테이션을 성공적으로 망치기 위한 10가지 방법들’을 생각해 보았다. 정말, 어느하나 빠진 것 없이 골고루 문제를 일으켰던 하루였다고 생각된다. 경험에서 비롯된 비법들이니 충분히 숙지하고 정확히 따라하면 기가막히게 망칠 수 있다. (프레젠테이션의 전중후를 고려하지 않고 생각나는 대로 적어본 것이나 아마 앞쪽이 가장 흔한 문제가 되지 않을까 싶다)

 

1. 파워포인트는 파워포인트요, 키노트는 키노트다…라고 생각하면 안된다.

파워포인트는 파워포인트로, 키노트는 키노트로 읽어들여서 보여주어야 한다. 그래야 각종 차트의 범례와 글꼴 등이 망가지지 않고, 미디어 호환성도 보장되고, 화면전환 효과와 애니메이션도 제대로 보여진다. 특히, 설치되지 않은 글꼴로 인해 임시로 불러들인 대체 글꼴은 크기와 폭이 다르기 때문에, 애써서 만들어 놓은 도해를 한 번에 망가뜨려 버린다. 호환성이라는 것은 말 그대로 호환성이다. 이런 것을 염두해 두지 않을 때, 비로소 성공적으로 망칠 수 있다.

 

2. 빔프로젝터와 노트북의 특성을 충분히 고려하…면 안된다.

슬림형 노트북이나 맥북이 경우에 두께를 얇게 만들기 위해, 대부분의 빔프로젝터가 지원하는 RGB커넥터 대신 HDMI나 전용 RGB어댑터 포트를 제공하는 경우가 많다. 행사장의 어댑터나 케이블 등이 제대로 호환되지 않는 상황이 발생할 수 있기 때문에, 반드시 HDMI to RGB나 미니디스플레이 또는 전용포트 to RGB 어댑터를 필수적으로 준비해야 하지만, 모두 집에 두고 노트북과 어댑터만 달랑 챙겨야 제대로 망칠 수 있다.

 

3. 맥은 키노트요, 윈도우는 파워포인트…라고 생각하면 안된다.

맥에서 작업할 때는 키노트로 프레젠테이션을 하고, 윈도우에서 작업할 때는 파워포인트로 프레젠테이션을 하는게 가장 좋다. 윈도우기반의 PC에서 파워포인트로 작업한 경우에, 행사장에 맥OS기반의 컴퓨터를 사용하는 경우를 대비해 Bootcamp나 Vmware같은 가상머신과 윈도우가 미리 설치되어 있는지 확인해야 하고, 맥OS용 키노트에서 만들었다면 (우리 나라에서는) 가급적 작업한 맥북을 챙겨가는 것이 좋지만, 이렇게 확인을 잘 해두면 망치게 될 확률이 줄어드니 절대로 확인하지 말자.

 

4. USB메모리+클라우드+보조USB메모리에 분산저장…해서는 안된다.

USB메모리 하나에 달랑 복사해서 가져가는 것 보다 온라인 클라우드 저장소, 보조 USB메모리에 분산 저장하는 것이 안전하고 여러 방법으로 해결할 수 있는 기회를 주기 때문에 꽤나 유용하다. 복사할 때에는 미디어파일이 누락되어 있지는 않은지, 특별히 설치한 글꼴이 있는 경우에 파일에 포함시켜 저장하거나 따로 복사해 두었는지 확인해야만 한다. 하지만, 그렇게 해서는 망치는데 실패할 수 있으니 메모리 하나에 달랑 복사했으면, 다른 파일들은 염두해 두지 말 것.

 

5. 와이드스크린해상도(16:9)의 노트북과 행사장의 빔프로젝터(4:3)의 호환성을 사전에 고려하…지 말자.

와이드스크린(16:9) 해상도를 사용하는 노트북을 빔프로젝터에 연결한 경우 대부분 4:3 화면비로 전환되어 길쭉하게 나타나는 현상이 많다. 그래서 천정에 붙어있는 프로젝터의 세팅을 리모콘으로 이리저리 눌러가며 청중들 다 보는 앞에서 최대한 어리숙하게 보이도록 바꿔놓고 나면, 뒤이은 다른 사람의 프레젠테이션을 성공적으로 망칠 수 있기 때문에, 일타 쌍피의 망치기 수법이 된다. 작업을 할 때에는 기본적으로 4:3 화면비를 염두해서 제작하여야 하고, 굳이 16:9의 비율을 이용해야 한다면 빔프로젝터에서 자동으로 지원되는지 여부를 행사 시작 며칠 전에 물어보는 것이 좋지만, 그런 방법은 망치는데 도움이 되지 않는다.

 

6. 비상시를 대비해 PDF 파일로 생성하고 미디어파일을 별도로 준비해…서는 안된다.

공용으로 사용하는 붙박이PC나 노트북의 경우 하드웨어의 문제나 운영체제의 문제가 심심치 않게 발생한다. 이럴 때를 대비해 PDF파일로 슬라이드를 전환하여 비상용으로 가져가면, 오피스나 키노트 같은 프레젠테이션 프로그램에 문제가 발생하더라도 글꼴과 슬라이드가 망가지지 않은 애니메이션만 없는 슬라이드를 청중들에게 보여줄 수 있다. 중간에 삽입된 미디어들은 듀얼 모니터의 경우에 청중들이 모르도록 발표자 화면에서 실행시켜 보여줄 수도 있는 꼼수가 생기지만, 그렇게 해서는 성공적으로 망쳤다고 볼 수 없다.

 

7. 슬라이드 파일은 가급적 행사 일주일 전에는 완성하…지 않도록 하자.

주제에 따른 전문지식의 수준이 다르고, 사람마다 연습시 도달하는 정도가 다르지만, 적어도 일주일 전에는 슬라이드가 완성되어 수정까지 끝나 있어야 한다. 부족한 미디어는 보완하거나 더 좋은 아이디어가 떠오르는 경우를 제외하고는 완성된 슬라이드를 보며 꾸준히 연습하고 시간을 확인하고 쓸데없는 말을 하지 않도록 준비해야 하지만, 발표 전날 밤이나 당일 새벽까지 작업하는 것이야말로 프레젠테이션을 망치는 궁극의 비법이라 볼 수 있다.

 

8. 시작 전에 충분히 휴식을 갖고, 원고를 되새기며 다른 사람과의 대화를 자제하…지 말자.

첫 3분 동안 어떤 이야기를 꺼낼 것인지 생각해서 가급적 외우거나 생각한 범위 이상의 말을 하지 않는 것이 중요하다. 그러기 위해서는 사전에 슬라이드 파일 설치와 확인을 끝내고 충분히 휴식하고 차 한 잔 마시면서 조용한 공간에 앉아 첫 대사와 마지막 대사를 반복적으로 되뇌이는 것이 좋지만, 시작 전에 바로 도착하여 파일을 복사하고 문제가 생기지 않기를 기도하며 주변 사람들과 인사를 나누며 안부를 묻는 것이 프레젠테이션을 망치는데 생각보다 큰 도움이 된다. 머리 속이 하얗게 지워진 상태로 시작해서 우왕좌왕, 중언부언으로 끝내는 멋진 경험을 위해서는 이런 노력이 필수이다.

 

9. 충분히 프레젠테이션을 망쳤다고 생각한다면, 다시는 슬라이드를 들여다보…아서는 안된다.

슬라이드의 내용이 부족하거나 수정할 부분 때문에 버벅거리거나 프레젠테이션을 망쳤다면, 가급적 기억이 살아 있는 동안 내용을 손 본 다음, 그 내용을 다시 참석자들에게 메일이나 공개게시판을 통해 알려주는 등의 노력을 하는 것도 만회를 위한 좋은 방법이다. 하지만, 지난 일은 지난 일일 뿐. 과감히 보관해두고 다시는 열어보지 말아야 다음 프레젠테이션도 멋지게 망칠 수 있다.

 

10. 행사장의 알러지나 온도, 습도 변화, 자신의 건강상태를 사전에 체크…할 필요는 없다.

행사장의 조건에 따른 알러지 반응, 갑작스러운 몸살(감기)와 같은 문제는 환경적인 문제이기 때문에 불가항력인 문제이다. 하지만, 어쩌겠는가. 프레젠테이션이 진행되는 동안 만큼은 극복할 수 있도록 할 수 있는 방법을 사전에 생각해 두어야 한다. 알러지 증상을 완화시켜주는 약이나 차, 해열진통제 복용 시간의 조절을 통해 컨디션을 회복시키는 것도 중요한 방법이지만, 가급적 최악의 컨디션을 그대로 가지고 진행하는 것도 망치는 프레젠테이션의 좋은 경험이 될 수 있다.

 

잊을 수 없는 실패적(?)인 프레젠테이션은 위의 대부분 요소를 어느 하나 빠진 것 없이 골고루 경험한 덕분에 이룰 수 있었다. 대학강의부터 교사연수, 행사강연 등 나름 만족스러운 프레젠테이션으로 발전하고 있었다고 생각했지만, 지난 몇 차례의 프레젠테이션을 돌아보면 참으로 기가막혀서 트라우마가 생길지경이다.

이 글을 읽는 분들도 위의 10가지 방법을 충분히 숙지해서 ‘망치는’ 프레젠테이션을 경험하게 되길 바라는 마음이다. 크크크

 

맥노턴.

트라우마를 예방하는 USB 메모리 사용법

USB 메모리도 사용법이 있습니다. USB메모리의 데이터를 잃어버리는 사고는 누구나 한 번 쯤 직접적, 간접적으로 경험하셨지요.

그 이유나 원인을 모르셨다면 다음을 꼭 확인하셔서, 사용에 주의하시기 바랍니다.

 

1. USB메모리에 직접 작업하지 마세요. (매우중요)

하드디스크에 복사해서 작업하시고, 작업이 끝나면 저장완료 후에 USB메모리로 복사하시는 겁니다. 작업이 진행중인 상태에서 [자동저장] 이라는 녀석이 일정 시간마다 USB메모리에 주기적으로 기록합니다. 이 때, ~${파일명}… 같은 요상한 이름을 가진 임시작업파일을 생성해 주기적으로 기록하다가, 작업을 마치고 제대로 [저장] 을 실행하면 작업하던 ~${파일명} 임시 파일에 완성본을 마저 저장한 다음, 이전의 파일은 삭제하는 방식으로 마무리 합니다. 작업 도중에 계속해서 메모리를 액세스하게 되죠. 그러다보면, 2번 문제가 생기게 됩니다. 언제가 될지는 아무도 모르죠.

 

2. 셀이나 컨트롤러에 수명이 있습니다.

USB메모리는 자기저장장치와 달리 셀이라는 단위에 데이터가 기록됩니다. 이 셀이라는게 영구적으로 작동하는게 아니라 쓰기 횟수가 정해져 있어서 횟수가 다하게 되면 셀이 죽어버립니다. 고가(고성능)의 SSD 메모리의 경우에는 지능적인 컨트롤러가 셀의 수명이 골고루 분산되도록 관리를 하기 때문에 비교적 신뢰할만한 수명을 보이지만, USB메모리가 이런 지능적인 관리를 지원 하기에는 여러모로 여건이 좋지 못합니다. 복잡한 이야기를 다루기에는 자리가 좁으니, 1-2년 정도 열심히 사용한 뒤에는 새로 장만하시고, 쓰던 녀석은 퇴역시켜서 자동차용 MP3 저장장치나 네비게이션에서 ‘따개비 루’ 재생용으로 사용하세요.

 

3. 셀의 기록 방식에 따라 SLC>MLC>TLC 로 나뉩니다.

메모리 셀의 갯수에 따라 가격이 정해지는데, SLC가 가장 많은 셀이 사용되어 비싸고 빠르며, TLC가 가장 싸고 느립니다. 일반적인 기념품으로 제공되는 저가형 USB메모리는 거의 대부분 TLC라고 보시면 됩니다. 그나마 MLC가 가성비가 가장 좋아서 가장 널리 사용됩니다. SLC는 한 셀에 하나의 데이터를 기록하는 방식이라 용량을 늘리려면 셀이 많이 필요한 대신 바로바로 넣었다 빼니 속도도 빠르고 셀의 갯수가 많아 기록이 널리 분산되니 수명이 길겠죠. TLC는 SLC와 다르게 한 셀에 3층으로 데이터를 기록합니다. 데이터를 기록 할 때 3층으로 기록된 데이터를 빼내서 불필요한 셀은 지우고 넣기를 반복하는 과정 때문에, 셀에 기록하는 속도도 느리고, 기록 횟수에 따라 줄어드는 셀의 수명도 짧을 수 밖에 없죠. 단, 아무리 천하의 SLC도 셀의 수명을 무시할 수 없습니다.

 

4. 하드웨어 안전 제거는 괜히 있는 기능이 아닙니다.

제거하실 때는 불편하시더라도 안전제거 기능을 이용하셔서 쓰기 버퍼를 깔끔하게 비워야 합니다. 메모리의 기록 속도와 USB 3.0의 등장으로 비약적인 속도를 가져온 것은 사실이고, 쓰기 속도가 눈깜짝할 사이에 이루어지기 때문에 굳이 사용하지 않아도 된다는 의견에도 일부 공감합니다. 하지만, 빠른 속도를 요구하는건 그 만큼 큰 용량의 파일을 저장할 필요가 있기 때문인 걸로 보시면 됩니다. 저가형 USB메모리는 반짝이는 액세스 램프가 없어서 읽기/쓰기 동작 중인지 알기 어렵습니다. 모니터상에서 운영체제가 보여주는 정보가 전부이지만, 액세스 램프가 달린 USB메모리를 자세히 보시면, 화면상에는 기록이 끝났다고 표시되지만 램프는 아직 깜빡이고 있을 때가 많습니다. 그 때, 잡아 뽑는 건 매우 위험한 일이고, 설령 안전제거 기능에 의미가 없더라도 그 아이콘을 찾아 누르는 시간 동안 만큼은 USB메모리에 기록을 완전히 끝낼 시간을 벌어주는 역할로 보시면 되겠습니다. (여담으로 윈도우의 USB메모리 관리 능력을 신뢰하는 사람은 아마도 없을 겁니다)

 

5. 메모리셀은 살아있어도 보드가 망가지면 곤란해집니다.

메모리가 부착된 보드가 파손되거나 전기적 충격으로 데이터가 날아가면 데이터 복구센터에 맡겨도 보장이 어려울 수 있습니다. 특히나 작은 사이즈의 USB메모리의 경우에는 금속으로 된 가이드가 없이 바로 접점과 맞닿도록 되어있는 형태인지라 빠지기도 쉽고 꺾이기도 쉽습니다. 컴퓨터에 연결한 상태에서 신체나 물건으로 건드려 꺾이거나 반 쯤 뽑힌 상태가 되지 않도록 주의 하시고, 무거운 열쇠를 달랑달랑 매달아 사용하지 않는 것이 좋습니다. 금속 가이드가 있는 제품이라도 실수로 건드려 꺾이는데는 장사 없습니다. 귀찮으시더라도 USB메모리에서 하드디스크로 작업 파일을 복사한 뒤 뽑으시고, 작업이 끝나면 다시 USB메모리를 연결해서 복사하신 뒤 뽑으시길 권장합니다. 데이터 복구를 맡기는게 생각보다 많은 시간과 비용이 소요됩니다.

 

6. 주기적으로 백업하세요.

백업할 걸… 사고가 터진 다음에 가장 먼저 자기도 모르게 튀어나오는 말입니다. 주기적으로 하드드라이브의 공간으로 전체복사 방법으로 백업을 하세요. 백업은 말 그대로 백업입니다. 복사 중에도 어떤 이유로든 실패할 수 있으니, 복사 전에 예전 백업을 바로바로 지우지 마시고, 1주, 2주, 3주, 4주 같은 식으로 폴더를 기간별로 3-4개 정도는 남겨두는 방식으로, 주1회나 격주로 복사하셔서 백업을 유지하시는게 좋습니다. 백업은 보안문제를 고려해 공용PC가 아닌 암호가 지정된 개인PC에 복사하셔야 합니다.

 

7. 공용PC에 사용할 보조메모리를 활용하세요.

USB메모리가 예전처럼 비싸지도 않으니 보조메모리를 하나 활용하시기를 권장합니다. USB메모리는 악성코드를 감염시키기에 가장 편리한 매체입니다. 속도도 빠르고, 쓰기 권한이 항상 열려있고, 보안에 취약한 다른 컴퓨터에 연결할 때 자동실행하기도 편합니다. 발표장에 여러 사람이 사용하는 PC나 다른 사람의 노트북 같은 곳에 프레젠테이션 파일을 복사해야 하는 경우, 주로 사용하는 USB메모리를 바로 연결하지 않는게 좋습니다. 미리 주 메모리에 한 카피 + (ID/PW가 필요없는 나만의 비밀) 클라우드 서비스에 한 카피 + 보조메모리에 한 카피 하셔서, 보조메모리를 가장 먼저 사용하시는게 좋습니다. 행사가 끝난 뒤에는 백신이 설치된 PC에 연결하셔서 바로 포맷하고 준비 상태로 두시는 것이 좋습니다.
우리 아이들에게도 꼭 알려주시면 좋겠습니다. 열심히 작업해서 자료를 잃어버린다는게 얼마나 큰 상실감을 느끼게 하는지 아실겁니다. 이미 컴퓨터사이언스는 소양이 아니라 생활이 되어버렸습니다. 모르면 몸이 고달파집니다.

DOS 프로그래밍 이야기

MS-DOS

MS-DOS는 개인용 컴퓨터 시대를 예정보다 20배 이상 앞당겨 준 의미있는 운영체제가 아닐까 싶다. 당시 IBM에서 Personal Computer라는 이름을 붙인 컴퓨터(IBM-PC)의 아키텍쳐를 화끈하게 오픈하시는 바람에 컴퓨터 제조사들이 앞다투어 호환되는 컴퓨터들을 만들어내기 시작하고 (그래서, IBM-PC호환기종이라 부름) 전 세계가 개인용 컴퓨터 풍년을 맞이하게 되었다.

춘추전국시대의 중심에서 다양하게 설계된 IBM-PC호환기종들을 구동시킬 수 있는 운영체제인 MS-DOS를 (CP/M의 호환 OS인 86-DOS를 인수해서 라벨을 MS로 옮겨붙여) 탄생시켜, 전 세계의 IBM-PC 호환기종들을 일거에 평정한건 정말 기가막힌 행운과 사업수완과 안목이 만들어 낸 기회였다.

DOS 만들기 놀이?

당시 프로그래머들 사이에서 운영체제를 만들어 보는건 일종의 레벨을 정하는 놀이 정도였던 것으로 기억한다. 내가 만든 코드를 디스크에 기록하고 부팅시켜 메모리에 로드하여 커맨드를 입력하고 디스크를 읽어들이고 화면을 제어하는 기초적인 운영체제는 ‘좀 한다’는 사람들의 연습과제 쯤 되었던 적이 있다. 하지만, 이미 모든 시장을 선점한 IBM + Intel + MS 진영과 대적할 수는 없었다.

Ms_dos

Apple ][ 의 Apple DOS 3.3도  있었던 것으로 기억되는데, 본격적으로 입문한 기기가 8088(XT) 기종이다 보니, (값비싼) Apple ][ 는 친구 집에서 오락용으로 몇 번 만져본게 전부였다. ( ][ = 로마숫자 II의 당시 애플식 표기)

Apple-II

뭐, 당시로서는 지금처럼 아름다운 툴들이 마땅히 없었으니 edit 이나 debug (MS-DOS외부커맨드)나 가지고 놀고, MASM (MS매크로어셈블러) 을 왜 공부해야 하는지 이유도 모른 채, 필요에 의해 그냥 즐겼던 것으로 기억(만) 된다. 8086/8088 어셈블러를 다루면서 컴퓨터바이러스의 일부를 메모리에 덤프하고 잘라내 고치고 변형시키면서 습득한 기술로 바이러스 만드는 놀이에 미친듯이 빠져서 꿈속에서도 답을 찾으며 지내기 시작했지만. 남들보다 월등히 떨어지는 생체 CPU로 인한 슬럼프와 학업성적의 급락, 집구석에 처박혀 두문불출 오타쿠 생활에 대한 가족갈등 등이 복잡하게 얽혀, 한계를 극복하지 못하던 어느 날…

Quick-BASIC 4.5

친구의 PC를 가지고 놀다가 우연히 발견한 인터프리터가 있었으니… 바로 Quick-BASIC 이었다. 뭐, 엄밀히 말하자면, MS-DOS에 내장된 보급형(?) Quick-BASIC이 아닌 Quick-BASIC 4.5 였다. 컴파일러가 제공되었기 때문에, 인터프리터로 손쉽게 코딩하고, 키보드 한 번에 컴파일하여 .EXE 파일로 생성할 수 있었기 때문에, 교육대학교에 진학해서 대학신문사 DM발송 프로그램을 제작해 술값 정도 버는 알바도 했었다.

개인적으로 참 못된 성격이 하나 있는데, 컴퓨터 게임을 하더라도 남들이 기피하는 캐릭터나 장비를 어떻게든 마스터해서 고수가 되려 한다든지(사무라이쇼다운의 다치바나 유쿄, 태켄의 레이 우롱, 맥워리어의 타나토스 같은…), 여튼 남들이 하지 않는 길을 찾는 것이 지금까지도 고치고 싶지 않은 부분이다.

QuickBasic_Opening_Screen

그래서, 한창 재미있게 물올리고 있던, C와 Pascal에서 과감히 손을 떼고, Quick-BASIC으로 전향해서 끝판 왕을 깨보려 시도해 나갔고, 처절한 한계를 접하기도 하고, 어쩔 수 없이 C나 어셈블러로 모듈을 컴파일해서 불러들이는 꼼수를 사용하기도 하면서 나름 괜찮은 코드들을 만들어가며 레벨을 높였다. (지금 생각해보면 얼마나 바보같은 짓이었는지 모른다)

1994년만 해도 BASIC을 한다고 하면, 일단 까고(?) 들어갈 정도로 볼랜드사의 Turbo C의 인기가 절정에 이르던 시절이었지만, Quick-BASIC으로 BIOS Interrupt를 이용해 왠만한 PC 제어 프로그램은 금새금새 만들 수 있었기 때문에, 큰 필요성을 느끼지 못했다.

예를들어, 플로피디스크 드라이브를 대기시켰다가 디스켓을 넣으면, DOS 커맨드를 입력하지 않아도 자동으로 파일 목록을 보여주며, 키보드를 이용해 파일을 선택하고 실행할 수 있도록 하는 간단한 기능?

NC, Mdir

지금은 Windows 라는 GUI 환경의 기가막힌 운영체제가 너무나 빠르고 편리하게 동작하고 있어서, 위의 내용이 잘 이해되지 않을지도 모르겠다. MS-DOS 세대는 공감하겠지만, NC(norton commander)나 Mdir 없이 PC를 이용 한다는 것은, 마치 마우스 없이 Windows를 사용하는 것과 같은 의미였다. 그런 환상적인 유틸리티인 NC와 Mdir의 모든 기능을 똑같이 Quick-BASIC으로 구현할 수 있을 정도로 푹 빠져들어 있었다.

재귀호출, 시분할, 램상주, 삭제파일복구, 디스크무결성검사 같은 간단한(?) 코드 부터, 시리얼포트와 모뎀을 이용한 네트워킹 같은 신통방통한 코드까지…

불행히도, C와 같은 언어는 라이브러리가 잘 공개되어 있어서 갖다 붙이고 값만 주고 받으면 구현되었지만, Quick-BASIC은 코드 자체가 공개되어 있지 않았고, 온라인으로 소스 코드를 구하기도 쉽지 않았던 시절이라 어렵사리 구한(성안당에 근무하셨던 아버지를 통해) 서적과 절반은 알아듣지도 못하는 영문 문서를 보면서 핵심 알고리즘을 0 byte 코딩했었다는 점이 지금도 추억으로 남아있다.

당연히, 좋지도 않은 머리로 맨 땅에 헤딩하려니 상당한 시간과 노력이 들었지만, 그 만큼 온갖 잔머리를 둘려야만 했었고, 제대로 작동할 때의 성취감은 이루 말할 수 없는 전율과 심각한 중독 증세를 일으켰다. 암호문을 역해독하는 문제를 푸느라 방학 2주 가량을 잠도 거의 안자고 밥만먹고 컴퓨터 앞에 앉아서 50여장의 낙서 가득한 연습장과 어이없이 수학공식 가득한 문서를 보며, 수업시간에 거들떠 보지도 않던 ‘수학의 정석’을 본의 아니게 공부했던 기억도 있다.

뭐, 더 이야기를 풀고 싶어도 5년이 지나면 기억을 상실하는 고질병이 있어서 더이상은 기억이 나지 않아, 에피소드를 나열하기에 어려움이 있지만, 그 중에서 가장 종합적이고 기억이 살아있는 경험을 한꼭지 풀어볼까 한다.

메모리 점유없이 다른 프로그램을 실행하기

Quick-BASIC에서 외부 프로그램을 실행하기 위해서는 SHELL 명령을 이용하면 된다. 그런데, SHELL 명령은 본 프로그램이 메모리에 상주해 있는 상태에서 COMMAND.COM이 프로그램 명령어를 실행하기 때문에, 당시 512KB, 640KB (MB도 아니고 GB도 아닌) 의 주기억장치(RAM)을 사용하던 8088 PC에서 본 프로그램의 메모리를 차지한 상태에서 큰 메모리가 필요한 외부 프로그램이 실행하다보면, 메모리 부족을 일으키게 되는 문제가 있었다.

Super Signal Man = SS.EXE

이름도 참 유치하게, 슈퍼시그널맨이라니…

필요성

8088(XT) 컴퓨터로 어떤 배치작업이나 파일을 압축하는 등의 작업울 실행하면 CPU의 속도도 문제가 있었지만, 디스크의 I/O 속도가 지금의 기기들과는 천지차이였기 때문에, 상상 이상의 시간이 소요되었고, 게다가 MS-DOS는 멀티태스킹 운영체제가 아니었기 때문에 작업이 끝날 때까지 모니터 앞에 앉아서 마냥 기다리고 있어야 했다.

이런 불필요한 기다림을 줄이기 위해 SS.EXE는 파일 압축이나 기타 오랜 시간이 걸리는 명령이 끝나면, PC스피커로 음악을 연주해 종료를 알려주는 유틸리티였다. 명령을 내리고 나면, 작업이 끝나 음악이 연주될 때까지 PC앞을 떠나 차를 마시거나 다른 일을 할 수 있는 하이브리드 멀티태스킹(?)을 구현하는게 핵심이었다.

커맨드

C:\> SS.EXE [COMMAND]
ex) C:\> SS.EXE PKZIP C:\DOCUMENT\*.* A:\BACKUP.ZIP -&
ex) C:\> SS.EXE XCOPY C:\PICTURES\*.* A:\

핵심 알고리즘

Quick-BASIC으로 작성된 SS.EXE가 아규먼트로 받아온 명령을 해석하여

SHELL 커맨드를 사용하지 않고, 명령어를 실행한 뒤,

실행된 명령어가 종료되면, 다시 SS.EXE로 돌아와 음악을 연주하고 끝.

문제

SHELL 커맨드를 사용하지 않으면, 외부 명령어를 실행할 방법이 없음.

명령어를 실행했다 하더라도 종료 후에 다시 SS.EXE를 재 실행할 수 있는 방법은?

해결책

  • SS.EXE가 명령어가 포함된 _SS_.BAT 파일을 생성한 뒤,
C:\> TYPE _SS_.BAT
CLS
@ECHO OFF
PKZIP C:\DOCUMENT\** A:\BACKUP.ZIP -&
SS.EXE /end
  • SS.EXE를 종료한 상태에서 _SS_.BAT 배치파일을 실행 시키고,
  • 배치파일에 기록된 대로 다시 SS.EXE를 실행
  • 단, 종료 시그널을 발생시키도록 옵션을 다시 입력받아 실행하여 음악 연주

또 다른 문제

  • 이미 프로그램이 종료된 시점에서 무슨 수로 _SS_.BAT 파일을 어떻게 실행시킬 것인가?
  • 여기서 SHELL을 호출하면 결국 도루묵인데.

궁극의 해결책

인터럽트를 이용한 키보드 버퍼 제어

내가 닉네임에 사용할 정도로 존경하는 인물인 Peter Norton은 정말 천재였다. 원서로 된 MS-DOS 매뉴얼을 읽던 도중, 천금같은 아이디어를 얻었는데… 키보드 버퍼를 조작해 마치 내가 키보드로 직접 입력한 것 처럼 기록하면 프로그램이 종료된 다음, 키보드 버퍼의 내용이 타이핑 되어 실행된다는 것이었다.

소스코드를 첨부하고 싶지만, 1996년도 백업디스크가 손상되어 모든 소스코드들을 날려버리고 근 한 달을 패닉상태로 지낸 사건이 있었다. 그 때 사라진 1988년부터의 천금같은 소스 코드들에 대한 미련을 술과 함께 잊어가면서 동시에 기억도, 뇌세포도 상당부분 지워져 버렸다. (지금의 컴맹으로 다시 태어나게 된 중대한 사건 중 하나)

정리

  1. SS.EXE와 명령어를 입력한다.
  2. 입력하지 않은 경우 사용법이 안내된다.
  3. SS.EXE는 명령어가 담긴 _SS_.BAT 파일을 디스크에 생성한다.
  4. 프로그램을 종료하기 전, 인터럽트를 가로채 키보드 버퍼에 _SS_.BAT <엔터> 를 기록한다. (엔터를 ASCII 코드로 반드시 기록해야 함)
  5. _SS_.BAT 파일에 기록된 대로 명령이 실행된 다음,
  6. /end 라는 종료 옵션을 받은 SS.EXE는 음악을 연주
  7. – 개선된 버전에서는 화면보호기와 함께 실행했던 것으로 기억됨.

 

DOS 기반 프로그래밍의 추억

상상+만들기=상상+프로그래밍

개인적으로 과학과 공작에 유달리 관심이 많아 서랍장을 온통 주워온 고물과 분해한 부품들로 꽉 채워, 그저 틈나는 대로 무언가를 만들었던 어린 시절

TV외화 시리즈의 주인공안 맥가이버를 보며, 주인공 ‘MACGYVER’가 만들었던 어떤 것을 집에 와서 꼭~ 만들어야만 했던 추억

초등학교에 취학하기 전부터, 출판사에 근무하시던 아버지께서 편집을 위해 가져오신 전자전기관련 서적과 일본에서 들여와 번역한 과학이론서적, 관상이며 음양오행이며 한자가 잔뜩 섞인 동양 철학 서적을 그림책 보듯이 빠져들어, 알아 듣지도 못하는 내용을 그림과 숫자와 글을 내 멋대로 이해해가며 어렴풋이나마 이해가 될 때까지 수십 번을 곱씹고 읽으며, 마치 놀이하듯 책 읽던 기억

이런 어린 시절의 기억들이 물리학자의 꿈을 갖게 하였고, 성장의 과정에서 컴퓨터라는 기회를 만나 ‘내가 상상한’ 것을 ‘공작하여 만들기’에서 ‘컴퓨터로 구현하기’로 살짝 방향 전환을 했을 뿐…

프로그래밍교육에 대한 질문

  1. 최근 프로그래밍교육이라는 화두를 접하며, 우리 교육이 인문학과 기초과학에 충분히 접근하여 아이들이 충분히 경험하고 있는가에 대한 질문과
  2. 아이들의 생각과 두뇌를 활짝 열어 놓은 준비된 상태에서, 응용과학을 이야기하고자 하는 것인가 하는 질문을 던지고 싶다.

프로그래밍교육에 대한 시도는 여러 차례 이루어져 왔었다. 물론, 시도 자체를 부정하는 것은 결코 아니다. 시도하지 않으면 배우는 것도 없고, 발전도 없다는데 전적으로 동감한다.

  • 다만, 인프라에 비해 교육과정이 준비되지 않았다거나,
  • 상업적 이해 관계가 교육현장보다 강했다거나,
  • 정부주도 실적중심의 비교육적 사업에 대한 관심이 지나쳤다거나,
  • 교사들 스스로의 가르칠 필요성보다 교사들이 가르쳐야만 한다는 압력이 지배적이었다거나,

하는 문제가 충분히 해소되고 있는지에 대한 궁금증일 뿐이다.

미친 놈에서 컴맹의 길로 접어든지 20년 가까이 되어가는 시점에서 옛 추억을 떠올리며, 그냥 옛 추억이 떠올라 한 꼭지 적어 보았다. 인기가 좋으면, 다른 이야기 꼭지를 풀게 될지도… ^^

 

컴맹 맥노턴 선생.

 

 

(추신) 워낙 오래 전 기억이고, 좋지도 않은 머리로 쥐어짜내 쓰다보니, 내용 중에 잘못된 부분이 있을 겁니다. 아래 댓글로 콕~ 찍어주시면 감사하겠습니다.

수용적이고 존중하는 분위기

창조적인 프로그래밍을 위해서는 학급의 수용적인 분위기가 필요하다. 비단 프로그래밍에서만 필요한 것은 아니겠지만, 창의적인 생각이 자연스럽게 모두에게 인정받을 수 있는 분위기를 이끌어내는 것이 매우 중요하다.

초등학생들과 컴퓨터프로그래밍(이하 프로그래밍) 접하기 전에 생각해 볼 문제가 있다. 우리는 학급 담임제이기 때문에 한 학급 단위를 기준으로 생각해 보자.

생각해 볼 문제

  1. 학급 전체에게 가르칠 것인가? – 보조교사가 없는 현실에서 학급 전체일 수 밖에 없다. 일단은 영재반이나 방과후나 동아리 활동은 빼고 생각해 보자.
  2. 목표를 충분히 생각하고 있는가? – 코딩 기술? 프로그래밍 원리? 창의적 사고? 문제 해결력? 교과연계? 진로지도? 소질계발?
  3. 흥미나 관심이 없는 학생은 어떻게 해야 할 것인가? – 프로그래밍에 흥미를 가진 친구와 팀을 이루어 다른 분야의 능력으로 협동하게 할 것인지, 어떤 자극을 통해 함께 참여하도록 유도할 것인지.
  4. 왜? 프로그래밍을 접해야 한다고 생각하는가? – 1,2,3이 준비되긴 했는데, 왜 프로그래밍을 접하게 해야 하는지 충분하고 분명한 이유를 제시할 수 있을 만큼, 교사 스스로 동기부여가 되어 있는가? 단지 유행이라서? 교과서에 하라고 하니까? 연수에서 배운대로 한 번 해보려고?는 아닌지.

나는 교사야. 전분가란 말이지. 나의 수업과 교육관에 미루어 교육적으로 유의미한 활동이고, 우리 학급 학생들에게 필요한 내용이라면 망설일 필요 없지.

수용적 분위기

모두 갖추어졌다면, 다음으로 필요한 것은 동기부여일 것이다. 그런데, 이것보다 더 중요한 것이 있는데, 어느 누구도 지적하지 않는 부분이다. 바로, 학급의 분위기다. 뭐, 여기에 대해 두 말 할 나위 없을 것이다. 비단 프로그래밍이 아니더라도, 도국수사과음미실체영바슬즐을 포함한 수 많은 학교 교육의 기반이 되는 것이니까. 학급 자체의 분위기가 ‘발견했거나 만들어낸 무언가’에 대해 모두가 감동하고 부러워할 준비가 항시 되어 있어야 한다.

  • 집에서 만들어 온 색종이 접기
  • 낙서로 그린 어떤 그림
  • 이쑤시개로 만든 집
  • 싹이 나온 강낭콩 씨앗
  • 유튜브를 보고 만든  특이한 종이 비행기
  • 아버지와 만든 플라모델
  • 학급 줄넘기 3종목 3관왕
  • 놀러가서 찍은 사진

저런 작은 것들이 당연하거나 손쉬운 것이 결코 아니다. 어느 누구에게는 엄청난 노력의 결과인 것이고, 서로 칭찬하고 격려해야 할 ‘노력’의 결과다. ‘저런건 나도 할 수 있어’라는 말과 생각이 어느 구석에서 나온다거나, ‘그러게말이야’라는 맞받아치기가 나와서는 절대로 안된다. 왜냐하면, 저런 결과물들이 모두 프로그래밍의 다른 형태이기 때문이다.

창작물에 대한 존중

나의 손끝에서 땀방울로 맺어진 창작물이 존중해 주지 못하는 분위기에서 ‘도전’과 ‘성취’를 맛본다는 건 어지간한 마인드컨트롤 없이는 불가능한 일이다. 특히나 프로그래밍을 배워가는 과정에서는 ‘동기부여’와 ‘문제해결’과 ‘배경지식보충’과 이를 넘어서려는 ‘창의적사고’ 등이 계속적으로 이루어져야만 그 중독성에 빠져들 수 있다. 이런 유기적이고 복합적인 활동을 지속하는 것은 매우 지치고 힘들고 어려운 일이다. 그런데, 학급의 분위기가 갖추어지지 않아 번번이 좌절하거나 무시당하는 경험이 누적되면, 프로그래밍 수업을 지속할 이유가 사라져 버린다. 처음에는 쉽지 않겠지만, 작은 고개 몇 개를 넘고 나면 내가 만들 수 있는 세상이 무한히 열리게 되는데, 작은 고개를 넘는 고난의 여정은 스스로의 자기 암시보다 주변 친구들의 격려와 기대가 훨씬 더 큰 도움이 된다.

고등학교시절 내가 만든 컴퓨터바이러스로 담임 선생님의 컴퓨터를 감염시켜 디스켓을 망가뜨리고 아무렇지도 않게 복구해드리는 장난에 대한 내 친구들의 격려(?)가 엄청난 힘이 되었다.

학급 경영의 중요성과 교사의 뚜렷한 교육관이 바탕이 되어야만 한다는 ‘교과서적’인 뻔한 이야기가 프로그래밍교육의 시작이라니. 이게 무슨 말도 안되는 소리란 말인가. 그러게말이다. 여하튼, 그 다음이 ‘동기부여’ 다. :맥노턴.

한국형 저작도구들은 어디로?

최근 영국을 비롯한 일부 선진국에서 컴퓨터 프로그래밍 원리를 수업에 활용하거나 컴퓨터 프로그래밍을 교육과정으로 진행하고자 한다는 소식이 들린다.

1. GREAT, KAS, 새빛

교육대학교 90년대 학번들은 한번쯤 들어봤거나 현장에서 각종 자료전을 통해 활용해 본 저작도구들이다.

뭐, 지금은 우리의 기억속에서 완전히 사라졌다.

GREAT는 알고리즘이나 복잡한 수치연산이 필요한 코드를 만드는 도구는 아니지만, 비교적 짧은 시간내에 효율적으로 학습용 소프트웨어를 개발할 수 있던 MS-DOS기반의 저작도구’였다’. 완성도는 별 다섯개 중 세개 반 정도?

KAS는 GREAT와는 다른 방식의 저작도구였다. 그래픽 도구도 제공되었고, 왠만큼 활용가능한 수치연산이 가능하고 화면 표현이 뛰어났던 것으로 기억된다. 솔직히 KAS를 오픈소스로 전환했거나, 다양한 플랫폼으로 개발되었다면 스크래치 정도는 뭐 우습게 볼 수 있을 정도의 강력한 도구로 탄생했을 것이다. 혹시나 해서 KAS를 찾아보았더니 http://www.kasnara.com 에서 KAS2010을 공개배포 중이다. ActiveX로 익스플로러 기반의 웹으로 실행이 가능하고, Server-Client 프로그래밍까지 지원 가능한 상태다.

새빛은 윈도우 기반의 플로어차트식 저작도구였다. 뭐 완성도는 가장 낮았지만, 윈도우기반에서 접할 수 있는 편리한 기능들이 돋보였었었었었다. 편리한 저작 인터페이스를 KAS와 합쳤으면 대박이었을지도…

2. 국산 저작도구들은 어디로?

한창 각종 연구대회들이 저작도구를 기반으로 제작되어 다양한 교육컨텐츠들이 탄생하고 세계 최고의 IT교육강국으로 뻗어나갈 도약기를 맞이하나 싶었는데, 갑자기 인터넷이 보급되고 윈도우가 사용되고 웹서비스가 급속도로 퍼져나가면서,  온통 웹과 HTML이 대세일 것이라는 심리가 생기기 시작했다.

물론, 저작도구들이 새로운 운영체제와 사용환경 변화에 발빠르게 대처하지 못한 문제도 있었겠지만, 웹서비스 예찬론자들로인해 저작도구들은 하나 둘 자취를 감추기 시작한다. 물론, 나도 웹이 대세가 될 것으로 예상하고 PERL로 CGI 만들어서 웹페이지 제작 알바도 했었지만, 그래도 꾸준히 비주얼베이직, 툴북, 오소웨어같은 도구들을 이용해 무언가를 만들어내고 있었다.

3. KAS 2014 발표!!

[KAS 2014] 윈도우7,맥OSX, 리눅스지원

  • 2D 벡터 그래픽 지원, 3D 오브젝트 활용 가능!
  • 플로어차트 형태의 손쉬운 프로그래밍
  • 학생들을 위한 명령어 100% 한글화
  • 모든 웹브라우저에서 HTML5로 실행!
  • 강력한 네트워크 서버-클라이언트 프로그래밍을 지원!
  • 라즈베리파이용 ‘라즈비안’ 탑재 및 하드웨어 제어 가능!

물론, 나름대로 생각해 본 광고다. 이렇게 우리나라에서 발표만 된다면 얼마나 좋을까.

이미 15년 전에 우리는 초등학교 실과시간에 저작도구를 이용한 프로그래밍을 가르쳤고, BASIC은 동네 컴퓨터학원에서 공짜로 가르쳐줬었다. C는 동네 형들 집에 놀러가서 배우던 중딩들의 비기(?)였다.

4. 뒷북이라도 제대로

뒷북이 분명하다. 하지만, 이제라도 제대로 울리면 된다. 교육에서 이야기하는 컴퓨터 프로그래밍이라는건 산업 인력을 양성하기 위한 기술교육 같은 한 부분이 결코 아니다.

  • 합리적인 순서대로 – 순차 실행
  • 자주 하는 일은 한 곳에서 – 함수와 프로시져를 통한 모듈화
  • 필요에 따라 나눠서 – 조건과 분기
  • 매일매일 규칙적으로 – 반복

인간만사를 크게 넷으로 구분하고, 삶을 설계하는 것을 블럭맞추기 연습을 해 보는게 컴퓨터 프로그래밍 교육이다. 학문적 연구나 공부는 말할 것도 없고, 요리, 건축, 제조, 예술 모든 분야에 컴퓨터 프로그래밍의 원리가 들어 있기 때문에, 어릴적 부터 이런 감각을 키워 디지털 시대에 적응과 복잡다단한 미래사회에 대비하자는 것이 목적인 것이다.

예상컨데, 지금까지 해온 행태를 보면 분명 교육부로부터

  1. MIT에서 만든 Scratch나 SUN의 Java 같은 언어 몇 가지를 찍어서,
  2. 컴퓨터프로그래밍교육 선도요원을 뽑고,
  3. 교사들을 열심히 연수시킨 다음에,
  4. 각 학교에 1년 10시간 필수적으로 프로그래밍교육을 실시하라! 지침을 내려보내고,
  5. 모든 교사를 대상으로 프로그래밍 직무연수 16시간 받도록 강요하고,
  6. 아이들은 프로그래밍 대회를 만들어서 마구 상주고
  7. 지도교사 표창을 주면서 독려

시퀀스대로 프로그래밍하고 컴파일하여 실행할 것 같다. 그저 기우였으면 좋겠다.

앞으로 여러 조각에 걸쳐 한국형(?) 컴퓨터 프로그래밍 교육에 대해 나름의 생각을 이야기 해볼까 한다.

 

:맥노턴.

교육용 프로그래밍언어/도구 소개

1. MS Kodu

공식사이트 http://fuse.microsoft.com/projects/kodu

Microsoft에서 교육프로젝트의 하나로 추진하는 Kodu 게임제작 도구를 먼저 소개한다. 3차원 그래픽을 이용한 아케이드 게임 제작이 가장 큰 매력으로, 3차원 스테이지를 자유롭게 만들고 오브젝트들을 배치하여 각각의 움직임과 스코어 등을 프로그래밍하여 게임을 즐길 수 있다.

 

 

코드를 입력한다거나 복잡한 알고리즘이 필요하지 않으며, 마우스만으로 프로그래밍할 수 있어 초보적인 프로그래밍 원리컴퓨터를 제어하고, 성취감을 느끼기에는 환상 그 자체이다.

MS의 XBox 컨트롤러 하나로 프로그래밍이 가능할 정도로 간단하고, 내가 만든 게임을 내가 즐길 수 있다는 것이 가장 큰 매력이라고 볼 수 있다. 3D게임을 만들 수 있다고 해서 비행시뮬레이션을 생각하기에는 다소 무리가 있다.

다만, 다국어를 지원하지 않아 몰입도가 떨어진다. 세부설정을 통해 게임의 긴장감과 난이도를 정할 수 있는데, 직관적이지 않은 목록형인데다가 영어로 되어 있어 아이들에게 설명해주기 어려운 문제가 있다. 뭐, 관심있는 아이들은 낱말 뜻을 찾거나 물어보거나 서로 가르쳐주면서 조작하는걸 보면 크게 문제되지 않을 수도 있겠다. 뜻이 있으면 길은 닦으면 되니까…

XNA기반에서 3D를 구현하는데, XNA 개발 당시에 다국어를 염두하지 않아 다국어를 지원하려면 기초공사부터 다시 해야 한다고 한다…

가장 핵심적인 기본적인 제어명령은 아이콘으로 되어 있어서, 아이들에게 접근이 어려운 것은 아니다. 교사가 직접 만들어서 보여주기만 해도 금새 따라하고 응용까지 단숨에 이루어졌고, 푸근한 인상의 꽁지머리 아저씨의 튜토리얼을 통해 아이들끼리 무언가를 만들기 시작했다.

1인용 슈팅게임을 즉석에서 제작해 보여주고 얼마 쯤 실습시간을 주었는데, 학생들 몇몇이 소란스러워 가 보았더니… 어느 새 (컴퓨터에 관심이 많은) 한 학생이 2인용으로 만들어 친구와 슈팅게임을 즐기고 있었다. 2인용 게임이라니… 아이들은 정말 놀라운 존재다.

Cooool

  1. 3D 아케이드 게임을 제작할 수 있다는 것 자체가 대박
  2. 마우스와 아이콘으로 제어명령을 입력할 수 있어 매우 쉬움
  3. 제어 명령에 따라 오류없이 잘 동작함
  4. 부드러운 움직임과 귀여운 캐릭터들로 몰입도 높음

More

  1. 제작한 결과물을 공유하기 어려움. 배포판을 생성 할 수 있었으면…
  2. 기본적인 제어기능은 매우 쉬우나, 세부설정 메뉴가 직관적이지 않아 복잡
  3. 다국어를 지원하지 않아 세부설정이 다소 어려움
  4. 네트워크 협력플레이 기능을 바라는건 다소 무리일까?

 

2. MIT Scratch

공식사이트 : http://scratch.mit.edu/

MIT에서 교육 프로젝트로 제작한 저작도구이다. 명령행을 직접 입력하는 BASIC, JAVA 같은 프로그래밍 언어의 경우, 영어권 학생들에게는 얼마간 학습하면 쉽게 익숙해질 수 있을지 몰라도 비영어권의 학생들에게는 영어라는 언어부터 장애물이 된다. 하지만, 스크래치처럼 마우스로 (다국어로 번역된) 명령블럭을 이어붙이는 방식은 언어라는 큰 장애물을 극복할 수 있도록 해준다.

실제로 아이들과 함께 학습해보면, 컴퓨터에 대한 소질 여하를 떠나서 타이핑 없이 마우스로 작성하고 실행하여 디버깅하는 ‘프로그래밍’에 너무 쉽게 접근하여 자기만의 세계에 쉽게 빠져들었다.

 

 

스프라이트(오브젝트) 중심의 제어를 통해 손쉽게 프로그래밍을 학습할 수 있다. Windows, MacOS, Linux의 다양한 운영체제다국어 환경을 제공하여 환경제약이 적고, 스프라이트(객체)를 즉석에서 편집할 수 있는 도구들을 제공하여 아이디어만 떠올린다면 제작에 그리 큰 노력이 들지 않는다. 너무 많은 것을 바라지만 않는다면…

Cooool…

  1. 다양한 OS 플랫폼 지원 (Windows, MacOS, Linux)
  2. 한글을 지원하여 초등학생에게도 만족
  3. 블럭조립형으로 명령행을 타이핑하지 않아도 됨
  4. 즉각적인 실행과 확인으로 빠른 디버깅 가능
  5. 에디터를 통해 스프라이트(오브젝트)를 쉽게 생성/편집 가능
  6. 공식 페이지를 이용해 코드를 공유

More…

  1. 객체마다 코드가 산재하여 전체적인 흐름을 파악하기 어려움
  2. 저작도구의 성격이 강하므로 세련되고 정밀한 코딩은 무리
  3. 컴파일러나 패키징 도구가 없어 배포판 생성이 어려움

 

3. MS Small BASIC

공식사이트 http://smallbasic.com/

Mr. Bill을 감동시켰던 BASIC. GW-BASIC, Quick-BASIC, Visual-BASIC 시리즈들은 MS의 운영체제와 함께하고 있다. Mr. Bill 생전에 BASIC시리즈는 사라지지 않을 것이라고 이야기들 한다. MS-DOS기반의 Quick-BASIC(정식버전)은 컴파일러를 제공했고, 인터럽트(int13)제어, 어셈블러, C라이브러리를 이용할 수 있어 강력한 프로그래밍이 가능했다.

BASIC은 대화형으로 작성되고 명령문에 기호가 적어 학습용으로 훌륭한 언어라는 장점 위에 MS가 BASIC을 상당히 발전시켜 놓았다. 매우 똑똑한 에디터와 인터프리터 덕분에 메모리 구조와 형변환 같은 자질구레한 것에 크게 신경을 쓰지 않아도 되는 편리함을 제공하면서도 예상밖의 강력한 결과물을 만들어낼 수 있다.

 

 

Small BASIC은 Visual-BASIC의 기본 명령어 세트에 객체지향구조를 도입하고, 프로퍼티와 매소드들을 단순화시킨 버전이다. Visual Studio가 설치되어 있다면, 제작한 코드를 컴파일하여 배포할 수 있을 정도의 유용성을 제공하므로 프로그래밍에 조금 더 관심을 갖는 (고학년) 학생이 있다면 권장할만한 프로그래밍언어이다.

Coool…

  1. 객체지향형 프로그래밍 가능
  2. 프로시져, 모듈을 통한 구조적 프로그래밍 실습
  3. 지능형 Editor로 에러를 예방하거나 디버깅에 도움을 줌
  4. Visual Studio(무료)와 연계하여 완성(실행) 파일 생성 가능

More…

  1. 타이핑이 필요하여 간단한 영단어를 알고 있어야 함
  2. 0Byte 코딩은 간혹 뇌를 다운시켜 멍하게 만들기도 함
  3. 객체?? 객체지향?? 개념의 이해없이 깨끗하게 접근하면 별것 아닌 그 이름…

 

 

학생들에게 도움이 될만한 웹프로그래밍언어를 살펴보려 했으나, 솔직히 English 라는 아주 무거운 짐을 덜어야만 가능하다는 점 때문에 적용해 볼 수 없었다. HTML같은 Markup Language도 언어라면 언어라고 볼 수 있겠지만, 조건, 분기, 반복, 연산과 같은 기본기능을 구현할 수 없으므로 다소 무리라고 본다.

대신 Code.org를 마스터하고 이를 소개할까한다.
(Code.org 자체의 이해할 수 없는 에러들만 없다면 말이다)

스마트폰 정보 빼내기, 스미싱…

피싱, 파밍에 이어, 오늘은 스미싱 이야기를 해볼까합니다…

국내 스마트폰의 종류를 크게 둘로 나눠도 무방할 겁니다.

  1. 구글의 안드로이드OS를 사용하는 삼성/LG/모토로라 등의 안드로이드 계열 스마트폰 진영
  2. 애플의 iOS를 사용하는 애플 아이폰 진영

이외에 블랙베리나, 윈도모바일(?)계열은 아직 파이가 작기 때문에 일단 뒤로.

스미싱은 스마트폰(스마트디바이스들)의 내부에 저장된 정보를 털어 악용하려는 해킹 기법입니다. 사진, 공인인증서, 문자메시지, 메모, 앱내부의 데이터까지 뭐든 털 수 있습니다.

스미싱을 성공시키기 위해서는 운영체제의 보안 장치를 해제하고 원격으로 제어할 수 있는 해킹 앱(app, application software)을 사용자의 스마트폰에 설치해야 합니다.

구글 안드로이드의 취약성

대부분, 문자메시지를 이용해 (무료쿠폰이라든가, 당첨확인) 링크 주소를 발송한 다음, 사용자가 이를 터치하여 연결을 시도하면, 프로그램을 전송하여 설치하는 방법을 이용합니다. (특히, 우리나라사람들… 내용도 안읽어보고 무조건 다음>> 다음>> 빨리빨리 습관 때문에 더 잘 낚이는 것일수도)

이런 악성코드를 이용한 시도는 iOS를 사용하는 아이폰에서는 무용지물이지만, 구글의 안드로이드를 사용하는 스마트폰들에서는 구글Play에서의 앱 관리 허술과 운영체제의 보안 취약성 때문에 아주 쉽게 먹힙니다.

본인은 안전한지 다같이 한 번 테스트해 보겠습니다. (LG,삼성 등 안드로이드계열을 사용하신다면)

스마트폰을 열어서,

  • 설정 > 보안 > 디바이스관리 > 알 수 없는 출처

항목을 살펴보세요.

혹시, 체크표시가 되어 있으신가요? 그렇다면, 구글Play 를 통하지 않고도 앱을 설치할 수 있도록 설정 하신겁니다. 스미싱 피해자이거나, 잠재적 피해자라고 보시면 되겠습니다.

지금 당장 체크 표시를 해제하여, 구글Play에서만 앱을 설치할 수 있도록 막아 놓으세요.

안드로이드에서 사용하는 앱 파일의 확장자는 .apk 입니다. 이 파일은 안드로이드에서만 실행/설치됩니다. 어플리케이션 프로그램이 압축되어 패키징 되어 있는 파일이죠.

문자 메시지의 URL 을 클릭하게 되면, 악성코드 .apk 파일이 스마트폰으로 내려받아지고, 설치하겠다는 메시지를 무시하고 진행하시면, 바로 설치됩니다.

이 때, 알 수 없는 출처의 앱을 사용하도록 허용하시면, 구글Play 사이트가 아니라 개인 사이트에서도 .apk 파일을 내려받아 설치할 수 있기 때문에, 설치 후 실행되는 순간부터 악의적 해커들의 먹잇감이 되는겁니다.

위에서 처럼 보안을 강화하시는 것이 우선이고, 알지 못하는 링크는 클릭하지 않는게 필수입니다. 그리고 구글Play에 올라와 있는 앱 중에서도 사용자를 속이는 앱이 있습니다. 무턱대고 설치하지 마시고, (공짜에 현혹되지 마시고) 꼭 필요한 앱만 이용하시길 바랍니다.

백신이 있다면 설치하셔도 많은 도움이 되겠지요. 다만, 주의하실 점은 백신은 악성코드가 나타난 다음에야 치료법이 나오기 때문에 먼저 피해를 당할 수 있으니 백신만 무조건 믿는 것도 바람직하지 않습니다.

자녀와 학생, 아이들에게 가르쳐야

한가지 짚고 넘어갈 부분이 있습니다. 이런 보안 문제는 본인의 실천보다 더 중요한 것이… 자녀분들이나 학생들에게 반드시 가르치셔야 합니다.

주변 사람들의 스마트폰을 열어보면, 자녀들이나 아이들이 만지작거리고 나서 악성코드가 설치되는 경우를 흔하게 봅니다.

판단이 부족한 아이들이 무료 게임으로 위장한 프로그램을 설치하거나 스미싱 문자메시지의 링크를 무작정 누르거나, 앞서 말씀드린 보안 설정을 해제하고 게임을 설치하는 등…

오늘부터 주변 사람들에게 널리 알리시고, 아이들의 스마트폰도 한 번 점검해보시고, 부모의 스마트폰을 아이들에게 맡기지 않는 것이 제일 좋습니다.

아이폰은 안전한가?

반면에… 애플의 아이폰에 사용되는 iOS는 MacOS를 기반으로 경량화하였기 때문에, 태생부터 매우 까다롭고 강력한 안전장치가 마련되어 있습니다…

  • 앱이 실행되는 공간을 엄격히 구분하여 다른 앱을 건드릴 수 없도록 되어 있기 때문에 악성코드가 설치되더라도 다른 공간의 정보를 빼내기 어렵게 되어 있고,
  • 앱스토어에 올라오는 앱은 애플사에서 일일이 확인하여 올리기 때문에, 악성코드를 미리 걸러낼 수 있는 장치가 마련되어 있습니다.

때로는 그 안전장치 때문에 아이폰이 불편하다고 느끼는 분도 계시지만, 불안전과 불편함 중에 선택하라면 저는 불편함을 택하겠습니다. 물론, 100% 안전하다고 보기는 어렵습니다만 사용자가 악의적 해커들의 타겟이 아닌 이상 안전하다고 보시면 됩니다.

다만, 탈옥이라 불리는 iOS 운영체제의 안정장치를 해제하는 방법을 이용하신다면, 스미싱 피해를 당할 수 있습니다.

보안에 자신이 없으시다면 탈옥하지 마시고 순정 상태의 아이폰을 이용하시면서 iOS 업데이트를 꾸준히 해주시기를 권장합니다.

아이든 어른이든

인터넷과 컴퓨터, 스마트디바이스들의 적극적 활용보다 더 중요한 것은
올바른 활용입니다.

장비와 앱을 능숙하게 다루는 것이 능력이 아니라,
장비의 동작을 충분히 이해하고 필요한 앱을 제대로 활용하는 것이 능력입니다.