I   회사소개  I  사이트맵  I  도움말
인기검색어
  ID저장
 
회원가입 I 아이디/비밀번호찾기
ㆍOS / 하드웨어 / 서버군
ㆍOA / 오피스 / 전자출판
ㆍ아이폰 / 안드로이드
ㆍ디지털 포토그래피
ㆍ그래픽 / 홈페이지
ㆍ인터넷 프로그래밍
ㆍ일반프로그래밍
ㆍ게임프로그래밍
ㆍSNS / E-Business
ㆍ데이터베이스
ㆍ기 타
ㆍ길라잡이
ㆍ실력이 탐나는
ㆍ회사 실무에 힘을 주는
ㆍ예제가 가득한
ㆍ그림 한 장으로 보는
ㆍ디지털 포토그라피
ㆍ그래픽/홈페이지
페이스북 블로그 네이버포스트
관련분류 : 일반 프로그래밍 / 비주얼 C++
Professional Visual C++ Windows Shell Programming - 절판
크게보기 l 차례보기
ㆍ저 자
ㆍ역 자 서용진
ㆍ구 분 번역서
ㆍ발행일 2000년 01월 05일
ㆍ정 가 30,000원
ㆍ페이지 937 페이지
ㆍISBN 89-7627-619-1
ㆍ난이도 중급.상급
ㆍ출판사 정보문화사
이 책은 윈도우즈 개발 작업에 어느 정도의 경험을 가지고 있으면서 비주얼 C++에서 COM과 ATL을 사용하여 여러분의 애플리케이션을 쉘과 통합하는 방법을 보여준다. 여기서 하는 얘기는 바탕 화면을 좀더 그럴 듯하게 바꾸는 차원의 얘기가 아니다.

▣ 내용

Windows Shell은 파일 시스템 액세스나 프로그램 실행 그리고 시스템 전반에 걸친 셋팅의 변경과 같은 공통 작업을 가능하게 하는 Windows 9x와 Windows NT를 위한 사용자 인터페이스이다. 하지만, Windows Shell은 단순히 사용자와의 대화를 위해서만 만드어진 것이 아니다. 이 쉘은 여러 가지 프로그래밍 훅을 가능하게 해서 여러분의 애플리케이션 작성에 이르기까지의 모든 쉘의 기능을 확장하고 또한 함께 작업하는 방법을 보여준다.

이 책에서는 쉘 프로그래밍 테크닉의 개요를 설명하면서 Windows Shell로 복잡한 액션을 수행하거나 C++ 프로그램을 사용하여 커스터마이징하는 방법을 보여준다. 또한, Shell API, Windows Scripting Host, Shell and Namespace Extentions 등에 대해서도 설명한다.

Windows Shell 프로그래밍을 위한 유용한 툴 분석
다양한 Windows 9X와 Windows NT 쉘 버전에 대한 고찰
Windows Shell API 배후에서 일어나는 일들에 대한 탐구
비주얼 C++ 6과 ATL 3.0을 사용한 쉘-통합 애플리케이션 개발
최신의 쉘 버전에 대한 기능과 버그 때문에 생기는 문제들에 대한 도큐먼테이션
Windows Scripting Host에 대한 설명, 사용과 확장
COM과 ATL을 사용한 쉘 익스텐션과 네임스페이스 익스텐션의 프로그래밍
쉘의 움직임을 내 마음대로 바꾸는 방법
 
이 책은 Wrox Press에서 발행한 Dino Esposito 저의 Visual C++ Windows Shell Programming을 번역한 책이다. 말 그대로 Windows 쉘 프로그래밍에 대한 내용을 다룬다. 애플리케이션을 만들고 나서 고려하지 않을 수 없는 것이 Windows상에서의 자리잡기이다. 이를테면, 컨텍스트 메뉴나 아이콘 등록 같은 그런 작은 것들도 다 Windows 쉘과 협조를 해야만 가능하다. 이 책에서도 자주 예를 들고 있지만, 대표적으로 WinZip 같은 프로그램을 생각해 보면 언뜻 이해가 될 것이다. 이 책은 그런 Windows 쉘 프로그래밍과 관련된, 폭넓기보다는 깊이가 있는 내용들을 다루고 있다. 여러 가지 쉘 관련 API 함수와 레지스트리 관련 이야기, Windows 탐색기(Explorer), 쉘 익스텐션, 네임스페이스 익스텐션에 대한 이야기가 주류를 이루고 있다. 비주얼 C++를 사용한 기본적인 Windows 프로그래밍은 말할 것도 없고, 비주얼 베이직이나 ATL COM 프로그래밍에도 어느 정도의 지식이 있는 사람을 대상으로 한 책이다. 또한, MSDN의 내용과 서로 비교해 가면서 요점과 크게 관계가 없으면서 MSDN과 중복되는 내용은 그냥 MSDN을 참조하라고 말한다. 따라서, 이 책의 저자는 독자가 MSDN의 내용을 어느 정도 자유롭게 이용할 줄 아는 것으로 가정한다(그 정도면 번역서를 볼 필요가 없는 거 아닌가?).

