전체 글 143

procmail과 perl로 메일수신로그를 DB에 남기기

메일 쿼터(파일시스템 쿼터나 milterAPI를 이용하지 않고 순수 procmail+perl로만으로 구현할려는 진보적인(?) 쿼터)를 위해 만드는 과정에서 수신 정보가 필요했고, 이 수신정보를 DB로 남겨도 좋겠다는 생각을 하게되었다. 즉, 단순히 곁다리로 나온 것이지만 쓸만하다 싶어(?) 정리하여 소개한다. 1. 들어가기 1) DB로 남기면 뭐가 좋은가? - 통계처리가 쉽게 가능하다. 월 몇통의 메일을 받는 서버인지 COUNT(*)만으로 쉽게 확인할 수 있다. - 수신자별로 메일 수신 메일 통수 통계를 볼 수 있다. (수신자별 GROUP BY 로 가능) - 메일 제목을 통해 필터링할 스팸 메일 설정을 쉽게 도와준다. - SUM(MAIL_SIZE)를 이용하면 월별 메일 수신용량(헤더 제외)을 확인할 수 ..

Programming/Other 2008.04.24

윈도우 스크립트(WSH)

스크립팅 기술이 필요한 이유 "뛰어난" 스크립트 작성자가 아니고 개발 경험이 없다고 해도 스크립팅 기술을 배우는 것이 여러 모로 매우 유용하다는 것을 알게 될 것이다. 다음과 같은 이유로 스크립팅 기술이 편리하고 유용하다고 생각한다. 다른 방법을 선택할 수 없을 때. 모든 기능이 GUI를 통해 제공될 수는 없으며 마법사는 유용하긴 하지만 동시에 제한적인 부분도 있다. GUI가 제공하지 않는 이러한 소규모 작업이 필요할 때마다 조직에서는 일반적으로 "개발자"를 구하려고 애를 쓴다. 자동화 및 시간 절약. 특정 간격으로 대량 작업을 실행하면 시간을 많이 절약할 수 있다. 자동화는 거의 모든 조직에서 반드시 필요한 기술이다. 적절한 때에 적절한 방식으로 필요한 정보를 얻을 수 있으므로. 필요한 정보를 필요한 ..

Windows Tech 2008.04.18

VisualBasic 관련 사이트 모음.

[프로그래밍 - 비주얼 베이직] (1)주소: www.codeland.co.kr 설명: 프로그램 소스코드 (www.codeland.co.kr) (2)주소: www.devpia.com 설명: 데브피아(비사모). 비베, VC 관련 정보. 프로그래밍에 관한 여러정보. 온라인 동영상 세미나(강의) (www.devpia.com) = www.advisor.co.kr * (3)주소: www.computingzone.com 설명: 컴퓨팅조운.프로그래밍.비베.그외 여러가지 FAQ (www.computingzone.com) * (4)주소: www.howtobank.net 설명: 비베관련 많은 정보. FAQ , 소스. 그외 많은 개발툴에 대한 정보(www.howtobank.net) = www.vbbank.co.kr =====..

IE에서 닷넷 스마트 클라이언트 개발3-스마트 클라이언트 배포하기4

출처 블로그 .. 맨 땅에 헤딩~ IE에서 닷넷 스마트 클라이언트 개발3-스마트 클라이언트 배포하기4 스마트 클라이언트 배포하기 - 4 저 자 : 정성태 속도 개선을 위한 또 다른 구문 이쯤에서 하나 더 짚고 넘어 갈 문제가 있는데 바로 ‘속도’ 문제이다. 앞에서 네트워크 모니터를 통한 패킷이 오고 가는 것에서 본 것처럼 아무 의미없는 GET 호출의 결과로 스마트 클라이언트의 활성화는 더욱 늦어지게 된다. 비록 완전한 해결책을 제시할 수는 없지만, 태그의 classid 속성에 대한 또 다른 사용법을 같이 설명하면서 특정한 상황의 컨트롤인 경우에 그러한 연속적인 GET 명령을 배제할 수 있는 방법을 소개하겠다. 원래의 액티브X 컨트롤의 경우와 비교해 스마트 클라이언트는 사실 classid 속성에 대해서 2..

Programming/Dot.NET 2008.02.25

IE에서 닷넷 스마트 클라이언트 개발3-스마트 클라이언트 배포하기3

출처 블로그 .. 맨 땅에 헤딩~ IE에서 닷넷 스마트 클라이언트 개발3-스마트 클라이언트 배포하기3 스마트 클라이언트 배포하기 - 3 저 자 : 정성태 첫 회에서 살펴 본 것처럼 ‘Microsoft .NET Framework 1.1 구성’ MMC 콘솔에 보면, ‘내 컴퓨터/런타임 보안 정책’ 하위에 세 가지 보안 정책 유형이 있는 것을 볼 수 있다. 보안 정책 내에서 변경된 내용들은 앞에 소개된 CONFIG 파일에 저장된다. 즉 우리가 만들었던 ‘SmartClientSet’과 ‘InternetSmartClient_Zone’에 대한 설정은 ‘Security.config’ 파일에서 찾아 볼 수 있다. 왜 이것이 필요하게 되는지는 잠시 후에 살펴보겠다. ① Caspol.exe를 이용한 방법을 살펴 보자. 현..

