광고 수익은 기아대책 서울본부에 기부합니다.

2015.09.11 15:00 윈도우/참고

CString getMyLastErrorMsg(CString strFunction)
{
    LPVOID lpMsgBuf;
    DWORD dw = GetLastError();

    FormatMessage(
        FORMAT_MESSAGE_ALLOCATE_BUFFER |
        FORMAT_MESSAGE_FROM_SYSTEM |
        FORMAT_MESSAGE_IGNORE_INSERTS,
        NULL,
        dw,
        MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT),
        (LPTSTR) &lpMsgBuf,
        0, NULL );

 CString strMsg;
 strMsg.Format(_T("%s failed with error %d: %s"), strFunction, dw, (LPCTSTR)lpMsgBuf);

    LocalFree(lpMsgBuf);

 return strMsg;
}

저작자 표시 비영리 동일 조건 변경 허락
신고
posted by Town One townone
2013.09.30 16:51 윈도우/참고

VS2008 지원되는 시스템 폰트 종류

 

 

 

저작자 표시 비영리 동일 조건 변경 허락
신고
posted by Town One townone
2013.06.03 18:44 윈도우/참고

http://meyerweb.com/eric/tools/dencoder/

 

저작자 표시 비영리 동일 조건 변경 허락
신고
posted by Town One townone
2013.05.31 16:20 윈도우/참고


