'컴퓨터이야기'에 해당되는 글 32건

  1. 2008.02.15 Singleton Pattern in C#
  2. 2008.02.15 레지스트리의 모든것 1
  3. 2008.02.12 바탕화면보기.scf 삭제되었을 때 복원방법
  4. 2008.01.25 Server.Transfer Vs. Response.Redirect 1
  5. 2008.01.24 Making Database Connections on ASP.NET 2.0
  6. 2008.01.24 Installating ASP.NET 2.0
  7. 2008.01.22 IIS에서 ASP.NET(aspx)만 실행안될 때 1
  8. 2007.12.03 IE의 JavaScript 성능 최적화 팁
  9. 2007.11.15 OOP의 시대적 의미 또는 필요성
  10. 2007.11.13 Visual Studio 컬러 세팅
  11. 2007.11.13 Editplus INI 파일 디렉토리 변경하기
  12. 2007.11.08 Visual Studio 단축키
  13. 2007.11.08 크로스케이블을 이용하여 인터넷 공유하기 2
  14. 2007.11.07 C++ template 함수의 정의
  15. 2007.11.07 PC 비프음 끄기

Singleton Pattern in C#

I suggest reading the articles in the order below.


[MSDN] Implementing Singleton in C#


Implementing the Singleton Pattern in C#

[CodeProject] Generic Singleton Pattern using Reflection, in C#

Source File
Demo Project

License

This article has no explicit license attached to it but may contain usage terms in the article text or the download files themselves.

레지스트리의 모든것



1.레지스트리의 의미
VOWNET_ (Voice Of Web)


레지스트리가 탄생하게 된 배경에는 한글 윈도우 3.1에서 사용되는 초기화 파일인 ini파일이 있었습니다. 한글 윈도우 3.1의 경우는 프로그램에서 특정한 정보를 기록할 경우 윈도우즈 디렉토리 아래에 초기화 파일인 ini파일을 사용해 정보를 기록하곤 했습니다. 그 중 대표적인 것이 win.ini, system.ini파일입니다.

물론 이 초기화 파일들 말고도 각각의 프로그램은 독자적인 ini파일을 가질 수 있었습니다. 덕분에 한글 윈도우 3.1을 오래 사용한 사용자들은 윈도우즈 디렉토리에 수많은 ini파일이 널려 있게 되어서 실제로 프로그램을 사용하다 삭제한 경우라도 초기화 파일은 지워지지 않아 커다란 문제가 되곤 했습니다.

또한 어떠한 프로그램은 직접 win.ini파일과 system.ini파일의 내용을 마구 건드리게 되므로(실제로 한글 오피스 4.2는 이러한 작업을 하는 대표적인 프로그램입니다.) win.ini파일과 system.ini파일 역시 쓸데없는 내용이 첨가되어 파일 크기가 커지는 경우가 발생했습니다.

더군다나 이러한 초기화 파일들의 내용은 모두 텍스트로 처리되어 있어 누구나 쉽게 바꿀 수 있었기 때문에 보안상에 문제가 되었을 뿐만 아니라 시스템을 부팅하는 과정에서 과다한 텍스트 파일을 읽어들여야 하기 때문에 한글 윈도우 3.1의 경우 사용하면 사용할수록 시스템의 속도가 느려지는 결점을 가지고 있었습니다. 한글 윈도우 3.1에서 win이란 명령어를 내리면 하드디스크가 엄청나게 돌아가며 시스템 시작이 늦다는 느낌을 받은 분들이 많을 것입니다. 이러한 일의 주범은 바로 ini파일이라고 해도 과언이 아닙니다.

이러한 결점을 보완하고자 한글 윈도우 95에서는 레지스트리라는 것을 도입했습니다. 물론 한글 윈도우 3.1과의 호환성을 위해서 ini파일들 역시 사용할 수 있습니다.

결국 레지스트리는 한글 윈도우 3.1의 ini 파일처럼 개개의 정보를 갖고 있는 환경 설정 파일인 셈입니다. 그렇기 때문에 레지스트리는 한글 윈도우즈의 95의 화면 구성에서 시스템 제어까지의 모든 특징을 갖고 있습니다.

결론적으로 말하면 레지스트리는 한글 윈도우 95의 설치 시에 생성되는 정보 파일입니다.
이 파일들의 항목들은 하드웨어, 소프트웨어, 유저, 그리고 PC나 네트워크의 특성들 나타내는 값들로 구성되어 있습니다.

그리고 사용자가 제어판에서 세팅을 하거나 새로운 소프트웨어를 설치하게 되면 레지스트리는 그 변화를 반영하여 바뀌게 됩니다. 이 레지스트리 세팅은 레지스트리 에디터(REGEDIT.EXE)에 의해 볼수 있는데 이것은 CD-ROM 에서 한글 윈도우 95를 설치하는 경우는 windows/system 디렉토리에 저절로 설치되어지며, 플로피 디스크로 설치하는 경우는 설치되지 않습니다.

레지스트리는 계층적인(hierarchical) 형태를 가지고 있기 때문에 폴더 구조로 꾸밀 수가 있습니다. ini 파일에서는 이러한 작업을 할 수가 없었습니다. 이러한 많은 이점 때문에 네트 워크 환경에서 사용자는 네트워크상의 어느 PC 에나 마치 자신의 데스크탑 PC 같이 드나들 수가 있습니다. 그리고 다수의 사용자가 하나의 컴퓨터에 환경정보를 저장하는 것도 가능합니다. (한글 윈도우 95에서 여러 사용자가 각각의 환경을 사용할 수 있게 한 것은 좋은 예입니다.)


2. 레지스트리의 구성
레지스트리는 크게 다음의 여섯 개의 서브트리로 이루어져 있습니다.

2.1 .HKEY_CLASSES_ROOT
이 곳에 저장되는 것은 OLE 데이터와 파일의 각 확장자에 대한 정보 그리고 각 파일과 프로그램간의 연결에 대한 정보가 들어있는 부분입니다. HKEY_CLASSES_ROOT를 더블클릭해서 보면 맨 처음 보이는 것이 파일의 확장자들인데, 한글 윈도우 95에서 사용되는 모든
형식의 확장자가 서브디렉토리 구조로 구성되어 있습니다. 일반적으로 각 확장자는 파일 타입과 연결되어 있습니다. 왼쪽 윈도우의 한 파일 타입을 선택하면 오른쪽 윈도우에는 그 타입의 파일이 어떤 프로그램과 연결되어 있는지 나타납니다.
예를 아래아 한글을 설치했다면 HWP를 선택했을 때에 오른쪽 윈도우에는 아래아한글과
연결되어 있다는 정보가 보일 것이다.

2.2 .HKEY_CURRENT_USER
한글 윈도우 95가 설치되어 있는 컴퓨터의 환경 설정들에 대한 정보를 담고 있는 곳입니다.
하나의 한글 윈도우 95를 여러 명의 사용자가 사용할 경우, 한 사용자가 자신의 ID와 패스워드를 이용해서 자신의 환경으로 한글 윈도우 95에 접속했을 때, 접속한 사용자가 맞춰놓은 세팅을 윈도우 95에 반영하기 위한 곳입니다. 따라서 각 사용자가 자신의 세팅을 다르게 바꾼다면 그 정보는 HKEY_USER라는 곳에 저장됩니다. 이곳을 더블클릭하면 여섯 개의 서브 메뉴가 나옵니다.
AppEvent는 현재 윈도우 95를 사용하는 사용자가 정의해 놓은 이벤트들의 리스트입니다.
Control Panel은 제어판과 동일한 설정을 할 수 있는 곳입니다. 이곳에서의 설정은 레지스트리를 변경하는 것보다 제어판에서 직접 바꾸는 것이 더 편리합니다.
InstallLocationsMRU는 최근에 새로 설치된 프로그램들의 위치를 알려줍니다.
Keyboard Layout에는 현재 사용하고 있는 키보드의 사용 언어와 키보드 형식이 Dvorak인지 혹은 Qwerty 방식인지에 대한 정보가 담겨 있습니다.
Network는 최근에 이용했던 네트워크 드라이브에 대한 정보 등을 담고 있는 곳인데, 네트워크 기능을 이용하지 않는 사용자들은 아무 값도 설정되어 있지 않습니다.
끝으로 Software에는 설치된 한글 윈도우 95용 프로그램들에 대한 정보가 담겨 있습니다.
이 프로그램들이 32비트를 지원하지 않는다면 별다른 정보가 기록되지 않고 프로그램의 이름만 등록됩니다.

2.3 .HKEY_LOCAL_MACHINE
HKEY_LOCAL_MACHINE은 컴퓨터에 설치된 하드웨어와 하드웨어를 구동시키는데 필요한 드라이버나 설정 사항에 관련된 정보를 모아 둔 곳입니다. Config에는 프린터와 화면 설정 같이 컴퓨터를 켜고 윈도우 95를 구동시킬 때 필요한 설정에 대한 정보가 담겨 있습니다. 이 부분 역시 레지스트리 값을 변경하지 않고 윈도우 95의 제어판에서 설정해 줄 수 있습니다.
Enum은 사용자의 컴퓨터에 설치된 하드웨어에 관한 정보를 갖고 있습니다. 예를 들어 IDE 하드디스크 드라이브나 플로피 드라이브에 관한 정보 등이 이 곳에 저장됩니다. 플러그앤플레이를 지원하는 하드웨어가 설치되면 Root라는 키에 저장됩니다.
Software는 디바이스 드라이버나 시스템에서 사용하고 있는 소프트웨어에 관한 전반적인 정보를 담고 있습니다. 각종 응용프로그램들은 각 파일들과 연계되어 있는 것이 보통입니다.

2.4 .HKEY_USERS
HKEY_CURRENT_USER에 저장된 정보 전체와 데스크탑 설정, 네트워크 연결등의 정보가 저장되어 있으며, USER.DAT에 그 내용을 저장합니다. 윈도우 95를 사용하는 사람이 한 명일 경우에는 모든 설정 사항이 HKEY_CURRENT_USER의 내용과 일치합니다.

2.5 .HKEY_CURRENT_CONFIG
HKEY_CURRENT_CONFIG는 레지스트리 가운데 가장 단순한 부분입니다. 여기에는 위에서 설명한 HKEY_LOCAL_MACHINE에 서브로 존재하는 Config의 내용만을 담고 있다. 따라서 디스플레이와 프린터에 관한 설정만을 볼 수 있습니다.

2.6 HKEY_DYN_DATA
HKEY_DYN_DATA는 Config Manager와 PerfStats라는 두 개의 서브키를 갖고 있습니다. PerfStats는 윈도우 95의 모니터 역할을 합니다.

