간혹 MS Word로 작업하다 보면
"문서가 저장되었지만 저장할 공간이 충분하지 않기 때문에 음성 인식 데이터가 손실되었습니다."
라는 에러를 뿜어대는 경우가 있습니다. 이 경우에 그냥 확인만 누르고 한숨만 푹푹 쉬는 경우가 많습니다. 음성인식 쓰지도 않았는데 자꾸 이런 에러를 뿜어대지만 대책은 없고..

이 문제를 해결하려면 다음과 같이 합니다.

1. 도구 메뉴에서 옵션을 클릭한 다음 저장 탭을 클릭합니다.
2. 저장 옵션의 언어 데이터 포함 확인란 선택을 취소한 다음 확인을 클릭합니다.
        참고  이 옵션은 음성 입력 데이터뿐 아니라 필기 입력 데이터에도 적용됩니다.

3. 입력 도구 모음에서 Speech Tools 를 클릭합니다.
4. 음성 데이터 저장을 클릭하여 선택을 취소합니다.


만일.. 혹시.. 만일 이 기능을 활성화 시키고 싶으시면,
1. 도구 메뉴에서 옵션을 클릭하고 저장 탭을 클릭합니다.
2. 저장 옵션에서 언어 데이터 포함 확인란을 선택하고 확인을 클릭합니다.
        참고  이 옵션은 음성 입력 데이터뿐 아니라 필기 입력 데이터에도 적용됩니다.

3. 입력 도구 모음에서 Speech Tools 를 클릭하고 Save Speech Data를 클릭합니다.


하면 됩니다.....

전.. 걍 끄고 살랍니다 -_-;;;;
728x90
원본 문서 : http://support.microsoft.com/default.aspx?scid=kb;en-us;829982

주의 : 당 문서는 원본 문서를 자의적으로 해석하여 서술된 글입니다. 원본문서와의 차이로 인해 발생된 문제에 대해서 책임지지 않습니다!! 주의 하세요..
또 이 문서에는 레지스트리 수정을 요하는 작업이 있습니다. 그러므로 레지스트리 수정하기에 앞서 레지스트리를 백업해주는 센스(?)가 필요합니다. 문제가 발생할 시에 백업한 레지스트리를 복원 시키셔야 합니다. 즉 레지스트리를 수정할 정도의 스킬이 아니시면... 그냥 잘 아시는 분께 맡기시던가, 아니면 조금 더 익숙해지면 시도하시기 바랍니다. 준비 되신 분만 아랫글을 읽어 주세요

문제 요약


마이크로소프트 아웃룩에는 안전하다고 생각되지 않는 첨부파일에 대해서 차단시키는 기능을 가지고 있습니다. 만약 이메일 메시지에 그런 파일이 첨부된 이메일 내용을 열게 되면 다음과 같은 메시지를 보시게 됩니다.
  Outlook blocked access to the following potentially unsafe attachments: [...]
  (한글 판에서는 어떻게 나오는지 확인 못해서 한국어 판은 적지 않았습니다.)
물론 아웃룩이 접근을 막기는 했지만 해당 첨부파일은 이메일 메시지 안에 그대로 있습니다. 이 문서에서는 아웃룩에서 막고 있는 첨부파일을 안전함을 떠나서 어떻게든 열고 싶으실때를 위해 적은 글입니다.

더 자세한 정보


이 보안은 악의적인 이메일 메시지로 부터 공격당하는 것을 방지하기 위해 설정한 것입니다. 기본적으로 마이크로소프트 아웃룩 2000 서비스팩1 이후 제품에 일괄적으로 적용되어 있습니다 .

아웃룩에 의해 차단된 점부 파일을 열기 위해서 쉽게 하는 방법은 다음과 같습니다.
• 보낸 사람이 첨부파일을 저장한 경로를 요청해서 해당 파일을 경로에 따라 직접 받는 방법 입니다.
• 보내는 사람에게 해당 파일을 압축해서 차단된 파일 확장자와 다른 형태의 파일을 만들어 보내달라고 하는 방법입니다. 다른 회사의 압축 프로그램을 이용해서 하는 방법인데, 다음 문서를 클릭해서 보시면 해당 제품들을 알아볼 수 있습니다.
  OL2002: 첨부 파일이 Outlook에서 압축되지 않는다  
• 보내는 사람에게 파일 확장자를 잠시 변경한뒤에 받는 사람이 다시 원래의 확장자로 변경하는 방법입니다.  