확인한 문제
AGSearchHook Class이(가) Internet Explorer에서 실행 중임AGSearchHook Class이(가) Internet Explorer에서 실행 중임
AGSearchHook Class 추가 기능은 Internet Explorer에서 문제를 일으킬 수 있음 확인됨 
Alot Toolbar이(가) Internet Explorer에서 실행 중임Alot Toolbar이(가) Internet Explorer에서 실행 중임
Alot Toolbar 추가 기능은 Internet Explorer에서 문제를 일으킬 수 있음 확인됨 
Alot Toolbar Helper이(가) Internet Explorer에서 실행 중임Alot Toolbar Helper이(가) Internet Explorer에서 실행 중임
Alot Toolbar Helper 추가 기능은 Internet Explorer에서 문제를 일으킬 수 있음 확인됨 
AOL Toolbar이(가) Internet Explorer에서 실행 중임AOL Toolbar이(가) Internet Explorer에서 실행 중임
AOL Toolbar 추가 기능은 Internet Explorer에서 문제를 일으킬 수 있음 확인됨 
Ask Toolbar이(가) Internet Explorer에서 실행 중임Ask Toolbar이(가) Internet Explorer에서 실행 중임
Ask Toolbar 추가 기능은 Internet Explorer에서 문제를 일으킬 수 있음 확인됨 
AVG Safe Search이(가) Internet Explorer에서 실행 중임AVG Safe Search이(가) Internet Explorer에서 실행 중임
AVG Safe Search 추가 기능은 Internet Explorer에서 문제를 일으킬 수 있음 확인됨 
Baidu Toolbar이(가) Internet Explorer에서 실행 중임Baidu Toolbar이(가) Internet Explorer에서 실행 중임
Baidu Toolbar 추가 기능은 Internet Explorer에서 문제를 일으킬 수 있음 확인됨 
BitDefender Toolbar이(가) Internet Explorer에서 실행 중임BitDefender Toolbar이(가) Internet Explorer에서 실행 중임
BitDefender Toolbar 추가 기능은 Internet Explorer에서 문제를 일으킬 수 있음 확인됨 
Blubster Toolbar이(가) Internet Explorer에서 실행 중임Blubster Toolbar이(가) Internet Explorer에서 실행 중임
Blubster Toolbar 추가 기능은 Internet Explorer에서 문제를 일으킬 수 있음 확인됨 
PC Tools Browser Guard Toolbar이(가) Internet Explorer에서 실행 중임PC Tools Browser Guard Toolbar이(가) Internet Explorer에서 실행 중임
PC Tools Browser Guard Toolbar 추가 기능은 Internet Explorer에서 문제를 일으킬 수 있음 확인됨 
Comcast Toolbar이(가) Internet Explorer에서 실행 중임Comcast Toolbar이(가) Internet Explorer에서 실행 중임
Comcast Toolbar 추가 기능은 Internet Explorer에서 문제를 일으킬 수 있음 확인됨 
Cooliris이(가) Internet Explorer에서 실행 중임Cooliris이(가) Internet Explorer에서 실행 중임
Cooliris 추가 기능은 Internet Explorer에서 문제를 일으킬 수 있음 확인됨 
CouponBar이(가) Internet Explorer에서 실행 중임CouponBar이(가) Internet Explorer에서 실행 중임
CouponBar 추가 기능은 Internet Explorer에서 문제를 일으킬 수 있음 확인됨 
추가 기능으로 인해 Internet Explorer가 응답하지 않음추가 기능으로 인해 Internet Explorer가 응답하지 않음
문제 있는 추가 기능이 하나 이상 검색되었습니다. 이러한 추가 기능 때문에 Internet Explorer가 응답하지 않을 수 있습니다. 확인됨 
Delicious Toolbar이(가) Internet Explorer에서 실행 중임Delicious Toolbar이(가) Internet Explorer에서 실행 중임
Delicious Toolbar 추가 기능은 Internet Explorer에서 문제를 일으킬 수 있음 확인됨 
DoubleD Toolbar이(가) Internet Explorer에서 실행 중임DoubleD Toolbar이(가) Internet Explorer에서 실행 중임
DoubleD Toolbar 추가 기능은 Internet Explorer에서 문제를 일으킬 수 있음 확인됨 
Earthlink Toolbar Protection BHO이(가) Internet Explorer에서 실행 중임Earthlink Toolbar Protection BHO이(가) Internet Explorer에서 실행 중임
Earthlink Toolbar Protection BHO 추가 기능은 Internet Explorer에서 문제를 일으킬 수 있음 확인됨 
Ebay Toolbar이(가) Internet Explorer에서 실행 중임Ebay Toolbar이(가) Internet Explorer에서 실행 중임
Ebay Toolbar 추가 기능은 Internet Explorer에서 문제를 일으킬 수 있음 확인됨 
FoxyTunes Toolbar이(가) Internet Explorer에서 실행 중임FoxyTunes Toolbar이(가) Internet Explorer에서 실행 중임
FoxyTunes Toolbar 추가 기능은 Internet Explorer에서 문제를 일으킬 수 있음 확인됨 
Google Toolbar이(가) Internet Explorer에서 실행 중임Google Toolbar이(가) Internet Explorer에서 실행 중임
Google Toolbar 추가 기능은 Internet Explorer에서 문제를 일으킬 수 있음 확인됨 
Google Toolbar Helper이(가) Internet Explorer에서 실행 중임Google Toolbar Helper이(가) Internet Explorer에서 실행 중임
Google Toolbar Helper 추가 기능은 Internet Explorer에서 문제를 일으킬 수 있음 확인됨 
Google Toolbar Notifier BHO이(가) Internet Explorer에서 실행 중임Google Toolbar Notifier BHO이(가) Internet Explorer에서 실행 중임
Google Toolbar Notifier BHO 추가 기능은 Internet Explorer에서 문제를 일으킬 수 있음 확인됨 
Grab Pro Toolbar이(가) Internet Explorer에서 실행 중임Grab Pro Toolbar이(가) Internet Explorer에서 실행 중임
Grab Pro Toolbar 추가 기능은 Internet Explorer에서 문제를 일으킬 수 있음 확인됨 
HP Smart Web Printing이(가) Internet Explorer에서 실행 중임HP Smart Web Printing이(가) Internet Explorer에서 실행 중임
HP Smart Web Printing 추가 기능은 Internet Explorer에서 문제를 일으킬 수 있음 확인됨 
추가 기능으로 Internet Explorer 시작 및 탭 만들기 속도가 느려질 수 있음추가 기능으로 Internet Explorer 시작 및 탭 만들기 속도가 느려질 수 있음
하나 이상의 추가 기능이 검색되었습니다. 이러한 추가 기능 때문에 Internet Explorer 시작 및 탭 만들기 속도가 느려질 수 있습니다. 확인됨 
LBBHO Browser Helper Object이(가) Internet Explorer에서 실행 중임LBBHO Browser Helper Object이(가) Internet Explorer에서 실행 중임
LBBHO Browser Helper Object 추가 기능은 Internet Explorer에서 문제를 일으킬 수 있음 확인됨 
Morpheus Bar Search Assistant이(가) Internet Explorer에서 실행 중임Morpheus Bar Search Assistant이(가) Internet Explorer에서 실행 중임
Morpheus Bar Search Assistant 추가 기능은 Internet Explorer에서 문제를 일으킬 수 있음 확인됨 
GamesBar이(가) Internet Explorer에서 실행 중임GamesBar이(가) Internet Explorer에서 실행 중임
GamesBar 추가 기능은 Internet Explorer에서 문제를 일으킬 수 있음 확인됨 
Orange Toolbar이(가) Internet Explorer에서 실행 중임Orange Toolbar이(가) Internet Explorer에서 실행 중임
Orange Toolbar 추가 기능은 Internet Explorer에서 문제를 일으킬 수 있음 확인됨 
PC Confidential 2008이(가) Internet Explorer에서 실행 중임PC Confidential 2008이(가) Internet Explorer에서 실행 중임
PC Confidential 2008 추가 기능은 Internet Explorer에서 문제를 일으킬 수 있음 확인됨 
PDF Creator이(가) Internet Explorer에서 실행 중임PDF Creator이(가) Internet Explorer에서 실행 중임
PDF Creator 추가 기능은 Internet Explorer에서 문제를 일으킬 수 있음 확인됨 
PPLive이(가) Internet Explorer에서 실행 중임PPLive이(가) Internet Explorer에서 실행 중임
PPLive 추가 기능은 Internet Explorer에서 문제를 일으킬 수 있음 확인됨 
PPLive Accelerator이(가) Internet Explorer에서 실행 중임PPLive Accelerator이(가) Internet Explorer에서 실행 중임
PPLive Accelerator 추가 기능은 Internet Explorer에서 문제를 일으킬 수 있음 확인됨 
PriceGongCtrl Class Browser Helper Object이(가) Internet Explorer에서 실행 중임PriceGongCtrl Class Browser Helper Object이(가) Internet Explorer에서 실행 중임
PriceGongCtrl Class Browser Helper Object 추가 기능은 Internet Explorer에서 문제를 일으킬 수 있음 확인됨 
Quero Toolbar이(가) Internet Explorer에서 실행 중임Quero Toolbar이(가) Internet Explorer에서 실행 중임
Quero Toolbar 추가 기능은 Internet Explorer에서 문제를 일으킬 수 있음 확인됨 
Roxio Drive Letter Access BHO이(가) Internet Explorer에서 실행 중임Roxio Drive Letter Access BHO이(가) Internet Explorer에서 실행 중임
Roxio Drive Letter Access BHO 추가 기능은 Internet Explorer에서 문제를 일으킬 수 있음 확인됨 
ReGetBar Toolbar이(가) Internet Explorer에서 실행 중임ReGetBar Toolbar이(가) Internet Explorer에서 실행 중임
ReGetBar Toolbar 추가 기능은 Internet Explorer에서 문제를 일으킬 수 있음 확인됨 
RealPlayer Download and Record Plugin이(가) Internet Explorer에서 실행 중임RealPlayer Download and Record Plugin이(가) Internet Explorer에서 실행 중임
RealPlayer Download and Record Plugin 추가 기능은 Internet Explorer에서 문제를 일으킬 수 있음 확인됨 
Skype Plugin이(가) Internet Explorer에서 실행 중임Skype Plugin이(가) Internet Explorer에서 실행 중임
Skype Plugin 추가 기능은 Internet Explorer에서 문제를 일으킬 수 있음 확인됨 
SmartShopper이(가) Internet Explorer에서 실행 중임SmartShopper이(가) Internet Explorer에서 실행 중임
SmartShopper 추가 기능은 Internet Explorer에서 문제를 일으킬 수 있음 확인됨 
Veoh Web Player Toolbar이(가) Internet Explorer에서 실행 중임Veoh Web Player Toolbar이(가) Internet Explorer에서 실행 중임
Veoh Web Player Toolbar 추가 기능은 Internet Explorer에서 문제를 일으킬 수 있음 확인됨 
Viewpoint Toolbar이(가) Internet Explorer에서 실행 중임Viewpoint Toolbar이(가) Internet Explorer에서 실행 중임
Viewpoint Toolbar 추가 기능은 Internet Explorer에서 문제를 일으킬 수 있음 확인됨 
VMN Toolbar이(가) Internet Explorer에서 실행 중임VMN Toolbar이(가) Internet Explorer에서 실행 중임
VMN Toolbar 추가 기능은 Internet Explorer에서 문제를 일으킬 수 있음 확인됨 
Weather Channel Toolbar이(가) Internet Explorer에서 실행 중임Weather Channel Toolbar이(가) Internet Explorer에서 실행 중임
Weather Channel Toolbar 추가 기능은 Internet Explorer에서 문제를 일으킬 수 있음 확인됨 
Xfinity Toolbar이(가) Internet Explorer에서 실행 중임Xfinity Toolbar이(가) Internet Explorer에서 실행 중임
Xfinity Toolbar 추가 기능은 Internet Explorer에서 문제를 일으킬 수 있음 확인됨 
Xfinity Toolbar Updater이(가) Internet Explorer에서 실행 중임Xfinity Toolbar Updater이(가) Internet Explorer에서 실행 중임
Xfinity Toolbar Updater 추가 기능은 Internet Explorer에서 문제를 일으킬 수 있음 확인됨 
Yahoo! Services & Yahoo! IE Services Button이(가) Internet Explorer에서 실행 중임Yahoo! Services & Yahoo! IE Services Button이(가) Internet Explorer에서 실행 중임
Yahoo! Services & Yahoo! IE Services Button 추가 기능은 Internet Explorer에서 문제를 일으킬 수 있음 확인됨 
Yahoo Toolbar이(가) Internet Explorer에서 실행 중임Yahoo Toolbar이(가) Internet Explorer에서 실행 중임
Yahoo Toolbar 추가 기능은 Internet Explorer에서 문제를 일으킬 수 있음 확인됨 
Yahoo Toolbar Helper이(가) Internet Explorer에서 실행 중임Yahoo Toolbar Helper이(가) Internet Explorer에서 실행 중임
Yahoo Toolbar Helper 추가 기능은 Internet Explorer에서 문제를 일으킬 수 있음 확인됨 
Yandex Toolbar이(가) Internet Explorer에서 실행 중임Yandex Toolbar이(가) Internet Explorer에서 실행 중임
Yandex Toolbar 추가 기능은 Internet Explorer에서 문제를 일으킬 수 있음 확인됨 