3. 레지스트리를 바꾸면 윈도우가 달라 보인다.

◆ 레지스트리 편집기의 실행

%주의 : 레지스트리를 편집할 때에는 항상 주의를 기울여야 한다.

레지스트리 편집기는 C:WINDOWS 라는 디렉토리에 regedit.exe 라는 이름으로 존재한다. 시작 버튼을 누른 후 '실행'을 선택하여 이 파일을 실행하게 되면 레지스트리 편집기가 실행된다.
레지스트리 편집기를 실행하면 화면상에는 여러 가지 이름 모를 문자들이 디렉토리 구조로 표현되어 있을 것이다. 각각의 항목마다 모두 존재하는 이유가 있지만 우리가 목적하는 것이 아니라면 건드리지 않는 것이 좋다.
레지스트리를 편집하는 방법은 아주 간단한데, 새로운 키(대상)를 추가하고자 할 때는 원하는 부분을 선택한 후 마우스 오른쪽 버튼을 누르고 '등록'을 선택한 후, '키'라고 되어 있는 것을 선택한 다음, 키의 이름을 입력해 주면 새로운 키가 생성된다. 키가 추가되었다고 해서 모든 작업이 끝난 것은 아니고 여기에 각각의 값을 넣어주어야 한다. 값을 넣어줄 키를 선택하고 마우스 오른쪽 버튼을 눌러보자. 그러면 여기서 방금 전에 키를 만들 때와 같은 메뉴가 나올 것이다. 여기서 문자열 값, 이진 값, DWORD 값 등 원하는 값의 종류를 선택하고 새 값을 넣으면 값이 등록된다. 만일 이미 존재하는 값을 변경하고자 할 때는 변경하고자 하는 값을 마우스 왼쪽 버튼으로 더블클릭하면 값을 변경해 줄 수 있는 상태가 된다.

다시 한번 주의 사항
레지스트리 편집이라는 것이 중급 이상의 사용자라도 상당히 조심스러운 작업이라 상당한 위험이 따른다. 그러나 윈도우즈 95를 재미있고 다양하게 활용하기 위해서 레지스트리 편집 작업이 뒤따라야 하는 것 또한 어쩔 수 없는 사실이다. 안전한 작업을 하기 위해서 WINDOWS 디렉토리 안에 있는 레지스터 파일인 SYSTEM.DAT , SYSTEM.DA0 , USER.DAT , USER.DA0 이 네개의 파일을 미리 백업 해 두는 것이 좋다. 만일의 사태를 대비해서 꼭 해 두는게 좋을걸요.......

* 레지스터 파일 백업 방법
MDIR상에서 WINDOWS 디렉토리로 이동한후 ALT+Z를 누른다.
그 다음 SYSTEM.DAT , SYSTEM.DA0 , USER.DAT , USER.DA0 이 네개의 파일을 스페이스바로 선택한후 적당한 디렉토리에 복사해둔다. 압축을 해두는 것 도 좋은 방법

1. 시작 메뉴 속도 높이기
[시작]을 눌렀을 때 메뉴가 나타나는 속도(프로그램을 눌렀을때도임.)를 빨리 해준다.
HKEY_CURRENT_USER⇒Contral Panel⇒Desktop으로 이동한다. MenuShowDelay 키가 없다면 오른쪽 창에서 마우스 오른쪽 버튼을 눌러 ‘등록-문자열 값’을 누른 다음 ‘MenuShowDelay’ 키를 새로 만든다. 만들어진 문자열 값을 더블클릭하여 ‘값의 데이터’에 값을 ‘0’ 으로 하면 매우 빨라진다. 이미 존재한다면 그냥 새 값을 입력한다.

2. 자동 메뉴 확장 기능 제거
시작 버튼에 등록되어 있는 프로그램에 마우스 포인터를 위치시키면 자동으로 하위 메뉴가 나온다. 이것을 자동 메뉴 확장 기능이라고 하는데, 때로는 이 기능이 불편할 때가 있는데 이 기능을 없앨 수 도 있다.
HKEY_CURRENT_USER⇒Control Panel⇒Desktop 으로 이동한다. 우측 화면에 MenuShowDelay 라고 하는 키를 등록한 후, 여기에 ‘65534’ 라는 값을 넣어 준다. 이제 윈도우즈를 재시작 하면 마우스로 클릭하기 전까지는 하위 메뉴들이 저절로 나오는 일은 없을 것이다.

3. 바탕화면 단축 아이콘 왼쪽 밑에 있는 화살표 없애기
컴퓨터를 조금 알게 되면 화살표 붙은 것은 단축아이콘이라는 것을 누구나 안다. 단축 아이콘 밑에 나오는 화살표는 별 필요도 없는데 화면만 지저분하게 한다. 윈도우를 좀더 깔끔하게 하기를 원하는 사람은 이 방법을 쓰는 것도 좋을 듯 하다.
HKEY_CLASSES_ROOT⇒lnkfile로 이동한다. 또는 ‘편집-찾기’에서 찾을 문자열에 ‘IsShortCut’이라고 입력한다. 화면의 우측에 나타나는 내용 중에 IsShortCut이라고 되어 있는 부분이 있을 것이다. 이것을 삭제한다. 혹시 다음에 다시 보고 싶다면 삭제하지 말고 오른쪽 버튼을 눌러 이름만 바꾸어 주어도 (IsShort라고 몇 자만 지워도) 된다. 재부팅을 하면 깨끗한 단축아이콘이 보일 것이다.

4. 아이콘에 256컬러 이상의 컬러 입히기
플러스 팩을 설치하면 바탕화면 테마와 함께 256컬러 이상의 아이콘을 보여준다. 그러나 굳이 플러스를 설치하지 않고도 256 이상의 아이콘을 볼 수 있다. 단, 현재의 해상도에서 16비트 컬러나 24비트 컬러가 가능해야한다. 플러스가 설치되어 있다면 만질 필요는 없다.
HKEY_CURRENT_UER⇒Control Panel⇒Desktop⇒windowmetrics 으로 이동한다. ‘Shell Icon BPP’란 문자열값을 추가한 후(방법은 1번과 같다.)데이타 값을 16 또는 24로 값을 주면 256 컬러 이상의 아이콘을 사용할 수 있다. 여기서 16‘이라는 숫자는 16비트 색상을 의미한다.

5. 바탕화면 아이콘 크기변경
바탕화면의 아이콘 크기변경은 ‘디스플레이 등록정보-화면배색-항목-아이콘’에서도 조절해 줄 수 있다. 왜 힘들게 레지스트리까지 오냐고 묻는다면, 필자도 답변이 없다. 하지만 레지스트리에서도 크기를 변경하는 방법을 알고 있다고 해서 나쁠 건 없다고 본다.
HKEY_CURRNET_User⇒Contorl Panel⇒desktop⇒windowsmetrics으로 이동해서 ‘shell icon size'에서 오른쪽 버튼을 눌러 ’수정‘을 선택한 후 64정도로 늘려보자. 윈도우를 재부팅 하면 바뀐 내용을 확인 할 수 있다. 단, 아이콘이 너무 크면 윈도우의 속도가 느려진다는 점에 주의해야 한다.

6. '프로그램 추가/삭제' 목록에서 지워지지 않는 항목 제거
대부분의 프로그램은 설치돼 있는 상태에서 언 인스톨을 하면 목록에서 지워진다. 하지만 사용자가 수동으로 제거하였거나 혹은 프로그램은 삭제되었더라도 목록에는 그대로 남아 있는 경우가 가끔 있다. 이런 경우에 활용할 수 있는 레지스트리 편집방법이 있다.
HKEY_LOCAL_MACHINE⇒software⇒Microsoft⇒Windows⇒CurrentVersion⇒Uninstall이라는 항목으로 이동하면 현재 설치되어 있는 프로그램들의 이름이 출력되는 것을 볼 수 있다. 이 상태에서 제거하고 싶은 목록을 삭제한다.

7. 윈도우즈 사용자 등록정보 변경하기.
윈도우95를 직접 설치하지 않았다면 시스템 등록정보에 자기의 이름이 아닌 다른 이름으로 되어 있을 것이다. 이 설정은 다른 응용프로그램에도 영향을 끼칠 수 도 있는데 이 정보(사용자, 회사)를 변경하여 보자.
HKEY_LOCAL_MACHINE⇒Software⇒Microsoft⇒Windows⇒CurrentVersion으로 이동하면 우측 화면에 윈도우등록번호와 사용자에 관련된 여러 가지 정보가 출력된다. 여기서 값의 데이터를 바꾸어주면 된다.

8. 자동으로 최신 정보로 고치기
탐색기에 어떤 디렉토리를 만들어 넣었다든지 혹은 내용을 변경하였을 경우, 변경된 내용이 곧바로 화면에 적용되지 않고 F5 새로 고침을 눌러야지만 적용된다. 즉 디스크의 라벨을 바꾸었다든지, 새로운 폴더를 등록하거나 이동시켰을 때 화면에 나타나는 정보가 갱신되지 않는 것이다. 이때 레지스트리를 변경하여 바로 적용되도록 하자.
HKEY_LOCAL_MACHINE⇒System⇒CurrentControlSet⇒Control⇒Update으로 이동한다. 화면 오른쪽에 보이는 UpdateMode의 값을 01에서 00으로 바꿔준다.

9. 창이 뜨는 속도 높이기
윈도우즈95의 속도를 조금이라도 높이고 싶은 사람에게는 창의 최대화, 최소화에 따른 애니메이션도 속도를 떨어뜨리는 원인이 될 것이다. 여기서는 그 속도를 빨리 해주는 방법을 소개한다.
HKEY_CURRENT_USER_⇒Control Panel⇒desktop⇒windowmetrics으로 이동한다. 우측 화면에서 마우스 오른쪽 버튼을 누른 후 ‘등록-문자열 값’을 선택하고 ‘MinAnimate’라고 입력한다. 그 다음 이 값을 더블클릭하여 값을 '0'으로 설정한다. 이것으로 창이 열리거나 닫힐 때 최대화, 최소화 애니메이션표시가 되지 않아 창의 표시속도가 눈에 띄게 빨라진다.

10. 폴더 아이콘 모양 바꾸기
HKEY_CLASSES_ROOT를 선택하고 ‘FOLDER' 항목의 ’DefaultIcon'으로 이동한 뒤, 오른쪽 내용 창에서 기본 값을 선택한다. 그리고 ‘편집(E)’메뉴에서 ‘수정(M)'을 선택한다. 그러면 나타나는 ’문자열 편집‘ 대화상자에서 ’값‘의 데이터 상자에 원하는 모양의 아이콘 파일의 경로와 파일명을 기입해 주면 윈도우95의 폴더 아이콘이 변경된다.

