본문 바로가기

C#

(7)
[복습] Reflection - C#, 리플렉션 리플렉션 객체의 형식(Type) 정보를 들여다보는 기능이다. 이 기능을 이용하면 프로그램 실행 중에 객체의 형식 이름부터 프로퍼티 목록, 메서드 목록, 필드, 이벤트 목록까지 모두 열어볼 수 있다. 형식의 이름만 있다면 동적으로 인스턴스를 만들 수 있다. 새로운 데이터 형식을 동적으로 만들 수도 있다. Object.GetType() 메서드와 Type 클래스 Object는 모든 데이터 형식의 조상이기 때문에 모든 데이터 형식은 다음 메서드를 물려받는다. Equals() GetHashCode() GetType() ReferenceEquals() ToString() 위의 메서드 중 GetType() 메서드를 이용해서 객체의 형식 정보를 얻어낼 수 있다. GetType() 메서드는 Type 형식의 결과를 반환한..
[FFPROBE] 동영상 길이 확인 - C#, Winform 영상을 이미지로 변환시킬 때 변환시킬 영상의 시작 시간과 끝 시간에 대해 예외처리를 할 일이 있어서 동영상 길이를 확인할 수 있는 방법을 찾아야 했다. 'NReco.VideoInfo'라는 라이브러리를 알게 되었고 이를 이용해서 성공적인 예외처리를 할 수 있었다. NReco.VideoInfo 설치 NuGet 패키지 관리 NReco.VideoInfo 설치 사용 FFProbe ffProbe = new FFProbe(); var videoInfo = ffProbe.GetMediaInfo("동영상 경로"); double videoDuration = Math.Floor(videoInfo.Duration.TotalSeconds); 위의 코드에서 Math.floor를 이용해서 동영상 길이를 버림하는 이유는 가끔 소수점..
[C# 공부] Thread(쓰레드) - 비동기 호출, Delegate - 짱우의 코딩일기 - 티스토리 책을 보면서 독학을 하다가 나중에 까먹거나 헷갈릴거 같은 개념들을 적어둘 목적으로 글을 써보았다. 스레딩 System.Threading.EventWaitHandle EventWaitHandle은 Monitor 타입처럼 스레드 동기화 수단의 하나다. 스레드로 하여금 이벤트를 기다리게 만들 수 있고, 다른 스레드에서는 원하는 이벤트를 발생시키는 시나리오에 적합하다. 이때 이벤트 객체는 딱 두 가지 상태만 갖는데, 바로 Signal과 Non-Signal로 나뉘고 서로 간의 상태 변화는 Set, Reset 메서드로 전환할 수 있다. Set : Non-Signal → Signal / Reset : Signal → Non-Signal 이와 함께 이벤트 객체는 WaitOne 메서드를 제공한다. 어떤 스레드가 Wait..
[C# WinForm] 실시간 편의점 물품 가격변동에 따른 그래프 그리기 (Client)_(2) - 짱우의 코딩일기 - 티스토리 우선 이 글은 제목 그대로 타이머를 이용해 실시간으로 DB에 있는 데이터를 가져와 그래프를 그리는 것에 대한 글이다. 하지만 간단한 예제를 이용한게 아니라 개인 프로젝트를 진행했던 코드를 바탕으로 사용했기 때문에 밑의 링크에서 어떤 프로젝트인지 확인하고 글을 읽는 것을 추천한다. 2020/01/09 - [개인 프로젝트] C# WinForm을 이용한 실시간 편의점 물품 가격변동에 따른 그래프 그리기 - 짱우의 코딩일기 - 티스토리 [개인 프로젝트] C# WinForm을 이용한 실시간 편의점 물품 가격변동에 따른 그래프 그리기 - 짱우의 코딩일기 - 티스토리 물론 지금도 인턴이지만 회사에서 인턴기간동안 만든 과제중 하나에 대한 글을 써보려 한다. 우선 제목대로 프로젝트에서 사용한 데이터는 실제 편의점 물품의..
[C# WinForm] 실시간 편의점 물품 가격변동에 따른 그래프 그리기 (Client)_(1) - 짱우의 코딩일기 - 티스토리 우선 이 글은 제목 그대로 타이머를 이용해 실시간으로 DB에 있는 데이터를 가져와 그래프를 그리는 것에 대한 글이다. 하지만 간단한 예제를 이용한게 아니라 개인 프로젝트를 진행했던 코드를 바탕으로 사용했기 때문에 밑의 링크에서 어떤 프로젝트인지 확인하고 글을 읽는 것을 추천한다. 2020/01/09 - [개인 프로젝트] C# WinForm을 이용한 실시간 편의점 물품 가격변동에 따른 그래프 그리기 - 짱우의 코딩일기 - 티스토리 [개인 프로젝트] C# WinForm을 이용한 실시간 편의점 물품 가격변동에 따른 그래프 그리기 - 짱우의 코딩일기 - 티스토리 물론 지금도 인턴이지만 회사에서 인턴기간동안 만든 과제중 하나에 대한 글을 써보려 한다. 우선 제목대로 프로젝트에서 사용한 데이터는 실제 편의점 물품의..
[C# WinForm] 타이머를 이용해 실시간으로 DB에 데이터 넣기 (SERVER) - 짱우의 코딩일기 - 티스토리 우선 이 글은 제목 그대로 타이머를 이용해 실시간으로 DB에 데이터 넣기에 대한 글이다. 하지만 간단한 예제를 이용해서 타이머를 사용하는게 아니라 개인 프로젝트를 진행했던 코드를 바탕으로 사용했기 때문에 밑의 링크에서 어떤 프로젝트인지 확인하고 글을 읽는 것을 추천한다. 2020/01/09 - [개인 프로젝트] C# WinForm을 이용한 실시간 편의점 물품 가격변동에 따른 그래프 그리기 - 짱우의 코딩일기 - 티스토리 [개인 프로젝트] C# WinForm을 이용한 실시간 편의점 물품 가격변동에 따른 그래프 그리기 - 짱우의 코딩일기 - 티스토리 물론 지금도 인턴이지만 회사에서 인턴기간동안 만든 과제중 하나에 대한 글을 써보려 한다. 우선 제목대로 프로젝트에서 사용한 데이터는 실제 편의점 물품의 가격 변..
[개인 프로젝트] C# WinForm을 이용한 실시간 편의점 물품 가격변동에 따른 그래프 그리기 - 짱우의 코딩일기 - 티스토리 물론 지금도 인턴이지만 회사에서 인턴기간동안 만든 과제중 하나에 대한 글을 써보려 한다. 우선 제목대로 프로젝트에서 사용한 데이터는 실제 편의점 물품의 가격 변동 데이터를 사용하지는 않았다. 서버에서 임의의 가격변동값을 5초에 한 번씩 DB에 업데이트 시키는데 업데이트 된 값을 클라이언트에서 가져와 5초에 한 번씩 그래프와 표를 그려주는 프로젝트다. 현재 포스팅된 글은 프로젝트 소개 글이기 때문에 자세한 기능이나 코드부분은 추후에 작성한 글의 링크를 걸어둘 예정이다. 1. SERVER SERVER FORM이 처음 켜지게 되면 편의점 물품가격은 모두 1000원으로 동일하게 DB에 전송이 된다. 글을 읽다보면 나오겠지만 물품은 크게 '맥주, 과자, 라면' 이렇게 나뉘고 각각 항목당 물품이 3개씩 존재한다. ..