개요

MVP 행사로 오피스 365를 소개하는 행사가 있었습니다.

당연히 모든 스케줄 비워두고 참석했었지요.


저는 MVP입니다. 당연히 마이크로소프트 기술이 친숙하고, 대부분 다른 기술보다는 먼저 사용하게 되지요.

조그마한 회사의 대표를 맡고 있는 입장에서, 조직 내부의 협업 시스템의 필요성은 누구보다도 잘 알고 있었기에 매우 관심이 높은 행사였습니다.


오늘은 협업 시스템 관련하여 그 동안 사용해 본 사용자 입장에서 구글 앱스와 오피스 365를 비교/설명하는 자리를 갖도록 하겠습니다.

그동안 협업 시스템으로 저희 회사가 사용했던 것은 다음과 같습니다.

  1. Linux 기반 메일 시스템 (SMTP/POP3 기반 아웃룩)
  2. Exchange Server 2003 + SharePoint Services 2.0
  3. 구글 앱스 (Google Apps)

Linux 기반 메일 시스템 + 아웃룩 시절

돌이켜보면 매우 불편했던 시절입니다. 어떻게 살았나 싶을 정도로. 그런데, 아직도 이런 환경에서 업무를 보는 조직이 많이 있습니다. 내부 협업을 위한 시스템은 거의 없고, 메일로 대부분의 업무를 처리하는 조직이 바로 그것이지요.

아웃룩의 막강한 기능으로 메일 자체는 큰 문제가 없었지만, 일정 / 작업 / 주소록 등은 공유하기 어려웠고 개인 기반의 정보 관리 체계를 가지고 있었지요.

Exchange Server 2003 + SharePoint Services 2.0 시절

'협업' 이라는 것을 최초로 맛본 시절이었습니다. '협업 시스템'의 역할은 대단했지요.
Exchange Server 2003을 이용하면, 메일 데이터를 온전히 '조직'의 소유하에 둘 수 있습니다. 똑같이 아웃룩을 사용하고 있다고 하더라도, 모든 메시징 데이터는 '서버'에 보관되는 것이죠. POP3 기반의 아웃룩은 데이터가 '서버'에 있다기 보다는 PC에 있습니다. PC가 고장나거나 하면 메일 데이터를 모두 잃어버리게 되는데, Exchange Server를 사용하게 되면 모든 메시징 데이터는 '서버'에 저장되죠.
또, 조직 전체 주소록, 일정, 작업 등이 공유됩니다. 심지어는 '회의실', '빔 프로젝터'등의 자원 예약 기능도 가지고 있지요.

SharePoint는 말 그대로 '공유하는 곳'이 됩니다. 흔히 인트라넷이라고 이야기하는 것이 바로 이것인데, 공동 작업공간을 프로그래밍 없이 만들어 사용할 수 있습니다. 백문이 불여일견이라고, 다음 그림을 먼저 보시죠. 저희가 사용했던 프로젝트 관리 사이트입니다.

SharePoint 프로젝트 관리 사이트 예

SharePoint를 통해 '메일'이 아닌  공유 저장소에 모든 사항을 기록해 놓았습니다. 프로젝트가 끝난지 3년이 지났지만, 지금도 생생히 볼 수 있네요. '메일'로 이러한 것을 공유했다면 지금은 이렇게 일목 요연하게 찾아보기 힘들었겠지요.

메일을 이용한 정보 공유는 매우 안 좋습니다. 처음 작업할 때는 편하지만, 메일은 '즉시성'이 전부인 매체이기 때문입니다.

아주 좋았습니다. 모든 정보가 적당한 '공간'에 정리되고 있었습니다. 새로운 사람이 프로젝트에 투입되어도 이 사이트를 알려주고 하루 이틀 정도만 시간을 주면 거의 대부분 따라 잡게 할 수 있었죠.

하지만, 큰 문제가 닥쳤습니다. 서버가 고장난 것이죠. 조그만 회사다 보니 적절한 서버 관리 인력을 배정할 수 없었습니다. 전문 엔지니어가 아닌, 인터넷 검색이나 지인 괴롭히기 신공으로 그럭 저럭 운영했었는데, 운영체제가 이상해져 버리는 상황이 닥친 것입니다.

하드웨어 오류는 RAID등을 도입하여 그럭 저럭 괜찮았는데, 운영체제 자체가 꼬여버리는 상황은 참 힘들더군요.

전문 업체에 의뢰를 하니 상당한 비용이 들었습니다. 배보다 배꼽이 더 크다고 해야 할까요?

마이크로소프트 제품의 최대 단점이 부각되는 순간이었습니다. 소기업에서는 마이크로소프트 제품을 사용하기 어렵습니다. 처음에는 좋지만, 오류나 장애 등이 발생했을 때 상당한 비용이 필요하거든요.

그러던 와중에 구글 앱스를 알게 되었습니다. 협업 시스템을 웹에서 가동할 수 있다고 합니다. 그래서 확 바꿔버렸습니다.

구글 앱스 시절

이것도 일단 한 번 보시죠.

구글 앱스 인트라넷 사이트 예

앞의 사진은 구글 앱스로 구현한 사내 인트라넷 사이트의 예시입니다. SharePoint와 마찬가지로 이러한 기능을 구현하는 데 프로그래밍 작업은 하나도 필요하지 않았습니다. 그리고 가장 결정적인 것은 '서버'가 필요 없다는 것이죠.

물론, 물리적 '서버'가 불필요하진 않겠죠. 하지만 그 서버는 구글이 알아서 관리해 줍니다. 서버 장애로 데이터가 없어지거나 할 가능성이 매우 줄게 된 겁니다.


다음은 구글 앱스로 구현한 저희 회사 홈페이지 입니다.

구글 앱스로 구현한 회사 홈페이지

프로그래밍 전혀 없었고, 약간의 연구로 이러한 웹사이트를 만들 수 있었습니다.

이 외에도 동시 편집 가능한 스프레드시트(엑셀 같은 도구) 등으로 아주 효과적으로 사용하고 있었습니다.


하지만 다음과 같은 구글 앱스의 결정적인 문제점이 있었습니다.

  1. 느립니다. --> 한국에는 구글 앱스 데이터센터가 없습니다. 미국에 접속하다 보니 매우 느린편입니다.
  2. 일부 국가에서 접속이 안될 수 있습니다. --> 대표적으로 중국에서는 일부 구글 서비스 접속이 안됩니다. 중국에서 막아놓은 것입니다.
  3. 뭔가 완성도가 떨어지는 느낌이 있습니다. --> 마이크로소프트의 완성도 높은 기능을 사용하다가 구글 앱스를 사용해 보면 대부분 느끼는 것일 겁니다. 뭔가 불편하고, 뭔가 잘 안되고 그런 느낌이 있습니다.
  4. 고객 지원 품질이 그리 좋지는 않습니다. --> 영어 메일을 보내야 하고, 문제 해결도 매우 늦을 수도 있습니다. 저 같은 경우는 7개월 걸려서 해결된 문제가 있었네요. (긴 메일의 경우 메일 내용 잘림 문제)

그러던 차에 오피스 365 소식을 듣게 되었고, 주의깊게 살펴보고 있었습니다.

앞으로는?

오피스 365 평가판을 사용해 보았습니다. 일단 프로그램의 완성도는 매우 좋았습니다. 가격도 그리 나쁜편은 아닌 것 같네요.
오피스 365를 이용하면 서버 없이 다음의 기능을 얻을 수 있습니다.
  1. 조직 차원의 메시징 관리가 가능합니다. (메일, 채팅)
  2. 프로그래밍 없이 인트라넷 사이트와 퍼블릭 사이트(일반 홈페이지)를 운영할 수 있습니다.
  3. 웹 오피스를 통해 오피스 기능을 사용할 수 있습니다. 구글 앱스에 비해 월등한 완성도를 자랑합니다.

매우 매력적입니다. 특히 인트라넷 기능은 SharePoint 기능을 그대로 사용할 수 있습니다. 다음과 같은 일반 홈페이지도 만들 수 있다고 하네요. (모니터를 사진으로 찍어서 화질은 그리 좋지 않습니다.)

오피스 365를 통한 일반 홈페이지

구글 앱스와 달리, 프로그래밍 없이 이러한 작업을 할 수 있으리라고 생각되지는 않습니다.


그 외에도, 웹 오피스의 기능은 정말 최고였습니다. 구글 앱스 처럼 뭔가 불편하고 한 것은 그다지 없었습니다.

물론, 일반 오피스의 모든 기능을 사용할 수 없고, 구글 앱스 처럼 접속이 꽤 느린 점은 있었습니다만, 그래도 '기능' 자체는 오피스 365가 훨씬 안정적인 것 같습니다.


구글 앱스 vs. 오피스 365

그동안 구글 앱스를 회사 협업 시스템으로 사용해 보았고, 오피스 365를 평가판으로 사용해 본 사람으로서..
그리고 앞으로 구글 앱스 혹은 오피스 365로 전환할 사람으로서..
다음과 같이 정리해 보았습니다.


 구분  장점  단점
 구글 앱스
  1. 저렴한 비용: 10명 이내 무료, 10명 초과 연간 $50/사용자 (약 6만원)
  2. 안정적 서비스: 1년 반동안 장애는 겪어보지 못했음.
  3. 강력한 검색 기능
  4. 동시 편집 가능한 문서
  1. 느린 접속 속도
  2. 일부 국가에서 접속 안됨
  3. 뭔가 불편함
  4. 낮은 고객 지원 품질
  5. 연간 결제 체계
 오피스 365
  1. 강력한 기능: 기능의 안정성은 상당히 확보한 듯 함
  2. 기존 오피스와 호환
  3. 높은 고객 지원 품질: 마이크로소프트는 한국 내 파트너사를 통해 괜찮은 고객지원을 할 예정입니다.
  4. 월 단위 결제 체계
  1. 상대적으로 높은 비용:  연간 약 13만원/사용자
  2. 느린 접속 속도: 한국에 데이터센터 건립을 검토하고 있다고 하는데..
  3. 웹 오피스만으로 해결하기는 힘듦: 개인적인 생각으로, 오피스 설치 버전은 대부분 필요하다고 봅니다.


이제 검토한지 얼마 되지 않아서, 섣불리 결정하기가 쉽지는 않습니다.

원래 구글 앱스를 사용하면서도, SharePoint를 꽤 많이 갈망하곤 했었습니다. 그 강력한 기능과 안정적인 기능에 대해서 그랬습니다. 실제로 사용해 보면, 구글 앱스와 마이크로소프트 기반 협업 시스템은 비교가 되지 않습니다. 기능적 측면에서는 마이크로소프트의 완승이지요.

하지만 전문가를 배치하기 힘든 소기업들은 이런 문제 때문에 섣불리 마이크로소프트 제품을 사용하기가 어려웠습니다.

저 자신이 대표적인 그러한 케이스가 아닐까 하는데요, 지금은 거의 오피스 365로 전환할 것 같습니다. 물론 아직 결정한 것은 아닙니다만..

한 마디로 정리하자면, 간단 간단한 기능만으로도 충분하다면 구글 앱스도 좋은 선택입니다만, 좀 더 안정적이고 좋은 기능을 위해서는 오피스 365를 시도해 보라고 말씀드리고 싶군요.

참고자료

다음은 이번 오피스 365 행사를 다녀온 분들의 글입니다. 참고해 보십시오.

  1. 김진성 MVP: http://dowajo.tistory.com/4455
  2. 신종현 MVP: http://vaders.blog.me/80138827626
  3. 남정현 MVP: http://www.rkttu.com/521
  4. 김복희 MVP: http://examo.co.kr/tn/board.php?board=qqqtalk&command=body&no=8007
  5. 김봉정 MVP: http://blog.naver.com/sangsan23/20137471295
  6. 백진호 MVP: http://blog.naver.com/gaji100/80139467754
  7. 석우성 MVP: http://blog.naver.com/mrseok/50120524676
  8. 허형준 MVP: http://snoopybox.co.kr/1571
  9. 김철 MVP: http://cafe.daum.net/funnyexcel/K81s/56
  10. 박용준 MVP: http://www.dotnetkorea.com/website/Home/tabid/36/EntryId/310/Office-365.aspx
  11. 권순만 MVP: http://hakunamata2.net/90122834788
  12. 김신우 MVP: http://tricks.kr/60140602543
  13. 박현철 MVP: http://lunanesslab.tistory.com/210


저작자 표시 비영리 변경 금지
크리에이티브 커먼즈 라이선스
Creative Commons License
Posted by Kiwoong~

C반은 이 글에 대해서 자신의 블로그에 대해 트랙백을 달아주세요.
C반만 달아야 합니다.
제목은 '트랙백: [학번]-[성명]' 형식으로 작성합니다.
예를 들면, 학번이 12345678, 성명이 '최신구' 라면 다음과 같은 제목을 사용합니다.

트랙백: 12345678-최신구