11. 휴지통의 이름 바꾸기
데스크탑상의 대부분의 아이콘이나 단축아이콘 이름은 마음대로 바꿀 수 있다. 하지만 [휴지통]은 언제나 (노턴이 설치되었다면 [노턴안전휴지통]) 휴지통이다. 단축메뉴에도 이름 바꾸기가 없고 F2를 눌러도 아무런 반응이 없다. 난 이름을 “분리수거 할 것”이라고 바꾸고 싶다.
레지스트리 편집기를 실행시킨다. 편집-찾기 (또는 )를 누르고 “휴지통”이라고 입력한 후 다음 찾기를 누르면 오른쪽 창에 (기본값) ‘휴지통’ 이 (왼쪽은 신경 쓰지 말자) 보인다. (기본값)을 더블클릭하면 문자열 편집대화상자에서 값의 데이터를 바꾸어 주면 된다.
HKEY_CLASSES_ROOT에서 CLSID로 이동해서 찾아도 되는데 아주 어려울 것이다. 자신 있으신 분은 {645FF040-5081-101B-9F08-00AA002F954E}를 찾으면 된다. 아주 어렵죠
참고로 다른 것 몇가지도 함께 적어봅니다.
{20D04FE0-3AEA-1069-A2D8-08002B30309D} : 내 컴퓨터
{208D2C60-3AEA-1069-A2D7-08002B30309D} : 네트웍 설정
{00020D75-0000-0000-C000-000000000046} : 받은 편지함
{85BBD920-42A0-1069-A2E4-08002B30309D} : 서류가방
{3DC7A020-0ACD-11CF-A9BB-00AA004AE837} : 인터넷
{992CFFA0-F557-101A-88EC-00DD010CCC48} : 전화 접속 네트워킹
{21EC2020-3AEA-1069-A2DD-08002B30309D} : 제어판
{2227A280-3AEA-1069-A2DE-08002B30309D} : 프린터
{00028B00-0000-0000-C000-000000000046} : The Microsoft Network.

12. 시작메뉴에 제어판/휴지통을 추가해 보자.
레지스트리 편집과는 상관없지만... 제어판은 자주 이용되는 항목이다. 그런데 꼭 설정으로 가서 제어판을 눌러야한다. 시작과 함께 제어판의 내용을 모두 보자.
[시작]에서 오른쪽 버튼을 눌러 [탐색]을 누른다. [파일(F)]메뉴에서 새로 만들기 , 폴더 명령으로 새 폴더를 만든다.
새 폴더의 이름을 “제어판.{21EC2020-3AEA-1069-2ADD-08002B30309D}"으로 만들어 주면 시작에 제어판메뉴가 생긴 것을 확인 할 수 있다. 휴지통도 여기에 놓고 싶다면,”휴지통.{645FF040-5081-101B-9F08-00AA002F954E}“라고 추가해 주면 된다.

13. 바탕화면에서 휴지통 없애기
더 이상 바탕화면에 휴지통이 필요 없을 때가 있다. 이 역시 레지스트리를 이용해 간단히 제거 할 수 있다.
레지스트리 편집기를 실행시킨다. ‘HKEY_LOCAL_MACHINE⇒SOFTWARE⇒Microsoft⇒Windows⇒CurrentVersion⇒explorer⇒Desktop을 따라 내려간다. 하위 목록 중에 NameSpace를 선택한 뒤 {645FF040-5081-101B-9F08-00AA002F954E}에서 오른쪽 버튼. 항목의 키 값을 삭제하면 재부팅 후 휴지통이 사라진다. 오른쪽 버튼의 삭제는 그대로 있다. 물론 Delete키를 이용해도 된다. 사용하지 않는 인터넷 아이콘도 삭제 할 수 있다.

14. 바탕화면에서 네트워크환경 삭제하기.
바탕화면의 ‘네트워크 환경’ 아이콘은 두 가지 문제점을 가지고 있다. 첫째, 진짜 네트워크에 연결되지 않은 많은 사람들은 원하지 않아도 이 아이콘을 바탕화면에 두어야 한다. 둘째, 이 아이콘을 다른 폴더로 옮길 수 있는 방법이 없다. 따라서 이를 쓰지 않는 사람들은 이 아이콘을 바탕화면에서 추방하고 싶다고 생각할 것이다.
이 아이콘은 바탕화면에서 제거해도 네트워크 연결에 영향을 주지 않고, 또한 네트워크 드라이브를 UNC(Universal Naming Conventions)에서 지정해야 하는 것도 아니다. 다만 ‘네트워크 환경’의 이름을 바꾸거나 바탕화면에서 없애면 네트워크 연결이 안 되는 것이 아니라 네트워크 드라이브를 찾는 것이 약간 불편할 뿐이다.
네트워크 환경을 바탕화면에서 없애려면 레지스트리 편집기를 열고 다음을 찾는다.

HKEY_CURRENT_USER⇒Software⇒Microsoft⇒Windows⇒CurrentVersion⇒Policies⇒Explorer ‘편집’ 메뉴에서 ‘등록-DWORD'값을 선택한다. NoNetHood라고 입력하고 엔터키를 두 번 친다. 그리고 기본값에 1을 입력한다 이제 윈도를 다시 시작하면 바탕화면에서 ’네트워크 환경‘가 없어진 것을 확인할 수 있다. 원래대로 바꾸려면 NoNetHood값을 지우고 다시 윈도를 다시 시작하면 된다.
이러한 작업을 더 쉽게 하려면 마이크로소프트 파워토이에 포함된 Tweak UI를 이용하면 된다. 제어판의 Tweak UI아이콘을 두 번 클릭하여 열고 Desktop화면에서 Network Neighborhood항목을 클릭하여 체크 표시(v)를 없애주고 ‘확인’ 버튼을 누르면 된다.

15. 시작 때마다 자기만의 팁 보기
윈도우95를 처음 설치하였을 때, 실행할 때마다 윈도우 활용 팁이 표시되던 것을 기억 할 것이다.( 나지 안으면 어쩔 수 없죠.) 윈도우에서는 48가지 팁을 준비하여 두었다가 사용자가 윈도우를 시작 할 때마다 바꿔가면서 화면에 출력해 주는 재미있는 기능을 가지고 있다. 하지만 이 팁을 모두 보고 나면 더 이상 사용하지 않게 된다. 이럴 때 자기만의 명언이나 월간계획, 좋아하는 문장을 넣어두면 보다 재미있게 활용 할 수 있을 것이다.
레지스트리 편집기를 실행시킨다. HKEY_LOCAL_MACHINE⇒Software⇒Microsoft⇒Windows⇒CurrentVersion⇒explorer⇒Tip을 선택한다. 오른쪽에 0에서 47까지 팁이 표시되어 있다. 여기에 오른쪽 버튼을 눌러 각각의 팁을 수정해 주면 된다. 너무 많은 문장을 입력하면 레지스트리의 크기가 커지므로 필요한 만큼(?)만 입력하자.

16. BMP 그림 파일을 아이콘처럼 보기
탐색기에서 파일, 폴더 등의 개체를 보여줄 때 각 파일의 종류마다 고유의 아이콘 그림을 보여준다. 탐색기는 파일의 종류를 확장자로 판단한다. 예를 들어, txt파일은 공책처럼 생긴 그림으로 표시하고, doc파일은 마이크로 소프트 워드의 W글자 모양의 그림으로 표시한다. 또한 bmp파일은 컬러풀한 그림으로 표시한다.
이렇게 아이콘은 파일과 연계되어 있다. 이를 다른 아이콘으로 바꿔보자. 탐색기에 들어가 ‘보기’메뉴에서 ‘옵션’명령을 내린다. ‘옵션’ 대화상자에서 ‘파일 형식’탭을 누른다. 원하는 파일 종류를 선택한 다음 ‘편집’버튼을 누른다.
‘파일 형식 편집’창에서 ‘아이콘 변경’버튼을 누른 다음 ‘아이콘 변경’창에서 원하는 아이콘을 고르면 된다.
파일안에 있는 아이콘을 뽑아내 쓰려면 탐색기가 어떻게 작동하는지 알아야 한다.
예를 들어, ico파일은 파일 안에 들어 있는 아이콘 그림이 탐색기 상에서 아이콘으로 표시된다. ani파일도 역시 그 파일에 들어있는 작은 커서 모양으로 표시되고, exe 파일도 내부 아이콘 그림으로 표시된다. 다음 다섯 단계를 통해 bmp파일도 원래 그림 모양의 썸네일 아이콘으로 바꿀 수 있다. 썸네일은 원래 엄지손톱이란 뜻이다. 그래픽에서는 아이콘처럼 작은 조각 그림을 썸네일 이라고 부른다.
우선, 레지스트리 편집기를 실행시킨다. HKEY_CLASSES_ROOT⇒Paint.Picture⇒DefaultIcon라고 되어 있는 항목을 선택한다. 그런 다음 화면 오른쪽으로 이동하여 default 오른쪽 창에 이 값이 %1로 되어 있을 것이다. %1의 의미는 탐색기가 파일안에 있는 그림을 아이콘으로 쓰라는 뜻이다.
백업을 한다. 키를 백업하려면 레지스트리 편집기의 ‘레지스트리’메뉴에서 ‘등록 파일로 저장’ 명령을 내리면 된다. ‘등록파일로 저장’ 대화상자가 나오면 ‘OldBMPPictures.txt'와 같은 이름을 입력하고 ’저장‘버튼을 누른다. ‘기본값’이라고 써 있는 부분을 두 번 클릭하여 열고 ‘문자열 편집’ 대화상자에서 값을 데이터를 %1로 바꿔준다. 저장한 다음 레지스트리 편집기를 빠져 나온다 : 이제 탐색기를 시작하면 모든 bmp파일 아이콘이 썸네일 형태로 바뀌어 있는 것을 볼 수 있다.

♣주의♣
썸네일을 표시하려면 많은 디스크 읽기와 연산이 필요하므로 시스템 속도가 떨어질 수 있다. 따라서 이 기능을 너무 남용해서는 안된다. 만일 bmp파일에 대해 썸네일이 아닌 일반 아이콘을 다시 쓰고 싶다면, 레지스트리 편집기를 열고 레지스트리 메뉴에서 ‘등록 파일 읽어오기’ 명령을 내린 다음 저장했던 OldBMPPictures.txt 파일을 불러오면 된다.

