본문 바로가기

전체 글105

Thread 사용시 주의할 사항 프로그램 개발 시 Thread를 사용하는 이유는 프로그램 내에서 여러 가지 작업을 동시에 처리하기 위해서인데 Thread를 잘못 사용하면 성능이 저하되는 경우가 있습니다. 가장 흔한 경우로 스케줄링을 체크하거나 반복적으로 특정 기능을 수행하는 작업을 Thread에 위임할 경우 아래와 같이 Thread.Sleep()을 주지 않고 실행하게 되면 해당 Thread는 CPU를 붙잡고 무한 반복하면서 맡은 작업을 수행하게 됩니다. MySchedule _mySchedule; // 스케줄을 담는 멤버 Thread scheduleChkThread; // 스케줄 체크 Thread // 스케줄 시작 public void Start( ) { IsRunning = true; scheduleChkThread = new Thre.. 2020. 5. 16.
MySQL Workbench 사용법 MySQL을 사용하여 데이터베이스를 다룰 때 CLI(Command Line Interface)를 통해서 직접 질의어를 처리할 수도 있지만 MySQL GUI 툴인 Workbench를 이용해서 손쉽고 편리하게 DB를 다룰 수 있습니다. 물론 처음 시작할 때는 CLI를 통해서 직접 질의어를 입력해 보고 연습해봐야 실력이 늘기 때문에 CLI를 사용할 것을 추천합니다. 하지만 편리한 Workbench의 유혹은 우리의 시간과 노력을 절약해 주기 때문에 적절히 잘 활용한다면 업무 효율을 높일 수 있을 것입니다. 그럼 먼저 Workbench의 주요 기능을 정리해 보겠습니다. Workbench에서는 아래의 기능들을 제공해 줍니다. 데이터베이스 연결 인스턴스 관리 위저드를 이용한 MySQL 작업 SQL 편집기 제공 데이터.. 2020. 5. 15.
WCF(Windows Communication Foundation) 서비스 개발[1] 이전 포스팅에서 WCF의 기본 개념과 핵심 키워드, 계약 선언 부분을 살펴보았습니다. 이번 포스팅에서는 실제 WCF 계약 선언과 서비스 타입 구현부를 어떻게 호스팅 프로세스에서 사용하는지 살펴보겠습니다. 먼저 서비스 계약 부분은 아래와 같이 선언했습니다. // 서비스 계약 선언 [ServiceContract] public interface IHelloWorld { [OperationContract] string SayHello{}; } 그리고 서비스 계약을 구현하는 클래스에서 아래와 같이 인터페이스를 상속받아 서비스 계약을 구현하였습니다. // 서비스 타입 구현 public class HelloWorldWCFService : IHelloWorld { public string SayHello{} { ret.. 2020. 5. 14.
WCF(Windows Communication Foundation) 서비스 개발[0] '서버와 클라이언트 간의 통신을 어떻게 구현할 것인가?' 하는 부분은 프로젝트 개발 시 항상 고민의 대상이 됩니다. 보통은 .NET Framework의 Socket 클래스를 이용하여 TCP 또는 UDP로 개발을 하곤 했지만 이번에 새롭게 WCF(Windows Communication Foundation)을 적용해 보았습니다. 개발하면서 참고했던 도서는 '유수석의 WCF 바이블'인데, WCF의 기초적인 프로그래밍 기법부터 고급 기능을 포함하는 WCF 확장 부분까지 자세한 설명이 있어서 도움이 많이 되었습니다. 여기서는 도서의 내용을 참고하여 WCF에 대한 기본 내용을 정리하는 개념으로 포스팅을 올리고자 합니다. WCF의 정의는 XML 웹 서비스 기반의 차세대 서비스 통신 프레임워크라 할 수 있습니다. 뭔가.. 2020. 5. 13.