[C#] xUnit으로 코드 테스트 해보기
이번 글에서는 xUnit에 대해 알아보겠습니다. 개발을 하다 보면 개발한 클래스나 함수에 대해 테스트가 필요할 때가 있습니다. 수동으로 값을 대입하거나, 화면상으로 눌러가며 테스트도 하지만 코드가 방대해지면 자동화된 단위 테스트는 필수가 됩니다. …
이번 글에서는 xUnit에 대해 알아보겠습니다. 개발을 하다 보면 개발한 클래스나 함수에 대해 테스트가 필요할 때가 있습니다. 수동으로 값을 대입하거나, 화면상으로 눌러가며 테스트도 하지만 코드가 방대해지면 자동화된 단위 테스트는 필수가 됩니다. …
이번 글에서는 TCP 통신으로 Server와 Client를 만들어 보겠습니다. 전체적인 코드는 github을 참고해주시기 바랍니다. 주요 클래스, 함수 우선 서버 쪽 필수 클래스는 TcpListener입니다. TcpListener의 핵심 코드들은 아래와 같습니다. 클라이언트 쪽 클래스는 …
이번 글에서는 Named Pipe에 대해 알아보겠습니다. Named Pipe는 로컬 PC에서 서로 다른 프로그램끼리 데이터를 주고받는 IPC(Inter-Process Communication) 기술 중 하나 입니다. 프로그램 끼리 파이프에 이름을 붙여 통신을 한다고 보시면 됩니다. …
이번 글에서는 UDP 통신에 대해 알아보겠습니다. UDP에 대한 설명은 기존 글에도 많으니 설명보단, 만드는법 위주로 알아보겠습니다. C#으로 UDP 통신 하는 방법은 굉장히 간단합니다. UdpClient 클래스를 사용하면 됩니다. UdpClient UdpClient는 C#에서 …
이번 글에서는 local PC에 Database 파일을 만들고 데이터 저장, 화면 표시를 해보겠습니다. 데이터베이스는 Sqlite를 사용하도록 하겠습니다. 보통 DB 데이터를 select하거나 insert 하려면 SQL문법을 사용하는데, C#에서는 EF Core(Entity Framework Core)라는 ORM(Object-Relational …
이번 글에서는 DataTemplate와 DataTemplateSelector에 대해 알아보겠습니다. DataTemplate는 말 그대로 데이터를 보여주는 틀이라고 보시면 됩니다. WPF에 이 데이터는 화면에 어떻게 그리는지 알려주는 설계도와 같습니다. DataTemplate를 사용하면 ListBox에 텍스트로 표시되는 것을 정해진 …
이번 글에서는 WPF에서 RadioButton에 대해 알아보겠습니다. RadioButton는 IValueConverter에 대한 코드도 들어있으니 해당 글을 먼저 보시는 것을 추천 드립니다. RadioButton 만들어보기 우선 아래와 같이 3개의 과일을 표시하는 RadioButton을 만들어 줍니다. TextBlock은 …
이번 글에서는 Action, Func, Predicate에 대해 알아보겠습니다. 이 셋은 모두 미리 정의된 제너릭 델리게이트 입니다. 메서드를 변수처럼 담아서 전달할 때 사용되는 그릇이라 보시면 되는데 반환 타입이나 파라미터의 형태에 따라 다를 …
이번 글에서는 WeakReferenceMessenger에 대해 알아보겠습니다. WeakReferenceMessenger는 Community Tookit.Mvvm 라이브러리에서 제공하는 메시지 패턴의 구현체입니다. 말 그대로 메시지를 전달하는 역할을 합니다. WeakReferenceMessenger에는 Sender(보내는 사람)와 Recipient(받는 사람)이 있는 발행/구독 패턴이며, 문자 그대로 약한 …
이번 글에서는 Serializable 특성 사용하여 XML, Json 파일로 저장해보도록 하겠습니다. 프로그램을 만들다 보면 이제 객체를 파일로 저장하거나 네트워크를 통해 전송해야할 일이 생깁니다. 이때 객체를 저장하거나 전송할 수 있는 데이터 형태로 …