17. 사운드 이벤트의 추가
어떤 프로그램을 실행할 때마다 특별한 소리를 내고 싶다면 사운드 이벤트 추가 방법에 대해 눈여겨보기 바란다. 아래아-한글과 같은 프로그램을 실행하게 되면 실행과 동시에 소리가 연주되는 것과 같은 기능을 다른 모든 응용 프로그램들에서도 만들어 놓을 수 있다.
우선, 레지스트리에서 HKEY_CURRENT_USER⇒AppEvents⇒Schemes⇒Apps라는 항목을 선택한다. 여기서 마우스 오른쪽 버튼을 눌러 '등록'을 선택한 후 새로운 키를 추가하도록 한다. 키의 이름은 사운드와 함께 실행하고자 하는 실행 파일명을 적어 주면 된다.
다시 마우스 오른쪽 버튼을 누른 후 '등록'을 선택하여 'OPEN' 과 'CLOSE'라는 키를 실행 파일명의 하위 키로 만들어 넣는다. 다시 'OPEN' 과 'CLOSE'에서 마우스 오른쪽 버튼을 눌러 .Current 라는 키를 만들어 넣는다. 그런 다음 화면 오른쪽으로 이동하여 프로그램의 시작(Open의 경우)과 끝(Close의 경우)에 지정하고자 하는 사운드 파일의 경로와 이름을 값으로 지정하여 넣으면 된다. Open과 Close 이외에도 Minimize, Maximize 등의 작업에 모두 사운드를 만들어 넣을 수 있지만 대부분 시작과 끝나는 부분에만 사운드를 추가하는 것이 보통이므로 생략하도록 한다.

18. 긴 파일이름을 보기 좋게 표시하기
안되는 컴퓨터가 더 많더라구요, 그래서 삭제했습니다.

19. 모니터 절전 기능 시간 늘리기.
에너지 스타 모니터를 가지고 있다면 제어판의 디스플레이 등록정보에 있는 화면보호기 페이지의 ‘모니터 절전 기능’에서 일정 시간이 지나면 전력을 떨어뜨리는 ‘전력 저하 대비’와 전원을 완전히 차단해 주는 ‘모니터 끄기’ 기능을 설정할 수 있다. 그러나 이 기능은 1~60분 사이에 시간에서만 설정할 수 있다.
따라서 60분이 넘어가는 설정은 불가능하다. 그러나 레지스트리를 직접 조작하면 이러한 시간의 제약을 뛰어 넘을 수 있다.
HKEY_CURRENT_USER⇒Control Panel⇒desktop 오른쪽 창에서 다음과 같은 두 값이 있는 것을 발견할 수 있다.
전력저하 : ScreenSaveLowPowerTimeout
모니터 끄기 : ScreenSavePowerOffTimeout

이제 이 두 값을 바꾸어 주면 모니터 절전 기능을 시간 제약없이 설정할 수 있다. 단위는 초로 되어 있으므로 3시간 뒤에 모니터를 끄려면 ScreenSavePowerOffTimeout값을 7200으로 설정하면 된다. ‘확인’버튼을 누르면 새 설정이 바로 적용된다.
이때 디스플레이 등록정보의 수치는 60이상으로 바뀌지 않지만 실제로 절전 효과는 레지스트리에서 바꾼 대로 작동한다.

20. 디렉토리 리스트 출력하기
탐색기에서 디렉토리 리스트를 출력하는 기능은 없다. 폴더를 오른쪽 마우스 버튼으로 클릭하고 단축메뉴에서 그 폴더 안의 파일이나 서브 폴더를 프린터로 출력할 수 있다면 편리할 것이다. 이러한 기능은 많은 사람들에게 필요한 기능이면서도 탐색기에 빠져 있다는 것이 아쉽기만 하다. 어떤 책에는 윈도95에서는 이러한 출력이 불가능하다고 써있고, 어떤 책은 복잡한 레지스트리 수정을 통해 간략한 리스트를 뽑아낼 수 있는 방법을 제시하고 있다. 그러나 분명히 훨씬 더 효과적이고 빠른 방법이 있다.

HKEY_CLASSES_ROOT⇒Directory⇒shell

이 키를 레지스트리에서 직접 바꾸는 것이 아니라 탐색기의 파일 형식 탭에서 수정해 보기로 하자. 수정이 끝난 다음 이 노드가 어떻게 달라졌는지 확인해 보기 바란다.
메모장이나 도스 에디터를 이용하여 다음과 같이 PrintFileFolder.bat이라는 배치 파일을 만든다.

dir %1 /-p/a/o > "%temp%File List"
notepad /p "%temp%File List"

메모장(notepad)명령 뒤의 /p 스위치는 출력을 마친 뒤 메모장을 자동으로 끝내라는 의미이다. 탐색기를 시작하고 ‘보기’메뉴에서 ‘옵션’을 선택하고 ‘파일 형식’탭을 클릭한다.
‘파일 폴더’를 클릭하여 선택하고 ‘편집’버튼을 누르고 ‘등록’버튼을 누른다.
‘새 명령’ 대화상자에 다음과 같이 입력한다.
? 명령:Print File Listing
? 명령을 수행할 응용프로그램 c:PrintFileFolder.bat
‘확인’ 버튼을 누르고 빠져 나온다. 이제 탐색기에서 폴더 안의 파일 리스트를 출력하려면 폴더를 오른쪽 마우스 버튼으로 클릭하고 단축메뉴에서 Print File Listing명령을 내리면 된다.

21. 새로 만들기를 빠르게
윈도95는 새 파일을 빠르고 쉽게 만들 수 있다 .바탕화면, 폴더, 탐색기의 빈 공간을 오른쪽 마우스 버튼으로 클릭하면 단축메뉴가 나온다. 여기서는 폴더와 단축아이콘을 만들 수 있고, 여러 파일 리스트에서 원하는 종류의 파일을 선택하면 바탕화면이나 폴더에 새 파일이 만들어진다. 그러나 프로그램을 이것저것 깔다 보면 단축메뉴에 나오는 파일의 종류가 점점 늘어나게 되고, 따라서 리스트에서 원하는 파일을 찾기 어렵게 된다. 이럴 때 레지스트리를 이해하고 있으면 불필요한 파일 리스트를 없애 버릴 수 있다. 오른쪽 마우스 버튼을 누르고 ‘새로 만들기’명령을 내리면 윈도는 레지스트리의 HKEY_CLASSES_ROOT⇒.확장자 (예.TXT)⇒ShellNew키를 찾는다. 이 키의 ProID를 찾은 다음 HKEY_CLASSES_ROOT⇒ProgID의 ‘기본값’에 있는 설명 문자열을 찾는다. 예를 들어, HKEY_CLASSES_ROOT⇒.txt는 ShellNew키를 가지고 있다. HKEY_CLASSES_ROOT⇒.txt의 ProgID는 txtfile로 설정되어 있다. 윈도는HKEY_CLASSES_ROOT⇒txtfile의 기본값인 ‘텍스트 문서’를 읽어 들인다. ‘새로 만들기’ 단축메뉴를 보면 이 ‘텍스트 문서’항목을 찾아볼 수 있다. 다른 ShellNew키도 같은 방법으로 작동된다. ‘새로 만들기’명령에서 원하지 않는 항목을 지우려면 이에 해당하는 HKEY_CLASSES_ROOT⇒.extension(확장자)⇒ShellNew키를 찾아 이를 다른 이름으로 바꾸면 된다. 지우려는 항목의 확장자를 잘 모를 때는 단축메뉴의 ‘새로 만들기’명령을 내려 확인해 보면 된다.
예를 들어, 새로 만들기 메뉴에 나오는 텍스트 문서 항목을 수행하면 ‘새로 만들기 텍스트문서'라는 파일이 만들어진다. 따라서 이 항목과 연결되어 있는 확장자가 TXT라는 것을 알 수 있다. 따라서 이 항목을 없애려면 HKEY_CLASSES_ROOT⇒.txt⇒ShellNew키를 찾아HKEY_CLASSES_ROOT⇒.txt⇒ShellNewSave와 같은 다른 이름으로 바꾸면 된다. 이제 오른쪽 마우스 버튼을 누르고 ’새로 만들기‘명령을 내리면 텍스트 문서 항목이 없어진 것을
확인할 수 있다.

22. 즉석 URL
인터넷 익스플로러에서 http://www. yahoo. com에 접속하고 싶을 경우 어드레스 박스에 www. yahoo. com만 입력해도 나머지는 자동으로 인식된다. 이런 스마트한 기능이 어디에 숨어 있을까? 이 설정 값은 레지스트리에 담겨 있다. 레지스트리 편집기를 실행해 HKEY_LOCAL_MACHINE⇒SOFTWARE⇒MICRO SOFT⇒windows⇒currentversion⇒url키로 이동해보자.Prefixes 키에서 www. ftp 등등의 엔트리를 볼 수 있을 것이다. 예를 들어 www의 값은 http://www이다. 일치하는 것이 없으면 인터넷 익스플로러는 자동으로 DefaultPrefix키에 있는 prefix를 사용한다.(일반적으로 http://)
이를 이용해 자주 들르는 사이트의 약어를 입력해 놓자. 예를 들어 http://www. yahoo. com사이트를 자주 이용한다면 prefix에 m이라는 이름을 가진 키를 등록하자. 값은 익스플로러의 어드레스 박스에 m만 입력하면 자동으로 yahoo사이트가 뜰 것이다.

23. 파일 시스템 성능 볼륨 업 [필수]
제어판-시스템-성능 탭을 클릭한 다음 파일 시스템 버튼을 클릭한면 하드디스크 탭의 시스템 용도박스에 세 개의 설정값(데스크탑, 이동 또는 도킹 시스템 네트워크서버)이 있다. 이 기능은 패스와 파일 이름 캐싱을 처리하는 메인 메모리를 얼마나 설정할 것인지 결정하는 것이다. 기본 값인 데스크탑을 선택하면 32개의 Path와 677개의 파일명을 캐시한다.
반면 네트워크 서버를 선택하면 64개의 Path와 파일명을 2,729개까지 캐시해준다. 그러므로 자신의 컴퓨터가 데스크탑 애플리케이션용으로 사용된다고 할지라도 캐시 기능을 높게 하려면 네트워크 서버를 선택하는 것이 좋다. 그러나 윈도우 95 오리지널 버전을 사용하고 있다면 윈도우 95 레지스트리에서 버그를 수정하기 위한 한 단계를 더 거쳐야 한다. 네트워크 서버를 선택하면 윈래 64개의 Path와 2,729개의 파일명을 캐시해주는데 실제로는 그 값이 뒤바꾸어 있으므로 레지스트리 편집기에서 Path와 Name 캐시를 서로 바꿔줘야 한다.
HKEY_LOCAL_MACHINE⇒Software⇒Microsoft⇒Windows⇒CurrentVersion⇒FS Templates⇒Server NameCache는 a9 0a 00 00로, PathCache는 40 00 00 00으로 바꾼다.