팀 블로그를 하는 사람이라고 하더라도, 개별적으로 트랙백을 달아야 합니다.
저작자 표시 비영리 변경 금지
크리에이티브 커먼즈 라이선스
Creative Commons License
Posted by Kiwoong~

B반은 이 글에 대해서 자신의 블로그에 대해 트랙백을 달아주세요.
B반만 달아야 합니다.
제목은 '트랙백: [학번]-[성명]' 형식으로 작성합니다.
예를 들면, 학번이 12345678, 성명이 '최신구' 라면 다음과 같은 제목을 사용합니다.

트랙백: 12345678-최신구

팀 블로그를 하는 사람이라고 하더라도, 개별적으로 트랙백을 달아야 합니다.
저작자 표시 비영리 변경 금지
크리에이티브 커먼즈 라이선스
Creative Commons License
Posted by Kiwoong~

A반은 이 글에 대해서 자신의 블로그에 대해 트랙백을 달아주세요.
A반만 달아야 합니다.
제목은 '트랙백: [학번]-[성명]' 형식으로 작성합니다.
예를 들면, 학번이 12345678, 성명이 '최신구' 라면 다음과 같은 제목을 사용합니다.

트랙백: 12345678-최신구

팀 블로그를 하는 사람이라고 하더라도, 개별적으로 트랙백을 달아야 합니다.
저작자 표시 비영리 변경 금지
크리에이티브 커먼즈 라이선스
Creative Commons License
Posted by Kiwoong~
이 문서를 보시는 분은 대부분 제가 발송한 설문 양식 이메일을 받아 보시는 분일 것입니다.

많이 하시는 질문이.. '이메일을 받았는데 양식에 값을 기록할 수 없다' 라는 것입니다. 이는 대부분 이메일을 읽으면서 양식에 값을 쓰려고 시도하기 때문입니다. 여러분들이 이메일을 읽을 때는 '읽기' 모드입니다. 이를 '쓰기' 모드로 하려면 저에게 '회신'해야 합니다.

사용자 삽입 이미지

위의 그림을 보시기 바랍니다. 이 것은 네이버 메일입니다. 메일을 읽고 있지요. ① 영역에 커서를 위치하고 타이핑을 해도 기록할 수 없습니다. ②를 클릭하여 '회신'모드로 전환한 후에 무엇인가를 기록할 수 있습니다.

지금 예로 들은 것은 네이버 메일이고, 다른 메일 서비스 혹은 Outlook 등의 메일 프로그램도 마찬가지입니다. 해당 메일 서비스 혹은 프로그램의 '회신' 버튼을 클릭하시고 응답하시기 바랍니다.
크리에이티브 커먼즈 라이선스
Creative Commons License
Posted by Kiwoong~

2008-06-02, 염 기웅(carl@jnccompany.com.jnc)

<참고> 상기한 저자 이메일의 .jnc는 스팸 방지용입니다.


I. 개요

블로그 포스트를 링크할 때에는 다음과 같은 형식을 사용하는 경우가 있다.

http://blog.jnccompany.com/entry/MES-2007-소개-동영상

그런데 한글이 포함된 이러한 주소는 특정 환경에서 정상적으로 동작하지 않을 수 있다. (여전히 Windows 98 등의 운영체제를 이용하는 사람이 무시할 수 없는 수준이다.) 따라서 절대로 오류가 발생하지 않는 주소로 링크를 주고 받을 필요가 있다.

II. 방법

상기한 주소와 다음과 같은 주소는 정확히 같은 문서를 지칭한다.

http://blog.jnccompany.com/187

모든 블로그 포스트 하단에 보면 '트랙백 주소'가 표시된다. 블로그 웹사이트 주소에 '트랙백 주소'의 번호를 붙이면 고유 주소가 된다. 다음 그림의 빨간색 테두리 부분을 참고하기 바란다.
 

블로그 포스트 절대 주소 찾기

블로그 포스트 절대 주소 찾기


III. 기타 사항

이러한 방법은 테터툴즈를 기반으로 한 모든 블로그 사이트에 적용 가능하다.


크리에이티브 커먼즈 라이선스
Creative Commons License
Posted by Kiwoong~
HOW TO: ClearType을 사용하여 화면 글꼴을 향상시키는 방법: http://support.microsoft.com/kb/306527/ko

Microsoft의 ClearType 폰트와 이의 보정 등에 대한 방법이 친절한 '한글'로 잘 표시되어 있는 문서이다.

ClearType. 꼭 쓰시길 바랍니다~
크리에이티브 커먼즈 라이선스
Creative Commons License
Posted by Kiwoong~
웹사이트를 관리하는 입장에서 웹사이트가 깨진 링크를 체크하는 것은 상당히 손이 많이 가는 일이다.

프로그램은 다음과 같은 것이 있다.
- HTML Link Validator
- Link Utility (NetPromoter)

그런데, 다음의 한국 웹 서비스에 모두 비교할 수도 없었다. (한국 웹 서비스가 최고다!)
- http://www.coolcheck.co.kr
크리에이티브 커먼즈 라이선스
Creative Commons License
Posted by Kiwoong~

WMI를 공부하다가 모은 자료이다.

WQL (SQL for WMI)(영문): http://msdn2.microsoft.com/en-us/library/aa394606(VS.85).aspx
WMI 기본 사이트(영문): http://msdn2.microsoft.com/en-us/library/aa394582.aspx
WMI가 동작하지 않음(한글): http://www.microsoft.com/korea/technet/scriptcenter/topics/help/wmi.mspx
WMI 개요(한글): http://technet2.microsoft.com/WindowsServer/ko/Library/d198f061-6c0f-45a4-8891-3deed91a01091042.mspx?mfr=true
WMI 스크립팅 입문(한글): http://www.microsoft.com/korea/msdn/columns/contents/scripting/scripting06112002/
Windows XP SP2에서 WMI 관련 문제를 해결하는 방법(한글): http://support.microsoft.com/kb/875605/ko

크리에이티브 커먼즈 라이선스
Creative Commons License
Posted by Kiwoong~
TAG WMI

2008-01-02, 염기웅(abc@dbabc.com.jnc)

<참고> 상기한 저자 이메일의 .jnc는 스팸 방지용입니다.


1. 개요

액세스의 기본 기능에 대한 프로그래밍적 도구로 DoCmd.RunCommand 함수가 제공됩니다. 액세스의 기본 기능이라고 하면 데이터시트에서 오름차순으로 정렬한다든지, 입력폼에서 현재 레코드를 삭제한다든지 하는 작업을 말합니다. 액세스에 기본적으로 동작하는 많은 기능들을 프로그램적으로 제어할 때 RunCommand 함수를 사용하면 됩니다.

쉽게 생각해서, 액세스에서 기본적으로 동작하는 기능인데, 프로그램적으로 어떻게 해야할지 모르겠다면 한번쯤 다음 상수를 참고하여 보기 바랍니다. 보다 자세한 RunCommand 함수에 대한 사용법은 액세스 도움말을 참고하시구요.

2. 상수