만약 이미 메시지는 받고 재 요청하기가 무척이나 곤란하다면 다음과 같은 방법을 사용해 봅니다.
• 마이크로소프트의 익스체인지 서버를 이용하는 환경이고, 관리자와 잘 알아서 관리자에게 요청할 수 있다면 관리자가 직접 당신의 메일 박스 안의 보안 설정을 변경하도록 요청하는 방법이 있습니다.
• 불행이도 익스체인지 서버를 이용하지 않고 있거나, 관리자와의 사이가 좋지 않으시다면, 윈도우 레지스트리를 직접 손봐서 처리하는 방법이 있습니다. 이 부분에 대한 자세한 내용은 "첨부파일 보안 동작 직접 손보기" 부분을  보시기 바랍니다.

다시 주의!!!
만약 레지스트리 에디터를 엉뚱하게 사용하는 경우, 심각하면 윈도우를 다시 설치하는 경우까지 발생합니다 .이로 인해 발생된 모든 문제는 마이크로소프트는 전혀 모르는 일입니다. 즉.. 이 수정에 대한 모든 책임은 수행하는 사람 그에게 다 있습니다.

첨부 파일에 대한 보안적 처리에 대해서 수정해야 된다면 다음과 같은 상황일 것입니다.
• 익스체인지 서버상에서 돌리고 있지 않은 환경에서 아웃룩을 사용하고 계십니다. .
• 익스체인지 서버상에서 돌리고 있는 환경이기는 하지만, 관리자가 삐리해 손을 못보거나 혹은 관리자랑 사이가 나빠 절대! 수정 안해주는 상황인 것입니다 .
이러한 상황이라면, 별수 없이 레지스트리를 수정해서 해당 보안 설정을 수정해야 합니다.

첨부파일 보안 동작 직접 손보기


다시 주의!!! - 지겹다 말씀하지 마세요... 이 주의사항 건너뛰시는 분이 많아서 그럽니다.
만약 레지스트리 에디터를 엉뚱하게 사용하는 경우, 심각하면 윈도우를 다시 설치하는 경우까지 발생합니다 .이로 인해 발생된 모든 문제는 마이크로소프트는 전혀 모르는 일입니다. 즉.. 이 수정에 대한 모든 책임은 수행하는 사람 그에게 다 있습니다.
중요!!! 이 첨부파일 보안 정책을 손보시기 전에 아웃룩 버젼이 2000 SR1 또는 2000 SR1a 라면 Microsoft Office 2000 Service Pack 2 나 Microsoft Office 2000 Service Pack 3를 먼저 설치하시기 바랍니다.

처리하는 방법은 다음과 같습니다.

1. 아웃룩을 실행중이시라면 일단 종료해주시기 바랍니다.(최소화로 트레이 아이콘으로 넣으신분, 최소화가 아닙니다. 반드시 종료 시켜 주시기 바랍니다.)  
2. "시작"버튼을 누르시고 "실행"을 선택해 주시기 바랍니다.  
3. 열기 상자안에 regedit 라고 쓰시고 "확인" 버튼을 눌러 주시기 바랍니다.  
4. 먼저 아웃룩 버젼에 따라 다음과 같은 경로가 있는지 확인해주세요. 만일 존재한다면 5번 과정으로 건너 뛰세요

Microsoft Outlook 2000:
HKEY_CURRENT_USER\Software\Microsoft\Office\9.0\Outlook\Security

Microsoft Outlook 2002:
HKEY_CURRENT_USER\Software\Microsoft\Office\10.0\Outlook\Security

Microsoft Office Outlook 2003:
HKEY_CURRENT_USER\Software\Microsoft\Office\11.0\Outlook\Security

만약 위와 같은 경로가 존재 하지 않으면 해당 경로를 버젼에 맞게 만들어 주시기 바랍니다. 일단 다음 경로 까지 들어가세요:
  HKEY_CURRENT_USER\Software\Microsoft
a.  "편집" 메뉴를 선택하시고, "새로 만들기" 메뉴 안의 "키"를 선택해 주시기 바랍니다.  
b.  Office 라고 쳐서 넣으시고 ENTER 키를 치세요.  
c.  다시 "편집" 메뉴를 선택하시고, 새로 만들기" 메뉴 안의 "키"를 선택해 주시기 바랍니다.
d.  11.0 이라고 치시고 ENTER 키를 치세요.
여기서 잠깐! 위의 내용은 아웃룩 2003에서의 내용입니다. 만약 아웃룩 2000을 사용중 이시면 "9.0"을 아웃룩 2002 면 "10.0"을 넣어주세요.
e. "편집" 메뉴를 선택하시고, "새로 만들기" 메뉴 안의 "키"를 선택해 주시기 바랍니다.
f.  Outlook라고 쳐서 넣으시고 ENTER 키를 치세요.  
g.  "편집" 메뉴를 선택하시고, "새로 만들기" 메뉴 안의 "키"를 선택해 주시기 바랍니다.
h.  Security라고 쳐서 넣으시고 ENTER 키를 치세요.