저작자 표시 비영리 동일 조건 변경 허락
신고
posted by Town One townone
2013.05.31 16:10 윈도우/참고
이 문서에서는 중단, 충돌 및 속도 느려짐과 같은 IE 문제가 발생할 때 문제 해결 도구를 사용하여 IE 문제를 자동으로 해결하는 방법을 설명합니다.
IE가 최근에 제대로 작동되지 않습니다. 시작하는 데 시간이 오래 걸리고 중단되기도 합니다. 어떻게 해야 하나요?  
  이것은 "추가 기능"으로 인한 것일 수 있습니다.
추가 기능이란 무엇입니까?  
  추가 기능은 IE에 추가적인 기능을 제공하는 프로그램입니다. IE에 검색 기능을 추가하는 도구 모음이 바로 추가 기능의 한 예입니다.

여러 많은 회사나 조직에서 자체적인 추가 기능을 제공하고 있습니다. 추가 기능은 응용 프로그램 소프트웨어와 함께 설치할 수 있으며 웹 사이트에서 간단히 몇 가지 작업만 수행하여 설치할 수도 있습니다. 따라서 사용자들이 설치 여부를 알지 못할 수 있습니다.
추가 기능 때문에 IE가 작동 중단되거나 느려질수 있다는 뜻인가요?  
  일반적으로 추가 기능이 문제를 유발하지는 않지만 둘 이상의 추가 기능이 서로에게 영향을 미칠 경우 속도 느려짐이나 중단과 같은 성능 문제가 나타날 수 있습니다.