acCmdAboutMicrosoftAccess 
acCmdAddInManager 
acCmdAddToNewGroup 
acCmdAddWatch 
acCmdAdvancedFilterSort 
acCmdAlignBottom 
acCmdAlignCenter 
acCmdAlignLeft 
acCmdAlignmentAndSizing 
acCmdAlignMiddle 
acCmdAlignRight 
acCmdAlignToGrid 
acCmdAlignTop 
acCmdAlignToShortest 
acCmdAlignToTallest 
acCmdAnalyzePerformance 
acCmdAnalyzeTable 
acCmdAnswerWizard 
acCmdApplyDefault 
acCmdApplyFilterSort 
acCmdAppMaximize 
acCmdAppMinimize 
acCmdAppMove 
acCmdAppRestore 
acCmdAppSize 
acCmdArrangeIconsAuto 
acCmdArrangeIconsByCreated 
acCmdArrangeIconsByModified 
acCmdArrangeIconsByName 
acCmdArrangeIconsByType 
acCmdAutoCorrect 
acCmdAutoDial 
acCmdAutoFormat 
acCmdBackgroundPicture 
acCmdBackgroundSound 
acCmdBackup 
acCmdBookmarksClearAll 
acCmdBookmarksNext 
acCmdBookmarksPrevious 
acCmdBookmarksToggle 
acCmdBringToFront 
acCmdCallStack 
acCmdChangeToCheckBox 
acCmdChangeToComboBox 
acCmdChangeToCommandButton 
acCmdChangeToImage 
acCmdChangeToLabel 
acCmdChangeToListBox 
acCmdChangeToOptionButton 
acCmdChangeToTextBox 
acCmdChangeToToggleButton 
acCmdChartSortAscByTotal 
acCmdChartSortDescByTotal 
acCmdClearAll 
acCmdClearAllBreakpoints 
acCmdClearGrid 
acCmdClearHyperlink 
acCmdClearItemDefaults 
acCmdClose 
acCmdCloseWindow 
acCmdColumnWidth 
acCmdCompactDatabase 
acCmdCompileAllModules 
acCmdCompileAndSaveAllModules 
acCmdCompileLoadedModules 
acCmdCompleteWord 
acCmdConditionalFormatting 
acCmdConnection 
acCmdControlWizardsToggle 
acCmdConvertDatabase 
acCmdConvertMacrosToVisualBasic 
acCmdCopy 
acCmdCopyDatabaseFile 
acCmdCopyHyperlink 
acCmdCreateMenuFromMacro 
acCmdCreateRelationship 
acCmdCreateReplica 
acCmdCreateShortcut 
acCmdCreateShortcutMenuFromMacro 
acCmdCreateToolbarFromMacro 
acCmdCut 
acCmdDataAccessPageAddToPage 
acCmdDataAccessPageBrowse 
acCmdDataAccessPageDesignView 
acCmdDataAccessPageFieldListRefresh 
acCmdDatabaseProperties 
acCmdDatabaseSplitter 
acCmdDataEntry 
acCmdDataOutline 
acCmdDatasheetView 
acCmdDateAndTime 
acCmdDebugWindow 
acCmdDelete 
acCmdDeleteGroup 
acCmdDeletePage 
acCmdDeleteQueryColumn 
acCmdDeleteRecord 
acCmdDeleteRows 
acCmdDeleteTab 
acCmdDeleteTable 
acCmdDeleteTableColumn 
acCmdDeleteWatch 
acCmdDemote 
acCmdDesignView 
acCmdDiagramAddRelatedTables 
acCmdDiagramAutosizeSelectedTables 
acCmdDiagramDeleteRelationship 
acCmdDiagramLayoutDiagram 
acCmdDiagramLayoutSelection 
acCmdDiagramModifyUserDefinedView 
acCmdDiagramNewLabel 
acCmdDiagramNewTable 
acCmdDiagramRecalculatePageBreaks 
acCmdDiagramShowRelationshipLabels 
acCmdDiagramViewPageBreaks 
acCmdDocMaximize 
acCmdDocMinimize 
acCmdDocMove 
acCmdDocRestore 
acCmdDocSize 
acCmdDocumenter 
acCmdDropSQLDatabase 
acCmdDuplicate 
acCmdEditHyperlink 
acCmdEditingAllowed 
acCmdEditRelationship 
acCmdEditTriggers 
acCmdEditWatch 
acCmdEncryptDecryptDatabase 
acCmdEnd 
acCmdExit 
acCmdExport 
acCmdFavoritesAddTo 
acCmdFavoritesOpen 
acCmdFieldList 
acCmdFilterByForm 
acCmdFilterBySelection 
acCmdFilterExcludingSelection 
acCmdFind 
acCmdFindNext 
acCmdFindNextWordUnderCursor 
acCmdFindPrevious 
acCmdFindPrevWordUnderCursor 
acCmdFitToWindow 
acCmdFont 
acCmdFormatCells 
acCmdFormHdrFtr 
acCmdFormView 
acCmdFreezeColumn 
acCmdGoBack 
acCmdGoContinue 
acCmdGoForward 
acCmdGroupByTable 
acCmdGroupControls 
acCmdHideColumns 
acCmdHidePane 
acCmdHideTable 
acCmdHorizontalSpacingDecrease 
acCmdHorizontalSpacingIncrease 
acCmdHorizontalSpacingMakeEqual 
acCmdHyperlinkDisplayText 
acCmdImport 
acCmdIndent 
acCmdIndexes 
acCmdInsertActiveXControl 
acCmdInsertChart 
acCmdInsertFile 
acCmdInsertFileIntoModule 
acCmdInsertHyperlink 
acCmdInsertLookupColumn 
acCmdInsertLookupField 
acCmdInsertMovieFromFile 
acCmdInsertObject 
acCmdInsertPage 
acCmdInsertPicture 
acCmdInsertPivotTable 
acCmdInsertProcedure 
acCmdInsertQueryColumn 
acCmdInsertRows 
acCmdInsertSpreadsheet 
acCmdInsertSubdatasheet 
acCmdInsertTableColumn 
acCmdInsertUnboundSection 
acCmdInvokeBuilder 
acCmdJoinProperties 
acCmdLastPosition 
acCmdLayoutPreview 
acCmdLineUpIcons 
acCmdLinkedTableManager 
acCmdLinkTables 
acCmdListConstants 
acCmdLoadFromQuery 
acCmdMacroConditions 
acCmdMacroNames 
acCmdMakeMDEFile 
acCmdMaximiumRecords 
acCmdMicrosoftAccessHelpTopics 
acCmdMicrosoftOnTheWeb 
acCmdMicrosoftScriptEditor 
acCmdMoreWindows 
acCmdNewDatabase 
acCmdNewGroup 
acCmdNewObjectAutoForm 
acCmdNewObjectAutoReport 
acCmdNewObjectClassModule 
acCmdNewObjectDataAccessPage 
acCmdNewObjectDiagram 
acCmdNewObjectForm 
acCmdNewObjectFunction 
acCmdNewObjectMacro 
acCmdNewObjectModule 
acCmdNewObjectQuery 
acCmdNewObjectReport 
acCmdNewObjectStoredProcedure 
acCmdNewObjectTable 
acCmdNewObjectView 
acCmdObjBrwFindWholeWordOnly 
acCmdObjBrwGroupMembers 
acCmdObjBrwHelp 
acCmdObjBrwShowHiddenMembers 
acCmdObjBrwViewDefinition 
acCmdObjectBrowser 
acCmdOfficeClipboard 
acCmdOLEDDELinks 
acCmdOLEObjectConvert 
acCmdOLEObjectDefaultVerb 
acCmdOpenDatabase 
acCmdOpenHyperlink 
acCmdOpenNewHyperlink 
acCmdOpenSearchPage 
acCmdOpenStartPage 
acCmdOpenTable 
acCmdOpenURL 
acCmdOptions 
acCmdOutdent 
acCmdOutputToExcel 
acCmdOutputToRTF 
acCmdOutputToText 
acCmdPageHdrFtr 
acCmdPageNumber 
acCmdPageProperties 
acCmdPageSetup 
acCmdParameterInfo 
acCmdPartialReplicaWizard 
acCmdPaste 
acCmdPasteAppend 
acCmdPasteAsHyperlink 
acCmdPasteSpecial 
acCmdPivotAutoAverage 
acCmdPivotAutoCount 
acCmdPivotAutoFilter 
acCmdPivotAutoMax 
acCmdPivotAutoMin 
acCmdPivotAutoStdDev 
acCmdPivotAutoStdDevP 
acCmdPivotAutoSum 
acCmdPivotAutoVar 
acCmdPivotAutoVarP 
acCmdPivotChartByRowByColumn 
acCmdPivotChartDrillInto 
acCmdPivotChartDrillOut 
acCmdPivotChartMultiplePlots 
acCmdPivotChartMultiplePlotsUnifiedScale 
acCmdPivotChartShowLegend 
acCmdPivotChartType 
acCmdPivotChartUndo 
acCmdPivotChartView 
acCmdPivotCollapse 
acCmdPivotDelete 
acCmdPivotDropAreas 
acCmdPivotExpand 
acCmdPivotRefresh 
acCmdPivotShowAll 
acCmdPivotShowBottom1 
acCmdPivotShowBottom10 
acCmdPivotShowBottom10Percent 
acCmdPivotShowBottom1Percent 
acCmdPivotShowBottom2 
acCmdPivotShowBottom25 
acCmdPivotShowBottom25Percent 
acCmdPivotShowBottom2Percent 
acCmdPivotShowBottom5 
acCmdPivotShowBottom5Percent 
acCmdPivotShowBottomOther 
acCmdPivotShowTop1 
acCmdPivotShowTop10 
acCmdPivotShowTop10Percent 
acCmdPivotShowTop1Percent 
acCmdPivotShowTop2 
acCmdPivotShowTop25 
acCmdPivotShowTop25Percent 
acCmdPivotShowTop2Percent 
acCmdPivotShowTop5 
acCmdPivotShowTop5Percent 
acCmdPivotShowTopOther 
acCmdPivotTableClearCustomOrdering 
acCmdPivotTableCreateCalcField 
acCmdPivotTableCreateCalcTotal 
acCmdPivotTableDemote 
acCmdPivotTableExpandIndicators 
acCmdPivotTableExportToExcel 
acCmdPivotTableFilterBySelection 
acCmdPivotTableGroupItems 
acCmdPivotTableHideDetails 
acCmdPivotTableMoveToColumnArea 
acCmdPivotTableMoveToDetailArea 
acCmdPivotTableMoveToFilterArea 
acCmdPivotTableMoveToRowArea 
acCmdPivotTablePercentColumnTotal 
acCmdPivotTablePercentGrandTotal 
acCmdPivotTablePercentParentColumnItem 
acCmdPivotTablePercentParentRowItem 
acCmdPivotTablePercentRowTotal 
acCmdPivotTablePromote 
acCmdPivotTableRemove 
acCmdPivotTableShowAsNormal 
acCmdPivotTableShowDetails 
acCmdPivotTableSubtotal 
acCmdPivotTableUngroupItems 
acCmdPivotTableView 
acCmdPreviewEightPages 
acCmdPreviewFourPages 
acCmdPreviewOnePage 
acCmdPreviewTwelvePages 
acCmdPreviewTwoPages 
acCmdPrimaryKey 
acCmdPrint 
acCmdPrintPreview 
acCmdPrintRelationships 
acCmdProcedureDefinition 
acCmdPromote 
acCmdProperties 
acCmdPublish 
acCmdPublishDefaults 
acCmdQueryAddToOutput 
acCmdQueryGroupBy 
acCmdQueryParameters 
acCmdQueryTotals 
acCmdQueryTypeAppend 
acCmdQueryTypeCrosstab 
acCmdQueryTypeDelete 
acCmdQueryTypeMakeTable 
acCmdQueryTypeSelect 
acCmdQueryTypeSQLDataDefinition 
acCmdQueryTypeSQLPassThrough 
acCmdQueryTypeSQLUnion 
acCmdQueryTypeUpdate 
acCmdQuickInfo 
acCmdQuickPrint 
acCmdQuickWatch 
acCmdRecordsGoToFirst 
acCmdRecordsGoToLast 
acCmdRecordsGoToNew 
acCmdRecordsGoToNext 
acCmdRecordsGoToPrevious 
acCmdRecoverDesignMaster 
acCmdRedo 
acCmdReferences 
acCmdRefresh 
acCmdRefreshPage 
acCmdRegisterActiveXControls 
acCmdRelationships 
acCmdRemove 
acCmdRemoveFilterSort 
acCmdRemoveTable 
acCmdRename 
acCmdRenameColumn 
acCmdRenameGroup 
acCmdRepairDatabase 
acCmdReplace 
acCmdReportHdrFtr 
acCmdReset 
acCmdResolveConflicts 
acCmdRestore 
acCmdRowHeight 
acCmdRun 
acCmdRunMacro 
acCmdRunOpenMacro 
acCmdSave 
acCmdSaveAllModules 
acCmdSaveAllRecords 
acCmdSaveAs 
acCmdSaveAsASP 
acCmdSaveAsDataAccessPage 
acCmdSaveAsHTML 
acCmdSaveAsIDC 
acCmdSaveAsQuery 
acCmdSaveAsReport 
acCmdSaveLayout 
acCmdSaveModuleAsText 
acCmdSaveRecord 
acCmdSelectAll 
acCmdSelectAllRecords 
acCmdSelectDataAccessPage 
acCmdSelectForm 
acCmdSelectRecord 
acCmdSelectReport 
acCmdSend 
acCmdSendToBack 
acCmdServerFilterByForm 
acCmdServerProperties 
acCmdSetControlDefaults 
acCmdSetDatabasePassword 
acCmdSetNextStatement 
acCmdShowAllRelationships 
acCmdShowDirectRelationships 
acCmdShowEnvelope 
acCmdShowMembers 
acCmdShowNextStatement 
acCmdShowOnlyWebToolbar 
acCmdShowTable 
acCmdSingleStep 
acCmdSizeToFit 
acCmdSizeToFitForm 
acCmdSizeToGrid 
acCmdSizeToNarrowest 
acCmdSizeToWidest 
acCmdSnapToGrid 
acCmdSortAscending 
acCmdSortDescending 
acCmdSortingAndGrouping 
acCmdSpeech 
acCmdSpelling 
acCmdSQLView 
acCmdStartupProperties 
acCmdStepInto 
acCmdStepOut 
acCmdStepOver 
acCmdStepToCursor 
acCmdStopLoadingPage 
acCmdSubdatasheetCollapseAll 
acCmdSubdatasheetExpandAll 
acCmdSubdatasheetRemove 
acCmdSubformDatasheet 
acCmdSubformDatasheetView 
acCmdSubformFormView 
acCmdSubformInNewWindow 
acCmdSubformPivotChartView 
acCmdSubformPivotTableView 
acCmdSwitchboardManager 
acCmdSynchronizeNow 
acCmdTabControlPageOrder 
acCmdTableAddTable 
acCmdTableCustomView 
acCmdTableNames 
acCmdTabOrder 
acCmdTestValidationRules 
acCmdTileHorizontally 
acCmdTileVertically 
acCmdToggleBreakpoint 
acCmdToggleFilter 
acCmdToolbarControlProperties 
acCmdToolbarsCustomize 
acCmdTransferSQLDatabase 
acCmdTransparentBackground 
acCmdTransparentBorder 
acCmdUndo 
acCmdUndoAllRecords 
acCmdUnfreezeAllColumns 
acCmdUngroupControls 
acCmdUnhideColumns 
acCmdUpsizingWizard 
acCmdUserAndGroupAccounts 
acCmdUserAndGroupPermissions 
acCmdUserLevelSecurityWizard 
acCmdVerticalSpacingDecrease 
acCmdVerticalSpacingIncrease 
acCmdVerticalSpacingMakeEqual 
acCmdViewCode 
acCmdViewDataAccessPages 
acCmdViewDetails 
acCmdViewDiagrams 
acCmdViewFieldList 
acCmdViewForms 
acCmdViewFunctions 
acCmdViewGrid 
acCmdViewLargeIcons 
acCmdViewList 
acCmdViewMacros 
acCmdViewModules 
acCmdViewQueries 
acCmdViewReports 
acCmdViewRuler 
acCmdViewShowPaneDiagram 
acCmdViewShowPaneGrid 
acCmdViewShowPaneSQL 
acCmdViewSmallIcons 
acCmdViewStoredProcedures 
acCmdViewTableColumnNames 
acCmdViewTableColumnProperties 
acCmdViewTableKeys 
acCmdViewTableNameOnly 
acCmdViewTables 
acCmdViewTableUserView 
acCmdViewToolbox 
acCmdViewVerifySQL 
acCmdViewViews 
acCmdVisualBasicEditor 
acCmdWebPagePreview 
acCmdWebPageProperties 
acCmdWebTheme 
acCmdWindowArrangeIcons 
acCmdWindowCascade 
acCmdWindowHide 
acCmdWindowSplit 
acCmdWindowUnhide 
acCmdWordMailMerge 
acCmdWorkgroupAdministrator 
acCmdZoom10 
acCmdZoom100 
acCmdZoom1000 
acCmdZoom150 
acCmdZoom200 
acCmdZoom25 
acCmdZoom50 
acCmdZoom500 
acCmdZoom75 
acCmdZoomBox 
acCmdZoomSelection
크리에이티브 커먼즈 라이선스
Creative Commons License
Posted by Kiwoong~

2007-10-26, 염기웅(carl@jnccompany.com.jnc)

<참고> 상기한 저자 이메일의 .jnc는 스팸 방지용입니다.

2007년 한국시리즈 3차전. 눈살이 찌뿌려지는 경기입니다. 선수들의 흥분이 극에 달했더군요.

제 글을 읽기 전에 부디 어느 팀 팬이건 간에, 냉정한 판단을 부탁드린다는 말씀을 먼저 드리고 싶네요. 일단 응원팀을 생각하는 마음에서 한발짝 떨어져서 우리가 반대편 팬의 입장이었다면 어땠을까? 하고 말이죠.

  • 김동주의 모습은 입이 열 개라도 할 말이 없는 추태입니다. 적당히 어필하고 의사표명을 하는 것으로 충분해 보입니다.
  • 논란이 되는 것은, 이혜천의 김재현에게 던진 투구가 고의성이 있었느냐는 것인데, 저는 일단 고의성이 있다고 단정짓기에는 무리가 있다고 봅니다.
  • 그래서 이혜천을 퇴장시킨 것은 오심에 가까운 판정이 아닐까 생각해 봅니다.
  • 김재현의 경우, 놀라서 약간의 어필을 할 수도 있었다고 생각은 들지만, 약간 오바했다고 생각합니다.
  • 그리고 1차적으로 분위기가 추슬러졌을 때 지속적으로 말을 해서 상황을 지속시킨 것은 문제라고 생각합니다.
  • 많은 분들이 빈볼의 원인이라고 말씀하시는 홈스틸은 사실 전혀 문제될 것 없는 플레이였다고 생각합니다. 때는 6회로, 중반이었으며 두산은 과거 한국시리즈에서 한 이닝에 12점을 낸 적도 있습니다. 꼭 이런 이유가 아니더라도 단기전에서 점수차이가 많이 난다고 도루나 스퀴즈 등을 하지 말아야 한다고 생각하는 것은 좀 아닌것 같습니다.

