코딩 썸네일형 리스트형 [용어] 이벤트 드리븐(event driven) 이벤트 드리븐 - 키보드의 입력, 마우스 클릭, 네트워크 패킷 등 언제 동작할지 모르는 반응(event)가 일어 났을 때 처리되는(driven) 방식을 의미한다. 즉 컴퓨터 프로그램 중에서 특히 이벤트에 반응하여 동작을 변경하는 방식을 이벤트 드리븐방식이라고 한다. 주사용 목적은 대화형 프로그램을 만드는데 사용한다. 마우스 버튼을 클릭하는 것을 예로 들 수 있다. 이벤트 기반 시스템은 보통 이벤트 루프의 형태로 동작한다. 이벤트 루프는 평소에 장치로부터 입력이나 내부경보를 계속해서 기다리고 있다가, 이와 같은 활동이 발생하면 이벤트를 생성시킨다. 이벤트 기반 시스템은 발생한 이벤트에 대해 언제, 어디서, 어떤 이벤트가 발생했는지 따위의 데이터를 수집하고, 이 데이터를 필요한 이벤트 핸들러로 발송한다.다른.. 더보기 [C#] 문자열 마샬링 CharSet.Ansi(기본값) 문자열 마샬링 - 플랫폼 호출은 문자열을 관리되는 형식(유니코드)에서 ANSI 형식으로 마샬링한다. CharSet.Unicode 문자열 마샬링 - 플랫폼 호출은 관리되는 형식(유니코드)의 문자열을 유니코드 형식에 복사합니다. CharSet.Auto 플랫폼 호출은 대상 플랫폼에 따라 런타임에 ANSI와 유니코드 형식 중에서 선택합니다. 더보기 [C#] 클래스와 구조체 클래스의 경우 모든 오브젝트가 동일한 메모리를 가리키고 있다. 구조체의 경우 스택메모리에 할당이 되므로 서로 다른 값을 가진다. 클래스와 구조체의 차이점 - 구조체는 값타입이며 클래스는 참조타입이다. 더보기 [C#] 구조체 마샬링 Serializable : 문자로 변환하기 위해서 선언StructLayout(LayoutKind.Sequential) : 구조체 선언Pack=1 : pack(데이터를 읽을 단위를 정함)MarshalAs(UnmanagedType.ByValArray, SizeConst = 배열수)?12345678910111213141516171819[Serializable][StructLayout(LayoutKind.Sequential, Pack=1)]public struct _HMIData{ public _hmi_macsta hmi_macsta}[Serializable][StructLayout(LayoutKind.Sequential, Pack=1)]public struct _hmi_macsta{ [MarshalAs(Unm.. 더보기 [용어] 네트워크 브릿지 네트워크 브릿지란? 여러 네트워크를 연결하여 서로 통신할 수 있도록 하는 것 ex) 유선컴퓨터는 다른 유선컴퓨터와의 통신만 가능하며 무선은 무선과의 통신만 가능하지만 네트워크 브릿지를 사용하면 모든 컴퓨터가 서로 통신할 수 있게 된다. 더보기 [용어] 콜백(callback) 콜백(callback) - 호출된 함수를 알려주어 다른 프로그램 또는 다른 모듈에서 함수를 호출 하게 하는 방법. 일반적으로 운영체제가 호출할 어플리케이션의 함수를 지정해 특정한 사건 또는 메시지가 발발 했을 때 호출되도록 지정할 수 있다. 즉 어떤 이벤트가 발생 했을 때 해당 함수를 호출 하는 것 함수호출과 callback의 차이점은 제어권에 있다. 호출자가->피호출자 호출(일반적인 함수흐름)피호출자->호출자 호출(callback의 함수흐름) 이미지 출처 : http://lapislazull.tistory.com/79 더보기 [C#] IContainer 인터페이스 IContainer - 컨테이너의 기능을 제공합니다. 컨테이너는 논리적으로 0개 이상의 구성 요소를 포함하는 개체. 네임스페이스 : System.ComponentModel 구문 - [ComVisibleAttribute(true)] public interface IContainer : IDisposable 속성 - Components : IContainer의 모든 구성 요소를 가져옵니다. 메서드 - Add(IComponent 매개변수) : 지정된 IComponent를 목록 끝에 있는 IContainer에 추가합니다. - Add(IComponents 매개변수, String 변수) : 지정된 IComponent를 목록 끝에 있는 IContainer에 추가 하고 구성 요소의 이름을 지정합니다. - Remove(.. 더보기 [C#] 마샬링(Marshalling) 마샬링이란 - 한 객체의 메모리에서의 표현방식을 저장 또는 전송에 적합한 다른 데이터 형식으로 변환하는 과정이다. 데이터를 컴퓨터 프로그램의 서로 다른 부분 간에 혹은 한 프로그램에서 다른 프로그램 으로 이동해야 할 때도 사용한다. 마샬링은 직렬화(Serialization)과 유사하며 한 오브젝트(직렬화 된 오브젝트)로 멀리 떨어진 오브젝 트와 통신하기 위해 사용된다. 이는 복잡한 통신을 단순화 하기 위해, 기본요소 대신 통신을 위한 맞춤형 오브젝트를 사용한다. 마샬링의 용도- 마샬링은 프로세스 간 또는 쓰레드 간 데이터 전송에 필요한 원격 프로시저 호출매커니즘 구현에 사용된다.- 닷넷 프레임워크(.NET)에서, P/Invoke 프로세스 하의 관리되지 않은 타입과 CLR 타입 간의 변환은 마샬링을 요구하.. 더보기 [C#] show / showDialog 차이점 Form.Show - 단순히 새창을 여는 Modaless창을 여는것 Form.ShowDialog - Modal자식 창을 열어서 해당 창을 닫기 전까지 부모창의 컨트롤이 불가능하며, 결과 값을 통해 상태나 데이터 정보를 넘겨줄 수 있다. Modaless - 독립된 형태의 Form / 대화상자(Dialog)가 출력되고 있는 동안에도 다른 창의 작업을 진행할 수 있는 상태 Modal - 대화상자(Dialog)가 출력되고 있는 동안에는 다른 창의 작업을 진행할 수 없는 상태 더보기 이전 1 2 3 다음