첫 번째로 해야 할 작업은 "추가 기능 없음" 모드에서 IE를 실행하여 문제를 유발하는 추가 기능이 있는지 확인하는 것입니다.

시작을 클릭하고 프로그램 및 파일 검색 상자에 Internet Explorer를 입력한 후 검색 결과가 표시되면 Internet Explorer(추가 기능 없음)를 클릭합니다.
우와! 추가 기능 없음 모드를 사용하니까 IE가 문제 없이 실행되네요.  
  아무래도 문제가 추가 기능 때문인 것 같습니다. 이 문제를 해결할 방법이 있습니다. 한 번 해보도록 할까요?

Microsoft 문제 해결 단추를 클릭하고 화면 지시를 따릅니다. 문제 해결 작업이 자동으로 적용됩니다.
문제 자동 해결
Microsoft 자동 문제 해결 서비스: Internet Explorer 중단 또는 충돌
"Internet Explorer 중단 또는 충돌" 페이지가 표시됩니다.
그림 축소그림 확대
Microsoft 자동 문제 해결 서비스: Internet Explorer 중단 또는 충돌
 
  지금 실행을 클릭하고 화면의 지시를 따릅니다. 작업 단계는 Window Vista 및 Windows 7에서 동일합니다.

Windows 7에서 IE가 느려지거나 중단되는 문제를 Microsoft Fix it에서 사용하는 방법에 대해 확인해 보십시오.

