달력

12

« 2017/12 »

  •  
  •  
  •  
  •  
  •  
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  •  
  •  
  •  
  •  
  •  
  •  

Windows 10 부터 새롭게 등장하는 MS Edge 브라우저로 자신의 IP로 접속을 하려면 '이 페이지에 연결할 수 없음' 페이지가 표시되면서 접속이 실패합니다.

 

예를 들어 보통 자신의 IP가 192.168.100.5 라고 하고 자신의 컴퓨터에 웹서버가 설치되어 있다면 보통 브라우저 주소창에 http://192.168.100.5 라고 입력하면 웹 페이지가 표시됩니다.

 

그러나 엣지 브라우저로는 자신의 IP 및 127.0.0.1로도 접속이 되지 않으며 다음과 같이 페이지가 표시됩니다.

 

 

IE, Chrome, Firefox, Safari 등등 모든 브라우저가 잘 접속이 됩니다만 유독 MS 엣지 브라우저는 접속이 안됩니다. 이 문제는 앱의 네트워크 격리 문제 때문에 발생하는 문제인데 다음과 같은 명령으로 문제를 해결할 수 있습니다.

 

명령창을 관리자 권한으로 실행한다음에 다음 명령을 입력합니다.

CheckNetIsolation LoopbackExempt -a -n=Microsoft.MicrosoftEdge_8wekyb3d8bbwe

 

 그런다음, 다시 MS Edge 브라우저로 동일한 주소를 입력하면 웹 페이지가 잘 표시됩니다.

 보안을 위해서 MS Edge 브라우저로 로컬 IP로 접속되는 것을 차단이 되는 것은 좋을 일이지만, 개발자의 입장에서는 마냥 좋은 일만은 아니군요.

 

다시 이 옵션을 해지하려면 아래 명령을 입력하면 됩니다.

CheckNetIsolation LoopbackExempt -d -n=Microsoft.MicrosoftEdge_8wekyb3d8bbwe

 

관련된 URL은 다음과 같습니다:

저작자 표시
신고
Posted by 서프리

MS VS 2008부터 MFC Feature Pack을 지원합니다.


Doc-View 형태의 응용프로그램을 만들면 MFC Feature Pack에서 제공하는 OutlookBar 와 Docking Pane를 이용할 수 있습니다. OutlookBar와 Docking Pane의 레이아웃은 자동으로 저장되고 로드 됩니다.

매우 편리한 기능이긴 하지만 또한 매우 불편한 기능입니다. 물론 이 레이아웃 상태에 대해서 커스터마이징을 할 수 있는 여지를 두었군요.

MFC Feature Pack으로 Doc-VIew 응용프로그램을 생성할 시 기본 App 클래스는
CWinApp에서 CWinAppEx로 변경됩니다.
CWinAppEx에서 이 상태 저장 및 복구를 하는 군요.
CWinAppEx의 메소드 중 다음 메소드를 주의해서 보시면 됩니다.

  • CleanState(): 레이아웃 상태를 모두 초기화 한다.
  • LoadState(): 레이아웃 상태를 로드한다.
  • SaveState(): 레이아웃 상태를 저장한다.

위와 같은 메소드가 있지만 CleanState() 정도가 유용하게 쓰일 수 있을 것 같습니다.

 

CWinAppEx를 상속받은 클래스의 InitInstance()에서 SetRegistryKey() 구문 다음에 CleanState()를 호출하면 항상 레이아웃이 초기화한 상태로 표시되게 됩니다. 레이아웃을 로드하는 시점은 ProcessShellCommand()에서 프레임워크상 자동으로 로딩되게 되어 있습니다.

또한 이 레이아웃 자동 저장이 필요없다면 CWinAppEx의 다음 메소드를 오버라이딩 합니다.

virtual void OnClosingMainFrame(CFrameImpl* pFrameImpl);

기본 동작은 SaveState() 메소드를 호출합니다.

 

그러므로 레이아웃 자동저장이 되지 않게 하기 위해서는 OnClosingMainFrame()메소드를 오버라이딩하여 빈 구문으로 놓으면 레이아웃이 자동으로 저장되지 않습니다.

 

저작자 표시
신고

'개발 > Windows' 카테고리의 다른 글

MFC FeaturePack CDockablePane 상태 관련  (0) 2015.02.04
Posted by 서프리
2015.01.30 14:31

Apache Commons 개발/Java2015.01.30 14:31

Java를 시작한지 얼마 되지 않았다.

기존에 하던 방식과 다르게 Java는 참 많고 유용한 Open Source가 존재한다.

 

대표적인 것이 Apache Common이다. 현재 보고 있는 것은

  • Common Pool
  • Common Daemon
  • Common DBCP

언제쯤 적용해보려나?

저작자 표시
신고

'개발 > Java' 카테고리의 다른 글

Apache Commons  (0) 2015.01.30
Posted by 서프리
2014.01.03 15:13

Internet Explorer 개발2014.01.03 15:13

Internet Explorer 8 버전이 나오면서 탭 브라우징을 지원하였습니다.

