Posted on 2009/03/04 13:24
Filed Under Windows/장애처리

DNS server, DNS service  

Visual Studio 6.0 설치중...
"javasign.dll 프로그램 오류로 레지스트리를 실행할 수 없다"

발생시.. 다음과 같이 해결가능



비주얼스튜디오 2005 설치 후 6.0 설치시 20
05버전을 먼저 설치하고 6.0을 설치할 경우 java vm 의 문제로 인해...설치가 완벽하게 되지 않는다.

간단하게 그냥 프로그램만을 한다면 크게 문제가 없지만..
java를 이용한 프로젝트시에..문제가 발생할 수 있다...

다음 파일을 설치하고 재부팅 후 비주얼 스튜디오 6.0 을 설치하면 정상적으로 설치가 가능하다..







2009/03/04 13:24 2009/03/04 13:24

Posted on 2009/01/15 17:21
Filed Under Windows/장애처리

DNS server, DNS service  

노트북의 복원 CD로 OS 작업을 했다면 이러한 일이 없지만~
일반 OS로 작업 했을 경우는 한/영 키가 동작하지 않고~ 일부 키가 먹히지 안는경우가 발생~

-공통 모델들-
원인

1.노트북 한글 전환키가 동작하지 않는 현상
->때 자판을 101이 아닌 103으로 해서 발생함

해결 방법
1.regedit
2.Hkey_Local_Machine\System\CurrentControlSet\Services\i8042prt\Parameters  에서 일부 설정값 변경하여 101key로 변경하면 됨.
3.OverrideKeyboardIdentifier : PCAT_101Akey
4.OverrideKeyboardSubtype : 3
5.OverrideKeyboardType : 8
6.LayerDriverKOR : KBD101A.DLL 변경
7.재부팅하시면 한/영 전환키를 사용하실 수 있을 것입니다.

-X NOTE R500 모델(비스타용 모델)-

증상 : 영타는 모두 동작하는데 한영은 안먹힘.
한영 변환키를 누르면 Alt키를 눌렀을때 처럼 동작함.

해결 방법 :
시작->설정->제어판->시스템->시스템 등록정보에서 하드웨어 탭으로 이동->장치 관리자->키보드 부분 선택->등록된 것이 아마도 PC/AT 101키 호환 키보드/USB 키보드(종류1)로 되어 있을껍니다.->오른쪽 마우스 드라이버 업데이트 클릭->하드웨어 업데이트 마법사 시작에서 아무거나 선택하고 다음->목록 또는 특정위치에서 설치(고급)(S)를 클릭->검색 안 함. 설치할 드라이버를 직접 선택(D)클릭->호환 가능한 하드웨어 표시(C) 선택 해지->모델쪽 내용중에 PC/AT 향상된 PS/2 키보드(101.102키)를 선택->다음->장치 설치 확인창이 나오며 선택한 장치 드라이버는 PS/2 마우스 포트 장치도 제어합니다. 어쩌구~->예->하드웨어 업데이트 마법사 완료 마침 -> 시스템 설정 변경으로  다시 부팅하라는 메세지 보여줌..->부팅

(위 방법으로 하고 반드시 부팅을 해 줘야 합니다.)

2009/01/15 17:21 2009/01/15 17:21

Posted on 2008/12/09 00:52
Filed Under Windows/장애처리

DNS server, DNS service  

기본적으로 알아야 할 개념


Vista 에서의 서비싱 모델의 업데이트 프로세스는 이전 운영체제에 사용되는 update.exe 모델에 비해 많은 성능 개선이 있다.

Update.exe 모델의 단점은 각 패키지와 함께 update.exe 엔진을 배포해야 한다는 단점이 있었고 Vista 에서는 업데이트 엔진이 서비싱 스택 의 형태로 운영체제의 일부가 되었다.    

Vista 에서 사용되는 CBS 는 다음과 같다    

CBS(Component based servicing) 는 Trustedinstaller 서비스로 구성되어 있으며 패키지와 업데이트의 적응성 및 선택성 규칙을 평가하고 CSI 에 적절한 배포를 전달한다.

CSI(Component servicing infrastructure) 는 시스템에 배포 및 구성 요소를 실제로 설치하는 시스템

DMI(device management and install) 는 고급 드라이버 설치 프로세스

   

 

사용자 삽입 이미지

   

Manifest 는 구성요소 설치의 기본 단위를 정의하는 XML 형식의 문서  