Windows Vista에서 IE가 느려지거나 중단되는 문제를 Microsoft Fix it에서 사용하는 방법에 대해 확인해 보십시오.
이 방법으로 문제가 해결되지 않으면 어떻게 해야 합니까?  
  IE에서 추가 기능 관리 도구를 사용하여 추가 기능을 하나씩 확인해볼 수도 있습니다. 자세한 내용은 다음 사이트를 참조하십시오. "IE가 너무 느리게 실행되거나 중단됨(자동 문제 해결) ".

단계

Windows 7에서 IE가 느려지거나 중단되는 문제를 Microsoft Fix it에서 사용하는 방법
  1. Microsoft 문제 해결 단추를 클릭합니다.
    문제 자동 해결
    Microsoft 자동 문제 해결 서비스: Internet Explorer 중단 또는 충돌
  2. "Internet Explorer 중단 또는 충돌" 페이지가 표시됩니다. 지금 실행을 클릭합니다.
    그림 축소그림 확대
    파일 다운로드
  3. 보안 경고 대화 상자가 표시되면 실행을 클릭합니다.
    그림 축소그림 확대
    Microsoft 자동 문제 해결 서비스 시작
  4. 프로그램의 설치 상태가 표시됩니다. 프로세스가 완료될 때까지 기다립니다.
    그림 축소그림 확대
    Internet Explorer 추가 기능
  5. 화면의 지시를 따릅니다.
대화로 돌아가기

Windows Vista에서 IE가 느려지거나 중단되는 문제를 Microsoft Fix it에서 사용하는 방법
  1. Microsoft 문제 해결 단추를 클릭합니다.
    문제 자동 해결
    Microsoft 자동 문제 해결 서비스: Internet Explorer 중단 또는 충돌
  2. "Internet Explorer 중단 또는 충돌" 페이지가 표시되면 지금 실행을 클릭합니다.
    그림 축소그림 확대
    Microsoft 자동 문제 해결 서비스: Internet Explorer 중단 또는 충돌
  3. "웹 사이트에서 'Microsoft Corporation'의 'DiagWAPI.dll' 추가 기능을 실행하려고 합니다. …" 메시지를 클릭하고 추가 기능 실행을 클릭하여 문제 해결을 위해 해당 추가 기능 프로그램을 설치합니다. 추가 기능이 이미 설치되어 있으면 이 메시지가 표시되지 않습니다.
    그림 축소그림 확대
    추가 기능 실행
  4. 보안 경고 대화 상자가 표시되면 실행을 클릭합니다.
    그림 축소그림 확대
    이 Active X 컨트롤을 실행하시겠습니까?


    참고: "계속하려면 사용 권한이 필요합니다." 메시지가 표시되면 계속을 클릭합니다.
  5. 화면의 지시를 따릅니다.
저작자 표시 비영리 동일 조건 변경 허락
신고
posted by Town One townone
2013.04.10 14:35 윈도우/참고

Huffman encoding

 

Value 값이 1,2,3,4,5,6 이 있고 그 출현 빈도가 아래와 같다면

 

Frequency  Value
   5         1
   7         2
  10         3
  15         4
  20         5
  45         6

 

huffman tree를 이용하여 encoding을 할 수 있다.
각 value의 출현 빈도로 정렬하여야 하며 가장 Frequency가 작은것 부터 시작한다.
가장 Frequency가 작은 두 값의 Frequency의 합으로 부모 노드를 만든다.

* 소괄호안의 값은 Value 이다.

 

      12(*)
     /    \
   5(1)    7(2)

 