이혜천의 투구가 고의성이 있었을까요? 어떤 분은 있었다고 말씀하실 것이고, 어떤 분은 그럴리 없다고 말씀하실 것입니다. 그렇게 의사표명하는 것은 좋습니다. 우리는 모두 우리의 의견을 표출할 자유와 권리가 있으니까요.

하지만 심판의 퇴장 판정은 어떻습니까?

의견을 '표출'하는 것과 퇴장을 명하는 '판정'은 엄격히 구분되어야 합니다. '판정'은 무죄 추정의 원칙을 지켜야 합니다. 명백한 증거가 나오지 않는 한 일단 무죄라고 보아야 합니다. 이것은 일반 법 논리와도 일맥상통하는 바입니다.

하지만 그런 의미의 판정이라면 모든 빈볼은 '무죄'로 판명이 나겠죠. 공을 던진 투수의 생각을 알지 못하는 한 증거를 찾을 수 없으니까요. 그래서 심판에게 약간의 재량권이 필요해 보이기는 합니다. 하지만 재량권을 갖더라도, 정황상 최소 50% 이상의 확률이 있어야 '유죄' 판정을 내리는 것이 타당하지 않을까요?

오늘 이혜천의 투구를 '빈볼'이라고 규정한 것에 무리가 있다는 것은 다음과 같은 이유 때문입니다.

  • 김재현은 몸에 공을 맞지 않았다.
  • 투구가 위협적이라고 하기에는 김재현 뒤쪽 땅볼로 공이 갔다.
  • 김재현이 놀라기는 했지만 피하지 않았다고 하더라도 몸에 맞는 공이 될 수 없었다.

이혜천의 투구는 정황상 '빈볼'이라고 볼 수도 있겠지만, 그러기에는 몸이 맞지도 않았고, 그리 위협적이라고 볼 수도 없었으며, 김재현이 피하지 않았다 하더라도 몸에 맞지 않는 공이었습니다. 이러한 공을 앞뒤 흐름만을 생각하여 '빈볼'이라고 규정하는 것은 옳지 못해 보입니다.

저는 반문하고 싶습니다. 김재현이 적절히 어필하고 자기 자리로 돌아갔다면, 이혜천 선수에게 퇴장이 내려졌을까요? 그렇지 않을 가능성이 훨씬 높아보입니다. 만약 그렇다면, 일종의 마녀사냥의 희생자라고 볼 수 있지도 않을까요?

저는, 이러한 상황이 벌어졌을 때, '팬들이 우선이다', '어린이들이 보는데' 이러한 식의 양비론에 앞서 (양비론은 너무 쉽습니다.. 하지만 문제해결에 도움은 주지 않습니다.) 문제의 본질을 파악하고, 문제를 해결하려는 노력이 우선시되어야 한다고 생각합니다.

그런 관점에서 과격하지 않게, 이성적으로, 오늘 있었던 일을 소재로 하여 '빈볼'이라고 규정할 만한 가이드라인을 네티즌끼리 만들었어 보았으면 합니다. 이것은 한국 프로야구의 발전에 미미하지만 의미있는 일이 될 것입니다.

많은 분들의 이성적이고 합리적인 댓글, 트랙백 모두 환영합니다.

크리에이티브 커먼즈 라이선스
Creative Commons License
Posted by Kiwoong~

2007-10-23, 염기웅(carl@jnccompany.com.jnc)

<참고> 상기한 저자 이메일의 .jnc는 스팸 방지용입니다.

사실, 이 김칫국은 2007년 플레이오프 이전부터 쭉 해 오던 것인데, 오늘 두산의 한국시리즈 1차전 승리로 유리한 고지를 점령하였기에, 감히 제가 마신 김칫국을 공개해 봅니다.

오늘 두산의 두번째 득점은 이종욱 선수의 믿을 수 없는 홈 쇄도로 얻은 것이죠. 사실 올 해의 두산은 베이스 러닝 하나 만큼은 리그 최강입니다. 고영민의 '내야안타 때 2루에서 홈 들어오기', '짧은 우전 안타 때 2루에서 홈 들어오기' 같은 것은 말 할 것도 없고, '우중간 2루타성 타구에 3루까지 뛰기'는 너무 많이 봐서 이제는 '그런가 보다..' 하는 정도가 되었죠.

플레이오프 때는 1루쪽 다소 깊은 파울 플라이 때 100KG의 김동주 선수가 3루에서 태그업, 홈인 하는 장면까지, 정말 대단한 주루플레이를 보여주고 있습니다. (또 하나 꼽는 것은 구대성 선수의 뉴욕 메츠 시절 잠바입고 홈 쇄도하는 장면입니다..)

거기에 상식을 뒤엎는 고영민의 2익수 수비는 어떻습니까? (요즘은 다른 2루수들도 수비가 조금씩 깊어지고 있더군요.. ^^)

이런 것을 실행하는 팀에게는 눈에 보이지 않는 엄청난 힘이, 그리고 이런 것을 당하는 팀에게는 생각보다 엄청난 데미지를 입히는 플레이입니다. 마치 혼을 쏙 빼 놓는 듯한 플레이죠. (비난하는 것은 아니고, 플레이오프 때 1루 깊은 파울플라이에 홈 쇄도하는 김동주를 본 김태균 선수의 얼굴 표정 보셨습니까? 오늘 2루수 얕은 외야 플라이 때 홈에 들어온 이종욱을 본 정경배 선수를 보셨습니까? 모두 넋이 나가 보이던데요.. ^^)

그냥, 상대방의 넋을 빼 놓는 두산 같은 팀이 코나미컵에서 일본 팀의 혼을 빼 놓는다는 상상을 해 보았습니다. 확언할 수 없겠습니다만, 코나미컵에서 우승하는 것이 아닌, 상대방의 넋을 빼 놓는 것은 역시 두산이 1등 아닐까요?

우리에게는 이번 시즌, 점진적으로 다가온 플레이기 때문에 그리 큰 충격이 아닐지 모르지만, 정말 일본팀에게는 엄청난 충격으로 다가올 것이라고 생각합니다.

생각만 해도 즐겁지 않으신가요? ^^;

물론, 아직 이런 상상은 6게임을 더 해 봐야 실제가 될 수 있겠죠. 하지만 1차전 승리하여 기분 좋은 오늘, 훈훈한 김칫국과 함께 잠을 청하렵니다.

좋은 한국시리즈 되세요~

크리에이티브 커먼즈 라이선스
Creative Commons License
Posted by Kiwoong~

2007-10-23, 염기웅(carl@jnccompany.com.jnc)

<참고> 상기한 저자 이메일의 .jnc는 스팸 방지용입니다.

인천 다녀왔습니다.

누가 이길지 무척이나 궁금한 경기였습니다.

한국시리즈를 앞두고, 두산 팬들과 SK 팬들 사이에는 누가 승리할지에 대한 갑론을박이 펼쳐졌었습니다. 특히, 기동력 부분에서 어떤 팬은 두산은 30도루 이상을 기록한 3인방이 있고, SK는 거의 대부분의 선수들이 두 자리수 도루를 기록하고 있기 때문에, 질과 양의 대결이 될 것이라는 평가를 내 놓기도 했었습니다.

저 또한, 질이 이길지, 양이 이길지 무척이나 궁금했었습니다. 물론, 저는 특히 큰 경기라면 질이 양보다 우세할 것이라고 생각했었습니다.

일본의 야구 수준은 분명 우리보다 한수 위에 있습니다만, 국가대표 팀을 구성하게 되면 비등한 경기를 펼치는 것을 우리는 지난 월드 베이스볼 클래식에서 직접 경험할 수 있었죠. 우리 팀과 일본팀을 전체적으로 본다면 분명 일본 대표팀의 전력이 한 수 위라고 평가할 수 있었을 것입니다. 하지만 우리팀의 몇몇 특출난 선수로 인해 우리는 일본에 우세한 경기를 펼칠 수 있었죠. (물론, 그날 그날의 개인적인 컨디션 역시도 큰 변수가 될 것입니다.)

만약 여러분이 감독이라면, 20개 도루를 기록한 두 명의 선수를 뽑을 것입니까, 아니면 30개 도루를 기록한 한 명의 선수를 뽑을 것입니까? 물론 페넌트레이스를 고려한다면 20개 도루를 기록한 두 명의 선수가 훌륭한 선택이 될 수 있을 것입니다. 하지만 단기전이라면 오히려 30개 도루를 기록한 한 명의 선수를 뽑는 것이 낫지 않을까요?

혹자는 말하더군요. 시즌 도루 개수가 30개가 넘어가면 뛰는 것을 알아도 잡을 수 없는 수준이라고…

그렇습니다, 오늘 이종욱 선수는, SK가 상대적으로 긴 한국시리즈 대비기간에 충분히 대비했음에도 불구하고 뛰었고, 성공했습니다. 특히, 이종욱 선수의 도루 개수는 30개가 아니고 47개라는 것을 고려해 봤을 때, 앞으로도 SK는 꽤나 힘든 경기를 펼치지 않을까 생각합니다.

오늘은 정말 '양보다는 질'이라는 것을 확실히 입증시킨 경기였습니다. 하지만 SK팬 입장이라면 (리오스 때문에) 출루 자체를 잘 하지 못해서 비교 자체가 곤란한 것 아니냐.. 는 반론을 펴실 수도 있겠습니다. 맞는 말씀이구요, 단지.. 오늘은 '양보다는 질'이 입증된 경기였으며, 향후 '질보다 양'인지, '양보다 질'인지 누가 어떻게 입증해 나가냐는 것을 살펴보는 것도 훌륭한 한국시리즈 관전 포인트가 아닐까 하는 의견으로 이만 간단 관전기 마칩니다.

p.s. 오늘 처음으로 문학 경기장엘 갔습니다. 생각보다 먹거리를 구매하는 것은 그리 어렵지 않았습니다. 하지만 주차는 꽤 문제가 되더군요. 경기 끝나고 서둘러 나갔지만 경기장을 빠져 나가는 데 약 40분 정도가 걸렸습니다. 2차전, 6차전, 7차전 가시는 분들은 경기장 지하 주차장 보다는 어떻게든 진입로 길가에 주차를 하시는 편이 나을 것 같다는 힌트를 드리고 싶네요. 불법 주차 점검은 하지 않는 것 같았습니다. ^^;

크리에이티브 커먼즈 라이선스
Creative Commons License
Posted by Kiwoong~

2007-10-21, 염기웅(carl@jnccompany.com.jnc)

<참고> 상기한 저자 이메일의 .jnc는 스팸 방지용입니다.

1. 배경

2007년 한국시리즈가 하루 앞으로 다가왔습니다. 야구열기가 더해감에 따라, 각 야구팬들은 누가 우승할지에 대해서 서로 자신의 의견을 피력하고 있으며 심한 경우 감정싸움까지 겪곤 합니다.

저 역시 이런 저런 사이트를 돌아다니면서 여러 사람들의 의견을 즐겨 보고 있습니다. 그런데 SK가 유리하다고 말하는 분들은 대부분 다음과 같은 것을 주된 근거로 합니다.

  • SK는 페넌트레이스 승률 1위 팀이며, 역대 한국시리즈를 보더라도 승률1위 팀이 우승하는 경우가 압도적으로 많았다.
  • SK의 전반적인 팀 전력이 두산에 비해 두텁고 안정적이다. 주전/비주전간 실력 차이가 그리 크지 않다.

맞는 말씀입니다. 하지만 궁금한 점이 생기더군요.

두산과 SK는 올 시즌 각각 10승과 8승을 나누어 가졌습니다. 두산 기준으로 10승 8패, SK 기준으로 8승 10패를 한 것이죠. SK의 대 두산전 승률은 0.444 입니다. 참고로 다음의 표는 SK의 2007년 페넌트레이스 타팀과의 승률입니다.

두산

한화

삼성

LG 

현대

롯데

KIA 

승률

0.444

0.688

0.500

0.667

0.556

0.778

0.588

<표1> SK의 2007년 페넌트레이스 팀별 승률 (출처: istat.co.kr)

8승 10패만 고려해 본다면 비슷하다고 볼 수 있겠습니다만, 두산에게만 5할 미만의 승률을 기록한 점이 눈에 띕니다. 아울러 두산을 제외한 전구단 상대 승률이 5할 이상이라는 훌륭한 성적표에 비추어, 상대적으로 유독 두산에게만 약한 모습을 보인 것은 아닌가 하는 생각도 듭니다.