진행 방법    

  1. 아래 CheckSUR 이라는 tool 을 설치 합니다.
    CheckSUR이라는 tool이 SP1 설치 전 아래와 같은 오류들을 자동 치료해 줍니다.

    http://support.microsoft.com/kb/947821/en-us    

    사용자 삽입 이미지
     

       

    이 tool을 설치한 후 sp1 을 다시 설치 해 봅니다.
    증상이 동일하다면 2번 과정을 진행합니다.

       

  2. CheckSUR tool 을 설치하면 아래의 경로에 로그가 생성됩니다.
    Windows\logs\cbs
    폴더 아래에
    CheckSUR.log
    CheckSUR.persist.log    

    로그 확인 시 아래와 같은 로그 들이 확인됩니다.    

    Checking System Update Readiness.
    Version 6.0.6000.2
    2008-06-24 오후 19:00:54    
    Checking Deployment Packages    

    Checking Package Manifests and catalogs.

    (f)        Corrupt Catalog        CBS        0x800B0100        \servicing\packages\Package_for_KB948590_client~31bf3856ad364e35~x86~~6.0.1.0.cat                

    (f)        Missing File        CBS        0x00000002        \servicing\packages\Package_for_KB948590_client~31bf3856ad364e35~x86~~6.0.1.0.cat
    이 Catalog 파일이 corrupt 되고 missing 된 것을 확인 할 수 있습니다.

    그렇다면 이제 손상된 파일을 복구를 해봐야 합니다.    

    먼저 정상적인 pc 에서 손상된 패키지 파일을 복사하여 가져옵니다.    

    그 다음 손상된 파일을 교체하여 넣어야 하는데 vista 의 servicing 폴더는 Trustedinstaller 소유이기 때문에 수정이 되지 않습니다.

    아래 프로그램을 설치하여 엑세스 권한을 부여하여야 합니다.

    http://www.microsoft.com/downloads/details.aspx?FamilyID=E8BA3E56-D8FE-4A91-93CF-ED6985E3927B&displaylang=en

    시작 - 모든 프로그램 - 보조 프로그램에 마우스를 올리고 마우스 오른쪽 클릭하여 '관리자 권한으로 실행' 를 선택하여 실행

    Command Prompt에서 SubInACL이 설치된 directory로 이동 합니다.(cd C:\Program Files\Windows Resource Kits\tools)    

    먼저 손상된 파일 backup 폴더에 백업한 후 제거 합니다.    

    명령프롬프트 창에서 아래 작업을 진행합니다.

    mkdir c:\backup
    //백업폴더 생성

    subinacl /file C:\Windows\servicing\packages\
    Package_for_KB948590_client~31bf3856ad364e35~x86~~6.0.1.0.cat /grant=faculty=F

    //ACL 에 full 권한 부여

    copy C:\Windows\servicing\packages\Package_for_KB948590_client~31bf3856ad364e35~x86~~6.0.1.0.cat C:\backup
    //손상된 파일 백업 진행

    del C:\Windows\servicing\packages\Package_for_KB948590_client~31bf3856ad364e35~x86~~6.0.1.0.cat
    // 해당 파일 제거

    위 예처럼 이미 missing 되었다면 제거 하실 필요는 없습니다.
    작업 후 정상 pc 에서 가져오기 한 파일을 붙어 넣기 합니다.
    붙여 넣기 시 권한이 없기 때문에 먼저 권한을 부여합니다.

    Subinacl /subdirectories c:\windows\servicing\packages /grant=everyone=F
    위 작업으로 packages 폴더에 everyone 추가 후 full 권한을 부여 합니다.

    이 후 파일을 붙여 넣기 하면 됩니다.
    이 후 sp1 을 다시 설치해 봅니다.


    [추가정보]

    손상된 패키지 파일 언인스톨 방법
    start /w pkgmgr /up:Package_for_KB948590_client~31bf3856ad364e35~x86~~6.0.1.0.cat

       

2008/12/09 00:52 2008/12/09 00:52

Posted on 2008/12/03 21:21
Filed Under Programming/VB

DNS server, DNS service  

1.
fpSpread1.SearchCol(ByVal lCol As Long, ByVal lRowStart As Long, ByVal lRowEnd As Long, ByVal Text As String, ByVal SearchFlags As SearchFlagsConstants) As Long

Return = fpSpread1.SearchCol(검색할 컬럼, 시작Row, 끝Row, 검색어, 검색Flag)


2.
fpSpread1.SearchRow(ByVal lRow As Long, ByVal lColStart As Long, ByVal lColEnd As Long, ByVal Text As String, ByVal SearchFlags As SearchFlagsConstants) As Long

Return = fpSpread1.SearchRow(검색할 Row, 시작Col, 끝Col, 검색어, 검색Flag)

Return 값이 -1 이면, 검색어가 검색되지 않음.

-----------

Spread 6 의 샘플소스가 없어 해당 샘플소스에서 ActiveRow 나 ActiveCol 부터 검색하도록 코딩이 되어 있는지 모르지만, 이 메서드는 지정해준 범위내에서 검색을 하도록 되어 있습니다....

실제 많이 사용되는 메서드 입니다...

2008/12/03 21:21 2008/12/03 21:21

Posted on 2008/11/19 18:53
Filed Under Programming/VB

DNS server, DNS service  

비주얼 베이직 6.0에서 작업을 하다보면 뜻밖에도 이런 것이 안 되다니 하고 느끼는 것이 있다. 바로 마우스의 휠이 먹히지 않는다는 것이다. 마우스로 화면을 스크롤할 수 없다는 것은 정말이지 뜻밖의 복병이다. 윈도우에서 아무런 문제 없이 사용하던 것이 비주얼베이직에만 오면 딱 그 기능이 멎어버린다. (놀라운 MS사의 센스가 아닐 수 없다!)