24. 프로그램의 설치 경로
HKEY_CURRENT_USER⇒InstalLocationsMRU 키는 윈도우 95의 각종 드라이버가 있는 경로를 지정한 값을 가지고 있다. 윈도우 95의 경우 CD-ROM 드라이브나 비디오나 프린터의 드라이버가 A: 인 이유가 여기에 있다.

25. 각종 하드웨어 정보
사용중인 윈도우 95에 등록되는 하드웨어 정보는 다음 키에 등록되어 있다.
HKEY_LOCAL_MACHINEEnumBIOS 바이오스
HKEY_LOCAL_MACHINEEnumCTLSB16 사운드 카드
HKEY_LOCAL_MACHINEEnumESDI 하드웨어 정보
HKEY_LOCAL_MACHINEEnumFLOP 플로피 디스크
HKEY_LOCAL_MACHINEEnumISAPNP ISA용 PnP 정보
HKEY_LOCAL_MACHINEEnumMF 컨트롤러 정보
HKEY_LOCAL_MACHINEEnumMonitor 모니터 정보
HKEY_LOCAL_MACHINEEnumPCI PCI 정보
HKEY_LOCAL_MACHINEEnumRoot 윈도우 95에 등록된 각종 시스템 정보
HKEY_LOCAL_MACHINEEnumSCSI 스카시 관련 정보

IRQ 진단
구식에다가 결코 완벽하지도 않고, 윈도우95CD 속에묻혀있지만‘마이크로소프트진단 프로그램‘은 그 어디에서도 찾아볼 수 없는 정보의 원천이다. 이 프로그램은DOS용이기 때문에 특히 윈도우를 전혀 실행시키지 못할 경우 IRQ 충돌을 진단하는데 편리하다.
이제 생각만 하지 말고 윈도우 95CD-ROM상의 OtherMsd폴더에서 Msd.exe를 찾아 부팅가능한 플로피 디스크에다가 복사해두자. 나중에 꼭 필요할 것이다.

26. '시작'메뉴에 있는 '실행'을 없애기
HKey_Current_User⇒Software⇒Microsoft⇒Windows⇒CurrentVersion⇒Policies⇒Explorer우측창에서 우측버튼을 클릭하고 New → DWORD 값을 클릭한 후 이름을 NoRun이라고 변경한 후 값으로 1을 준다

27. Windows95 설치파일의 위치를 변경하기
윈도우 95는 처음에 설치파일이 있던 곳을 기억하여 새로운 파일을 복사 할 경우 그 위치에서 찾는다. 윈도우95를 하드에 복사한 후 설치하였거나(CD-ROM보다 빠르다.)씨디룸의 문자열이 변경된 경우도 다시 한번 찾아보기에서 원본의 위치를 찾아주어야 할 때가 있다. 이럴 경우 여기를 변경하여 작업을 한번으로 줄여보자.
HKEY_LOCAL_MACHINE⇒SOFTWARE⇒Microsoft⇒Windows⇒CurrentVersion⇒Setup우측 창에서 SourcePath를 찾아 더블클릭 한다. 변경하고자 하는 위치로 바꾼다.

28. CD-ROM의 자동 실행을 막는 방법
윈도우 95용 프로그램이나 오디오CD를 넣으면 윈도우 95는 CD-ROM타이틀을 바로 실행한다. 이는 윈도우 95에 자동실행(AUTO PLAY) 기능이 내장되어 있기 때문이다. 이 기능을 제어하는 방법이 있다. 물론 CD를 삽입 한 후 Shift키를 누른다거나, 시스템 등록 정보의 CD-ROM등록정보에서 삽입자동통지 항목을 제거해 주어도 되지만 여기서는 레지스트리를 이용한 방법으로 해 보겠다. 꼭 해볼 필요는 없다는 얘기겠죠!
HKEY_CURRENT_USER⇒Softwear⇒Microsoft⇒Windows⇒CurrentVersion⇒Policies⇒Explorer를 선택한다. 오른쪽 창에서 NoDriveTypeAutoRun을 선택한 뒤 마우스의 오른쪽 버튼을 누른다. 나타나는 단축 메뉴에서 '수정'을 선택한다. 잠시 후 나타나는 이진값 편집 창에서 '95 00 00 00'을 'BD 00 00 00'으로 수정한다.

29. 원하는 모뎀 초기화 명령 이용하기
모뎀의 성능에서 초기화 명령이 끼치는 영향은 지대하다. 그러나 윈도우 환경에서 사용자가 원하는 초기화를 제대로 이용할 수 없다. 물론 이야기97 같은 프로그램에서는 바람잡이를 이용하여 사용자가 원하는 초기화 명령을 사용할 수 있다. 하지만 인터넷을 이용할 때에는 이야기97에서 이용되던 초기화와는 달리 자체의 값으로 초기화를 하게 된다. 이렇게 이용되는 초기화는 레지스트리 편집기를 통해 사용자가 원하는 대로 변경할 수 있다.
HKEY_LOCAL_Machine⇒System⇒CurrentControlSet⇒Services⇒Class⇒Modem⇒0000⇒Init Init에 오른쪽 버튼을 눌러 나타나는 메뉴에서 ‘등록→문자열 값’을 지정하면 ‘New Value #1'이라는 항목이 나타나게 되는데 이 부분을 ’3‘ 으로 고친다. 그리고 이 ’3‘을 마우스로 더블클릭하거나 를 누르면 이용되는 값을 입력하는 화면이 나타나게 되는데 여기서 사용자가 이용하고자 하는 초기화 명령을 지정해 주면 된다. 주의할 점은, 모뎀의 상태를 보여주는 명령이나 정보를 보여주는 명령을 제외하고 입력해야 한다는 것이다. 입력을 마친 다음 맨 끝 부분에는 '' 이라고 반드시 입력해 주어야 한다.

30. 뚱뚱해진 레지스트리 최적화하기
레지스트리 정보는 윈도95 폴더에 있는 System.dat 파일과 User.dat 파일에 저장되어 있다. 그런데 문제는 윈도우를 실행할 때마다 이 파일의 크기가 조금씩 늘어난다는 점이다. 윈도우를 설치한 뒤 오랜 시간이 지나면 레지스트리 파일의 크기가 처음 설치했을 때 보다 엄청나게 커진 것을 볼 수 있는데 ,이렇게 크기가 늘어나는 것은 사용자가 응용 프로그램을 설치하고 지우는 동안 저장된 내용이, 프로그램의 삭제나 언인스톨에도 불구하고 레지스트리에 저장된 응용 프로그램과 하드웨어에 관한 정보가 완벽하게 삭제되지 않기 때문이다. 이런 경우 , 별도의 응용 프로그램을 이용하여 레지스트리에서 쓸모없는 정보를 삭제해 주어야 한다. 여러 가지 응용 프로그램 중에서 너츠 앤 볼츠(Nuts & Bolts) 라는 프로그램이 가장 효과적이다. 이 프로그램을 설치하면 여러 가지 응용 프로그램이 나타나게 된다. 그 중에서도 레지스트리 위자드(Wizard)라는 프로그램을 이용하면 레지스트리 파일에 대해 다양한 설정을 할 수 있다.
이 프로그램을 실행한 다음 하단에 있는 튠-업(Tune-up)항목을 지정하면 자동으로 레지스트리 파일의 불필요한 부분을 찾아 삭제하는 작업이 진행된다. 간단히 비대해진 레지스트리 파일이 최적화 된다. 단, 주의할 것은 이프로그램을 실행하기 전에 사용자가 사용하는 인터넷의 IP어드레스와 이용자 ID, 비밀번호 등을 다른곳에 저장해두는 것을 잊지 말아야 한다. 이 프로그램이 사용자가 이용하는 인터넷에 대한 정보까지 삭제하기 때문이다.

31. 내컴퓨터의 오른쪽 버튼을 바꾸자.
윈도우95에서 하나의 프로그램을 실행할 수 있는 방법은 무수리 많다. 가장 많이 사용하는 방법이 시작메뉴를 이용하는 것이며, 때론 시작메뉴의 실행을 이용해 원하는 프로그램을 실행하거나 바탕화면의 내컴퓨터를 이용하기도 한다. 그것이 폴더 창일 수도 있고, 탐색 창일 수도 있다. 또는 도스에서 실행하기도 한다. 만일 자주 사용하는 프로그램이 있다면 내컴퓨터의 오른쪽 버튼을 통해 좀더 빨리 실행할 수도 있다. 여기선 예를들어 새롬데이타맨프로를 내컴퓨터 오른쪽 버튼으로 실행하는 방법을 알아보자.
HKEY_CLASSES_ROOT⇒CLSID⇒{20D04FE0-3AEA-1069-A2D8-08002B30309D}⇒shell의 하위로 shell위에서 오른족버튼-등록-키에서 ‘새롬 데이터’라고 입력한다. 만들어진 ‘새롬 데이터’ 값에서 다시 오른쪽-등록-키에서 ‘command'키를 만든다. 오른쪽 기본값을 눌러 새롬데이타맨 프로가 설치되어 있는 디렉토리 위치를 (예. c:dmprodmpro.exe)적어준다. 이제, 내컴퓨터에서 오른쪽 버튼을 누르면 새롬데이타가 보일 것이다.


32. 윈도우 시작시 실행되는 프로그램 제거
시작 프로그램에는 윈도우95가 시작되면서 자동으로 실행될 프로그램이 등록된다. 이 프로그램들은 윈도우95의 바탕화면이 나타나면서 동시에 실행되기 때문에 속도를 즐이는 역할은 물론 시스템이 이용하는 메모리를 차지하게 된다. 그런데 시작 프로그램에도 등록되어 있지않는 프로그램은 어디에 있을까? 응용 프로그램을 설치하다 보면 WIN.INI파일의 RUN부분이 아닌 레지스트리의 RUN= 부분에 등록되어 자동으로 실행되는 경우가 있다. 이럴 경우
HKEY_LOCAL_MACHINE⇒SOFTWARE⇒Microsoft⇒Windows⇒CurrentVersion⇒run을 찾아가면 화면 우측에 자동으로 실행되는 프로그램 목록이 나타난다. 여기서 자신에게 필요없는 프로그램을 삭제 해 주면 된다.