번역서를 내면서 일러두기 형식으로 몇 가지 이야기하고자 한다.

먼저, 용어에 대한 이야기이다. 번역을 하면서 가장 고민하게 되는 것 가운데 하나이다. 영어의 용어들이 우리말로 많이 옮겨져서 보편적으로 정착이 된 것도 있지만, 그렇지 않은 것들도 아직 많다. 어떤 용어는 우리말로 옮길 경우에 조금 어색하다. 원어로 둘 것인가, 우리말로 바꿀 것인가를 결정하는 데 있어서 고민을 하게 만든 단어들이 있다. 이러한 경우에는 상황에 따라 원어를 그대로 두기도 하고, 어떤 경우에는 우리말로, 또는 원어를 발음 그대로 두었다. 결정 기준이 된 것은 어느 것이 더 이해하기 쉬운가 하는 것이었다.

예를 들어, '노출시키다'라는 단어가 있는데, 노출이라고 하면 무슨 옷벗는 얘기 같아서 마음에 안드는 단어이다. 영어의 expose란 단어를 번역한 것인데, 이 expose라는 말은 인터페이스(사용자 인터페이스를 말하는 것이 아니라는 건 알죠?)나 객체, 애플리케이션과 관련해서 영문 표현으로는 상당히 정착이 된 단어이지만, 한글로는 아직 좀 어색한 것 같다. 어떤 인터페이스에서 어떠 어떠한 메소드를 갖춰 놓고 있어서 필요할 경우에 그러한 메소드들을 구현해서 사용할 수 있게 하는 것, 어떤 객체가 어떠 어떠한 속성이나 함수를 가지고 있어서 사용할 수 있게 해주는 것, 또는 어떤 애플리케이션에서 자신의 서비스를 다른 애플리케이션에서 사용할 수 있도록 제공하는 행위를 가리키는 것이다. 말 그대로 인터페이스가 옷을 벗고(?) 자신이 가지고 있는 것(메소드)을 지나가는 사람들이 사서 마음대로 이용할 수 있도록 진열해 놓는, 뭐 그런 개념의 말이다. 정말 '드러내 놓는다', '노출시킨다'라는 뜻인데, 우리말로는 아직 어색한 느낌이 없지 않아 있다. 여러 인터넷 사이트를 방문해 보았는데, '노출시킨다'라는 말이 많이 사용되고 있는 것을 보았다. 달리 마땅한 말이 없어서일 것이다. 이 책에서도 마음에 드는 단어는 아니지만, 그냥 '노출시킨다'라는 단어를 사용하였다. 이상한 단어이기는 하지만, 그 느낌으로 이해해 주면 좋겠다.

이와는 달리, 원어를 그대로 살려둔 경우도 있다. 그러한 단어 중에 예를 들 수 있는 것이 resolve라는 단어이다. 바로 가기(shortcut)와 관련해서 사용될 경우, 바로 가기를 resolve한다는 것은 그 바로 가기가 참조하는 대상을 찾아내서 그 대상 문서나 프로그램을 연다는 뜻인데, 적당히 한 단어로 나타내기가 참 어려웠다. 네임스페이스와 관련해서도 사용되는데, 이 경우에는 네임스페이스 안에 있는 이름들을 그것이 나타내는 어떤 구체적인 정보와 연결시킨다는 뜻이다(p.771 참조). 그러니까 어떤 상징물이 나타내는 것을 그 상징물과 연결시킨다는 개념이다. 아직까지도 이에 해당하는 적절한 한국어 어휘를 찾지 못하였다. 길게 풀어 쓸까도 생각해 보았는데, 그래도 꽤 비중 있는 어휘이기 때문에 그렇게 하기는 좀 껄끄러운 면이 있었다. 그렇다고 '리졸브'라고 하기도 어색하고... 그래서 이 경우에는 원어를 그대로 살려두었다.

이와 비슷하게, 원어를 그대로 살려둔 또다른 예가 wrapper라는 단어이다. 우리말로는 무슨 포장지 정도밖에는 연상이 안되는 단어이다. MSDN에는 "다른 함수에 인터페이스를 제공하는 함수(A function that provides an interface to another function)"라고 되어 있다. 또한, 클래스나 객체와 관련해서도 사용되며, 이 경우 모두 어쩔 수 없이 wrapper라고 그대로 표기하였다.