이 문제를 해결하려고 하면 아래의 파일을 내려받아서 설치하면 간단하게 해결된다.(왜 이것은 VB6에 기본적으로 포함하지 않는 것도 이상하다. 더군다나 패치에서도 해결할 노력이 없다. SP6까지 오면서 개선된 것이 없다. 다행히도 VB.NET에서는 된다.)

1. 아래의 파일을 내려받는다.

http://download.microsoft.com/download/e/f/b/efb39198-7c59-4ace-a5c4-8f0f88e00d34/vb6mousewheel.exe

2. 내려 받은 실행 파일을 클릭하여 실행시킨다.
3. 압축을 풀 폴더를 임의로 선택한다. (단, 위치는 기억한다. 그리고 설치 폴더를 지우면 안 된다.)
4. 다음과 같이 명령어를 입력하여 등록한다.
regsvr32 <압축을 푼 폴더>\VB6IDEMouseWheelAddin.dll
등록되었다는 메시지가 나오면  OK버튼을 클릭한다.
5. Visual Basic 6.0를 실행한다.
6. 메뉴에서 '추가기능(Add-Ins)'->추가기능관리자(Add-in Manager)를 선택한다.
7. '사용가능한 추가기능'목록 중에서 'MouseWheel Fix'를 선택한다.
8. '로드 동작'에서 '로드/언로드'항목과 '시작할 때 로드'항목을 체크(선택)한다.
9. '확인' 버튼을 눌러서 종료한다.
2008/11/19 18:53 2008/11/19 18:53

Posted on 2008/11/10 18:02
Filed Under Windows/장애처리

DNS server, DNS service  

일단.. 크게 3가지 방법을 시도 할 수 있다...
방법 #1번부터 차례대로 따라해보고.. .해결이 안되면 최후의 수단으로 방법 #3으로... 기존의 Open과 Add Project를 대체하여 사용할 수 있다.
난 방법 #1과 방법 #2가 다 되지 않아 현재는 방법 #3으로 대체하여 사용중이다!
완전 불편함 없이 똑같다.


방법 #1

서비스팩 6.0을 설치한다
서비스팩 다운로드 : http://www.microsoft.com/Korea/MSDN/vstudio/downloads/updates/sp/vs6/sp6/



방법 #2

결국 devshl.dll 문제인듯 한데... 아래의 방법대로 차근차근 따라해보자! 그래도 안되면 방법#3으로 넘어간다.

펼쳐보기



방법 #3

이래도 해결이 되지 않는다면 기존의 Open과 Add Project를 과감히 포기하고! 새로 추가해서 사용하자.
아래방법은 영어로 되어 있지만 하나하나 차근차근 따라하면 된다.
간추려 보면
아래 링크에 있는 filetool.exe를 다운받아서 압축풀고
거기있는 코드를 비주얼 스튜디오상에서 컴파일-빌드 하시면 새로운 툴바요소가 만들어 지는데,
1. 그걸 Tool메뉴에서 추가(단축키로 생성됩니다.) - 여기서 생성된 단축키로만 쓰셔도 되고
2. 기존의 open, add in project메뉴를 제거
3. 새로 만든 Open, Add in project를 실제 메뉴자리에 추가
하시면 끝

FileTool.exe

펼쳐보기



아래의.. 댓글에 링크된 방법이 제일 좋을듯 합니다..^^

방법 4

 [Bug Fix] VC++ 6.0 Devshl.dll (at 0x5003eaed) 0xC0000005: Access Denied 오류 해결법 (NULL pointer reference)

 이 버그는 VC++ 6.0에서 File-Open을 클릭하거나, 프로젝트에서 Add File...을 클릭하면 발생하는 VC++ 6.0 Crash에 대한 부분입니다.

예전에 wz1054님이랑 넷미팅 중이였을 때, wz1054님도 같은 증상이 있던것으로 생각되는데, 저 역시 포맷 후에 XP SP3 무인설치로 깔아주니 같은 현상이 일어나네요. ( 게다가 커널 드라이버 역시 ntoskrnl.exe이 아닌 ntkrnlpa.exe로 wz1054님이랑 상황이 완전 비슷하다랄까... )

