2008년 10월 13일 월요일

C# 의 자료구조 Queue !!

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월 8일 수요일

윈도우XP에서 램4기가 이상 활용하기 [램디스크]

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 : 실재 램디스크 잡고, 여기에 각종 캐쉬폴더랑 스왑 잡아주니... 체감속도 향상이 꽤 있당!~
 


파워포인트(PPT) 2007 다중창(각각) 실행하기.

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

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



P.S : 실험은 2007 밖에 안해봤다.. 2003에서도 될려나???
 

2008년 9월 25일 목요일

DateTime 클래스 활용 C샵 - 문법

// 프로그램 시작시간
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년 9월 17일 수요일

컴퓨터의 메인하드 C,D 드라이브를 더블클릭하면 연결프로그램을 찾으라는 창이나올때~

위와 같이 하드디스크 메뉴에 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년 9월 16일 화요일

네트워크 공유 폴더를 다른 아이디와 암호로 로그인 하고 싶을때

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

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

more..



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

more..

2008년 9월 15일 월요일

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

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


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

more..