그리고 실제로 야구뿐만 아니라, 강자가 모두에게 강한 경우는 흔치 않는 것이 세상의 이치에 가까우며 그로 인해 먹이 사슬이 순환하는 것을 고려해 보면, 역대 한국시리즈에서 페넌트레이스 승률이 우위에 있는 팀이 우승하였을 경우와 상대전적이 우세한 팀이 우승하였을 경우가 궁금해 지더군요. 이 글은 이러한 궁금증을 풀기 위함입니다. 마지막으로 오해가 없도록 하기 위해, 저는 두산팬임을 밝힙니다.

2. 단순 비교: 페넌트레이스 승률이 우위에 있는 팀이 우승하였을 경우 vs. 상대전적이 우세한 팀이 우승하였을 경우

1982년부터 2006년까지 24년간(1985년의 경우 삼성의 전기/후기 통합 우승으로 한국시리즈가 없었습니다) 한국시리즈에 참가한 팀과 페넌트레이스 성적은 다음과 같습니다.

년도

상위팀

도전팀

우승팀

페넌트 상위팀
우승

상대 상위팀
우승

페넌트
순위

페넌트
상대승

페넌트
순위

페넌트
상대승

KS 승

KS 패

KS 무

1982

OB

1

9

삼성

2

7

OB

4

1

1

1

1

1983

MBC

1

8

해태

2

12

해태

4

 

1

0

1

1984

삼성

2

13

롯데

4

7

롯데

4

3

 

0

0

1986

삼성

1

6

해태

2

11

해태

4

1

 

0

1

1987

삼성

1

9

해태

2

9

해태

4

 

 

0

0

1988

해태

1

7

빙그레

2

11

해태

4

2

 

1

0

1989

빙그레

1

10

해태

2

10

해태

4

1

 

0

0

1990

LG

1

13

삼성

4

7

LG

4

 

 

1

1

1991

해태

1

8

빙그레

2

7

해태

4

 

 

1

1

1992

빙그레

1

13

롯데

3

5

롯데

4

1

 

0

0

1993

해태

1

7

삼성

2

11

해태

4

2

1

1

0

1994

LG

1

13

태평양

2

5

LG

4

 

 

1

1

1995

OB

1

9

롯데

3

8

OB

4

3

 

1

1

1996

해태

1

10

현대

4

8

해태

4

2

 

1

1

1997

해태

1

8

LG

2

10

해태

4

1

 

1

0

1998

현대

1

7

LG

3

11

현대

4

2

 

1

0

1999

롯데

2

10

한화

4

7

한화

4

1

 

0

0

2000

현대

1

12

두산

2

7

현대

4

3

 

1

1

2001

삼성

1

12

두산

3

7

두산

4

2

 

0

0

2002

삼성

1

10

LG

4

7

삼성

4

2

 

1

1

2003

현대

1

11

SK

4

7

현대

4

3

 

1

1

2004

현대

1

10

삼성

2

7

현대

4

2

3

1

1

2005

삼성

1

8

두산

2

9

삼성

4

 

 

1

0

2006

삼성

1

11

한화

3

7

삼성

4

1

1

1

1

개수

16

13

승률

67%

54%

<표2> 역대 한국시리즈 승패표 (출처: istat.co.kr)

<참고> 표 보는 법

  • 상위팀: 한국시리즈에서 만나는 팀 중 해당 시즌 페넌트레이스 순위가 앞서는 팀
  • 도전팀: 한국시리즈에서 만나는 팀 중 해당 시즌 페넌트레이스 순위가 뒤지는 팀
  • 우승팀: 해당 시즌 우승팀
  • 페넌트 순위: 해당 시즌의 페넌트레이스 순위 (승률 기준)
  • 페넌트 상대승: 해당 시즌의 한국시리즈 상대팀간 경기에서 거둔 승수
  • 페넌트 상위팀 우승: 해당 시즌의 페넌트레이스 승률이 높은 팀이 한국시리즈에서 이겼는지에 대한 여부 (1: 이김, 0: 짐)
  • 상대 상위팀 우승: 해당 시즌의 상대 전적 승률이 높은 팀이 한국시리즈에서 이겼는지에 대한 여부 (1: 이김, 0: 짐)

<참고> 제한사항 및 고려해야할 사항

  • 여기에서 '페넌트 순위'가 반드시 해당 시즌의 페넌트레이스 순위라고 보장할 수는 없습니다.
  • 한국 프로야구는 과거 전기리그 / 후기리그로 나누어 운영했던 시기도 있었고, 드림리그 / 매직리그의 양대리그제로 운영했던 시기도 있었습니다.
  • 또한, 승률이 아니고 '다승'을 페넌트레이스 순위를 기준으로 했던 시즌도 있었습니다.
  • '페넌트 순위'는 이 모든 것을 고려한 것은 아닙니다. '페넌트 순위'는 해당 시즌의 순수한 승률로만 계산한 순위라는 것을 유념하기 바랍니다.

단순하게 계산해 보자면, 페넌트레이스에서 좋은 승률을 거둔 팀이 한국시리즈에서 우승할 확률은 67% 이며, 상대 전적 승률이 높은 팀이 한국시리즈에서 우승할 확률은 54% 입니다. 단순하게 계산해 보아도, 상대 전적 승률보다는 페넌트레이스 승률이 더 높은 상관관계가 있다고 볼 수 있겠습니다.

3. 상황별 비교: 페넌트레이스 승률이 좋은 팀이 상대 전적 승률은 떨어질 경우

숫자를 차근 차근 살펴보면 페넌트레이스 승률이 좋은 팀이 상대 전적 승률도 좋은 경우가 많습니다. 그렇다면 앞에서 살펴본 자료는 '상대 전적 승률보다는 페넌트레이스 승률이 조금 더 높은 한국시리스 승리와 상관관계가 있다' 정도의 의미밖에 되지 않습니다.

그래서 '상위팀의 상대 전적 승률이 페넌트레이스 승률과 같이 높을 경우'와 '상위팀의 상대 전적 승률이 페넌트레이스 승률과 달리 낮을 경우'로 나누어서 알아보았습니다.

구분

상위팀 우승

도전팀 우승

상대 전적 정상 상황 (17회)

65%

35%

상대 전적 역전 상황 (7회)

71%

29%

<표3> 상황별 비교표

<참고> 표 보는 법

  • 상대 전적 정상 상황: 상위팀의 상대 전적 승률이 페넌트레이스 승률과 같이 높을 경우
  • 상대 전적 역전 상황: 상위팀의 상대 전적 승률이 페넌트레이스 승률과 달리 낮을 경우 (2007 시즌 한국시리즈가 이러한 경우입니다.)
  • 상위팀 우승: 상위팀이 우승할 확률
  • 도전팀 우승: 도전팀이 우승할 확률

<참고> 제한사항 및 고려할 사항

  • 상대 전적 승률이 동률일 경우에는 '상대 전적 정상 상황'으로 포함하였습니다. 1987년, 1989년 2회 있습니다.

각각의 경우에 대해서 말씀드리면 다음과 같습니다.

  • ①의 경우는 정상적인 상황이지요. 상위팀이 페넌트레이스 승률도 높고, 상대 전적 승률도 높은 경우이며, 상위팀이 한국시리즈에서 이긴 경우를 말합니다.
  • ②의 경우는 이변이라고 봐야겠지요. 도전팀이 페넌트레이스 승률도 낮고, 상대 전적 승률도 낮은 경우인데, 도전팀이 한국시리즈에서 이긴 경우를 말합니다.
  • ③의 경우 역시 어떤 의미로는 이변이라고 봐야합니다. 상위팀이 페넌트레이스 승률은 높으나 상대 전적 승률은 낮은 경우인데, 상위팀이 한국시리즈에서 이긴 경우를 말합니다. 하지만 71%라는 높은 확률은 이변이라고 보기에 힘들어 보이는군요. 2007 한국시리즈에서 SK가 우승할 또 하나의 확률이라고 보아도 될 법 합니다.
  • ④의 경우 역시 어떤 의미로는 정상이라고 봐야합니다. 도전팀이 페넌트레이스 승률은 낮으나 상대 전적 승률은 높은 경우인데, 도전팀이 한국시리즈에서 이긴 경우를 말합니다. 하지만 29%라는 낮은 확률은 정상이라고 보기에 힘들어 보입니다. 2007 한국시리즈에서 두산이 우승할 또 하나의 확률이라고 보아도 될 법 합니다.

이렇게 분석해 보니, 상대 전적 승률보다는 페넌트레이스 승률이 훨씬 높은 상관 관계에 있다고 볼 수가 있겠습니다.

4. 괴물(?)팀 해태를 제외해 보아요~

두산 팬인 저로써는 분석을 진행하면 할수록 생각했던 것과는 다른 결과(혹은 나와야만 하는 것과는 다른 결과^^;)가 나오는 것을 보고 눈에 불을 켜고 헛점이 없는지 찾아보았습니다. 그런데, 특이한 것이 있더군요. 해태는 한국시리즈에 모두 9번 올라와서 9번 모두 우승을 거머쥐었습니다. 상대 전적 승률이 정상 상황이든 역전 상황이든, 자신이 상위팀이든 도전팀이든 모두 우승을 거머쥐었더군요. 정말 괴물(좋은 의미랍니다, KIA 팬 여러분~)같은 해태이지 않습니까?

통계에서는 매우 특별한 최대값과 최소값은 모집단에서 제외하는 경우도 있습니다. 그래서 다시 한 번 강조하지만 두산팬인 저는 해태를 모집단에서 제외해보자는 유혹에 휩쓸립니다. (물론 논란은 많을 줄 압니다. 모집단의 개수가 24개인데, 그 중 1/3이 넘는 9개를 제거해야 하는 상황이니까요. 하지만 그냥 재미로~) 그래서 해태가 우승했을 당시의 상황을 다음과 같이 정리하였습니다.

구분

상위팀 우승

도전팀 우승

상대 전적 정상 상황

2

2

상대 전적 역전 상황

3

2

<표4> 해태의 상황별 우승 횟수

이렇게 보니 '기적'에 가까운 상황은 해태가 많이 만들어낸 것 같다는 느낌이 듭니다. 역시 해태를 빼면 '보통의 프로야구팀에 대한 통계'가 나올 것이라는 막연한 기대감을 품고 다음의 표를 만들어 보았습니다.

년도

상위팀

도전팀

우승팀

페넌트 상위팀
우승

상대 상위팀
우승

페넌트
순위

페넌트
상대승

페넌트
순위

페넌트
상대승

KS 승

KS 패

KS 무

1982

OB

1

9

삼성

2

7

OB

4

1

1

1

1

1984

삼성

2

13

롯데

4

7

롯데

4

3

 

0

0

1990

LG

1

13

삼성

4

7

LG

4

   

1

1

1992

빙그레

1

13

롯데

3

5

롯데

4

1

 

0

0

1994

LG

1

13

태평양

2

5

LG

4

   

1

1

1995

OB

1

9

롯데

3

8

OB

4

3

 

1

1

1998

현대

1

7

LG

3

11

현대

4

2

 

1

0

1999

롯데

2

10

한화

4

7

한화

4

1

 

0

0

2000

현대

1

12

두산

2

7

현대

4

3

 

1

1

2001

삼성

1

12

두산

3

7

두산

4

2

 

0

0

2002

삼성

1

10

LG

4

7

삼성

4

2

 

1

1

2003

현대

1

11

SK

4

7

현대

4

3

 

1

1

2004

현대

1

10

삼성

2

7

현대

4

2

3

1

1

2005

삼성

1

8

두산

2

9

삼성

4

   

1

0

2006

삼성

1

11

한화

3

7

삼성

4

1

1

1

1

개수

11

9

승률

73%

60%

<표5> 역대 한국시리즈 승패표 (해태 제외)

역시 해태를 제외하니 상대 전적 승률이 높은 경우의 상관관계가 해태를 포함했을 때 보다는 높게 나왔습니다. 다음은 해태를 제외한 상황별 비교입니다.

구분

상위팀 우승

도전팀 우승

상대 전적 정상 상황 (13회)

69%

31%

상대 전적 역전 상황 (2회)

100%

0%

<표6> 상황별 비교표 (해태 제외)

결국 늪에 빠지고 말았습니다. 물론, 상대 전적 승률이 역전된 상황이 총 2회라는 아주 작은 수의 모집단이기는 하지만, 어쨌든 상대 전적 승률보다는 페넌트레이스 승률이 한국시리즈 우승에 훨씬 높은 상관관계가 있는 것으로 결론을 내릴 수 있겠습니다.

왜 이러한 결과가 나온 것일까요? 그것에 관해서는 앞으로 여러분들이 많은 논의를 하실 수 있겠죠? 그것 역시 한국시리즈를 즐기는 데 중요한 하나의 포인트라고 생각합니다. 제가 생각하기에는, 상대적으로 한 팀에 집중할 수 없는 페넌트레이스에서는 다소 부진했더라도 한 팀에 집중 할 수 있는 한국시리즈에서는 전반적 전력이 앞선 팀이 승리할 확률이 높은 것으로 보입니다.