일단, MS 기술문서(KB)에도 해결책이 써져있습니다만, 미봉책적인 방법인데다가 해결이 안되는 경우도 있어서 글을 쓴겁니다. (MS 기술문서: http://support.microsoft.com/kb/231655)

MS 기술문서엔 아래 두가지 방법을 권고하네요.

1. 별도의 ToolBox Add-in 사용 ( 근데 이건 비추합니다.File-Open의 기능보다 너무 간소해서... 별로 쓰기가 싫은(?) )
2. SP4 이상(SP4~SP6)으로 Visual Studio 6.0을 패치한다. ( 제 컴퓨터에서는 SP6인데도 이런 증상이 일어나는군요. )

일단 이 문제는 컴퓨터에 너무 많은 Component Server(COM)들이 설치되어있어서 발생한다고 써져있었습니다. (근데 왜 과거에 쓰던 시스템에서는 많았는데도 잘됐을까... 쿨럭)

여튼, 직접 Debugger로 Reversing을 해보니까, 아래 코드가
문제였습니다.

0x5003eaed: repe cmps dword ptr [edi],dword ptr [esi]

edi가 0x00000000인 상태에서 Referencing을 하려니까 오류가 생긴것이였습니다.

이를 NOP으로 패치하고 그 밑에 여타 Jump Code를 crash가 발생 안하게끔 패치해주니,

정상 동작하였습니다. (단, File Format선택 콤보박스에 괴상한 문자 몇개 뜨는것쯤은 감수하셔야할듯)

패치 성공한 DLL파일은 아래에 있습니다.

위에 제시한 방법들로 성공하지 못하신 분들은, 아래 DLL 파일을 다운받으셔서

이를 C:\Program Files\Microsoft Visual Studio\COMMON\MSDev98\Bin에 덮어씌우시면 됩니다.
2008/11/10 18:02 2008/11/10 18:02

Posted on 2008/10/21 18:24
Filed Under Programming

DNS server, DNS service  


순서도 종류 및 설명

도형 유형 및 설명
도형 모양 수행의 시작/종료: 처리 과정의 시작과 끝입니다.
도형 모양 처리: 처리 과정의 한 단계입니다.
도형 모양 종속 처리: 이미 알려졌거나 이해한 처리 과정으로 순서도에서는 자세히 설명하지 않았습니다.
도형 모양 판단: 처리 과정에서 판단을 내려야 하는 지점입니다.
도형 모양 연결자: 순서도 내에서 상호 참조하거나 다른 처리 과정으로 안내하는 선입니다.
도형 모양 데이터: 받는 정보나 유포하는 정보와 같은 모든 종류의 입력 또는 출력입니다.
도형 모양 문서: 인쇄물처럼 사람들이 읽을 수 있도록 만들어진 것을 의미합니다.
도형 모양 지연: 처리 과정에서 기다리는 것을 의미합니다.
도형 모양 준비: 준비 단계를 의미합니다.


1. 순서도 (flow chart) → 알고리즘 또는 문제해결의 절차를 그림으로 알기 쉽게 나타낸 것.

→ 설계한 알고리즘을 객관적이며 쉽게 표현, 이해하기 위하여 기호를 사용.

2. 순서도의 종류

① 시스템 순서도 : 일의 처리과정을 전체적으로 상세하게 표현한 순서도

② 프로그램 순서도 : 컴퓨터로 처리가 가능한 부분을 단계적으로 표현한 순서도

 

3. 순서도에 쓰이는 기호

1) 터미널 : 순서도의 시작과 끝을 나타내는 기호2) 처리기호 : 값을 지정하거나 변경 또는 계산을 나타내는 기호3) 판단기호 : 조건을 판단하여 경로를 택하는 기호4) 인쇄기호 : 처리된 값을 인쇄하는 것을 나타내는 기호

4 순서도 작성법

1) 순서도는 “시작 단말 기호”를 시작으로 “끝 단말 기호”로 마친다.2) 기호와 기호사이는 흐름선으로 연결한다.3) 흐름선의 방향은 ↓ 위에서 아래로, → 왼쪽에서 오른쪽 (단,↱ 순환기호(Loop)같은 특별한 경우는 예외)4) 작업과정이 길거나 복잡하면 나누어 작성하고 연결자로 연결5) 값을 보관, 처리하기 위하여 변수를 사용

5. 순서도 구성요소

1) 변수(Variable) : 데이터[상수,변수,수식]를 기억 할 수 있는 기억공간 → 문자변수, 수치변수(정수형,실수형,상수)2) 상수(Constant) → 문자상수, 수치상수(정수형,실수형,상수)2) 상수(Constant) → 산술연산자([], **, */, +-), 관계연산자(=, ≠, <, >, >=, <=), 논리연산자(NOT, AND, OR)

2008/10/21 18:24 2008/10/21 18:24
TAG :

Posted on 2008/10/21 16:17
Filed Under Windows/장애처리

DNS server, DNS service  

윈도우 탐색기에서 AVI 파일 클릭시 오류나는 증상 해결

이는.. AVI파일과 연결된 코덱이 잘못설치되어 있거나, 또는 정상적으로 연결되지 않아 탐색기에서 동영상 미리보기 기능이 작동시, 오류가 발생하는 것으로,

근본적인 해결책은 해당 코덱을 재설치 하거나, 제거/ 초기화 하는 방법이 있다.

그러나 유독 윈도우에서(탐색기 포함)만 오류나고, 곰이나, 기타 플레이어에서는 정상동작하는 경우, 윈도우의 동영상 미리보기 기능을 끄면 된다.

이는 다음의 명령어를 시작-실행에 입력하면 완료~

regsvr32 /u shmedia.dll
위의 기능은 탐색기에서 동영상 미리보기 기능을 제거하는 것이다.
2008/10/21 16:17 2008/10/21 16:17