33. MTU를 수정해 인터넷 속도 높이기
MTU(Maximum Transmission Unit)를 조정하면 약간이나마 인터넷의 접속 속도를 향상시킬 수 있다.(사실 체감속도는 입증안되는 것 같다.)
HKEY_LOCAL_MACHINESystemCurrentControlSetServicesClassNetTrans002로 이동한다. 0002에서 오른쪽버튼-등록-문자열값을 선택하여 새로운 문자열 값으로 ‘MaxMTU'라고 입력한다. MaxMTU를 더블클릭하여 ’값의 데이터‘에 ’576‘을 입력함으로써 MSS(Maximum Segment Size)의 크기를 ’576‘으로 설정해 준다. 다시 Service 폴더아래 ’Vxd⇒MSTCP'폴더로 이동한다. 이 폴더에서 오른쪽 버튼-등록-문자열 값을 선택하여 새로운 문자열 값으로 ‘DefaultRcvWindow'를 입력한다. 이 문자열의 값으로 ’2144‘를 입력해준다. 시스템을 재부팅 하면 속도가 높아진 것(?)을 느낄 수 있을 것이다.

전문 유틸리티를 이용한 레지스트리 편집
♣ 윈해커95 2.0 (http://www.winhacker.com/)
윈해커95 버전2.0은 이용자 정보를 몇가지 입력해야 제대로 쓸 수 있어서 조금은 번거롭다. 하지만 같은 일을 하는 프로그램들과는 비교할 수 없을 만큼 편리한 기능을 가지고 있다 기본 화면은 윈도우95에 있는 탐색기와 비슷하다. 왼쪽 창에 여러 항목이 자리잡고 있고, 오른쪽에는 왼쪽에서 선택한 항목의 세부 내용을 보여주는 그림이 있다.
1. 익스플로러 (Explorer)
윈도우 탐색기와 관계된 부분이다. 여기에는 확장자의 내용을 소개하는 ‘파일 타입’과 특정 드라이브가 화면에 보이지 않도록 하는 ‘하이드 드라이브’가 있다.
‘메뉴 아이템’은 파워토이에 있는 ‘도스 프롬프트 히어’나 ‘익스플로러 히어’등의 기능이 있고, ‘숏컷’은 단축 아이콘의 모양과 표시방법을 ‘비주얼’은 Bmp 확장자를 갖는 그림 파일의 아이콘 모양을 바꾼다. 마우스로 오른쪽 창에 있는 on 과 off를 고르면 된다.
2. 쉘 (Shell)
시스템을 켰을 때 작업 표시줄에 나타나는 ‘시작하려면 여기를 누르십시오’ 메시지가 눈에 거스릴 때는 ‘Animated "Click Here to Begin" at startup'을 선택한 뒤 오른쪽 창에 있는 off를 누르면 메시지가 없어진다. 또 CD를 넣으면 자동으로 음악이 흐르는 ’자동 플레이‘와 바탕 화면 디렉토리 설정, 그날의 팁 보기, 윈도우즈 애니메이션 켜기 등을 없애거나 바꿀 수 있다.
3. 데스크 탑 (Desktop)
바탕화면에 있는 시스템 폴더를 원하는 곳에 넣는 일을 한다. 원하는 시스템 파일을 마우스 하나로 바탕화면이나 내컴퓨터, 시작 메뉴에 쉽게 넣을 수 있다.
4. 스타트 메뉴 (Start Menu)
'메뉴 스피드‘는 시작 메뉴의 이름을 바꿀 수 있다. 영문 윈도우즈95의 Start라는 시작메누 이름을 바꾸려면 ’스타트 메뉴 타이틀‘을 누르고 새로운 단어를 입력한다. 단 5글자 내의 영문만 쓸 수 있다.

5. 스타트업 (StartUp)
루트 디렉토리의 msdos.sys파일의 내용을 수정해서 윈도우95의 부팅을 이용자 마음대로 바꾸는 메뉴다. 여기에는 윈도우95/도스 부팅 선택, 부팅 대기시간 설정, 부팅때 로그 파일 생성, 이전 도스로 부팅하기 등이 있다.
6. 시스템 (System)
제어판의 프로그램 추가/삭제를 써서 프로그램을 지웠는데도 화면 어딘가에 아직 그 프로그램이 남아있을 때, 시스템 작동에 문제가 생길 때 울리는 ‘삐삐’소리가 듣기 싫으면 ‘비프 온 시스템 에러’를 off로 한다. ‘셋업’의 ‘태스크 메니저’는 작업 관리자에 나타나는 프로그램의 행과 열의 수를 바꿀 때 이용한다. 또 윈도우95의 이용자 등록정보를 바꿀 수 있다.

♣ 셋미업 (http://www.omniquad.com/)
'셋미업‘은 윈해커와 비슷한 인터페이스를 가지고 있다.
1. 시스템 스타트업 (System StartUp)
부팅과 관련된 여러 가지 옵션을 설정하는 메뉴다. 시작 프로그램에 남아있는 필요없는 정보를 삭제 할 수 있다.
2. 로고 (Logos)
켜지거나 꺼질 때의 로고 화면을 마음대로 바꾸는 항목이다.
3. General
윈도우 설치 디렉토리 변경, 이용자 등록정보 변경, 그날의 팁등을 꾸밀 수 있다.
4. Explorer
시스템 폴더의 위치를 옮기는 아이템이다. 비트맵 파일을 아이콘으로 보기. 시작메뉴의 속도 조절하기 등의 작업을 할 수 있다.
5. 유지 (Maintenance)
시스템 성능을 유지하고 문제가 생기면 이를 고칠 수 있도록 도와주는 항목이다.
6. 윈도우 툴과 시스템 세이버
윈도우나 시스템 디렉토리에 기본으로 설치되어 있지만 메뉴에 등록되지 않아서 눈에 띄지 않는 sysdit.exe, regedit.exe, grpconv.exe등의 유틸리티들을 수행하는 곳이다.
시스템 세이버는 시스템에 반드시 있어야 하는 프로그램을 백업하는 유틸리티다.
7. 보호
허술한 윈도우95의 보안상태를 강화하기 위해 자체적으로 암호를 설정하는 곳이다. 윈도우95가 부팅될 때 암호가 든 화면보호기가 뜨도록 할 수 있다.
8. 로그온
여러 이용작가 시스템에 접속하면 그 사람의 정보와 접속 시간을 문서 파일로 저장해 준다. 이 데이터만 보면 어떤 사람이 언제 작업했는지 알 수 있다.


처음에도 언급했지만 레지스트리는 잘못 만지면 윈도우를 다시 설치해야 하는 불상사(?)가 발생할 지도 모른다. 그런 일이 생기면 다음과 같이 해 보자.
※레지스트리의 복구******************************
윈도우 95는 가장 중요한 파일인 시스템 레지스트리의 파일(system.dat 와 user.dat)의 백업파일을 자동으로 만들어 주는데 이것이 system.da0와 user.da0이다.
복구하는 요령은 시작→ 시스템 종료→MS-DOS 모드에서 재시작을 선택한 후 ‘예’ 누름.
도스상태에서 C:windows로 가서
C:windows>attrib -h -r -s system.dat
attrib -h -r -s system.da0
copy system.da0 system.dat

attrib -h -r -s user.dat
attrib -h -r -s user.da0
copy user.da0 user.dat
이 작업이 끝난 후 반드시 속성을 원래대로 해 놓는다.
attrib +h +r +s system.dat
attrib +h +r +s user.dat

만일 이 두 파일조차 손상되어 복구가 불가능한 경우에는 system.1st 파일을 이용하는 방법이 있다. system.1st는 윈도95가 처음 설치될 때 만들어진 시스템 레지스트리 파일이다. 따라서 망가지기 바로 전의 상태로 복구하는 것은 불가능하지만, 윈도 95를 다시 설치하는 것보다는 훨씬 낫다. 도스 프롬프트 상태에서 다음과 같이 입력하면 된다.
c:>attrib -h -r -s c:system.1st
copy c:system.1st c:windowssystem.dat
attrib +h +r +s c:system.1st
attrib +h +r +s c:windowssystem.dat

출처 : [기타] P2P

바탕화면보기.scf 삭제되었을 때 복원방법

메모장 열어서

[Shell]
Command=2
IconFile=explorer.exe,3

[Taskbar]
Command=ToggleDesktop

친 후 "바탕 화면 보기.scf"로 저장하고

원래 자기자리

C:\Documents and Settings\사용자\Application Data\Microsoft\Internet Explorer\Quick Launch\

로 복사하던가 적당하게 쓰면 된다.


Server.Transfer Vs. Response.Redirect

Server.Transfer Vs. Response.Redirect
By Karl Moore

If you read a lot of industry magazines and ASP.NET code samples, you may find that, although the majority use Response.Redirect to send the user to another page, some seem to prefer the rather mysterious-sounding Server.Transfer. So, what's the difference?

Well, Response.Redirect simply sends a message down to the browser, telling it to move to another page. So, you may run code like:

Response.Redirect("WebForm2.aspx")

or

Response.Redirect("http://www.karlmoore.com/")

to send the user to another page.

Server.Transfer is similar in that it sends the user to another page with a statement such as Server.Transfer("WebForm2.aspx"). However, the statement has a number of distinct advantages and disadvantages.

Firstly, transferring to another page using Server.Transfer conserves server resources. Instead of telling the browser to redirect, it simply changes the "focus" on the Web server and transfers the request. This means you don't get quite as many HTTP requests coming through, which therefore eases the pressure on your Web server and makes your applications run faster.

But watch out: because the "transfer" process can work on only those sites running on the server, you can't use Server.Transfer to send the user to an external site. Only Response.Redirect can do that.

Secondly, Server.Transfer maintains the original URL in the browser. This can really help streamline data entry techniques, although it may make for confusion when debugging.

That's not all: The Server.Transfer method also has a second parameter—"preserveForm". If you set this to True, using a statement such as Server.Transfer("WebForm2.aspx", True), the existing query string and any form variables will still be available to the page you are transferring to.

For example, if your WebForm1.aspx has a TextBox control called TextBox1 and you transferred to WebForm2.aspx with the preserveForm parameter set to True, you'd be able to retrieve the value of the original page TextBox control by referencing Request.Form("TextBox1").

This technique is great for wizard-style input forms split over multiple pages. But there's another thing you'll want to watch out for when using the preserveForm parameter. ASP.NET has a bug whereby, in certain situations, an error will occur when attempting to transfer the form and query string values. You'll find this documented at http://support.microsoft.com/default.aspx?id=kb;en-us;Q316920.

The unofficial solution is to set the enableViewStateMac property to True on the page you'll be transferring to, then set it back to False. This records that you want a definitive False value for this property and resolves the bug.

So, in brief: Response.Redirect simply tells the browser to visit another page. Server.Transfer helps reduce server requests, keeps the URL the same and, with a little bug-bashing, allows you to transfer the query string and form variables.

Top Tip: Don't confuse Server.Transfer with Server.Execute, which executes the page and returns the results. It was useful in the past, but, with ASP.NET, it's been replaced with fresher methods of development. Ignore it.

About the Author

Karl Moore (MCSD, MVP) is an experience author living in Yorkshire, England. He is author of numerous technology books, including the new Ultimate VB .NET and ASP.NET Code Book, plus regularly features at industry conferences and on BBC radio. Moore also runs his own creative consultancy, White Cliff Computing Ltd. Visit his official Web site at www.karlmoore.com.

Making Database Connections on ASP.NET 2.0

0. Prolog : My Suggestion

For making connections to various types of database, I suggest using ODBC driver.



1. SQL Server (Mssql)



1) Using ODBC Driver

1: Check & Modify SQL Native Client Configuration


SQL Server Configuration Manager – SQL Native Client Configuration - Client Protocols – Enabled TCP/IP


2: Installing DSN


Start -
관리 도구 - 데이터 원본(ODBC) - 시스템 DSN 추가 – SQL Server 선택 후 설치

(굳이 추가할 필요가 없으며, 연결을 테스트해보는 수단으로 이용할 수 있다.)


3: Configurating Web.config File
: Connection to Local SQL Server Express Using SQL Server ODBC Driver

<connectionStrings>

    <add name="MssqlConnectionString" connectionString="Driver={SQL Server};Server=HOSTNAME\SQLEXPRESS;Database=DB_NAME;Uid=USERID;Pwd=PASSWORD;option=3" providerName="System.Data.Odbc" />
</connectionStrings>



4: C# Code Sample

using System.Data.Odbc;

string ConnString = ConfigurationManager.ConnectionStrings["MssqlConnectionString"].ConnectionString;

OdbcConnection objcon = new OdbcConnection(ConnString);


objcon.Open();

 

OdbcCommand objcmd = new OdbcCommand();

objcmd.Connection = objcon;

objcmd.CommandText = "SELECT Name FROM users WHERE ID = '" + id + "' AND Password = '" + pwd + "'";

objcmd.CommandType = CommandType.Text;

 

OdbcDataReader objdr = objcmd.ExecuteReader();

if (objdr.HasRows) // Get User's Name

{

    if (objdr.Read())

    {

        string name = objdr.GetString(0);

        StatusLabel.Text = name;

    }

 

    objdr.Close();

}

 

objcon.Close();




2) Using SQL Client


