프로그래밍/C#(8)
-
[.NET, C#] 비동기 네트워크 API
비동기 네트워크 메서드System.Net 네임스페이스에 System.Net.Sockets의 Socket 클래스에 정의되어 있다. MSDNhttps://msdn.microsoft.com/library/System.Net.Sockets.Socket_methods(v=vs.110).aspx AcceptAsync123public bool AcceptAsync( SocketAsyncEventArgs e) cs 클라이언트의 연결을 수락한다. ReceiveAsync123public bool ReceiveAsync( SocketAsyncEventArgs e)cs 메시지를 수신한다. SendAsync123public bool SendAsync( SocketAsyncEventArgs e)cs 메시지를 전송한다. Conne..
2016.02.14 -
직렬화
직렬화(Serialization)정의(definition) 직렬화(Serialization)는 메모리 내부의 오브젝트(object)나 오브젝트 그래프(object graph; 서로를 참조하는 오브젝트들의 집합)을 바이트(bytes)로 이루어진 스트림(stream)이나 XML 노드들로 만들어 보관되거나 전송될 수 있도록 변환하는 것을 말한다. 역직렬화(Deserialization)는 반대로 데이터 스트림을 메모리 내부의 오브젝트나 오브젝트 그래프로 재구성하는 것을 말한다. 목적(purpose)직렬화와 역직렬화는 주로 다음 두 목적으로 사용된다.오브젝트를 네트워크나 어플리케이션 경계 상으로 전송하는 목적.파일이나 데이터베이스로 오브젝트의 표현(representation)을 보관하는 목적. 유니티에서의 직렬화..
2015.08.03 -
Delegate
Delegate정의메소드들에 대한 참조를 가질 수 있는 하나의 사용자 정의 타입이다. 원리Delegate 에 메소드의 주소를 할당한 후 Delegate 를 호출하면 Delegate 가 메소드를 호출한다. 특징C 에서의 함수포인터와 같다.Delegate 는 인스턴스가 아닌 형식(Type) 이다.delegate 키워드를 사용한다.함수 자체를 캡슐화하는 기능을 가지고 있다. 사용 이유메소드를 대신해 호출을 받아서 우리가 원하는 메소드를 대신해서 호출하기 위해 사용한다. 사용 방법1. Delegate 선언한다. //(C 언어의 함수 형태와 같다. ) 한정자 delegate 반환형식 델리게이트이름 (매개변수);2. Delegate의 인스턴스를 생성한다. 인스턴스를 생성할 때는 Delegate가 참조할 메소드를 매..
2015.08.03 -
데이터 보관하기
변수- C# 코드를 작성하면서 변수를 만들 때는(선언, Declare) 단순히 변수를 만드는 것이 아니라 그 내면의 메모리 공간도 함께 생각해야 한다. - 변수는 데이터를 담는 그릇과 같다. 용량이 넘어서면 넘치듯이 변수 또한데이터 형식의 크기를 넘어선다면 오류가 발생한다. 값 형식(Value Types)데이터 삭제 - 해당 지역이 끝나면 데이터 삭제저장 위치 - 스택 참조 형식(Reference Types)데이터 삭제 - 해당 데이터 사용의 끝을 알리면 가비지 컬렉터가 데이터 삭제저장 위치 - 힙 Object 타입- 객체라는 뜻으로 사용되는데, 어떠한 물건(데이터)이든지 다룰 수 있는 형식을 말한다.- 상속을 받으므로써 데이터와 메소드를 물려받은 자식으로써 부모와 똑같이 동작할 수 있게되어 자식을 부모..
2015.08.03 -
C#이란?
비전2000년 6월 마이크로소프트사가 .NET 플랫폼을 위해 개발, .NET프레임 워크에 최적화 되어있는 언어.C++의 컴퓨팅 파워, 비주얼 베이직의 프로그래밍 편의성을 결합하여 만든 객체지향 프로그래밍언어.C++의 객체지향성, 자바의 분산 환경처리에 적합한 다중성 등을 모두 지니는 컴포넌트 기반의 소프트웨어 개발 패러다임을 반영.C#은 C++를 계승한다는 의미로 붙여 진 것이지만 실제로는 완전히 다른 언어.(하지만 C나 C++ 로 작성된 소스 코드는 C#에서 컴파일 되지 않고 C#만 마이크로소프트사에서 만들어짐 ) .NET앞으로의 인터넷 서비스는 모든 종류의 기기에서 사용할 수 있어야 한다는 생각에서 나온 플랫폼.각종 프로그램을 유기적으로 연결대 최대 성능을 내는 일련의 소프트웨어 + 웹 서비스 계획...
2015.08.03 -
가비지 컬렉션
정의C#은 CLR이 자동 메모리 관리 기능(Automatic Memory Management) 기능을 제공한다. 이 자동 메모리 관리 기능의 중심이 가비지 컬렉션(Garbage Collection)이다. 프로그래머로 하여금 무한한 메모리를 사용할 수 있도록 코드를 작성하게 할 수 있다.가비지 컬렉션을 담당하는 것이 가비지 컬렉터(Garbage Collector)라 한다.가비지 컬렉터는 객체 중에 사용하는 것과 사용하지 않는 것을 분리하여 쓰레기들만 조용히 수거한다.가비지 컬렉터도 CPU와 메모리 같은 컴퓨팅 자원을 소모하므로 이 자원을 최소한으로 사용하게 하는 것이 프로그램의 성능을 향상시킬 수 있다. 가비지 컬렉터가 지우지 못하는 메모리C#에서 작성된 모든 코드는 관리형 코드(Managed Code)에..
2015.07.28