Posted on 2008/10/13 22:42
Filed Under Programming/C#

DNS server, DNS service  

C#... 즉.. 닷넷... 이놈 참 대단한놈이다.. 왠만한 자료구조형이 다있다.. 큐!~ 도 있다 --^ 예전에 이걸 구현해서.. 사용했던 내가.. ㄷㄷㄷ....

CShop자료구조02_자료구조_큐.cs

/*
 C#자료구조02 : 자료구조_큐(Queue).
 .NET Class의 Stack 클래스 사용.
 2005년 12월 07일
 Choi Young Gyu

*/

using System;
using System.Collections;

public class 큐
{

 public static void Main()
 {

  //[1]큐 인스턴스 생성
  Queue queue = new Queue();
  //[2]큐에 데이터 입력
  Console.WriteLine("Enqueue : VC++");
  queue.Enqueue("VC++");
  Console.WriteLine("Enqueue : VB.NET");
  queue.Enqueue("VB.NET");
  //[3]큐에서 대이터 꺼내기
  Console.WriteLine("Dequeue : {0}",queue.Dequeue());
  Console.WriteLine("Dequeue : {0}",queue.Dequeue());
 }
}

결과

사용자 삽입 이미지

2008/10/13 22:42 2008/10/13 22:42
TAG : , ,

Posted on 2008/10/08 22:19
Filed Under Windows/최적화 및 팁

DNS server, DNS service  

32비트 운영체제의 경우에는 최대로 인식되는 램용량이 시스템에 따라 다르지만 대부분 3~3.5기가 정도로 인식이 되어진다. 여기서 문제가 발생하는데 램을 4기가 이상사용하게 되면 나머지는 그냥 버려지게 된다. 64비트 비스타를 사용하게 되면 문제없겠지만은 이 팁은 비스타를 꺼려하시는분을 위해 작성된것이며 실제적으로 인식안되는 부분의 용량을 인식시켜서 총 4기가 이상의 메모리를 다활용 하게 하는것이 아니고 램디스크를 이용하여 윈도우에서 할당되지 않는 나머지 용량부분을 설정하는것이다. 이 팁을 적용하지 않고 그냥 램디스크를 사용하게 되면 윈도우에서 사용되는 램 용량에서 할당되게 되지만 이 팁의 경우에는 그외 인식되지 않는 용량을 할당하게 된다. 쉽게 말해서 램을 4기가 사용하고 있는데 윈도우에선 3.5기가만 인식이 되어진다고 가정하였을때 인식이 안되는 나머지 500을 램디스크로 할당이 가능하다는 것이다. 램디스크에 활용은 인터넷 임시폴더나 윈드우 TEMP폴더,압축프로그램에 임시폴더등을 지정해 주면 체감차이가 많이 날것이다.


1. 가장 먼저 할일은 boot.ini를 수정하는것인데 실행에서 c:\boot.ini를 실행해주면 창이 열린다
아래처럼 끝부분에 /PAE만 추가로 입력해준후에 저장후에 윈도우 재부팅

사용자 삽입 이미지

예제)

 [boot loader]
timeout=30
default=multi(0)disk(0)rdisk(0)partition(1)\WINDOWS
[operating systems]
multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Microsoft Windows XP
Professional" /noexecute=optin /fastdetect /PAE

32비트 비스타의 경우에는 검색에서 cmd를 찾아서 마우스 우클릭후에 관리자 권한으로 실행후

bcdedit /set PAE forceenable

2. 첨부된 파일에 레지스트리를 추가
* 첨부





사용자 삽입 이미지

3. 레지추가후에 램디스크를 실행해서 인스톨을 클릭한후에 다른부분 건드리지 말고 확인을 눌러주면 된다. 16M로 되어있어도 최정적으로 램디스크가 할당된 용량을 보면 윈도우에서 사용되지 않는 용량전부가 잡힌것을 볼수 있을것이다.
사용자 삽입 이미지

이제 설정은 전부 끝난상태이므로 윈도우 임시폴더, 익스플로러 임시폴더, 압축프로그램 임시폴더 등을 R드라이브로 지정해 주시거나 기타 방법으로 램디스크를 활용하면 된다.

[출처] http://blog.naver.com/rishion/30035089791

P.S : 실재 램디스크 잡고, 여기에 각종 캐쉬폴더랑 스왑 잡아주니... 체감속도 향상이 꽤 있당!~
 


2008/10/08 22:19 2008/10/08 22:19

Posted on 2008/10/08 22:05
Filed Under Windows/최적화 및 팁

DNS server, DNS service  

파워포인트 문서를 여러개 열어도... 작업표시줄에는 여러개가 나오나,... 결국 하나의 창으로 실행하여 매우 불편하였다!!~

아래 첨부된 실행파일을 받아서 실행하면~~~ 파워포인트 창이 여러개 뜬다~~ ㅎㅎㅎㅎㅎ
최고다!



P.S : 실험은 2007 밖에 안해봤다.. 2003에서도 될려나???
 