이제 두 value 를 list에서 제거하고 정렬한다. 그 값은 아래와 같다.

 

  10(3)
  12(*)
  15(4)
  20(5)
  45(6)

 

다시 반복하고 반복하여 하나의 value가  남을때 까지 위와 같이 반복한다.

 

       22(*)
      /    \
   10(3)    12(*)
              /    \
            5(1)    7(2)

 

두 값을 제거한 list는 아래와 같이 된다.

 

  15(4)
  20(5)
  22(*)
  45(6)

 

다음

 

       35(*)
      /    \
   15(4)    20(5)

 

list는

 

  22(*)
  35(*)
  45(6)

 

다시 두 value 는

 

                    57(*)
                   /    \
         / ̄ ̄ ̄          ̄ ̄ ̄\
       22(*)                       35(*)
      /    \                      /    \
   10(3)    12(*)             15(4)    20(5)
             /    \
          5(1)    7(2)

 

list는

 

  45(6)
  57(*)

 

다음

                                 (left 0)     102(*)     (right 1)
                                              /    \
                    / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄           ̄\
                  57(*)- is 0                          45(6)- is 1
                 /    \
      / ̄ ̄ ̄           ̄ ̄ ̄\
   22(*)- is 00                35(*)- is 01
   /    \                      /    \
10(3)    12(*)             15(4)    20(5)
           /    \
         5(1)    7(2)

 

102 노드 하나만 남고 모두 끝났다.
이제 왼쪽은 0을 오른쪽은 1을 셋팅 해보자

 

 57(*) = 0
 45(6) = 1
 35(*) = 01
 22(*) = 00
 20(5) = 011
 15(4) = 010
 12(*) = 001
 10(3) = 000
  7(2) = 0011
  5(1) = 0010

 

 이로써 출현빈도(Frequency)가 가장 많은 값을 가장 적은 코드로 할당 하였다.

저작자 표시 비영리 동일 조건 변경 허락
신고
posted by Town One townone
2013.03.27 10:48 윈도우/참고

우선 압축 알고리즘은 크게 Entropy(엔트로피) 코딩사전 코딩으로 나눌 수 있습니다.

 

먼저, 두 가지 방식을 비교해 보겠습니다.

Entropy(엔트로피)
코딩
이라 하면 이렇게 생각하시면 쉽습니다.  

A라는 문자가 10번 나오고 B라는 문자가 5번 나온다면

A 문자에 B문자 보다 짧은 코드를 할당해서 전체 길이를 줄이는 것입니다.

예를 들어 A:0 B:10 이런식으로 할당하는 것이지요

 

사전 코딩쉽게 말하자면, 특정문자를 어떤 인덱스로 표현한다고 생각하면 됩니다.

예를 들어 ABCABCABCDEFDEF 라는 문자가 나온다고 하면

ABC:1 DEF:2 로 정의하고 11122 라고 표현하는 것입니다.

 

Entropy 코딩에서 대표적인 것은

많이 들어보신 Huffman 코딩과 Arithmetic(Range) 코딩이 있고,

사전 코딩 LZ77, LZW 등이 있습니다.

밖에도 BWT라는 문자를 정렬 함으로서 압축 하는 방법이 있고,

Markov Chain 이라는 예측 방법을 통해 압축하는 방법도 있습니다

  

그럼 우리가 알고 있는 zip, rar 파일 등은 어떤 알고리즘을 사용하는 것일까요?

 

어떤 분은 zip huffman 을 쓴다라고 하시는 분도 있는데

zip Deflate 라는 알고리즘을 사용합니다.

 

Deflate 라는 알고리즘은 위에 설명이 안되어 있는데
과연 어디에 속한 알고리즘 일까요?

 

많은 분들이 잘못 알고 있는 부분이 있는데, 

압축하면 어떤 특정 알고리즘만을 사용할 것이라는 부분입니다.

하지만 실제로는 어떤 압축이건 단 하나의 알고리즘으로 구현되어 있는 것은 없습니다.

 

기본적으로 위에서 언급한 'Entropy 코딩 + 사전 코딩 + 알파' 로

두가지 이상의 알고리즘을 사용하여 하나의 압축 알고리즘이 나오는 것입니다.

 

Deflate 같은 경우는 LZ77 + Huffman 입니다.
사전코딩 방식과 Entropy 방식의 조합이죠?

 