따라서 오늘의 결론은, '많이 싸워서 이긴 놈이 진짜 강한 놈이다'라는 평범한 명제입니다. (저는 '그래도 같이 맞장떠서 이긴 놈이 그래도 센 것이다' 라는 결론이 나오길 바랬습니다. ㅠ.ㅠ)

5. 맺음말

한국시리즈를 하루 앞두고, 좋은 결과가 있었으면 했습니다만, '과거의 기준으로는 절대로 SK를 이길 수 없다'는 결론을 보고 나니 참 많이 침울해 집니다. 하지만 두산(OB가 아닌)은 지금의 상황보다 더 어려운 ②번에 해당하는 시기에 우승을 한 전력이 있습니다. (2001년) 따라서 그것보다 상황이 좋은 올 한국시리즈도 두산이 이길 것이라는 약간의 억지스러운 마음으로 다독이고 잠이나 자야겠습니다.

좋은 한국시리즈 즐기시기 바랍니다.

크리에이티브 커먼즈 라이선스
Creative Commons License
Posted by Kiwoong~

2007-10-10, 염 기웅(carl.jnccompany.com.jnc)

<참고> 상기한 저자 이메일의 .jnc는 스팸 방지용입니다.

윈드님이 좋은 팁을 소개해 주셨네요.. 윈드님의 원문은 여기를 클릭하셔요~

사실 현업에서 '내 네트워크 환경'에서 컴퓨터가 보이지 않는다거나, 컴퓨터 검색 속도가 늦어진다는 것은 많이 문의해 오는 내용입니다. 단순히 '\\컴퓨터이름' 형식으로 검색하는 것이 빠르다는 팁 이외에, 원리를 좀 이해하면 이해도가 높겠지요?


윈도우 네트워크에서 다른 컴퓨터를 찾는 것은 NetBIOS 라는 프로토콜을 이용합니다. 그런데, 이 NetBIOS라는 프로토콜이 불안정(?: 꼭 불안정한 것은 아니지만, 이것을 설명하려면 너무 어려워집니다.. ^^)한 감이 있습니다.

조금 더 쉽게 이야기한다면, 예를 들어 인터넷 주소 창에 'http://www.jnccompany.com' 이라고 입력한다는 것은 'www.jnccompany.com' 이라는 컴퓨터를 찾는 것이라고 볼 수 있는데요, 이 'www.jnccompany.com' 이라는 컴퓨터를 찾기 위한 서버(DNS)가 있어서 아주 빠르게 찾을 수 있습니다.

반면, NetBIOS 프로토콜은 서버 없이도 컴퓨터 이름을 찾을 수 있게 하기 위해서 네트워크 상의 임의의 컴퓨터를 임시 '서버'화 시키게 됩니다. 이 임시 서버는 여러분 본인의 컴퓨터가 될 수도 있고, 다른 사람의 컴퓨터가 될 수도 있습니다. 그러다 보니, 이름을 찾는 작업을 할 때 어떤 컴퓨터가 서버인지 우선 찾아야 하고, 이름 목록을 가지고 있는 컴퓨터가 최신 이름을 가지고 있는지도 확실치 않기 때문에 검색 속도가 매우 느리고 경우에 따라서는 정확한 이름 목록을 가지고 있지 않을 수도 있습니다.

좀 더 자세한 원리를 알고 싶은 분은 '네트워크 브라우저' 혹은 '브라우저 서비스' 등으로 인터넷 검색을 해 보시면 됩니다.

어쨌든, 컴퓨터 검색 속도가 늦거나 올바른 목록이 표시되지 않는 것은 지극히 정상이라고 말씀 드릴 수 있을 것 같네요.

자주 사용하는 컴퓨터의 경우 바탕화면 등에 바로가기를 설정해 놓는 것도 좋은 방법이라고 하겠습니다.

요약해 보자면,

  • 윈도우 네트워크에서 컴퓨터 검색을 위해서 NetBIOS 라는 프로토콜을 이용합니다.
  • NetBIOS라는 프로토콜은 '이름 검색 서버' 없이도 동작할 수 있도록 설계되었습니다.
  • 그래서 네트워크 상에서 현재의 '이름 검색 서버'를 찾는 데 시간이 오래 걸릴 수 있습니다.
  • 네트워크 상의 '이름 검색 서버'는 수시로 변경될 수 있기 때문에 '이름 검색 서버'가 가지고 있는 컴퓨터 목록은 정확하지 않을 수 있습니다.

그러면, 진정 해결책은 없는 것일까요? 당연히 있지요. '이름 검색 서버'를 이용하면 모든 것이 간단히 해결됩니다. 그러면 '이름 검색 서버'는 어떻게 이용해야 할까요?

  • AD(Active Directory)를 이용합니다: 이것은 너무 거창하죠? ^^;
  • WINS 서버를 설치, 운영합니다: 자세한 것은 'WINS' 로 인터넷 검색을 해 보세요.
  • Master Browser 를 강제 설정합니다: Microsoft 웹 사이트에서 '마스터 브라우저' 혹은 'Master Browser'로 검색해 보세요.

가장 간단한 방법은 'Master Browser'를 강제 설정하는 것입니다. 그런데 마스터 브라우저를 강제 설정하려면 네트워크상에 꺼지지 않는 컴퓨터(서버가 되겠죠?)가 있어야 합니다. 그러니까, 그다지 간단하진 않은 거죠? ^^

그래서 윈드님이 가장 쉽고 간편한 방법으로 '\\컴퓨터이름' 형식을 알려주신 것 같습니다.

참고로 JnC Company의 File Manager를 이용하시면 당연히 마스터 브라우저 강제 설정을 해 드리겠죠?

크리에이티브 커먼즈 라이선스
Creative Commons License
Posted by Kiwoong~
원문: http://www.kalim.org/bbs/zboard.php?id=data&no=123

이 기사를 읽기 전에 할 일이 있다. 당신의 책상 주위에 혹시 쓰지 않은 A4 용지가 있다면 앞에 갖다 놓기 바란다. 가능하다면 색깔이 다르거나 종류가 다른 필기도구 대여섯 자루가 있으면 더욱 좋다.

준비가 됐다면 잠시 눈을 감았다 뜬 후 A4 용지 한가운데에 자신의 이름을 작지도 크지도 않게 써라.

이름을 썼다면, 필기도구를 하나씩 들고 자신이 아는 사람을 적어 보라. 학교를 인연으로 만난 이들은 A라는 필기도구로, 비즈니스로 만난 이들은 필기도구 B로, 가족과 친지들은 C로, 관심사나 봉사활동으로 만난 이들은 D로 이름을 적는다.

이름 옆에 취미와 직업을 작은 글씨로 적어 둔다. 서로 소개해 줄 만한 사람들의 리스트도 작성한다. 왜 이들이 만났으면 좋겠다고 생각하는지, 이들의 공통점은 무엇인지 등도 기록하라.

이름을 썼다면 당신이 도움을 요청하는 전화를 할 경우 48시간 내에 응답이 올 사람은 누구인지, 몇 명이나 되는지 헤아려 보라. ‘당신이 누구를 아는가’의 문제가 아니다. 더 중요한 것은 ‘누가 당신을 아는가’다. 응답이 오는 사람의 총합이 당신의 인맥이다.

이것은 휴먼 네트워킹 분야의 세계적인 전문가인 다이앤 C. 달링이 사용하는 인맥 파악법이다. 세상 일은 모두 사람에게서 시작돼 사람으로 끝난다. 그리고 사람의 일은 눈에 보이는, 혹은 보이지 않는 인맥의 법칙에 따라 움직인다. 당신이 누구를 만나고 알고 있느냐에 따라 당신의 미래가 결정되는 것이다. 자, 당신의 인맥이 부족하다고 판단됐다면 다음의 일곱 가지 인맥 형성 법칙을 기억하기 바란다.

1. 꺼진 불도 다시 보라
요즘 휴대전화 업계에서 바람을 일으키고 있는 팬택계열의 박병엽 부회장은 발이 넓은 것으로 소문이 자자하다. 이제는 대기업 반열에 드는 오너가 마당발이라면 얼마나 많은 사람을 만날까? 하지만 얼마 전 한 인터뷰에서 그는 이렇게 말했다.

“제 나름대로 사람 사귀는 원칙이 있어요. 하나는 자질구레한 부탁은 하지 않는 거고, 또 하나는 끈 떨어졌을 때 더 잘한다는 거지요. 사람들이 오해하는데, 제가 사람을 무척 많이 만나고 다니는 줄 알아요. 사실은 아니거든요. 어디 사람 많이 모이는 자리 가서 명함 교환하고 하는 발상을 해본 적이 없어요."

박 부회장의 이런 얘기는 소위 마당발로 이름난 이들에게서 공통으로 들을 수 있는 말이다. 한마디로 ‘꺼진 불도 다시 보라’는 것이다. 아무리 잘나가는 사람도 굴곡을 겪을 때가 있다는 것은 인생의 법칙이다. 눈앞의 이익만을 겨냥하는 인간관계는 내동댕이쳐지기 십상이다.

2. 약속은 철저하게, 신뢰는 서서히
많은 샐러리맨이 자신의 불운을 탓한다. 학연·지연, 그리고 ‘빽’이 없음을 한탄한다. 하지만 삶이란 한탄한다고 채워지지 않는다. 고졸로 차관급인 국무총리 비서실장이 된 이기우씨는 학연도 지연도 ‘빽’도 없는 사람이었다.

그는 항상 자신의 생활에 충실했다. 생활 속에서 만난 이들을 아는 사람으로 만들었다. 한 외국계 생명보험사의 인사관리 담당 부사장은 “외국기업의 경우 어느 정도 지위까지는 그 사람의 전문성을 고려하지만 중역을 뽑을 때는 얼마나 많은 경험을 쌓았으며 얼마나 다양한 사람과 관계를 맺고 있는지를 고려한다”고 말했다. 그는 또 “누구나 인맥 관리에 성공하기를 바라지만 평소 작은 것을 실천하지 못하는 사람은 인맥을 쌓을 수 없다”면서 “가장 기본은 역시 약속을 잘 지키는 것”이라고 말했다.

사적인 약속은 물론이고 출근 시간이나 회의 시간도 엄수하는 게 좋다는 것이다. 작은 것에서 싹트는 신뢰는 유리처럼 깨지기 쉽기 때문이다. 약속은 철저하게 지키고 신뢰는 서서히 쌓아야 한다.

특히 사내 인맥 형성은 기초이자 특별관리 대상이다. 인맥을 만드는 것도 좋지만 ‘적맥’(敵脈)을 만들지 말아야 한다. 이내화 성공전략연구소장은 “온실(회사) 속에 있을 때는 동료나 상사·부하의 소중함을 잘 모른다”며 “샐러리맨은 명함을 뺏기면 아무것도 아닌 존재”라고 충고했다. 바로 그런 상황에서 도움을 받을 수 있는 사람들이 바로 인맥이라는 것이다. 인맥 쌓기는 저급한 처세술이 아니다. 미국인이 무슨 이유로 휴먼 네트워킹을 비즈니스에서 가장 중시하는 능력 중 하나로 꼽겠는가.

3. 첫인상이 중요하다
사람은 처음 만난 사람을 4~6초 만에 가까이할 것인지, 그러지 않을 것인지 판단한다고 한다. 판단 기준은 물론 첫인상이다. 심리학자들에 따르면 첫인상이 좋은 사람들의 공통점은 ▶차분하다 ▶상대방의 눈을 보고 천천히 이야기한다 ▶유머가 풍부하다 ▶예의가 바르다 ▶ 남의 이야기를 관심 있게 듣는다로 추려진다.

헤드헌터로 유명한 유순신 유앤파트너스 사장은 “비중 있는 인물일수록 처음 만났을 때 ‘이 사람이 나와 맞는 사람인지 아닌지’를 보는 이들이 많다”며 “잘 웃고 표정이 밝은 사람이 인간관계도 잘 이끌어 나간다”고 경험을 추론했다. 여기에 다른 사람과 차별화되는 매력 포인트가 있다면 더할 나위가 없이 좋다. 악기를 다루는 능력이나 대화의 소재가 될 수 있는 요리 실력도 좋다. 미국에서 성공한 사람의 대부분은 평균 이상의 외모를 가졌다는 연구결과도 있다.

4. 한 분야에서는 ‘프로’가 돼라
비즈니스 측면의 인맥은 ‘사람 좋음’만으로 안 되는 경우가 많다. 이곳에서는 흔히 ‘정보의 등가교환 법칙’이 통용된다. 서로 필요한 정보를 주고받는 관계가 되는 것이다. 최근 늘어나고 있는 전문가 모임에는 특히 필요한 법칙이다. 더구나 갈수록 경쟁이 치열해지는 상황에서 전문성은 인간관계의 밀도를 높이는 중요한 요소가 되고 있다. 인품이 좋은 데다 전문성까지 있다면 금상첨화이기 때문. 한 분야에서는 프로가 돼야 하는 것이다.일반적으로 ‘마당발’로 소문난 이들은 서로 다른 분야에 있는 사람들의 ‘중매’를 서는 데 프로 기질이 있다.

