글

Active X에서 SetTimer를 해도 안 되거나 PostMessage가 처리되지 않는 경우..

MFC로 만든 Active X 프로그램을 유지보수하는데, 주기적으로 실행할 작업이 있어서 SetTimer를 이용했습니다. 그런데... 웹화면에서 메뉴를 이동하고 나면 어째서인지 SetTimer로 지정한 작업이 실행되지 않았습니다. 원인을 찾지 못해서 결국 스레드로 처리하게 만들었습니다. 그리고 스레드에서 UI에 접근할 일이 있어서 PostMessage를 이용했습니다. 그런데.. 이상하게도 PostMessage로 메시지는 보내는데, 이것도 처리되지 않았습니다.. (메시지는 보내지는 것 같은데 실행이 안 되는 것 같았습니다.)

Oracle DBMS 정규표현식 뒤에서부터 찾기

정규표현식으로 원하는 문자열을 찾고 싶은데, 문자열에서 가장 마지막으로 찾은 값을 가져오고 싶을 때에는 어떻게 하면 좋을까요? 일반적인 프로그램에서는 해당 언어/라이브러리에서 제공하는 기능을 이용해서 가장 마지막으로 찾은 값을 가져올 수 있겠지만, Oracle DBMS에서는 지원하지 않았습니다. 찾으려는 문자열은 다음과 같았습니다. 유형1: '|aaa|bbb|ccc' 유형2: '|aaa||ccc' 유형3: '|aaa|bbb|' 유형4: '|aaa||' 유형5: '||bbb|ccc' 일종의 배열인데, "|"를 구분자로 사용한 것입니다. 각 유형 별로 가장 마지막의 데이터를 찾는 것이 목적이었습니다. 예를 들면.. 유형1: ccc 유형2: ccc 유형3: bbb 유형4: aaa 유형5: ccc 이렇게 찾아야 하는 것이죠.

영화 "신은 죽지 않았다"(God's not dead) 1~3편 후기

여러분의 새해 다짐은 무엇이었습니까? 저는 최근에 영화 "신은 죽지 않았다 (God's not dead)"를 1~3편까지 모두 보았습니다. 이 영화의 주요 주제는 기독교인과 비기독교인의 갈등입니다. 영화 스토리를 개인적으로 평가하자면 1편은 조금 이상하고, 2편과 3편이 되면 훨씬 좋아집니다. 그런데 조금씩이지만 각 편이 서로 연관성이 있어서, 이 영화를 보시려면 1편부터 쭉 보는 것이 좋을 것 같습니다. (네이버 시리즈에서 1~3편을 5천원 정도에 구입할 수 있었습니다.) 1편과 2편은 기독교인과 비기독교인이 갈등/대립하지만 결국 기독교인이 논쟁/재판에서 이긴다는 내용입니다. 그런데 3편은 기독교인이 싸움을 포기하고 한발 양보하여 비기독교인의 제안을 수용하고 서로 화해합니다. 그 이유는   첫째. 기독교인이라면 예수 그리스도의 사랑을 나타내야 하는데 자신에게 해를 끼친 사람을 용서하지 못했습니다.   둘째. 이 일로 지역 사회에 갈등과 분열이 심해지고 있었습니다. 단, 3편에서 다뤄지는 갈등은 1,2편에서 다뤄지는 갈등과는 종류가 다르기 때문에 3편이 앞선 편들의 내용을 뒤집는 것은 아닙니다. 1,2편과 같은 일을 겪을 때 기독교인이 놓치지 말아야 할 것을 말하는 것 같습니다. 저의 2019년 새해 다짐은 "무슨 일이든 용서하는 한 해" 입니다. 올해가 3달 정도 남은 이 시점에서 아직 용서하지 못한 사람과 사건이 떠오릅니다. 쉽게 분노에 휩싸이고, 함부로 말했던 순간도 떠오릅니다. 3편에서 교회 건물에 큰 피해를 입힌 사람을 용서하지 못하는 목사님을 보면서 저게 그렇게 힘든가 싶었습니다. 그런데 현실은 저에게 클락션 울린 차 때문에 며칠씩 힘들어 하고 있네요. 아직 새해 다짐을 지킬 수 있는 기회가 있으니 하나님 아버지께 감사합니다. 제게 주어진 시간들을 예수님의 가르침대로 이웃을 제 몸과 같이 사랑하고, 원수를 사랑하고, 저를 욕하는 사람을 위해 기...

CL : fatal error C1083: 컴파일러 중간 파일 파일을 열 수 없습니다.

VisualStudio 2010에서 C++ 솔루션을 빌드하려고 하면 계속 다음과 같은 오류가 발생했습니다. CL : fatal error C1083: 컴파일러 중간 파일 파일을 열 수 없습니다. 'C:\윈도 TEMP 경로\_CL_렌덤문자' : No such file or directory 

Visual Studio 디버깅 시 멈춰있는 문제

어느날부터 비주얼 스튜디오(2010)에서 디버깅을 시작하면 프로그램이 실행되지 않고 그냥 멈춰있는 증상이 발생했습니다. 원인이 뭔가하고 한참 해맸는데, 가만히보니 아래쪽에 이런 메시지가 표시되고 있었습니다. "C:\Windows\System32\rasapi32.dll에 대한 기호를 로드하고 있습니다"

http가 안전하지 않은 이유

이미지
http://m.zdnet.co.kr/column_view.asp?artice_id=20180605105748 "구글 크롬의 주소창 낙인, 어떻게 봐야 할까" 자사가 https를 적용하지 않기 때문에 이러한 기사를 쓴 것인지는 모르겠으나 https를 쓰지 않는 것은 잠재적인 위협에 노출된 것이 맞습니다. 반면 https를 쓴다고 해서 항상 안전하다고는 볼 수 없습니다.(드물지만 인증서 유출이 있었다거나 기타 예상치 못한 문제가 있을 수 있으므로) 그런 의미에서 "안전하지 않음"은 유지하고 "안전함"은 없애는 게 좋다고 생각합니다.

파이썬에서 ShellExecuteEx로 인쇄하는 법

최근에 ShellExecute로 인쇄하는 방법에 대해 소개해드렸습니다. 이번에는 ShellExecuteEx로 인쇄하는 방법에 대해 소개해드립니다. (기본 프린터로 인쇄됩니다.) import win32event import win32process from win32com.shell.shell import ShellExecuteEx from win32com.shell import shellcon rc = ShellExecuteEx(lpVerb = 'print', lpFile = 'c\\파일경로\\파일.pdf', fMask = shellcon.SEE_MASK_NOCLOSEPROCESS | shellcon.SEE_MASK_DOENVSUBST # NOCLOSEPROCESS: 프로세스 핸들을 반환하도록 합니다. # DOENVSUBST: lpFile에 포함된 환경 변수를 실제 값으로 바꿔주도록 합니다. ) hproc = rc['hProcess'] win32event.WaitForSingleObject(hproc, win32event.INFINITE) exit_code = win32process.GetExitCodeProcess(hproc) 참고 자료 nullege https://sourceforge.net/projects/pywin32/ 관련 글: 파이썬에서 ShellExecute로 인쇄하는 법   파이썬에서 pywin32를 이용한 기본 프린터 변경법