예를 들어, 사전 코딩을 이용해

ABCABCABCDEFDEF 란 문자를 11122 로 인코딩하고 나서,

1 2보다 많이 나오므로

Entropy(엔트로피) 코딩을 이용해

1 2보다 적은 코드를 할당해서 압축하는 것입니다.

 

BZIP2 에서는 RLE(Run Length Encoding) + BWT + Huffman 을 사용합니다.

RLE + BWT 가 사전 코딩과 비슷한 효과를 낸다고 보면 됩니다.

 

최근에 나온 7zip 에서 쓰는 LZMA 같은 경우는

LZ77 + Markov Chain + Range 코딩을 사용합니다,.

 

다시 말하면, 여러 압축 알고리즘은

이런 기본 알고리즘이 모여서 만들어진다고 생각하면 됩니다.


그러면 압축 알고리즘은 알고리즘을 모으기만 하면
만들어지는 걸까요?

물론 "그렇지 않다"가 답이겠지요.
이렇게 쉽다면 누구나 압축 알고리즘을 개발할 수 있었을 것입니다^^;;;

위에서 말한 Huffman 이나 LZW 등은 이론적 개념에 불과한 것이고,
실제로는 그것을 어떻게 구현하고 다른 알고리즘과 연관 시킬지가 관건이죠.

 

실제로 파일을 압축 하려면 이론과 달리

Entropy(엔트로피) 코딩은

문자별 할당 코드도 함께 저장해줘야 하고

사전 코딩 같은 경우 사전이 너무 크게 되면

인덱스 번호를 저장하는 것이

원래 문자보다 더 커질 수도 있는 문제가 있습니다.

즉, 데이타 자체는 압축이 되겠지만

기타 부가 정보가 들어가게 되므로

실제 파일은 압축이 별로 안 되겠죠.


그래서 실제로 Deflate 에서 쓰는 Huffman
BZIP2 쓰는 Huffman 이 다르고,
Deflate 쓰는 LZ77 LZMA 에 쓰는 LZ77 도 구현이 다릅니다.

따라서 압축 알고리즘이라고 하면 이런 이론적 배경을 통해 구현해 낸
Deflate, LZMA 같은 것을 말한다고 생각하면 됩니다.

 

간단히 설명할려고 했는데 좀 복잡해지네요 ^^;;;;;;;

간단히 요약하면 Huffman, LZW, BWT 라는 것은 이론적 배경이고,
(모두 사람 이름이거나 이름의 첫문자 입니다.)
압축 알고리즘에는 Deflate, LZMA, BZIP2 알고리즘 등이 있다고 생각하면 됩니다.

  

그럼 압축 포맷은 무엇일까요?

압축 포맷마다 각자의 압축 알고리즘이 존재하는 것일까요?

 

잘 모르시는 분은 압축 알고리즘과 압축 포맷을 동일시 하는 경우가 있는데요...

사실 압축 알고리즘과 압축 포맷은 엄연히 서로 다른 것입니다.

 

아시다시피 세상에는 정말 많은 압축 포맷이 있습니다.

우리가 가장 많이 쓰는 zip부터 시작해서

rar, cab, ace, arj, bz2, 7z 등등...

아... 저희 회사에서 만든 alz 란 포맷도 있습니다.

실제로 잘 안 쓰거나 우리가 잘 모르는 것까지 다 합치면

백 가지가 넘을 수도 있습니다.

 

포맷압축 알고리즘으로 압축된 내용을 가지고,

파일 이름과 속성 등을 저장하거나  

필요에 따라서 암호화도 하고 분할하기도 하는 등의 작업이라고 생각하면 됩니다.

 
알고리즘과 포맷은 일대일 관계가 아니고 일대다 혹은 다대다 관계입니다.

 

, zip 이라는 포맷은 deflate 알고리즘을 사용하지만

최근 스팩에는 LZMA도 사용할 수 있습니다.

 

7zip포맷 같은 경우 LZMA 를 기본으로 사용하지만 bzip2 알고리즘도 사용할 수 있습니다.

 

cab gzip 같은 경우는 deflate 를 사용하며,  

alz 같은 경우는 deflate bzip2 를 사용합니다.

 

포맷마다 새로운 암호화를 지원하고 유니코드를 지원한다거나