5. 인맥의 허브를 찾아라
자전거 바퀴살은 중심(hub)에서 만난다. 사람 중에는 ‘인간 중계기’ 역할을 잘하는 사람이 있다. 이 사람이 바로 ‘정보통’으로 불리는 인맥의 허브다. 실제로 모임의 시솝들이 관계의 중심을 이용해 신규 사업을 하는 예도 종종 있다.

영업을 오래 해본 이들은 어떤 모임에서 총무나 간사 자리를 자원해 맡는 경우가 많다. 회장은 자금을 지원해야 하지만 총무나 간사는 일종의 연락책일 경우가 많기 때문에 사람들과 자연스럽게 가까워진다. 일본의 경제주간지 닛케이 비즈니스지는 최근 술자리 간사를 맡는 것이 영업사원의 제1 목표라고 한 적이 있다.

하지만 체질에 맞지 않는데 애써 ‘빵빵한 허브(연결선이 많은 사람)’가 될 필요는 없다. 하지만 허브 역할을 하는 이들과 링크돼 있는 게 중요하다. 관절이 중요하듯 이들은 인맥의 관절이기 때문이다. 특히 사내 소식통과는 친하게 지낼 필요가 있다.

외부 인맥 형성에서도 허브를 찾는 게 중요한데 흥미로운 것은 ‘진한 연결’보다‘약한 연결’이 직장을 얻는 데 도움이 된다는 점이다. 미국 존스홉킨스대의 마크 그라노베터 교수는 『취업(Getting A Job)』이라는 책에서 새로운 직장을 얻은 이들의 82.5%가 ‘잘 알고 있는 사람’(진한 연결)보다 ‘대체적으로 알고 있는 사람’(약한 연결)을 통해 취업했다고 밝히고 있다.

네트워크에 관한 연구를 하고 있는 한국과학기술원 정하웅(물리학) 교수는 “샐러리맨의 경우 ‘약한 연결’이 중요한데 이들이 중요한 이유는 특별한 정보가 필요할 때 주변 인물(진한 연결)들은 갖고 있는 정보가 비슷하기 때문”이라고 말했다. 친하지 않다고 무시하면 안 된다는 것이다.

6. 바쁘다고 다 좋은 건 아니다
한 중소기업 사장은 얼마 전 용기를 내 서울 소재 대학의 특수대학원에 들어갔다. 사람도 알고 공부도 할 생각이었다. 그러나 그는 한 학기 만에 학교를 포기하고 말았다. “명함 돌리는 사람들이 워낙 설치는 바람에 아무것도 기대할 게 없었기 때문”이다.

명함을 많이 돌리고 많은 명함을 갖고 있다고 마당발이 되는 것은 아니다. 인맥을 중시하거나 인적 네트워크가 보통 이상인 것으로 알려진 이들이 공통으로 말하는 효과적인 인맥 쌓기의 비결은 만남의 횟수, 도를 넘은 분주함이 아니었다.

이내화 소장은 “누구를 안다는 것과 무엇을 잘하는 사람을 안다는 것 사이에는 엄청난 차이가 있다”며 “많은 사람이 학연이나 지연 같은 연(緣)을 인맥이라고 생각하는데 인맥은 이런 개념이 아니라 다른 사람의 경험이나 지적 자산을 빌려 쓰는, 인간들로 구성된 거미줄 같은 네트워크에 접속하는 개념”이라고 말했다.

전쟁에서도 전선을 넓히면 승리의 가능성은 줄어든다. 만나면 푸념이나 늘어놓고 비생산적인 일이나 하게 하는 인맥은 잘라 버려야 한다. 무작정 관계를 넓히는 것보다 1년에 한 번 정도 정기 점검을 통해 깊이를 추구할 필요가 있다.

7. 먼저 주고 나중에 받는다
도움을 받기 위해 사람을 관리하는 이들은 금방 정체가 탄로나고 만다. 바람직한 ‘사람과 사람의 관계’는 서로 도움이 되는 관계다. 자신은 일전 한 푼 손해를 보지 않는 관계는 금방 깨지고 만다. 경력관리 전문기업 HR코리아의 황소영 부장은 “미국 카네기멜론 대학의 조사 결과 지적 능력이나 재능이 성공에 미치는 영향은 15%에 불과했고 인간관계가 85%였다”며 “원활한 인간관계란 ‘누구누구와 사이가 좋다’거나 ‘누구누구와 친하다’는 개념이 아니라 서로를 성장시키고 서로의 능력을 높이는 관계를 의미한다”고 말했다.

인맥 만들기는 이제 샐러리맨의 ‘성공 포트폴리오’에서 빠져서는 안 되는 투자 종목이 되고 있다. 혼자 살아갈 수는 없기 때문이다. 더구나 세상은 사람과 사람으로 이루어져 있지 않은가.

부자들을 만날 때는 이런 걸 조심해야…

▶ 수다스러움 : 부자들은 말하기보다 경청한다
▶ 지저분한 용모 : 부자들은 자신에게 무관심하지 않다
▶ 남 앞에서 아랫사람 야단친다 : 부자들은 타인을 존중한다
▶ 남을 지나치게 의식한다 : 부자들은 자신감 있는 사람이다
▶ 상대의 전문 분야를 아는 척 : 부자들은 어느 한 분야의 전문가다
크리에이티브 커먼즈 라이선스
Creative Commons License
Posted by Kiwoong~
2007-01-23, 염기웅(abc@dbabc.com.korea / kiwoong.dbabc.com)


<참고> 상기한 저자 이메일의 .korea는 스팸 방지용입니다.


버전: 공통

액세스 쿼리나 폼을 디자인하다 보면, 계산식을 많이 이용하게 됩니다. 이 때, 계산식을 일일이 타이핑하는 것은 여간 불편한 것이 아닙니다. 오늘은 식 작성기를 이용하여 계산식을 보다 손쉽게 입력하는 방법에 대해서 알아보겠습니다.

우선 예제 파일을 다운로드 받기 바랍니다.
049_Sample.mdb

예제파일 다운로드



예제 파일에서 ‘q001_단가계산’ 쿼리는 손으로 타이핑하여 만든 계산식입니다. 다음 그림을 참고 바랍니다.


아주 간단한 계산식임에도 불구하고, 상당한 내용을 타이핑해야 합니다. 물론, 타이핑하다가 작은 실수라도 한다면, 액세스 쿼리는 오류 메시지를 출력하면서 실행되지 않겠지요.

‘금액’ 필드를 만들 때 ‘식 작성기’를 이용하면 보다 쉽게 계산식을 입력할 수 있습니다.

‘금액’ 필드를 만들기 위해 쿼리 디자인 보기의 빈 필드에서 마우스 오른쪽 버튼을 클릭해 봅니다. 그러면 다음 그림과 같은 팝업 메뉴가 나타납니다.


이 팝업 메뉴에서 ‘작성’을 클릭하면 다음과 같은 ‘식 작성기’가 나타납니다.


‘식 작성기’에는 데이터베이스에 저장된 모든 테이블, 쿼리, 폼, 보고서, 함수를 참조할 수 있는 링크가 담겨 있습니다. 우리는 ‘주문서_내역’ 테이블의 단가 필드에 수량 필드를 곱하는 계산식을 만들 것이므로, 식 작성기에서 ‘주문서_내역’ 테이블을 클릭하고, ‘단가’ 필드를 더블 클릭하면 앞의 그림과 같이 ‘주문서_내역’ 테이블의 ‘단가’ 필드를 가리키는 계산식이 자동으로 입력되는 것을 볼 수 있습니다.

마찬가지 요령으로 ‘수량’ 필드도 입력한 후 ‘확인’ 버튼을 클릭하면 다음 그림과 같이 ‘금액’ 필드에 대한 계산식을 편리하게 정의할 수 있습니다.
크리에이티브 커먼즈 라이선스
Creative Commons License
Posted by Kiwoong~
2007-01-23, 염기웅(abc@dbabc.com.korea / kiwoong.dbabc.com)


<참고> 상기한 저자 이메일의 .korea는 스팸 방지용입니다.


버전: 공통

액세스는 엑셀과 달리 저장할 필드 단위로 데이터 형을 지정해 주어야 합니다. 엑셀은 데이터 형을 자동으로 지정해 주는 반면, 액세스는 데이터를 저장하기 전에 ‘미리’ 데이터 형을 지정해 주어야 합니다. 엑셀을 사용하다가 액세스를 접하게 되면 이해가 안 되는 부분이 몇 개 정도 있게 마련인데, 데이터 형을 ‘미리’ 지정해 주어야 한다는 것도 그런 요소 중 하나가 아닐까 합니다.

반면, 액세스는 엑셀에 비해 비교할 수 없을 정도의 데이터 처리 능력을 자랑합니다. 65,000개 레코드의 데이터를 정렬하는 데 엑셀은 수 초가 필요하지만, 액세스는 순식간에 처리합니다. 처리해야 할 데이터가 100만개를 넘어가게 되면, 액세스의 이런 장점은 눈이 부실 정도이지요.

데이터 형을 미리 지정하는 것은 이러한 성능 향상에 많은 도움이 되기 때문이라고 이해하기 바랍니다. 처음에는 다소 불편할지 모르지만, 처음 한 번만 불편하면 나중에는 향상된 성능에 아주 만족할 것입니다.

데이터 형을 결정하는 것은 꽤나 기술적인 내용을 많이 알아야 하고 어려운 일이기도 합니다. 오늘은 기술적인 내용을 가급적 제외하고, 결론 위주의 데이터 형을 결정하는 방법에 대해서 알아보겠습니다.

액세스는 데이터 형을 지정하는 데 두 단계를 이용합니다. 하나는 ‘데이터 형식’ 속성이며, 나머지 하나는 ‘필드 크기’ 속성입니다.


앞의 그림을 보면 알 수 있듯이, 테이블을 디자인할 때 1차적으로 ‘데이터 형식’ 속성을 통해 데이터 형의 ‘범주’를 지정해 주며, 세부적인 데이터 형은 ‘필드 크기’ 속성을 이용해서 지정합니다. ‘재고량’ 필드의 경우 ‘숫자’ 형식의 데이터가 저장되며, 저장되는 숫자의 크기는 -32768 에서 32767 까지 저장이 가능한 ‘정수’ 입니다.

어떤 데이터 형은 ‘필드 크기’ 속성을 추가로 지정할 필요가 없으며, 어떤 데이터 형은 ‘필드 크기’ 속성을 반드시 지정해 주어야 합니다. 내용이 너무 어렵다면, 1차적인 데이터 형인 ‘데이터 형식’ 속성만 잘 설정하고, 2차적인 ‘필드 크기’ 속성은 추가로 지정하지 않아도 대부분 큰 문제는 없는 것으로 이해해도 좋습니다. 따라서 오늘은 ‘데이터 형식’ 속성을 지정하는 팁에 대해서 알아보겠습니다.

본래, 인간이 처리하는 데이터의 가장 기본이 되는 것은 텍스트(text) 데이터 형입니다. ‘A’, ‘B’, ‘C’, ‘D’ 혹은 ‘가’, ‘나’, ‘다’, ‘라’ 혹은 ‘1’, ‘2’, ‘3’, ‘4’ 와 같은 문자 데이터를 말하는 것이지요. 우리가 흔히 사용하는 숫자를 문자 데이터 형식으로 저장해도 아무런 문제가 없습니다. 바꾸어 말하면, 데이터 형식을 지정하는 것이 어렵다면 무조건 ‘텍스트’ 형식의 데이터로 지정해도 데이터 저장에는 아무런 문제가 없다는 것입니다.

하지만 텍스트 형태로 지정된 숫자는 ‘계산’할 수 없으며, 텍스트 형태로 지정된 날짜는 ‘날짜 연산’을 수행할 수 없습니다. 따라서 우리는 해당 필드에 사용할 값을 미리 고려하여 적절한 데이터 형식을 지정해 주어야 합니다.