2008/10/08 22:05 2008/10/08 22:05

Posted on 2008/09/25 01:12
Filed Under Programming/C#

DNS server, DNS service  

// 프로그램 시작시간
DateTime startTime = DateTime.Now;

// 1. 현재시간
DateTime now;
now = DateTime.Now;

Console.WriteLine(now); // 현재시간 전체
Console.WriteLine(now.Year); // 현재 년도
Console.WriteLine(now.Month); // 현재 달
Console.WriteLine(now.Day); // 현재 일
Console.WriteLine(now.DayOfWeek); // 현재 주
Console.WriteLine(now.DayOfYear); // 1년중 몇일째인지
Console.WriteLine(now.TimeOfDay); // 금일 자정부터 몇시간
Console.WriteLine(now.Hour); // 시간
Console.WriteLine(now.Minute); // 분
Console.WriteLine(now.Second); // 초
Console.WriteLine(now.Millisecond); // 1000분의 1초

Console.WriteLine(now.Ticks); // 1000분의 1초

// 2. 임의시간 설정
DateTime birthday;
birthday = DateTime.Parse("2009년8월9일"); // 시분초 미지정시 자정으로
birthday = DateTime.Parse("2009/08/09");

Console.WriteLine(birthday);

DateTime xmas;
xmas = new DateTime(2008, 12, 25, 0, 0, 0);

Console.WriteLine(xmas);

// 3. 연산

// 3.1 오늘 + 100일
now = DateTime.Now;
DateTime result = now.AddDays(100); // 각 단위별 add메소드가 존재 MSDN참고

Console.WriteLine(result);

// 3.2 크리스마스까지 남은 날
TimeSpan result2 = xmas - now;
Console.WriteLine(result2);
Console.WriteLine(result2.Days); // NNN일 (내림표현)
Console.WriteLine(result2.TotalDays); // NNN.NNNNNNN일 (더정확)

// 3.3 오늘 - 100일
Console.WriteLine(now - TimeSpan.FromDays(100));
Console.WriteLine(now.AddDays(-100));

// 4. 날짜시간 출력형식 지정
Console.WriteLine(now.ToLocalTime()); // 2008-08-08 오전 10:31:25

Console.WriteLine(now.ToLongDateString()); // 2008년 8월 8일 금요일
Console.WriteLine(now.ToShortDateString()); // 2008-08-08

Console.WriteLine(now.ToLongTimeString()); // 오전 10:31:25
Console.WriteLine(now.ToShortTimeString());   // 오전 10:31

// 프로그램 종료시간
DateTime endTime = DateTime.Now;

Console.WriteLine("프로그램 수행시간 : {0}/ms", (double)(endTime - startTime).Ticks / 1000000.0F);
2008/09/25 01:12 2008/09/25 01:12

Posted on 2008/09/17 17:19
Filed Under Windows/장애처리

DNS server, DNS service  

위와 같이 하드디스크 메뉴에 AUTO가 추가되어 바로 열기가 안될때가 있다.
원인은 아래 그림의 2파일 때문이다.(해킹프로그램이라고 한다)

사용자 삽입 이미지사용자 삽입 이미지


악성코드/바이러스 프로그램으로 전혀 치료되지 않으며, 방법은 컴퓨터 부팅 후 메모리 테스트가 끝난 후 F8키를 1초 간격으로 눌러준다.
그러면 XP멀티 부팅 메뉴가 나타나는데 이때 맨위의 "안전모드"를 선택 하여 안전모드로 부팅하자.
CTRL+ALT+DEL키를 눌러 작업관리자를 실행 후 프로세서란의 SVOHOST.exe를 선택 후 프로세서 끝내기를 한다.(SVOHOST.exe파일이 없으면 작업관리자를 끝내도록 하자.)

안전모드 상에서 C,D드라이브에 위그림의 2개 파일을 삭제해준다.

(안보일시 도구-폴더옵션의 시스템파일 숨김 체크 해제/숨김또는 파일폴더 보기 체크)

이후 시작-실행의 regedit를 입력하고 확인을 눌러 아래 경로로 찾아간다

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run

오른쪽 메뉴에서 기본값을 제외한 모두를 삭제해주자.(RUN폴더 아래 -RUN이란 폴더가 있다면 같이 삭제 해준다.) 이후 WINDOWS\SYSTEM32폴더에 아래의 3개 파일이 남아 있다면 삭제 하도록 한다.

winscok.dll 
sxs.exe
autorun.inf

이후 재부팅하여 윈도우 모드로 접속하면 auto가 사라진것을 확인 할 수 있다.
재부팅 후 윈도우 화면에서 아래와 같은 창이 나타난다면,
사용자 삽입 이미지

다시 안전모드 부팅 후 아래 그림과 같이 C:\windows\Prefetch LAJQHF.EXE파일을 삭제 하고 레지스트리 편집기를 열어

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run의