5. "편집" 메뉴를 선택하시고, "새로 만들기" 메뉴 안의 "문자열 값"를 선택해 주시기 바랍니다.  
6. "새 값#??" 이라는 곳에다 다음과 같은 내용을 넣으세요
   Level1Remove
7. ENTER 키를 치세요.
8. 새로운 문자열 값 이름 위치에서 오른쪽 클릭을 하시고, 팝업 메뉴가 떳을때 "수정"을 선택하세요.  
9. 그 안에다가 아웃룩에서 열고 싶은 파일 확장자를 넣어주세요. 예를 들어 ".exe"를 열고 싶으시면 그 안에다  
  .exe
라고 넣으시면 됩니다 .
혹시 여러가지의 파일 확장자를 넣으신다면 다음과 같은 형태로 넣으시면 됩니다 .
.exe;.com
10. 다 입력하셨으면 "확인"을 눌러주세요  
11. Registry Editor를 종료하세요
12. 컴텨를 껏다 다시 켜세요

당근.... Level1Remove 내용을 지우시면, 원래대로 다시 보안 작동합니다!!!!
728x90
리눅스에서는 특별히 Uninstall 이라는 개념이 없습니다.
물론 개선하기위해 RPM 이라는 팩케이지가 있지만, 문제는 소스를 컴파일 해서
얻게 되는 내용들이 문제가 되죠.
이 부분을 억지로라도 가능하게 하는 방법은 다음과 같은 방법을 수행합니다.