Programming/Dot.NET 2008.02.25

IE에서 닷넷 스마트 클라이언트 개발3-스마트 클라이언트 배포하기2

출처 블로그 .. 맨 땅에 헤딩~ IE에서 닷넷 스마트 클라이언트 개발3-스마트 클라이언트 배포하기2 스마트 클라이언트 배포하기 - 2 저 자 : 정성태 강력한 이름 서명 이제에 대한 사항은 끝마쳤고, 서버 측 코드로 넘어가 보자. 여러분은 자신이 만든 컨트롤에 대해서 ‘강력한 이름 서명’을 해서 배포하기를 원할 것이다. 기존 독립 애플리케이션만을 만들어 본 독자라면 우선 AssemblyKey 특성만을 지정하여 SNK 파일과 연결할 텐데, 스마트 클라이언트에서는 그것만으로는 부족하다. 스마트 클라이언트에서는 ‘강력한 이름 서명’이 된 어셈블리의 경우 다음과 같이 반드시 AllowPartiallyTrustedCallers(이하, APTC) 특성을 포함시켜야만 한다. [assembly: AllowPartia..

Programming/Dot.NET 2008.02.25

IE에서 닷넷 스마트 클라이언트 개발3-스마트 클라이언트 배포하기1

출처 블로그 .. 맨 땅에 헤딩~ IE에서 닷넷 스마트 클라이언트 개발3-스마트 클라이언트 배포하기1 스마트 클라이언트 배포하기 - 1 저 자 : 정성태 스마트 클라이언트의 경우 제작하는 방법만큼이나 배포가 쉽게 되어 있다. 이번 호에서는 배포하기 전 어셈블리에 대한 추가적인 작업을 먼저 다룬 후, 정상적인 클라이언트 측 동작을 위한 보안 설정과 함께 디버깅 방법에 대해 살펴보겠다. 연+재+순+서 1회 2004.2 | 스마트 클라이언트 탐험하기 2회 2004.3 | 인터넷 익스플로러와 연동하기 3회 2004.4 | 스마트 클라이언트 배포하기 연+재+가+이+드 운영체제 | IIS가 설치된 윈도우(필자의 경우 윈도우 2003 서버) 개발도구 | 비주얼 스튜디오 닷넷 2003, 닷넷 프레임워크 v1.1.432..

Programming/Dot.NET 2008.02.25

IE에서 닷넷 스마트 클라이언트 개발2-인터넷 익스플로러와 연동하기3

출처 블로그 .. 맨 땅에 헤딩~ IE에서 닷넷 스마트 클라이언트 개발2-인터넷 익스플로러와 연동하기3 인터넷 익스플로러와 연동하기 -3 저 자 : 정성태 출판일 : 2004년 3월호 DWebBrowserEvents 이벤트 연결 결국 우여곡절 끝에 IWebBrowser2 인터페이스까지 얻게 되었다. 필자가 C#으로 새롭게 정의한 IWebBrowser2 인터페이스로 형변환된 개체는 SHDocVw.IWebBrowser2로 형변환한 것과 동일하게 사용할 수 있다. SHDocVw.dll을 사용하지 않은 관계로 우리가 직접 구현한 C# IWebBrowser2 인터페이스에는 한 가지 문제를 지니고 있는데, 웹 브라우저에 이벤트를 연결할 수 있는 방법이 모호하다는 것이다. SHDocVw.dll 참조에서는 적절한 RC..

Programming/Dot.NET 2008.02.25

IE에서 닷넷 스마트 클라이언트 개발2-인터넷 익스플로러와 연동하기2

출처 블로그 .. 맨 땅에 헤딩~ IE에서 닷넷 스마트 클라이언트 개발2-인터넷 익스플로러와 연동하기2 인터넷 익스플로러와 연동하기 - 2 저 자 : 정성태 출판일 : 2004년 3월호 IWebBrowser2 인터페이스 얻기 이번 연재의 하이라이트가 아닐까 생각된다. 필자가 처음 스마트 클라이언트를 제작하고서 가장 먼저 해결하고자 했던 것이 바로 자신을 호스팅하고 있는 IWebBrowser2 인터페이스를 얻어내는 것이다. 아마도 이미 개발된 기존 액티브X 중에서도 많이 활용하고 있는 부분이 아닐까 싶다. 액티브X 컨트롤로 구현할 때의 얘기를 해보면, WebBrowser 개체는 자신이 호스팅하고 있는 모든 컨트롤에 대해서 CreateInstance로 개체를 생성한 후 IUnknown::QueryInterf..

Programming/Dot.NET 2008.02.25