1: Check & Modify SQL Server Network Configuration


SQL Server Configuration Manager – SQL Server 2005 Network Configuration - Protocols for SQLEXPRESS – Enabled TCP/IP or Named Pipes(local) - Restart SQL Server(*)

(*): SQL Server Configuration Manager – SQL Server 2005 Services - Click Right Button on SQL Server - Restart


2: Configurating Web.config File
: Connection to Local SQL Server Express Using SQL Client

<connectionStrings>

    <add name="SqlClientConnectionString" connectionString="Data Source=.\SQLEXPRESS; Integrated Security=False; Initial Catalog=DATABASE_NAME; User ID=USER_ID; Password=PASSWORD" providerName="System.Data.SqlClient" />

</connectionStrings>


 
3: C# Code Sample

using System.Data.SqlClient;

string ConnString = ConfigurationManager.ConnectionStrings["SqlClientConnectionString"].ConnectionString;

SqlConnection objcon = new SqlConnection(ConnString);

 

objcon.Open();

 

SqlCommand objcmd = new SqlCommand();

objcmd.Connection = objcon;

objcmd.CommandText = "SELECT Name FROM users WHERE ID = '" + id + "' AND Password = '" + pwd + "'";

objcmd.CommandType = CommandType.Text;

 

SqlDataReader objdr = objcmd.ExecuteReader();

if (objdr.HasRows) // Get User's Name

{

    if (objdr.Read())

    {

        string name = objdr.GetString(0);

        StatusLabel.Text = name;

    }

 

    objdr.Close();

}

 

objcon.Close();


 



2. MySQL
 


1) Using ODBC Driver


1: Installing MyODBC Driver

Download Link: http://dev.mysql.com/downloads/connector/odbc/3.51.html



2: Installing DSN


Start -
관리 도구 - 데이터 원본(ODBC) - 시스템 DSN 추가 - MySQL ODBC 3,51 Driver 선택 후 설치

(굳이 추가할 필요가 없으며, 연결을 테스트해보는 수단으로 이용할 수 있다.)


3. Configurating Web.config File
(Connection to Remote MySQL Database Server)

<connectionStrings>

    <add name="MysqlConnectionString" connectionString="Driver={MySql ODBC 3.51 Driver};Server=SERVER_ADDRESS;Database=DB_NAME;Uid=USERID;Pwd=PASSWORD;option=3" providerName="System.Data.Odbc" />
</connectionStrings>



4: C# Code Sample
Reference: 5. 1-1) 4: C# Code Sample of SQL Server Connection Using ODBC Driver



2) Using MySQL .Net Connector


1: Make a Bin folder in the root directory of your web site.

Path(ex): C:\inetpub\wwwroot\Bin



2: Download & Install MySQL Connector into Bin folder.

Download Link: http://dev.mysql.com/downloads/connector/net/5.0.html



3: C# Code Sample

using MySql.Data.MySqlClient;

MySqlDataAdapter myDataAdapter;

DataSet myDataSet;

 

MySqlConnection myConnection = new MySqlConnection("server=SERVER_ADDRESS; user id=USERID; password=PASSWORD; database=DATABASE_NAME; pooling=false;");

 

string strSQL = "SELECT ID, Name FROM users;";

 

myDataAdapter = new MySqlDataAdapter(strSQL, myConnection);

myDataSet = new DataSet();

myDataAdapter.Fill(myDataSet, "users");

 

MySQLDataGrid.DataSource = myDataSet;

MySQLDataGrid.DataBind();

Installating ASP.NET 2.0

0. ASP.NET 2.0 Requirements

1) IIS (5.1/6.0)
2) .Net Framework 2.0

3* .Net Framework 2.0 SDK
4* Visual Studio 2005

*: Required to be installed on development machines.




1. Installing IIS (Internet Information Services)



1) IIS 5.1 (for Windows XP)

Control Panel – Add/Remove Programs – Add/Remove Windows Components – Check Internet Information Services – Next/Finish

Installing IIS 5.1

[ Installing IIS 5.1 ]




2) IIS 6.0 (for Windows Server 2003)

Control Panel – Add/Remove Programs – Add/Remove Windows Components – Check Web Application Server – Check IIS & ASP.NET - Next/Finish

제어판 - 프로그램 추가/제거 - Windows 구성 요소 추가/제거 - 응용 프로그램 서버 - 인터넷 정보 서비스(IIS) & ASP.NET 체크 - 확인 후 설치

Installing IIS 6.0

[ Installing IIS 6.0 ]





2. Installing .Net Framework 2.0

Download Link: http://www.microsoft.com/downloads/details.aspx?FamilyID=0856eacb-4362-4b0d-8edd-aab15c5e04f5&DisplayLang=en


Service Pack 1 Download Link: http://www.microsoft.com/downloads/details.aspx?FamilyID=79bc3b77-e02c-4ad3-aacf-a7633f706ba5&DisplayLang=en


* For developers, installing .Net Fremwork SDK on the development machine

Download Link: http://www.microsoft.com/downloads/details.aspx?FamilyID=FE6F2099-B7B4-4F47-A244-C96D69C35DEC&displaylang=en

 



3. Configurating ASP.NET 2.0 for IIS



1) IIS 5.1

프로그램 관리도구 인터넷 정보 서비스 기본 웹 사이트 속성 – ASP.NET – ASP.NET 버전 : 2.0 확인

Configurating ASP.NET 2.0 for IIS 5.1

[ Configurating ASP.NET 2.0 for IIS 5.1 ]




2) IIS 6.0

1: 프로그램 - 관리도구 - 인터넷 정보 서비스 관리자 - 웹 서비스 확장 - ASP.NET 2.0 허용

Configurating ASP.NET 2.0 for IIS 6.0 - 1/2

[ Configurating ASP.NET 2.0 for IIS 6.0 - 1/2 ]



2: 프로그램 - 관리도구 - 인터넷 정보 서비스 관리자 - 기본 웹 사이트 속성 - ASP.NET – ASP.NET 버전 : 2.0 확인

Configurating ASP.NET 2.0 for IIS 6.0 - 2/2

[ Configurating ASP.NET 2.0 for IIS 6.0 - 2/2 ]





4. Checking ASP.NET Page Loading

1) Make a Start.aspx file in the root directory of your web site.

2) Load the page on your internet browser.

Location (ex): http://localhost/Start.aspx




* Configurating Default Content Page
프로그램 관리도구 인터넷 정보 서비스 기본 웹 사이트 속성 – 문서 - 기본 문서 사용 - Start.aspx, index.aspx 등 추가

사용자 삽입 이미지

[ Configurating Default Content Page ]

IIS에서 ASP.NET(aspx)만 실행안될 때

IIS에서 ASP.NET(aspx)만 실행안될 때

ASP.NET 2.0 2007/07/09 10:38
VS에서 ASP.NET 사이트를 만들고 내장서버가 아닌 IIS를 설치해서 웹사이트를 돌려보려고 할 때 ASP.NET 2.0파일인 aspx는 안돌아가고 html이나 asp파일만 돌아가는 경우가 있다. aspx를 돌릴려고 할때는 권한이 없다거나 못 찾는다거나 하여간 안된다.

사용자 삽입 이미지

이는 IIS에 닷넷프레임워크 2.0이 설치 안되어서 그렇다. 닷넷프레임워크 2.0을 설치했다고 하더라도 IIS를 닷넷프레임워크보다 나중에 설치하면 PC에는 닷넷프레임워크 2.0이 설치되었지만 IIS에는 설치가 되어 있지 않아서 발생하는 문제다.

Visual Studio Tools에서 Visual Studio 명령프롬프트에 들어간다.

사용자 삽입 이미지

VS 명령프롬프트에서 aspnt_regiis -i 명령어를 입력하면 IIS에 닷넷프레임워크 2.0을 설치한다. 설치가 완료되면 IIS에 닷넷프레임워크가 등록이 된 것이다.