4기가 파일 이상을 지원 한다거나 등의 기능적인 차이만 있을 뿐

 몇 가지 공통된 알고리즘을 사용하고 있는 것입니다.

 

출처 : http://altools.tistory.com/60

저작자 표시 비영리 동일 조건 변경 허락
신고
posted by Town One townone
2013.03.27 10:16 윈도우/참고

ZIP 파일 형식이란 데이터를 압축, 보관하기 위한 파일형식이다. ZIP 파일은 하나 혹은 여러개의 파일들을 그 크기를 줄여 압축하고 하나로 묶어 저장한다. ZIP 파일 형식에서는 다양한 종류의 압축 알고리즘의 사용이 가능하나, 2009년 현재 Deflate 알고리즘만이 가장 많이 사용되고, 지원되는 압축 압축알고리즘이다.

파일 형식은 1989년 Phil Katz가 PKZIP에서 사용하기 위해 만들어진 것으로, Thom Henderson의 ARC 파일 압축 형식을 발전시킨 것이다. 현재도 PKZIP 형식은 PKZIP뿐만 아닌 다른 많은 유틸리티 소프트웨어에서 지원하고 있다. 마이크로소프트사는 1998년도부터 "압축 폴더"라는 이름으로 운영 체제에 포함시켜 지원하고 있으며, 애플사는 맥 오에스 텐 10.3버전부터 지원하고 있다.

ZIP 파일은 일반적으로 그 파일의 확장자로 ".zip" 혹은 ".ZIP"으로 사용하고, MIME 형식으로는 application/zip으로 표시하여 사용한다. 또한 다양한 소프트웨어에서 파일 저장형식으로 사용되고 있으나, 그럴 경우 일반적으로 그 파일의 확장자가 다른 형태로 저장된다. 예를 들어, 자바의 경우 .jar 로, 모질라 파이어폭스의 애드온의 경우 .xpi로, 이드 소프트웨어사의 .pk3/.pk4 파일이 그러하며, 윈앰프윈도 미디어 플레이어 의 스킨 파일들과 오픈오피스오픈도큐먼트 파일인 .odt와 마이크로소프트사의 Open XML 파일형식인 .docx도 그러하다.

 

 

 

 

 

출처 : 위키백과

http://ko.wikipedia.org/wiki/ZIP_(%ED%8C%8C%EC%9D%BC_%ED%8F%AC%EB%A7%B7)%20

 

참고 : http://anster.egloos.com/2165172

CGzip Lib http://www.codeproject.com/KB/cpp/cgzip.aspx
LiteZip LIb http://www.codeproject.com/KB/library/LiteZip.aspx
Zip Utils http://www.codeproject.com/KB/files/zip_utils.aspx
Zip http://www.codeproject.com/KB/recipes/zip.aspx
Boost Gzip http://www.boost.org/doc/libs/1_47_0/libs/iostreams/doc/classes/gzip.html
Boost Zlib http://www.boost.org/doc/libs/1_47_0/libs/iostreams/doc/classes/zlib.html
Boost Bzip2 http://www.boost.org/doc/libs/1_47_0/libs/iostreams/doc/classes/bzip2.html#examples
Minizip http://www.winimage.com/zLibDll/minizip.html
Minizip Example http://ddiggam.tistory.com/5

 

압축 알고리즘 비교 (zlib / lz4 / snappy), snappy의 visual studio(vc++) 컴파일 하기

URL : http://greenfishblog.tistory.com/152

 

저작자 표시 비영리 동일 조건 변경 허락
신고
posted by Town One townone
2013.03.20 18:31 윈도우/참고

ClassesAllowedInStream 클래스 컴파일에러가 발생할때 (error C2146, error C4430, error C2039, error C2660 등의 오류 발생) Visual Studio 2008 서비스 팩 1 ATL 보안 업데이트를 해야 한다.

 

Visual Studio 2008 서비스 팩 1 ATL 보안 업데이트

http://www.microsoft.com/ko-kr/download/details.aspx?id=15303

저작자 표시 비영리 동일 조건 변경 허락
신고
posted by Town One townone
2013.03.20 14:00 윈도우/참고

Download Internet Explorer 10

 

http://windows.microsoft.com/en-US/internet-explorer/downloads/ie-10/worldwide-languages

저작자 표시 비영리 동일 조건 변경 허락
신고
posted by Town One townone

티스토리 툴바