find /* > before
--- 패키지 설치  ---
find /* > after
diff before after > 설치내역 Text 파일

물론 완전한 방법은 아니지만, 나름대로 괜찮은 것 같습니다.
728x90
가급적 모든 리소스는 리소스에 넘기는 것이 좋습니다.
특히 스트링 부분.
다국적 형태로 만들려다 보면 여러가지 애로 사항이 많습니다.
하드 코딩을 통해 내부적으로 각종 String을 양산하게 되는데,
나중에 다국적 코드로 만들려면... 생각만 해도 아찔합니다.

이를 해결 하는 방법은 Resource를 따로 빼내어 처리하는 방법입니다.

다음과 같은 것들을 고려해서 작성하게 되면 수월하게 작성할 수 있습니다.

Main Module Handle을 가져 옵니다.
EXE 같은 경우에는 GetModule 을 통해 가져오면 됩니다. 매개 변수에는 파일이름을 넣으시면 되구요.
DLL 같은 경우에는 DLLMain 부분에서 얻으시면 됩니다.
DllMain( HANDLE hModule, DWORD  ul_reason_for_call, LPVOID lpReserved)

여기서 얻은 핸들을 저장하는 방법인데, 여러가지 방법이 있겠지만, 저 같은 경우에는
전역 변수를 통해 넣었습니다.
특히 stdafx.h 와 stdafx.cpp 에다 넣었는데,
stdafx.h에는 extern HANDLE g_hModuleHandle; 을 넣고
stdafx.cpp 에는 HANDLE g_hModuleHandle; 을 써서 넣었습니다.

여기서 주의하실 것은 여러개의 모듈이 난무하는(다양한 DLL을 참조해서 쓰는)경우에는
가급적 Unique한 이름으로 만들어야 합니다.
저 같은 경우에는 XXXX.DLL 인 경우 g_hXXXXModule 이라고 이름을 지어버렸죠.


728x90
1) 파일 맨위의 상단에 붙이게 되는 Box 입니다.
//----------------------------------------------------------------------------
// FILENAME : ..... .h
//
// Classes
//    * 클래스1 이름
//      - 설명
//    * 클래스2 이름
//      - 설명
//
// Handlers
//    * 작업자 명 : ID
//
// Memo
//   [05/04/20 12:00] id [catergory] :  메모 네용
//
// Update List
//   [05/04/20 12:00] Update 내용1
//   [05/04/20 12:00] Update 내용2
//----------------------------------------------------------------------------

* FILENAME
설명이 필요하겠습니까? 그냥 파일 이름

* Classes
여기에는 현재 .H 에 등록된 Class들을 적습니다. 물론 VC 스타일로 작성하게
되면 이상하게 한개의 파일안에 한개의 Class가 상주하게 되지만, 꼭 그럴 필요는 없죠
여러개의 Class가 한개의 파일안에 상주 할 수 있으니깐요.
설명은 굳이 방법은 제시하지 않지만 외부에서 사용하는 사람이 편하게 내용을 서술해
주는 것이 좋죠.

* Handler
작성자인 author 라고 쓸수도 있지만, 이 파일을 여러사람이 만지는 경우에는 꼭
그렇지는 않죠. 작성한 사람이나 편집하는 사람이 있으니깐요.
그렇다고 Author, Editor 나누기도 그렇고... 그냥 Handler 조작하는 사람들이라고
해버렸습니다 .
여기에는 이 파일에 손대는 사람들을 기록하는 부분입니다.
일단 "실명 : ID " 형태를 취하는데, 이유는 메모나 업데이트 부분에 그 밖에 여러가지
기록할때, 실명을 일일히 적는 것보다 ID로 적는게 타이핑 수도 줄이고 알아보기도 편하니깐요.
저 같은 경우에는 "김형진 : neohind" 라고 적을 예정입니다.
아, 여기서 Main Handler는 최상단에 위치해야 됩니다. 최소한 소스 책임질사람이
있어야 되니깐요.

* Memo
일단 각종 잡담 부터 시작해서 경고 요청 등등의 내용을 기록하는 부분입니다.
항목(Category) 부분은 계속 업데이트 하겠지만... 일단 간단하게 다음 정도로
적고 싶습니다.

  TODO : 해야 될 내용 - 추후에 첨가되길 바라는 것들
  DEL : 삭제되어야 될 내용 - 릴리즈시 삭제되길 원하는 내용
  ETC : 진짜 잡담 - 그냥 소스로 대화하고 싶을때(笑)
  CAU : 주의 사항 - 소스 사용시 주의 사항
  REF : 참고사항, 다른 소스(코드가 아닌 정보)를 참조할 필요가 있을때,

작성 예는 다음과 같습니다.
[xx/xx/xx xx:xx]  id [????] : 내용
  xx 부분은 당근 날짜와 시간이 들어갑니다.
  id 는 위에서 Handler에 기록한 ID를 적으면 되구요
  ???? 는 Category를 의미합니다.
  내용에는 당근 자세한 설명이 되겠죠. 가급적 1줄로 해결을 봤음 합니다(笑)
   예) [05/04/20 12:00] neohind [ETC] : 이봐.. hind, 소스가 웃기잖아!!!

* Update
이 부분은 Versioning에 관련된 부분입니다. 가급적 소스의 메인 핸들러가
작성하는 부분이 되는데, 소스 버젼 업그레이드 될때 마다 기록해 줍니다.
어떻게 업데이트 되었는지를 로그로 남기는 부분입니다.

--------------------------------------------------------------------------
2) 코드 재 참조 방지용 #ifndef 작성
보통 Header 부분은 많은 곳에서 #include를 수행하게 됩니다.
이 때 Header의 재참조를 막기위해서 전처리기용 예약어를 이용해서 만드는데,
이 부분에 대한 설명입니다.
#if !define ??? 뭐 이렇게도 적을 수 있지만.. 통일성을 위해 아래와 같이 이용합니다.

#ifndef __[HeaderFilename]_
#define __[HeaderFilename]_
    .....
#endif // __HeaderFilename_

__HeaderFIlename_ 이 부분은 "__"  + 파일명 + "_" +확장자 + "_" 의 구성으로
작성합니다. Header의 Filename을 서술시에는 반드시 전체 대문자로 기록합니다.
Service.h 를 작성한다면 __SERVICE_H_ 라고 합니다.



728x90
코딩하는 방식은 사람마다 틀리기 때문에, 고집시킬 수는 없습니다.
물론 팀작업을 하게 되는 회사에 소속되면 그 팀/회사에 코딩 규칙을 맞추어야 하죠
하지만, 일단 솔로/프리인 저 같은 경우에는 그 다지 없군요.

MS사는 헝그리안 코딩 규칙에서 벗어났더군요. Type 형태를 변수 앞에다 적는..
물론 그것이 정답일 수도 아닐 수도 있습니다.

일단, 저 같은 경우에는 어떻게 결정할 지는 이 문서를 통해 정리해 나가야 겠습니다.




728x90
혹시 제 게시물에 대한 질문 답변이 필요하신 경우에는

작업들 -> 잡 게시판 또는
http://www.hind.pe.kr/zb41/zboard.php?id=Note4About 에

쓰시면 됩니다 ^^

뭐 꼭 질/답 뿐만 아니라, 잡담을 쓰시고 싶으신 경우에도
상관 없구요 ^^

그럼 많은 애용(???) 바랍니다 ^^
728x90
보통 HTML 문서 상에서 되어 있는 문서 중에,
강제적으로 Redirect 를 하고 싶은 경우, JAVASCRIPT 나 PHP/ASP를 이용한 문서
Redirect 방법을 사용한다.

하지만 단순한 Redirect 인 경우 굳이 위와 같은 방법을 사용할 필요는 없다.
방법은 간단하다.

<head> </head> 안에 아래의 문구중 한 줄만 집어 넣어 주면 된다.
<meta http-equiv="REFRESH" content="1; URL=문서 위치/이름">

문서 위치/이름 에다 리다이렉트할 문서를 넣어주면 된다.

< 참고 문서 >
http://www.pa.msu.edu/services/computing/faq/auto-redirect.html
728x90

+ Recent posts

728x90