Windows XP에서는 IIS가 5.1이 설치되고 Windows 2003 Server에서는 IIS 6.0이 설치된다. IIS 5.1에서는 위와같은 과정만 거쳐주면 바로 ASP.NET 2.0이 돌아가지만 IIS 6.0에서는 보안이 강화되어서 추가로 설정을 바꾸어 주어야 한다.

사용자 삽입 이미지

IIS에 들어가면 5.1과는 다르게 웹사이트 아래에 "웹 서비스 확장"이라는 항목이 있다. 여기서 사용하고자 하는 것을 "허용"해 주어야 한다. 여기서는 ASP.NET 2.0부분을 허용해 주어야 IIS에서 2.0파일인 aspx를 볼 수 있다.

IE의 JavaScript 성능 최적화 팁

1. 변수는 로컬에 명시적으로 정의한다.
함수내에서 사용되는 지역 변수가 있다면 명시적으로 var 표시를 해주도록 합니다. 그렇지 않을 경우 브라우저는 상위 scope를 모두 뒤져서 상위에 해당 변수가 정의되어있는지 확인합니다.

2. 가능하다면 일단 캐싱한다.
DOM은 느리므로 가급적이면 DOM을 호출하는 횟수를 줄입니다. 반복적으로 document.body.all 등이 쓰여야 할 경우 document.body.all 를 다른 변수로 캐싱해둡니다. Array 등에서 array.length 같은 것을 반복문에서 사용해야 할 경우 var len = array.length 등과 같이 array.length 를 캐시해서 사용합니다. 함수 내에서 자주 사용되는 전역함수의 경우 지역 변수로 캐싱해서 사용하는 것이 좋습니다.

3. with 키워드의 사용은 피합니다.
JScript 에서의 with 키워드 사용은 scope를 하나 더 정의하는 것과 비슷한 비용이 듭니다.

4. 문자열을 많이 다루어야 할 경우에는 배열에 넣고 join 하는게 빠릅니다.
JavaScript에서는 자동으로 효율적인 코드로 변경하지만 JScript는 못합니다. 그래서 이런 식의 StringBuffer를 구현해줘야 빨라집니다.

5. eval은 무척이나 비용이 높은 명령입니다.
가급적이면 사용을 피하는게 좋습니다.

6. 가능하다면 closure를 피하세요.
closure는 매우 강력하기는 하지만 동시에 매우 위험하기도 합니다. 주의깊게 다루어야 할 뿐더러 최근에 패치가 되기 전까지 JScript는 DOM에 사용된 closure에 대해서 메모리 누수 현상이 있었습니다(패치 되지 않았거나 IE6 미만의 버전을 사용한다면 여전히 존재할 것입니다).

7. 프로퍼티 접근 함수는 사용하지 마세요.
객체지향 측면에서는 훌륭하지만 JScript로서는 끔찍합니다(헉… 이거 프레임웍에 썼는데…).


From.
http://www.phpschool.com/gnuboard4/bbs/board.php?bo_table=tipntech&wr_id=56780&sca=&sfl=wr_subject%7C%7Cwr_content&stx=stringbuffer&sop=and

OOP의 시대적 의미 또는 필요성

객체 지향 방식은 조립식이기 때문에 결과물의 성능(속도와 크기)이 맞춤형의 절차식에 비해 조금 떨어지는 단점이 있다. 그러나 하드웨어의 발전에 힘입어 그 정도의 차이는 큰 문제가 되지 않아 무시할만하다.

현대의 개발 관건은 프로그램의 성능보다 오히려 개발 용이성과 유지, 보수 편의성, 신뢰성이다. 인건비가 하드웨어보다 훨씬 더 비싸고 개발 기간이 곧 비용과 직결되기 때문에 얼마나 빨리 정확한 소프트웨어를 생산하는가가 관건이며 그 해답이 바로 객체 지향 프로그래밍이다.

Visual Studio 컬러 세팅

사용자 삽입 이미지

Visual Studio Text Editor Color Setting

Editplus INI 파일 디렉토리 변경하기

2.30 버젼부터 바뀐 것인지는 모르겠지만 2.30버젼 설치 이후 INI 파일 디렉토리 경로의 기본값이
"C:\Documents and Settings\계정\Application Data\Editplus 2"
로 되어 있음을 알게 되었다.
(기존에 쓰던 버젼의 기본값은 Editplus 설치 폴더)

기존의 Editplus 폴더를 그대로 옮겨왔는데도 컬러나 FTP 등의 설정이 적용되지 않는 이유가 여기에 있었다.

"도구 > INI 파일 디렉토리"

위 메뉴를 통해 설정 파일 디렉토리를 변경할 수 있다.

Visual Studio 단축키


Text Editor

Ctrl+]

Edit GotoBrace

Ctrl+Shift+]

Edit GotoBraceExtend

Ctrl+=

Edit SelectToLastGoBack

Bkspce

Edit DeleteBackwards

Ctrl+Bkspce

Edit WordDeleteToStart

Ctrl+Del

Edit WordDeleteToEnd

Down Arrow

Edit LineDown

Shift+Alt+Down Arrow

Edit LineDownExtendColumn

Shift+Down Arrow

Edit LineDownExtend

Ctrl+End

Edit DocumentEnd

Ctrl+Shift+End

Edit DocumentEndExtend

End

Edit LineEnd

Shift+Alt+End

Edit LineEndExtendColumn

Shift+End

Edit LineEndExtend

Ctrl+Enter

Edit LineOpenAbove

Ctrl+Shift+Enter

Edit LineOpenBelow

Enter

Edit BreakLine

Esc

Edit SelectionCancel

Ctrl+Home

Edit DocumentStart

Ctrl+Shift+Home

Edit DocumentStartExtend

Home

Edit LineStart

Shift+Alt+Home

Edit LineStartExtendColumn

Shift+Home

Edit LineStartExtend

Ctrl+I

Edit IncrementalSearch

Ctrl+Shift+I

Edit ReverseIncrementalSearch

Ins

Edit OvertypeMode

Ctrl+J

Edit ListMembers

Ctrl+K, Ctrl+\

Edit DeleteHorizontalWhiteSpace

Ctrl+K, Ctrl+C

Edit CommentSelection

Ctrl+K, Ctrl+D

Edit FormatDocument

Ctrl+K, Ctrl+F

Edit FormatSelection

Ctrl+K, Ctrl+H

Edit ToggleTaskListShortcut

Ctrl+K, Ctrl+I

Edit QuickInfo

Ctrl+K, Ctrl+K

Edit ToggleBookmark

Ctrl+K, Ctrl+L

Edit ClearBookmarks

Ctrl+K, Ctrl+N

Edit NextBookmark

Ctrl+K, Ctrl+P

Edit PreviousBookmark

Ctrl+K, Ctrl+U

Edit UncommentSelection

Ctrl+L

Edit LineCut

Ctrl+Shift+L

Edit LineDelete

Ctrl+Left Arrow

Edit WordPrevious

Ctrl+Shift+Alt+Left Arrow

Edit WordPreviousExtendColumn

Ctrl+Shift+Left Arrow

Edit WordPreviousExtend

Left Arrow

Edit CharLeft

Shift+Alt+Left Arrow

Edit CharLeftExtendColumn

Shift+Left Arrow

Edit CharLeftExtend

Ctrl+M, Ctrl+H

Edit HideSelection

Ctrl+M, Ctrl+L

Edit ToggleAllOutlining

Ctrl+M, Ctrl+M

Edit ToggleOutliningExpansion

Ctrl+M, Ctrl+O

Edit CollapsetoDefinitions

Ctrl+M, Ctrl+P

Edit StopOutlining

Ctrl+M, Ctrl+U

Edit StopHidingCurrent

Ctrl+PgDn

Edit ViewBottom

Ctrl+Shift+PgDn

Edit ViewBottomExtend

PgDn

Edit PageDown

Shift+PgDn

Edit PageDownExtend

Ctrl+PgUp

Edit ViewTop

Ctrl+Shift+PgUp

Edit ViewTopExtend

PgUp

Edit PageUp

Shift+PgUp

Edit PageUpExtend

Ctrl+R, Ctrl+P

Edit SwapAnchor

Ctrl+R, Ctrl+R

Edit ToggleWordWrap

Ctrl+R, Ctrl+W

Edit ViewWhiteSpace

Ctrl+Right Arrow

Edit WordNext

Ctrl+Shift+Alt+Right Arrow

Edit WordNextExtendColumn

Ctrl+Shift+Right Arrow

Edit WordNextExtend

Right Arrow

Edit CharRight

Shift+Alt+Right Arrow

Edit CharRightExtendColumn

Shift+Right Arrow

Edit CharRightExtend

Ctrl+Shift+Space

Edit ParameterInfo

Ctrl+Space

Edit CompleteWord

Ctrl+Shift+T

Edit WordTranspose

Ctrl+T

Edit CharTranspose

Shift+Alt+T

Edit LineTranspose

Shift+Tab

Edit TabLeft

Tab

Edit InsertTab

Ctrl+Shift+U

Edit MakeUppercase

Ctrl+U

Edit MakeLowercase

Shift+Alt+Up Arrow

Edit LineUpExtendColumn

Shift+Up Arrow

Edit LineUpExtend

Up Arrow

Edit LineUp

Ctrl+W

Edit SelectCurrentWord

크로스케이블을 이용하여 인터넷 공유하기

사용자 삽입 이미지

C++ template 함수의 정의


" 템플릿 함수의 경우는 그 특성상 헤더에 정의를 해야합니다.
관례적으로 템플릿함수가 정의된 헤더는 .hpp 를 사용합니다.

저의 경우 헤더에 정의코드가 들어가면 헤더파일의 가독성이 떨어지는 것을 막기 위해 .hpp 와 .h 둘다 만들고 .h 에서 .hpp 를 include 하게 하고 템플릿 함수의 정의를 .hpp 에 넣는 방식을 사용합니다.
이렇게 하면 함수나 클래스의 사용자는 .h 만 include 하면 되기때문에 .hpp 도 같이 해야할지 말아야할지 여부를 고민하지 않아도 되고, .hpp 의 존재 여부도 알 필요가 없지요. "

PC 비프음 끄기

제어판 > 시스템 > 하드웨어 > 장치 관리자 > 보기 > 숨김 장치 표시 - 체크 > 비 플러그 앤 플레이 드라이버 > Beep - 사용 안 함으로 설정


(*) 하드웨어에 문제가 발생했을 때 비프음의 반복 횟수를 통해 오류 원인을 예상할 수 있는 경우가 있는데, 사용 안 함으로 설정하게 되면 그러한 진단이 불가능하다는 점을 알고 설정하자.
prev 1 2 3 next