가장 기본적인 데이터 형식은 텍스트, 숫자, 날짜/시간 입니다. 문자를 저장해야 할 필드에는 ‘텍스트’ 필드를 이용하고, 숫자를 저장해야 할 필드에는 ‘숫자’를 이용합니다. ‘날짜/시간’ 데이터 형식은 ‘숫자’의 특수한 형태로 처리됩니다. 날짜 혹은 시간을 기록할 때 ‘날짜/시간’ 데이터 형식을 이용하면 액세스가 제공하는 풍부한 날짜 계산 함수를 이용하여 편리하게 날짜 및 시간 계산을 수행할 수 있습니다. (물론 속도도 아주 빠르지요.)

  • 문자 데이터의 저장

    • 문자 데이터를 저장할 때는 ‘텍스트’ 혹은 ‘메모’ 데이터 형식을 이용합니다.

    • ‘텍스트’와 ‘메모’의 가장 큰 차이는 저장 용량에 있습니다.

    • ‘텍스트’ 데이터 형식은 최대 255글자까지 저장을 할 수 있으며 ‘메모’ 데이터 형식은 65535 글자까지 저장할 수 있습니다. (참고: 한글이던 영문이던 액세스는 모두 1글자로 처리합니다. 예) 강  1글자, A  1글자)

    • 하지만 ‘텍스트’ 데이터 형식은 ‘인덱스’를 활용하여 데이터 검색 속도를 높일 수 있습니다.

    • ‘인덱스’란 데이터 검색을 빨리 하기 위한 도구로서 데이터의 양이 많을 때(수십만 건 이상) 보통 7~8배 이상의 성능 향상을 가져올 수 있는 도구입니다.

    • 결론: 문자 데이터의 경우, 255글자 이하라면 ‘텍스트’ 데이터 형식을, 255 글자를 초과하면 ‘메모’ 데이터 형식을 이용합니다.


  • 숫자 데이터의 저장

    • 숫자 데이터를 저장할 때는 ‘숫자’ 혹은 ‘통화’ 데이터 형식을 이용합니다.

    • 정수 형태의 숫자를 저장할 때는 어떤 데이터 형식을 이용해도 무방하지만, 소수 형태의 숫자를 저장할 때는 고민을 좀 해 봐야 합니다.

    • ‘숫자’ 데이터 형식을 지정하고 필드 크기 속성을 ‘실수’로 지정하면 소수를 저장할 수 있습니다.

    • 하지만 ‘실수’ 형태의 ‘숫자’는 소수점 계산(근사값 계산)을 수행하며, 계산 중간에 반올림 처리가 되므로 여러 계산이 중첩될 경우 부정확한 값으로 표시될 수 있습니다.

    • 반면, ‘통화’ 형식은 소수점 넷째 자리까지 표현 가능하며, 정수인 것처럼 계산하고, 계산 중간에 반올림 처리가 되지 않으므로 계산이 중첩되더라도 정확한 값을 계산할 수 있습니다.

    • 결론: 소수 형태의 데이터를 저장할 때, 정확한 계산을 필요로 하고 소수점 4자리를 넘어가는 정밀도를 요구하지 않을 때는 가급적 ‘통화’ 데이터 형식을 이용합니다.


  • 날짜 혹은 시간 데이터의 저장

    • 날짜 혹은 시간 데이터를 저장할 때는 ‘날짜/시간’ 데이터 형식을 이용합니다.

    • 간혹, ‘20060115’ 혹은 ‘2006-01-15’ 형태로 ‘텍스트’ 데이터 형식을 사용하는 경우도 많은데, 이럴 경우 날짜 연산 (오늘부터 6개월 후는? 오늘부터 3개월 이전 날짜는?)을 수행하는 데 많은 어려움이 따릅니다. (윤년, 윤달 계산 등)

    • 반면, ‘날짜/시간’ 데이터 형식을 이용하면 ‘DateAdd’, ‘DateDiff’, ‘DateSerial’ 을 비롯한 수십 개의 액세스 날짜 함수를 이용할 수 있어 편리하게 계산할 수 있습니다.

    • 결론: 날짜 혹은 시간 데이터를 저장할 때는 ‘날짜/시간’ 데이터 형식을 이용합니다.
크리에이티브 커먼즈 라이선스
Creative Commons License
Posted by Kiwoong~
2006-11-29, 염기웅(abc@dbabc.com.korea / kiwoong.dbabc.com)


<참고> 상기한 저자 이메일의 .korea는 스팸 방지용입니다.


버전: 공통

지난 데일리 팁에서는 매개변수 쿼리를 이용하여 데이터 조회에 융통성을 부여하는 것을 알아보았습니다. 오늘은 보다 더 편한 조건 입력을 위해서 대화상자를 이용하는 방법에 대해 알아보겠습니다.

우선 예제 파일을 다운로드 받기 바랍니다.
047_samples.mdb

예제파일 다운로드



다음 그림은 고객별 판매 실적 차트를 보기 위한 대화상자와 그 구현 예입니다. ‘고객별 판매 실적’ 이라는 대화상자가 표시되고, ‘시작일’과 ‘종료일’을 적절히 설정한 후 ‘보기’ 버튼을 클릭하면 해당 조건에 맞는 차트가 표시됩니다.


1997년 데이터를 조회한 결과는 다음과 같습니다.


오늘 알아볼 내용은 이러한 것을 어떻게 구현하는가 하는 것입니다. 엑셀에서 이러한 것을 구현하려면 상당한 프로그래밍 작업을 해야 하지만, 액세스에서는 프로그래밍 작업이 거의 없이 이러한 것을 구현할 수 있습니다.

우선 대화상자를 이용하기 위해서 다음 그림과 같이 대화상자 폼을 디자인 합니다.


여기에서 ‘시작일’ 에 해당하는 텍스트 상자는 ‘txt시작일’, ‘종료일’에 해당하는 텍스트 상자는 ‘txt종료일’로 이름을 할당하였습니다.

지난번 데일리 팁에서 작성했던 매개변수 쿼리를 변경해야 합니다. 매개변수 쿼리에서 우리가 만든 대화상자의 ‘시작일’과 ‘종료일’의 값을 가리키도록 해 주면 됩니다.


예전 매개변수 [시작일] 대신 [forms]![f004_대화상자]![txt시작일] 이라는 폼 참조식이 들어갔으며, [종료일] 대신 [forms]![f004_대화상자]![txt종료일] 이라는 폼 참조식이 들어갔습니다.

폼 참조식의 일반형은 다음과 같습니다.

[forms]![폼이름]![컨트롤이름]


여기에서 ‘[폼이름]’은 ‘f004_대화상자’ 이며, ‘[컨트롤이름]’은 ‘txt시작일’ 이므로 다음과 같은 폼 참조식을 만들어 이용할 수 있습니다.

[forms]![f004_대화상자]![txt시작일]


‘q004_고객별 판매 실적_날짜조건’ 쿼리가 실행되면 폼 참조식의 컨트롤을 참조하여 우리가 원하는 대로의 데이터를 보여주게 됩니다.

다음은 기존에 매개변수 쿼리를 이용해 만들었던 차트의 데이터 원본을 변경해야 합니다. 다음 그림처럼 레코드 원본 속성을 ‘q003_고객별 판매 실적_날짜조건’ 에서 ‘q004_고객별 판매 실적_날짜조건’ 으로 변경합니다.


이렇게 하면 아주 편하게 원하는 조건을 선택하고 그에 따른 데이터 필터를 할 수 있게 됩니다. 이러한 작업을 하는데 필요한 프로그래밍 작업은 거의 없으며, 이러한 패턴을 응용하면 여러분의 업무를 정형화 하는데 많은 도움이 될 것입니다.

이번 액세스 실무 활용 과정에서는 이러한 점을 중점으로 하여 진행됩니다.
크리에이티브 커먼즈 라이선스
Creative Commons License
Posted by Kiwoong~
2006-11-27, 염기웅(abc@dbabc.com.korea / kiwoong.dbabc.com)


<참고> 상기한 저자 이메일의 .korea는 스팸 방지용입니다.


버전: 공통

액세스에서 쿼리를 이용하면 우리가 원하는 데이터를 쉽게 조작하여 볼 수 있습니다. 오늘은 이러한 조작에 융통성을 부여하는 작업을 알아보도록 하겠습니다.

우선 예제 파일을 다운로드 받기 바랍니다.

046_samples.mdb

예제파일 다운로드



예제 파일에서 ‘q001_1996년 실적’ 이라는 이름의 쿼리를 디자인 보기로 열면 다음과 같습니다.


고객별 실적을 계산하는 쿼리이며, 날짜 조건에 ‘BETWEEN A AND B’ 구문을 이용하여 1996년 실적만을 추출하도록 디자인 하였습니다.

1997년 실적을 보고 싶을 때는 어떻게 할까요? 해당 쿼리를 열어서 1996이라고 표시된 것을 1997로 변경시켜주면 되겠지요? 필요하다면 쿼리를 다른 이름으로 저장하면 되겠구요.

다음 그림은 이 쿼리를 부분적으로 수정하여 1997년 실적으로 저장한 내용입니다.


이 정도만 활용하여도 엑셀에서의 데이터 처리보다 한결 편하게 이용할 수 있습니다. 엑셀에서 자동 필터를 이용하면 데이터를 유연하게 찾을 수 있지만, 다른 조건을 찾았다가 다시 원래 조건으로 돌아오는 것이 꽤나 번거로왔을 것입니다. 하지만 액세스를 이용하면 이처럼 ‘조건을 저장’하여 데이터를 불러오는 규칙을 저장할 수 있어 편리합니다.

다음은 별도로 저장된 쿼리에 의한 데이터 결과값입니다. 1996년과 1997년의 ‘원창㈜’의 실적이 다름을 알 수 있습니다.



하지만 매 년 이러한 조건을 변경하여 저장하는 것이 과연 좋은 방법일까요? 혹시 분기별로 실적을 보고 싶다면 어떻게 해야 할까요? 혹시 월별로 실적을 보고 싶다면? 수없이 많이 저장된 쿼리에서 어떤 하나를 찾아내는 작업이 오히려 어려워지지 않을까 합니다.

그래서 오늘 공부할 내용인 ‘매개변수 쿼리’를 이용하여 이러한 쿼리 활용에 융통성을 부여해 보도록 하겠습니다.

‘매개변수 쿼리’를 이용하는 것은 아주 쉽습니다. ‘조건’에 해당하는 곳을 다음 그림과 같이 매개변수로 대치하면 됩니다.


매개변수로 대치할 때는 다음의 규칙을 따라야 합니다.
  • 매개변수명을 대괄호([])로 둘러싸 줍니다.

  • 매개변수명은 한글, 영문, 숫자를 비롯한 대부분의 특수문자를 허용하지만 ‘_’를 제외한 특수문자는 이용하지 않는 것이 좋습니다.

  • 매개변수명은 해당 쿼리에 등록된 필드명과 달라야 합니다. (앞의 그림에서 [UnitPrice] 라고 매개변수명을 할당하면 이것은 매개변수로 동작하는 것이 아니고, 필드 값을 가져오는 결과를 나타냅니다.)

  • 따라서, 매개변수명에 접두어 ‘prm’을 붙여 [prmUnitPrice] 와 같이 이용하는 것이 좋습니다.


이렇게 매개변수화 된 쿼리를 실행하면 쿼리 실행 시점에 다음 그림과 같이 매개변수 값을 물어옵니다. 여기에서는 [시작일] 과 [종료일]을 물어오겠죠? (데이터베이스 창에서 ‘q003_고객별 판매 실적_날짜조건’ 이라는 이름의 쿼리를 실행해 보기 바랍니다.)


이에 대한 쿼리 결과값입니다.


쿼리를 닫고 다시 시작합니다. 시작일을 1997-1-1, 종료일을 1997-12-31 로 하게 되면 다음과 같은 결과를 얻습니다.


매개변수 쿼리가 가지는 가장 큰 장점은 데이터를 추출할 때 ‘정형화’ 할 수 있다는 점입니다. 우리가 1996년 실적, 1997년 실적 등으로 저장한 것이 아니고, 데이터의 형태에 따라 ‘고객별 판매 실적’이라는 이름으로 쿼리를 저장할 수 있다는 것 자체가 많은 융통성을 발휘하게 해 주는 것이지요. 매개변수 쿼리를 잘 활용하면 여러분의 업무에서 자주 조회하는 데이터를 정형화 하여 쉽게 볼 수 있게 됩니다.

마지막으로 응용 예를 한 번 살펴보겠습니다. 우리가 만든 ‘q003_고객별 판매 실적_날짜조건’ 쿼리를 바탕으로 하여 차트를 만들었습니다. (폼: f003_고객별 판매 실적_날짜조건)

데이터베이스 창에서 이 폼을 실행하면 우선 매개변수 쿼리가 동작하여 시작일과 종료일을 물어옵니다. 적당한 날짜를 입력하면 다음 그림과 같이 멋진 차트가 보여집니다. 이 그림은 1996년 데이터를 조회한 것입니다.


폼을 닫고 다시 열어, 1997년 데이터를 조회하면 다음과 같습니다.


이처럼 매개변수 쿼리를 이용하게 되면 ‘데이터 추출’ 작업을 보다 손쉽고, 정형화 할 수 있는 장점이 있습니다. 다음 데일리 팁에서는 매개변수 쿼리에서 한 발 앞서 나간 ‘대화상자를 이용한 정형화’에 대해서 알아보겠습니다.
크리에이티브 커먼즈 라이선스
Creative Commons License
Posted by Kiwoong~