탭 브라우징은 Frame 윈도우와 Tab 윈도우를 별도의 프로세스로 구현하게 되어 있습니다.

여기서 Tab마다 같은 프로세스가 실행되게 하려면 다음 레지스트리 값을 변경해야 합니다.

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet Explorer\Main
HKEY_CURRENT_USER\SOFTWARE\Microsoft\Internet Explorer\Main

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet Explorer\Main 키의 TabProcGrowth 값을 DWORD값 1로 설정하면 같은 Tab 윈도우가 같은 프로세스 내에서 동작하게 됩니다.

또한 이 설정은 사용자 레지스트리에 역시 저장됩니다.

HKEY_CURRENT_USER\SOFTWARE\Microsoft\Internet Explorer\Main키의 TabProcGrowth입니다.

IE9 버전이 나오면서 Windows Vista 이상에서 LCIE라는 구현으로 인해 IEFrame과 Tab상의 프로세스 권한이 다르게 설정이 되었습니다.

 

신고
Posted by 서프리
2012.04.18 20:44

VC2005 버전별 재배포 패키지 개발2012.04.18 20:44

VC++ 2005로 개발한 응용프로그램 및 모듈은 컴파일 옵션을 /MD로 주게되면 Side by side로 C Runtime을 물기 때문에 재배포 패키지를 같이 배포해 주어야 한다.

그러나, Side by side 영향 때문에 VC2005 재배포 패키지라고 해도 현재 사용하고 있는 런타임의 재배포 패키지를 설치하지 않으면 실행이 되지 않는다. 때문에 아무리 VC2005 재배포 패키지를 깔아도 여전히 Side by side 때문에 실행이 되지 않고 오류가 발생한다.

개발자는 보통 보안패치를 잘 하는 경우가 대부분이기 때문에, 재배포 패키지를 배포하려면 현재 자신이 배포하는 모듈의 Manifest를 한번 검사하고 최신 재배포 패키지를 배포하는 것이 맞다.

일단 side by side로 만들어진 모듈은 manifest를 확인해보고 배포해야 한다. 특히 정적 라이브러리를 포함한 모듈을 만들경우 항상 한가지 버전의 c runtime dll에 종속성이 생기는 것이 아니다.

VC2005의 경우 재배포 패키지는 버전별로 현재 4개 정도 나와 있는 듯하다.

  • Microsoft Visual C++ 2005 재배포 가능 패키지(2006-04-05):
    (버전: 8.0.50727.163)

Microsoft Visual C++ 2005 재배포 가능 패키지(x86):

http://www.microsoft.com/downloads/ko-kr/details.aspx?FamilyID=32BC1BEE-A3F9-4C13-9C99-220B62A191EE

Microsoft Visual C++ 2005 재배포 가능 패키지(x64):

http://www.microsoft.com/downloads/ko-kr/details.aspx?FamilyID=90548130-4468-4BBC-9673-D6ACABD5D13B

  • Microsoft Visual C++ 2005 SP1 재배포 가능 패키지(2007-11-15):
    (버전: 8.0.50727.762)

Microsoft Visual C++ 2005 SP1 재배포 가능 패키지(x86)

http://www.microsoft.com/downloads/ko-kr/details.aspx?FamilyID=200B2FD9-AE1A-4A14-984D-389C36F85647

Microsoft Visual C++ 2005 SP1 재배포 가능 패키지(x64):

http://www.microsoft.com/downloads/ko-kr/details.aspx?FamilyID=EB4EBE2D-33C0-4A47-9DD4-B9A6D7BD44DA

  • Microsoft Visual C++ 2005 서비스 팩 1 재배포 가능 패키지 ATL 보안 업데이트(2010-09-20):
    (버전: 8.0.50727.4053)

http://www.microsoft.com/downloads/ko-kr/details.aspx?FamilyID=766A6AF7-EC73-40FF-B072-9112BAB119C2

  • Microsoft Visual C++ 2005 Service Pack 1 재배포 가능 패키지 MFC 보안 업데이트(2011-06-07):
    (버전: 8.0.50727.6195)

http://www.microsoft.com/downloads/ko-kr/details.aspx?FamilyID=ae2e1a40-7b45-4fe9-a20f-2ed2923aca62

    URL은 시간이 지나면 예고도 없이 바뀌기 때문에 링크가 제대로 될지는 알수 없으나 현재까지 URL은 위와 같다.

    MS에서 일괄되게 검색이 되면 얼마나 좋을까? 다운로드 사이트에 가서도 재배포 패키지를 받으려면 이곳 저곳 찾아야 되니 참 귀찮다.

    재배포 패키지 제목 좀 통일했으면. 어쩔 때는 SP1, 서비스 팩 1 또는 Service Pack 1 이것 참 번역 할 때 마다 쓰는 단어가 틀려지는 건지 참..

    ATL보안 업데이트와 MFC보안 업데이트 재배포 패키지는 Windows Update를 통해서도 자동 업데이트가 되긴하나 프로그램 설치하면서 Windows Update 먼저 하십시요라고 할 수는 없지 않은가? ㅠㅠ

    신고
    Posted by 서프리


    티스토리 툴바