오른쪽 메뉴 기본값을 제외한 모두를 삭제한다. (-RUN폴더는 폴더체로 삭제)
이 증상은 USB메모리를 통해 감염되기 쉬우므로 각 드라이브와 USB메모리의 SXS.EXE , AUTORUN.INF파일을 안전모드상에서 전부 삭제 해주도록 하자.

윈도우 부팅 후 꼭 SXS.EXE와 AUTORUN.INF파일이 없어진것을 확인할것!
2008/09/17 17:19 2008/09/17 17:19

Posted on 2008/09/16 12:04
Filed Under Windows/최적화 및 팁

DNS server, DNS service  

윈도우에서 네트워크 공유폴더를 이용시 아이디와 암호를 저장할 경우 다시 접근시 저장된 암호와 아이디로 접근 합니다.
이 아이디와 암호를 변경하는 방법은 두가지가 있습니다. (둘중 아무방법을 하셔도 상관없습니다.)

1. 첫번째 방법  (윈도우 툴을 이용한 방법)

more..



2. 두번째 방법 (커맨드 창에서 net use 명령어를 사용하는 경우)

more..

2008/09/16 12:04 2008/09/16 12:04

Posted on 2008/09/15 18:33
Filed Under Windows/응용프로그램

DNS server, DNS service  

출처 : http://technet.microsoft.com/ko-kr/library/bb691354(EXCHG.80).aspx


Exchange 2007
Windows Server 2008에 Exchange 2007 SP1 선행 조건을 설치하는 방법

more..

2008/09/15 18:33 2008/09/15 18:33

Posted on 2008/09/02 21:42
Filed Under Windows/장애처리

DNS server, DNS service  

오류메시지도 뜨지 않고 업데이트가 되지 않을경우..

업데이트를 진행하는 서비스에 필요한 DLL이 등록되지 않아서인데...
업데이트(처음진행시) 다른프로그램이 설치중이거나, 실행중일때 발생할 수 있다.


윈도우 업데이트 오류 해결 방법

시작, 실행 → cmd 입력, 엔터.
cmd 명령 프롬프트 창이 뜨면 cd\ 엔터합니다.


C:\>
이렇게 표시가 되면 net stop wuauserv 를 입력, 엔터.
C:\>net stop wuauserv


C:\>
regsvr32 %windir%\system32\wups2.dll 입력, 엔터.
C:\>regsvr32 %windir%\system32\wups2.dll

※ 여기서 Windows XP Professional x64 Edition 의 경우는 다음과 같이 입력합니다.
C:\>regsvr32 %windir%\syswow64\wups2.dll


C:\>
net start wuauserv 입력, 엔터.
C:\>net start wuauserv


모든 작업을 마쳤으면 cmd 창을 닫고 부팅 후 인터넷 도구 → Windows Update(U),
혹은 자동 업데이트를 통해 업데이트를 설치합니다.

출처 :
http://support.microsoft.com/kb/943144/ko

2008/09/02 21:42 2008/09/02 21:42

Posted on 2008/08/31 21:07
Filed Under Linux/장애처리

DNS server, DNS service  

Apache 와 PHP를 설치후,.. 아파치를 실행하면,

Syntax error on line 232 of /usr/local/apache/conf/httpd.conf:
Cannot load /usr/local/apache/modules/libphp5.so into server: /usr/local/apache/modules/libphp5.so: cannot restore segment prot after reloc: Permission denied

Fedora에서는 Selinux기술을 사용하는데, 서버환경에서 Selinux환경이 활성화 되어 있는 상태이면 위와 같은 오류가 발생한다.
Selinux활성화 상태에서 apache를 구동하는 방법은 조금 복잡함으로, 그냥 비활성화 시키고 재부팅하면 된다.


/etc/sysconfig/selinux   파일은 열어서

SELINUX=enforcing  부분을 아래와 같이 변경후 재부팅한다.

SELINUX=disabled

2008/08/31 21:07 2008/08/31 21:07

Posted on 2008/08/28 23:49
Filed Under Programming

DNS server, DNS service  

헝가리언 표기법

 

유래

10,15년 전 Microsoft의 개발자중 헝가리 사람의 프로그래머가 쓰던 변수 명명법.

MS 내부에서 따라 쓰기 시작하던 것이 점차 전세계의 프로그래머들에게 널리 퍼져 프로그램 코딩시 변수 명명의 표준적인 관례가 되었다. 그러나 실제로 현장에서 일하다 보면 헝가리안 표기법을 제대로 지키는 개발자는 그리 많지 않다. 어느 정도 개발 경험을 가지고 있는 프로그래머는 물론 심지어 시중의 프로그래밍 서적에서 조차 저자 마다 변수 명을 개인에 따라 가지 각색으로 짓고 있어서 처음프로그램을 배우는 입문자들이 변수 명명에 대한 기준을 제대로 잡지 못하고 있는 실정이다.

변수 명명에 관한 표준화된 관례를 지켜주면 코드의 가독성을 높여 줄뿐 아니라 어떤 변수 명을 지을지 고민하지 않아도 되는 편리함을 누릴 수 있다.

                         

 :Prefix     :Type                  :Description                                   :Example