물론, 우리에게 익숙한 경우에는 원어의 발음을 우리말로 표기하기도 하였다. 이를테면, 쉘 익스텐션이나 네임스페이스 익스텐션 같은 경우로, 이런 경우는 우리말로 옮길 경우에 이에 맞는 적당한 단어를 찾기가 어려웠으며, 원어의 발음을 우리말로 옮겨도 큰 무리가 없다고 생각하였기 때문이다.

사실, 이런 용어에 관한 얘기를 하자면 끝이 없을 정도이다. 어차피 새로운 기술이 자꾸 등장하면서 그 사람들도 없던 용어를 새로 만들어야 하고, 그것을 우리말로 옮기려니 더더욱 어색할 수밖에 없다. 이러한 현상은 새로운 기술에 대한 기사에서는 더욱 심각해져서 어떤 경우는 차라리 원어를 그대로 살려두기 때문에 영어로 쓰여진 책인지, 우리말로 쓰여진 책인지 헷갈릴 정도이다. 심지어, 그것이 더 이해하기 쉬운 경우도 있다. 위에서 설명한 것처럼 이 책에서도 필요할 경우에 원어를 살려두기는 했지만, 어쨌든 번역서이기 때문에 가능한 한 우리말로 옮기기 위해 많은 노력을 하였다.
본문 가운데 나오는 그림에 대해서도 간단히 이야기해야 할 것 같다.

본문 가운데 있는 그림들은 대개가 화면 캡쳐 그림으로, 원서에서는 영문 Windows를 기준으로 했기 때문에 번역하면서 가능한 한 한글 Windows상의 화면을 실어 놓기 위해서 노력하였다. 하지만, 시간 관계상 한글 Windows상의 화면을 잡기가 곤란한 부분으로서, 영문 Windows의 화면을 그대로 실어 놓아도 이해에 큰 무리가 없는 화면들은 원서의 그림을 그대로 실어 놓았다. 그 결과, 한글 Windows상의 화면과 영문 Windows상의 화면이 공존하지만, 이해하기는 어렵지 않으리라 생각한다. 영문 Windows 화면이라고 해도, File, Edit, Search처럼 메뉴 이름이 다른 정도이다.

끝으로, 이 책이 나오기까지 도와주신 정보문화사에 계신 모든 분들께 감사드린다.
 
 
"Wrox-Professional 시리즈" 관련도서는 총 59권 입니다.
- 실전 예제로 배우는 Flickr MASHUPS
- 실전 예제로 배우는 XNA Game Programming : For Xbox 360 and Windows
- Professional 엔터프라이즈 아키텍처를 위한 UML 모델링 & Visio
- Professional VB.NET 디자인 패턴 유연한 애플리케이션 생성하기
- Professional SCCD
- Professional 닷넷 네트워크 프로그래밍
- Professional 크리스탈 리포트 닷넷
- Professional Visual Basic .NET 2판
- Professional ASP.NET Web Services
- Professional XML Web Services
- Professional Visual Basic .NET Transactions
- Professional PHP4
- Professional XML for .NET Developers
- Professional Java Servlets 2.3
- Professional Java Server Programming J2EE 1.3 Edition
- Professional Java Web Services
- Professional J2EE EAI
- Professional XML Schemas
- Professional ADO.NET Programming
- Professional ASP.NET 1.0
- Professional EJB
- Professional Java XML
- Professional JSP 2nd Edition
- Professional .NET Framework
- Professional XML 2nd Edition
- Professional C#
- Professional ASP.NET
- Professional Java Data
- Professional Java Security
- Professional XML Databases
- Professional XSL
- Professional Java E-Commerce
- Professional Java Server Programming J2EE Edition
- Professional SQL Server 2000 Programming
- Professional Java Programming
- Professional Linux Programming
- Professional Linux Deployment
- Professional ASP Data Access
- Professional WAP
- Professional Visual Basic 6 Web Programming
- Professional JavaScript
- Professional Visual Basic 6 XML
- Professional JSP
- Professional ADO 2.5 RDS Programming with ASP3.0
- Professional Java XML Programming
- Professional PHP Programming
- Professional ASP XML
- Professional Active Server Pages 3.0
- Professional ADSI Programming
- Professional MFC with Visual C++
- Professional Java Server Programming
- Professional Visual C++ Windows Shell Programming
- Professional VB UML
- Professional XML Application
- Professional ASP Techniques for Webmasters
- Professional Visual C++ 6 Database Programming
- Professional Active Server Page 2.0
- Professional NT Services
- Professional MTS MSMQ with VB and ASP
 
                                  
회사소개      개인정보취급방침      고객센터     사이트맵      도움말