일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- c# Monitor.Exit
- thread-unsafe
- PhoneIncomingCall
- CallBack
- 하버드 감정수업
- libsndfie
- 영어 원서 추천
- A Long walk to Water
- Deep state
- alsa-lib
- Salva Dut
- The Giver 줄거리
- Windows Mobile Device Center
- 유니파이드 셰이더
- CPU와 GPU의 차이
- 요한 성당
- c# Monitor.Enter
- c# static
- 모바일 세미나
- 윈도우 모바일 프로그래밍
- c# lock
- overroad
- 자기계발 서적
- 감정수업
- 남수단
- Qt Layout
- 윈도우즈 7 ActiveSync
- libusb
- 율동 공원
- 영어 원서
- Today
- Total
목록DotNet (13)
저 하늘의 구름처럼~
lock은 thread-unsafe(안전하지 않은 스레드)코드를 안전하게 사용하고자 할때 사용한다. 즉, 동기화 처리를 할때 사용하는 구문이다. 그렇다면, thread-unsafe한 코드는 어떤 코드인가 다음 예제를 보자. static public class Division { static int num1 = 100, num2 = 5; static public void Divide() { try { if (num2 != 0) Console.WriteLine(num1 / num2); num2 = 0; } catch (Exception e) { Debug.WriteLine(string.Format("Err : {0}", e)); } } } Divide 함수가 스레드 하나의 함수에 의해 호출되면 안전하게 동작..
out 키워드는 인수를 참조로 전달하는데 사용하며 ref와 비슷하다. 하지만 ref의 경우 변수를 전달하기 전에 초기화를 반드시 해주어야 하지만 out의 경우 초기화를 하지 않아고 사용해도 된다. 하지만 out을매개변수로 사용하는 메서드 안에서는 반드시 out으로 선언된 변수에 값을 할당해 주어야만 한다. out ,ref 매개변수를 사용하려면 메서저 정의와 호출하는 메서드에 모두 out ,ref키워드를 사용해야만 한다. ref 와 out 키워드는 런타임에는 서로 다르게 취급하지만 컴파일 타임에서는 동일하게 취급한다. 그렇기 때문에 함수를 오버로딩하고자 하는 경우라면 한메서드에는 ref 인수를 사용하고 다른 메서드에는 out 메서드를 사용하는 경우 컴파일 타임에 같다고 판단하기 때문에 메서드를 오버로딩이 ..
1.callback 이란 "거꾸로 호출되는함수" 해석되어 질수 있다. callback은 윈도우 API 함수에게 인자로 함수 포인터를 넘겨주고 윈도우 API 함수들이 필요로 할때 함수 포인터로 넘겨받은 함수를 불러서 사용이 가능하게 한다. 2.standard Library를 callback을 이용해서 사용자의 상황에 맞게 Customize 하여 사용할 수 있게 하는 것이 callback의 주된 개념이다.
1. C에서의 static 키워드의 특징. static 키워드의 의미는 키워드의 대상이 되는 변수나 메서드가 메모리 상의 어떤 위치에 바인딩되는지가 컴파일 타임 혹은 링킹 타임에 정적으로 바인딩되는 변수를 의미한다. static 키워드는 프로그램이 시작될 때 만들어져서 지역변수처럼 선언된 범위를 넘어서서는 접근이 불가능하지만 프로그램이 종료 될때까지 자신만의 메모리 공간을 확보하고 있다.(함수 안에서 사용하여 함수가 종료된 이후에도 해당 값이 남아 있음을 의미한다.) 전역 변수를 static 으로 정의 하면 그파일 내에서만 사용이 가능하고, 외부 파일에서는 변수에 접근이 불가능하다. 값이 초기화되어 있지 않으면 "0"으로 초기화된다. 2. C#에서의 static 키워드의 특징. C#에서는 객체를 생성할 ..
mshtml.IHTMLElementCollection imgall = objMyDoc.images; for (int i = 0; i < imgall.length; i++) { mshtml.IHTMLImgElement tt; tt = (mshtml.IHTMLImgElement)imgall.item(i, 0); Thread.Sleep(1000); Console.WriteLine(tt.href); }
.NET 기반에서 모든 LINK 정보를 추출하는 방법을 MSHTML을 이용하여 하는 방법에 대하여 알아보고자 한다. 우선 MSHTML Library를 사용하기 위해서는 mshtml 참조를 해주어야한다.- 참조 추가를 위의 화면에서 처럼 해준다. try { string strURL = "http://www.naver.com"; WebClient wc = new WebClient(); byte[] data = wc.DownloadData(strURL); mshtml.HTMLDocumentClass ms = new mshtml.HTMLDocumentClass(); string strHTML = Encoding.ASCII.GetString(data); mshtml.IHTMLDocument2 objMyDoc = ..
mshtml.HTMLDocument doc = (mshtml.HTMLDocument) webBrowser1.Document; 이런식으로 웹브라우저 컨트롤의 도큐먼트를 얻게 되면, "오류 1 'System.Windows.Forms.HtmlDocument' 형식을 'mshtml.HTMLDocument' 형식으로 변환할 수 없습니다." 오류를 발생시키게 된다. 문제를 해결하기 위해 구글에서 검색하여 보았는데, mshtml.HTMLDocument oDoc = new HTMLDocumentClass(); oDoc = (mshtml.HTMLDocument)webBrowser1.Document; 이런식으로 고치면 에러를 해결할수 있다고 하였으나, 역시나 같은 에러 메시지를 출력 하였다. mshtml.HTMLDocum..
http://www.setisigns.net/tag/%EC%9B%B9%20%EC%82%AC%EC%9D%B4%ED%8A%B8%20%EC%83%9D%EC%84%B1 - 웹사이트를 통해서 IIS 실행 시키는 방법 가상 디렉토리를 이용하여 IIS 실행 http://blog.outsider.ne.kr/20 - IIS 에서 aspx만 실행되지 않을 경우의 해결 방법. 닷넷 프레음 워크 2.0이 깔려 잇지 않아서 그런 것이다. vs 명령 프롬프트 상에서 aspnt_regiis -i 명령어를 통해 , IIS에 닷넷 프레임 워크 2.0을 설치하여 주면 된다. Windows XP에서는 IIS 5.1 이 설치되고, Windows 2003 Server에서는 IIS 6.0 이 설 치된다. IIS 5.1에서는 위의 과정을 거치면..
파서 혹은 파싱이란 말은 여러 곳에서 쓰이는 것 같다.html 파서에서 파싱의 의미는 html 문서 텍스트를 자료구조화시키는 것을 말한다. 하나의 예로, HTML DOM 구조 형식으로 만드는 것을 들수 있겠다. 파서란 일반적으로 구문 분석기를 의미한다. 구문을 의미별로 나누어 어떠한 처리를 하는 것이다.
SHDocVw.ShellWindows shellWindows = new SHDocVw.ShellWindowsClass(); foreach(SHDocVw.InternetExplorer ie in shellWindows) { filename = Path.GetFileNameWithoutExtension(ie.FullName).ToLower(); if (filename.Equals("iexplore")) { // 밑의 두소스를 여기서 실행 시키면 됨. } } 현재 활성화 된 인터넷 익스플로어의 정보를 얻어 냄. 얻어진 정보로 document 를 얻어내어 사용한다. mshtml,SHDocVw는 별도의 참조 추가를 필요로 한다. Microsoft HTML Object Library(mshtml.tlb),Micro..