:b          :bool                   :any boolean type                           :bool bTrue;

:c          :char                    :character type                              :char cLetter;

:i           :int                      :integer                                         :int iCars;

:l           :long                    :long type                                      :long lDistance;

:u          :unsigned             :unsigned type                            

:f           :float                   :floating point                                :float fPercent;

:d          :double                :double floating point                      :double dPercent;

:s           :static                  :a static variable                           :static short ssChoice;

:rg         :array                   :stands for range                            :float rgfTemp[16];

:p          :*                        :any pointer                                   :int *piAddr;

:sz         :*                       :null terminated string of characters   :char szText[16];

:pfn        :*                        :function pointer                            :int (*pifnFunc1)(int x, int y);

:t           :struct                 :a user defined type

:e          :enum                  :variable which takes enumerated values

:E          :enum                  :Enumerated type

:g_         :Global                 :Global Variable                               :String *g_psBuffer

:m_        :Member               :class private member variable           :

:k           :constant formal parameter                                        :void vFunc(const long klGalaxies)

:r           :reference formal parameter                                       :void vFunc(long&rlGalaxies)

:str        :String                  :string class(C )                          :String strName;

:prg       :dynamically allocated array                                       :char *prgGrades;

:h          :handle                :handle to something                     :hMenu

 

:n          :                           :number, quantity                          :int nNum;

:x/y        :                           :used as size                                 :int xWitdth, yHeight;

 

 

Example of type specific variable naming

unsigned char ucByte;              :한 바이트 데이타

         char cChar;               :한 문자

unsigned char rgucByte[10];           :바이트 데이타10개

         char rgcChar[10];                        :문자 데이터10개

         char szChar[16 1];     :문자16개를 저장할 수 있는 문자열 공간

 

:Data Type           :Description

BYTE               unsigned char type

WORD              unsigned short type

DWORD            unsigned long type



접두어

의미

a

배열

b 또는 f

BOOL형 변수(b는 bool, f는 flag의 약자

by

BYTE(unsigned char)형 변수

c

카운터로 사용되는 변수

ch

Char 형 변수

cx, cy

X, Y 길이를 나타내기 위해 사용되는 변수

d

날짜형 변수

dbl

Double형 변수

h

핸들(HANDLE)형 변수

n는 i

Int형 변수

l

Long형 변수

p

포인터변수

lp

Long(far)포인터 변수(32비트 프로그래밍에서는 일반 포인터와 같음)

s

문자열

sz

(NULL)문자로 끝나는 문자열

u

Unsigned int형 변수

w

WORD(unsigned short)형 변수

dw

DWORD(unsigned long)형 변수

str

Cstring 형 변수

2008/08/28 23:49 2008/08/28 23:49

Posted on 2008/08/26 22:32
Filed Under Programming/C#

DNS server, DNS service  

DirectX Software Develpment Kit

http://www.microsoft.com/downloads/details.aspx?FamilyID=86cf7fa2-e953-475c-abde-f016e4f7b61a&displaylang=en&Hash=qeJBP6Uksx0zY%2btLhcKYj%2fx4PDbDDOI%2btC%2bsa73SX4pkMysJCEnMU48j49VRn6%2fbDsK5k8OfHBLz%2fe9FNHN8hg%3d%3d

위 SDK를 설치한 후에

using Microsoft.DirectX.AudioVideoPlayback;

를 이용하여~ 딱 3줄로.. 동영상 재생가능~~

1. 무작정 Visual Studio 2008을 띄우고 C# WinForm 프로젝트 생성
2. [Add Reference]에서 Microsoft.DirectX.AudioVideoPlayback를 추가해주고(DirectX는 깔려 있어야 함)
3. Form을 더블 클릭하고 다음과 같이 쳐준다.

using Microsoft.DirectX.AudioVideoPlayback;
private void Form1_Load(object sender, EventArgs e){
    Video v = Video.FromFile(@"c:\test.avi");
    v.Owner = this;
    v.Play();
}

4. F5를 누른다.

근데 안된다.

[Debug]-[Exceptions]-[LoaderLock]의 Thrown 항목을 꺼준다.

사용자 삽입 이미지

5. F5를 누른다.

사용자 삽입 이미지

ㅋㅋㅋ 성공 ….

[잡설]
이번 일주일간 WDM 디바이스 드라이버 프로그래밍 교육중이다.
Kernel Mode 프로그램에서는 좀만 잘못하면 블루 스크린…
오랜만에 보는 VisualStudio… 안보던 사이 많이 바뀌었었네…

2008/08/26 22:32 2008/08/26 22:32

Posted on 2008/08/19 22:16
Filed Under Linux/설정방법

DNS server, DNS service  

Linux 백업 스크립트~

난 아래 내용의 파일을 ~~ /etc/cron.weekly 에 복사해서 실행 권한을 주고~ 일주일에 한번식 실행하도록 한다.

펼치기



 

2008/08/19 22:16 2008/08/19 22:16

About

by CoCo

Notice

Counter

· Total
: 848711
· Today
: 52
· Yesterday
: 48