본문 바로가기

분류 전체보기131

[C#] Cross Thread로인한 InvalidOperationException해결법 C# Windows Forms 응용 프로그램을 만들다 보면 작업시간이 오래 걸려 프로그램이 응답없음에 빠지는 경우가 있다. 그래서 C# Windows Forms에서는 성능 향상을 위해 다중 스레딩을 사용하곤한다. 그런데 다중 스레드를 사용하다가 Thread가 종료 되는 시점에서 Main Thread에 있는 Control을 제어해야 할 경우가 있다. 이경우 InvalidOperationException라는 Exception이 발생하곤한다. 이유는 정책 때문이다. 기본적으로 Control은 Main Thread에서만 제어를 해야 한다. 경합 상태, 교착 상태 등의 다른 스레드 관련 버그가 발생할 수 있기 때문이다. 따라서 Control에 대한 액세스가 스레드로부터 안전한 방식으로 호출되거나 Main Thre.. 2014. 6. 16.
[C#] 람다 표현식 도대체 람다가 뭘까????MSDN 왈 람다 식은 대리자 또는 트리 표현 형식을 만드는 데 사용할 수 있는 익명 함수입니다.람다 식을 사용하여 인수로 전달되거나 함수 호출 값으로 반환되는 로컬 함수를 쓸 수 있습니다.요따위로 적어 놨다. 뭐 대충 이해가 가는 사람도 있고 없는 사람도 있겠지만 그냥 익명 함수라고 알아두면 아주 편하게 사용할 수 있지 않을까 싶다. 우선 간단하게 사용법을 알아보자. Colored By Color Scripter™123456delegate int del(int i);static void Main(string[] args){ del myDelegate = x => x * x; int j = myDelegate(5); //j = 25}보통 이렇게 쓴다. 아주!!!! 쉽다. dele.. 2014. 6. 16.
[C#] 내부 클래스 오늘 알아볼 것은 내부 클래이다. 내부클래스??? 생소할 수도 있을것 같다. 하지만 잘 생각해보면 유용하게 사용 될 수 있는 여지가 충분히 있는 문법이다. 예를 들어 이런 클래스가 있다고 해보자. Colored By Color Scripter™123456789101112131415161718using System; public class OutClass{ #region IoutClass 멤버 void DoSomeThing(){ Console.WriteLine("OutClass DoSomeThing Method!"); } #endregion IOutClass 멤버 public static void Main(){ OutClass outClass = new OutClass(); outClass.DoSomeTh.. 2014. 6. 16.
[C#] 소멸자 Finalize 오늘 알아볼 녀석은 소멸자이다. C++을 사용해본 사람들은 소멸자를 잘 알것이다. 메모리 관련해서 아주 중요한 영역이기 때문이다. 그런데 C#을 사용하는 사람들은 소멸자에 별로 관심이 없다. 가비지 컬랙션이 있기 때문에 보통은 객체가 어떻게 되는지도 모르고 그냥 넘어가는 경우가 다반사이다. 일반적으로 C#에는 가비지 컬랙터 기능이 있는 런타임을 대상으로 하지 않는 언어이기 때문에 개발시 메모리 관리가 필요하지 않다. 왜냐하면 .NET Framework 가비지 컬랙터에서 객체에 대한 메모리 할당과 해제를 암시적으로 관리하기 때문이다. 그러나 창, 파일 및 네트워크 연결처럼 관리되지 않는 리소스를 응용 프로그램에서 캡슐화할 경우, 소멸자를 사용하여 이 리소스를 해제해야 한다. 객체가 소멸 대상이 되면 가비지.. 2014. 6. 13.
[C#] Delegate 사용법 오늘 알아볼 녀석을 Delegate이다. 입문자의 경우는 Delegate를 사용에 대해 의문의 갖는다. 아주 많이...하지만 C#에서 자랑하는 기능이니, 알아두고 유용하게 쓸만한 곳을 찾아보는 것도 좋겠다. Delegate는 특정 매개 변수 및 반환 형식이 있는 메서드에 대한 참조를 나타내는 형식이다.Delegate를 인스턴스화하면 메개 변수 및 반환 형식이 같은 모든 메서드 형식에 연결할 수 있고,인스턴스를 통해 메서드를 호출할 수 있다.Delegate 속성1. Delegate는 C++의 함수 포인터와 유사하지만 안전하다.2. Delegate를 통해 메서드를 매개 변수로 전달할 수 있다.3. Delegate를 사용하여 콜백 메서드를 정의할 수 있다.4. 여러 Delegate를 연결할 수 있다.5. 메서.. 2014. 6. 12.
[C#]명령 프롬프트에서 컴파일 하기 CSC.exe 알아두면 좋을 법한 컴파일 방법이 있어. 소개하고 싶어 포스팅을 한다. 필자는 주로 IDE(Visual Studio xxxx)류의 통합환경을 사용했다. 그런데 ASP.NET을 하면서 부터 Text Edit Tool을 더 많이 사용하게 되는거 같다. 그러다보니 궁굼해졌다. Text Edit는 도대체 어떻게 컴파일을 하고 디버깅을 하는지....그런데 역시 MS형님들 짱이다. CSC.exe라는 녀석이 존제 한다고 한다. 오늘 포스팅 내용의 주는 "CSC.exe"이다. 우선 csc.exe가 무엇이냐? C# 컴파일러이다. 뭔가 싱겁지만 항상 IDE만 사용하시던 분들은 조금 어색할 것 같다. 간단하게 exe파일(실행파일)과 DLL파일을 만드는 법을 소개 하고자 한다. ※ exe 파일 만들기 우선 간단한 소스를 작성.. 2014. 6. 11.
[C#] Boxing과 Unboxing의 고찰 프로그래밍을 처음 배우면 보통 성능에는 관심이 없다. 회사에 입사하면 성능을 따지는 경우가 대부분이다. 그런데 가장 많이 간과하는 부분이 Boxing과 Unboxing이 아닐까 싶다. 필자도 모르는 상태에서 프로그래밍을 하다 상사에게 듣고 검색에 검색을 통해 정확하게 이해할 수 있었다. Boxing과 Unboxing을 논하기 전에 먼저 알아야할 것이다. 바로 값 형식과 참조 형식에 관한 것이다. ------------------------------------- MSDN 참조 ------------------------------------------------※ 값 형식 값 형식은 다음과 같은 두 개의 기본 범주로 구성됩니다.Structs열거형구조체는 다음과 같은 범주로 구분할 수 있습니다.숫자 형식정.. 2014. 6. 11.
Mac에서 Eclipse사용시 Content Assist 사용방법 이클립스에서 자동완성 기능(Content Assist)는 Ctrl + Space이다. 그런데 Mac에서 Ctrl + Space를 Spotlight 단축키로 사용하고 있기 때문에 이클립스 단축키가 먹지 않는다. 이것을 해결하는 방법이 두가지가 있다. 첫번째. Spotlight를 단축키를 사용하지 않는다. 두번째. 이클립스 단축키를 변경한다. 두가지 경우중 나는 두번째를 추천하고 싶다. Spotlight는 쓸만한 기능이기 때문이다. ㅋㅋㅋㅋ 각설하고 첫번째 방법을 알아보자. [시스템 환경설정]이렇게 생긴 녀석을 클릭하게 되면 이런 녀석이 나오는데 아주 친절하게 Spotlight라는 돋보기 처럼 생긴 아이콘이 보인다. 이녀석을 클릭한다.다음 화면이다. 이제 다 됐다. 여기서 하단 체크 박스를 해제 하면 된다... 2014. 6. 11.
Java - 전략패턴(Strategy Pattern) 전략 패턴.... 전략 패턴을 사용하는 가장 큰 이유는 알고리즘의 캡슐화가 아닐까 생각해보면서 정리 시작하자. 전략 패턴예제 소스 Colored By Color Scripter™123456789101112131415161718192021222324252627282930313233343536373839404142434445public interface Strategy { public int doOperation(int num1, int num2);} public class OperationAdd implements Strategy{ @Override public int doOperation(int num1, int num2) { return num1 + num2; }}public class Operatio.. 2014. 6. 10.
변호인... 노무현 전 대통령 남자다..... 이 영화를 본 이유는 두가지가 있다. 1. 송강호가 출연하기 때문에.....2. 내가 노무현 빠돌이이기 때문에...... 그래서 인지 처음부터 기대 이상은 하겠다는 생각을 하면서 봤다. (당연히 이 영화는 기대 이상이다. ㅋㅋㅋ) 줄거리는 부림사건에 관한 것이었다. 다음 사이트에 올라와 있는 줄거리의 내용이다. ------------------------------------------------------------------------------------------------------------돈 없고, 빽 없고, 가방끈도 짧은 세무 변호사 ‘송변’ 그의 인생을 송두리째 바꿀 다섯 번의 공판이 시작된다! 1980년대 초 부산. 빽도 없고, 돈도 없고, 가방끈도 짧은 세무 변호사 송우석(송강호) ... 2014. 6. 5.
[c#] 파일 찾기 및 파일 내용 읽기 (File Search) 아!!!!!!첫 포스팅은 c# 관련 글로 하는구나 ㅋㅋㅋㅋ즐겁게 초대장을 박고 이제 시작함 해보자 ㅋㅋㅋ 첫 주제로 파일 찾기를 선택한 이유는 단 한가지도 파일 입력, 출력은 가장 많이 사용하기 때문이다. (그래서 보통은 기본이라고들 하지)그런데 똑똑한 MS형들은 대박인 함수를 만들어 두셨다. 함수명 : Directory.GetFiles(String Path)매개변수 : Path 찾고자하는 파일 위치MSDN에서 제공하는 예제 코드 이다. Colored By Color Scripter™123456789101112131415161718192021222324252627282930313233343536373839using System;using System.IO;using System.Collections; p.. 2014. 6. 2.