프로그래밍
Use WebBrowser and shdocvw.dll for POST Data sending
Use WebBrowser and shdocvw.dll for POST Data sending
2009.02.16C# 윈폼에서 WebBrowser 컨트롤 또는 shdocvw.dll 을 이용하여 브라우저를 사용할 일이 있다. 이럴때 어떤 페이지에 post 데이터를 넘거야 하는데 다음과 같은 코드를 활용하여 하면 된다. string strUrl = @"http://somepage.com/Default.aspx"; byte[] SomeBytes = null; string FormParams = "login=megalogin&password=hardpassword"; SomeBytes = Encoding.UTF8.GetBytes(FormParams); string AdditionalHeaders = "Content-Type: application/x-www-form-urlencoded" + Environment.NewLi..
C# 웹페이지를 읽어 문자열로 반환하는 코드
C# 웹페이지를 읽어 문자열로 반환하는 코드
2008.06.18코드 내용 : 웹 페이지 요청을 생성해 웹페이지를 문자열로 반환해준다. 작 성 자 : (주)가온아이(Kaoni) 솔루션개발부 개발1팀 김선우 개발 언어 : .NET 2.0 / C# pageUrl에 해당하는 페이지 요청을 생성해 응답으로 넘어오는 스트림을 문자열에 담아 결과 값을 문자열로 반환하는 C# 코드 private string LoadPage() { int bufMaxSize = 65535; int bufMinSize = 8192; StringBuilder sb = null; string pageUrl = "http://www.google.co.kr/"; try { HttpWebRequest req = WebRequest.Create(pageUrl) as HttpWebRequest; HttpWebR..
Office Communicator의 Toast에 대해
Office Communicator의 Toast에 대해
2008.06.12Office Communicator의 Toast Pop-up에 대한 소개가 아주 상세히 되어 있어 내용을 가져왔습니다. 회사(가온아이, Kaoni)에서도 사용자 임의로 띄울 수 있는 Toast 팝업을 지원할 수 있는가? 하는 궁금증과 그를 이용해 별도의 추가 모듈을 구성할 수 있지 않을까? 하는 점 때문에 이 내용을 많이 찾아봤는데... 딱히 이를 커스터마이즈 해서 변경할 수 있는 방법은 없는 듯 하다 - _-;;;; 아무튼 Toast 기능에 대해서라도 잘 알아뒀으면 하는 취지에서 아래와 같이 원본 글을 발췌한다. 원본 사이트 : http://communicatorteam.com/archive/2008/04/25/176.aspx What is this “Toast” thing anyway? Toast, ..
Reflection을 이용해 C# DLL 동적로드
Reflection을 이용해 C# DLL 동적로드
2008.06.10현재 회사(가온아이, Kaoni) 내에서 개발 진행중인 ezOcsNotice(OCS를 이용해 노티를 전송해주는 프로그램)을 제작하고 있다. 해당 프로그램은 동적으로 모듈들이 존재하고 각각의 모듈은 사용하지 않을땐 불필요하게 로드되게 되는 문제가 있다. 그래서 아래와 같이 Reflection을 이용해 DLL을 동적으로 이용해야 하는 문제가 생겼다... 클래스를 참조하지 않은 상태에서 외부의 DLL을 동적으로 로드해 클래스를 쓸 경우가 가끔씩 생기게 되는데.. 그럴 때는 .NET의 Reflection(Java에서도 마찬가지로..) API를 사용해서 클래스를 로드하고 해당 클래스의 인스턴스를 얻거나 메소드를 호출(Invoke)할 수 있다. 예로 다음 같이 사용하면 된다. System.Reflection.Ass..
Programming Silverlight with JavaScript
Programming Silverlight with JavaScript
2008.05.28Adobe Flash가 성공하기 시작한 배경은 Flash에서 웹 페이지와 통신이 가능하던 시기부터 이다. SilverLight에서도 Flash의 역사와 마찬가지로 Javascript를 통한 통신으로 Rich Web Application으로 자리 매김하기 위한 기반 기술을 제공한다. 현재 회사(가온아이, Kaoni) 내에서도 SilverLight를 이용하여 개발을 시작하고 있고, 현재 본인이 속해있는 팀에서 SilverLight를 이용하는 방법을 활발히 연구중이다. 다음과 같이 아래 링크를 통해 SilverLight와 JavaScript와의 연동을 처리하는 예제를 한번 보도록 하자. http://msdn.microsoft.com/en-us/library/cc500344.aspx 원문 내용 In this c..
다양한 HTML 소스복사 / 마우스 우클릭 방지 모음
다양한 HTML 소스복사 / 마우스 우클릭 방지 모음
2008.05.23* 프로그래밍하다가 소스 막기가 필요한 곳이 많아 보여서 몇개의 팁을 정리했습니다. 주의할 점은 소스에서 설정을 해 놓아도 HTML내에 Iframe이 있는 경우 Iframe안에 있는 다른 html에는 설정이 안 된다는 점입니다. 그래서 상태바에 링크 주소 막기 같은 경우는 꽁수로 function status_message() { window.status = ""; } setInterval("status_message()",1) 이런 식으로 쓰는 경우도 있습니다. 계속적으로 상태바의 주소글자를 바꿔주는 아주 안 좋은 방식입니다. (그리고 아주 잠깐은 소스가 보입니다. = =;) 아무튼 Iframe, modal 등이 아닌 곳은 다 적용됩니다. 1. 마우스 오른쪽메뉴, 드래그, 선택복사 금지하기 2. 마우스 ..
OCS Notice 라이브러리 구상도
OCS Notice 라이브러리 구상도
2008.05.22이미 회사(가온아이(주), Kaoni) 내에서 OCS 관련해서 새로운 데이터가 오면 노티를 날리는 공지 서비스를 Microsoft Office Communication Server 2007을 이용해 사용자 노티를 날리는 솔루션을 이미 개발한 바 있다. 이 코드를 조금 더 정규화 하고, 보기 좋은 SDK 도움말 파일도 생성하고, 모듈별 DLL 개발이 가능하고, 유연하게 포함할 수 있도록 새로 설계 / 개발을 하려고 하고 있다. 현재로는 아래와 같은 구조로 제작할 계획.. 앞으로 더 진행해보고 모듈의 지원 방향을 고민해 봐야겠다.
고품질 코드 작성
고품질 코드 작성
2008.04.18꼭 알아야 할 것이 아니고 알아두면 좋은것들이 있습니다. 프로그래밍을 하면서 코드의 최적화를 신경쓰거나 퍼포먼스에 가장 최적화된 알고리즘을 생각해 내는것.. 이런 것 이외에도 많은 것들이 있죠. 시스템과의 상호 운용성이나 플렛폼에 제한에 최대한 안정성을 고려하는 등 예를 들자면 많을 겁니다. MS 에서 제시하는 고품질 코드작성에 필요한 노하우가 다음과 같이 소개됩니다. http://msdn2.microsoft.com/ko-kr/library/4dtdybt8.aspx 고품질 코드 작성 처음부터 좋은 품질을 유지하도록 해야 합니다. 품질이란 나중에 쉽게 추가할 수 있는 사항이 아닙니다. 너무 복잡하거나 모호하거나 제품 주기에서 너무 늦게 발견되는 문제는 일반적으로 수정되지 않습니다. 다음 항목에서는 코드의 ..
Visual Studio Add-in CopySourceAsHtml
Visual Studio Add-in CopySourceAsHtml
2008.04.15http://www.jtleigh.com/CopySourceAsHtml http://msdn.microsoft.com/msdnmag/issues/05/12/VisualStudioAddins/#S9 비주얼 스튜디오에서 코드를 복사해서 웹에 게시하거나 할 때 코드를 우리가 보던 그대로 색도 나오도록 하고 싶은데 그렇게 넣기 힘든게 현실이다. 이런 때에 비주얼 스튜디오의 Add-in인 CopySourceAsHtml 을 이용하면, 코드를 비주얼 스튜디오에서 사용하던 색상 그대로 웹 페이지에 게시할 수 있다. 아마도 이미 쓰고있는 사람이 많겠지만.. -_ -.. 아직 모르는 분을 위해..!
상속받은 클래스에서 Override, new, 로컬메소드의 차이 예제
상속받은 클래스에서 Override, new, 로컬메소드의 차이 예제
2008.04.14상속관계에 있는 클래스에서 메소드를 기존의 이름으로 재정의하고 싶을 때 override-virtual, new, 로컬메소드 등의 3가지 방법이 있는데 차이가 많이 햇갈릴때가 있다. 다음과 같은 예제 코드를 해보면 이해가 조금 더 쉽게 되지 않을까 생각한다. (아래 예제는 Visual Studio Sample 폴더에 있는 예제입니다.) 1: //Copyright (C) Microsoft Corporation. All rights reserved. 2: 3: // versioning.cs 4: // CS0114 expected 5: public class MyBase 6: { 7: public virtual string Meth1() 8: { 9: return "MyBase-Meth1"; 10: } 11: ..
.NET C# Base64 Decode
.NET C# Base64 Decode
2008.04.12갑자기 필요한 일이 생겨서 -_ -;; CodeProject를 뒤져 있던 클래스를 함수로 변환해서 아래와 같이 이용하게 되었습니다 -ㅁ -.. 저작권은 물론 코드프로젝트에 원 저작자에게 있구요 ㅎㅎ 원본은 http://www.codeproject.com/KB/cs/base64encdec.aspx 이건데요... 제가 아래처럼 코드를 좀 바꿔서 썼습니다 -ㅁ - 아참 사용법은 string a = "가나다"; Console.WriteLine(GetDecoded(a.ToCharArray())); 이런식으로 .ToCharArray()를 써서 보내주셔야 합니다 ^ ^ 시간이 없어서 Encode 쪽 코드는 변환 안시켰어요;; 필요하시다면 코드프로젝트쪽의 소스를 보세요 ㅎㅎㅎ public string GetDecode..
MS Heros Happen here 세미나 자료
MS Heros Happen here 세미나 자료
2008.04.102008년 HEROS Happen {Here} 라는 이름으로 진행된 세미나의 발표자료들이 사이트에 게시 되었네요. 참석하지 못해 세미나 내용을 못보신분들은 아래 사이트에서 발표자료라도 참고해보면 되겠습니다. http://www.microsoft.com/korea/heroeshappenhere/events/default.mspx