반응형
반응형
막연하게 간단한 기능을 하는 프로그램을 제작할 때까지는 몰랐다.그러나 대량의 파일을, 대량의 데이터를 다루고 처리해야하는 상황에서하루가 지나도록, 아니 시간이 지나면 지날수록 작업 속도가 현저히 느려지는 현상이 발생하였다.분명 테스트할 때는 이상 없었는데...확인해보니 프로그램을 처음 실행했을 때의 메모리는 21메가를 차지하였지만,하루가 지난 상태에서 메모리 사용률은 7기가에 임박했다."무엇이 문제일까?" 파일 디렉토리를 탐색하는 방법을 좀 더 효율적으로!C#에서는 Directory 클래스를 통해 폴더를 다룰 수 있는데 Directory.GetFiles 메서드를 이용하여 폴더 내 파일 목록을 가져오도록 구현했다.하지만 이는 잘못된 선택이였다. Directory.GetFiles 메서드는 분명 사용하기 쉽지..
반년만에 쓰는 씨샵 관련 글인 것 같다.사실 해당 관련 내용은 이미 1년 전부터 글을 쓸까 말까 하다가너무 귀찮아서 미루고 미루다가 이제서야 글을 쓴다. 씨샵 언어를 이용하여 파일을 열어서 읽고,지정한 파일에 내가 작성한 내용을 쓰기(저장)를 하려면 어떻게 해야할까? 오늘은 씨샵에서 파일을 읽고 쓰는 방법에 대해 다뤄보자. 씨샵에서 파일을 읽고 쓰려면?파일을 읽고 쓰려면 StreamReader와 StreamWriter가 필요하다.StreamReader는 말 그대로 스트림 데이터를 읽을 수 있도록 해주는 클래스이고,StreamWriter는 스트림 데이터를 쓸 수 있도록 해주는 클래스이다. 이는 즉, 파일을 쉽게 읽고 저장해주는 역할을 한다. 스트림 리더로 텍스트 파일 읽기 (파일 열기)먼저, StreamR..
개요 C# Winform 으로 제작한 윈도우 프로그램의 기본 제목 표시줄을 제거하고, 사용자가 제목 표시줄(타이틀바)를 직접 커스터마이징해서 사용할 수 있도록 해보자. 포스팅에서는 제목 표시줄을 만들고 창 이동, 최소화, 최대화, 닫기 기능을 재현하였다. (최대화 여부를 보여주려고 해상도를 일부러 낮췄다. 옛날엔 이 낮은 해상도에서 어떻게 작업을 했었는지 의문) 포스팅에서 설명하는 내용은 깃허브에서 확인할 수 있다. https://github.com/luvris2/CSharp-Winforms-Example 하위 경로 : C#_Winform_Custom_Title_Bar_Example GitHub - luvris2/CSharp-Winforms-Example Contribute to luvris2/CShar..
개요 프로그램을 종료하지 않고 백그라운드로 실행되게 하고, 시스템 트레이를 활용하여 프로그램과 상호작용할 수 있도록 기능을 정의해보자. 포스팅에서 사용된 프로젝트는 깃허브에서 확인할 수 있다. https://github.com/luvris2/CSharp-Winforms-Example 하위 경로 :C#_Winform_Tray_Example GitHub - luvris2/CSharp-Winforms-Example Contribute to luvris2/CSharp-Winforms-Example development by creating an account on GitHub. github.com 시스템 트레이 (System Tray) 시스템 트레이란? (System Tray) 컴퓨터 운영 체제에서 사용자에게 ..
개요 내가 C#으로 만든 윈도우 프로그램(Winform)이 컴퓨터를 켰을 때 자동으로 실행되게 하고 싶다. C# 프로그램을 윈도우 시작 시 실행하게 하려면, 레지스트리에 추가하여 실행 목록에 추가해야 한다. 이번 포스팅에서는... 레지스트리를 추가하여 윈도우 시작 시 실행 목록에 추가하는 방법 레지스트리를 삭제하여 시작 실행 목록에서 제거하는 방법 에 대해서 다룬다. 해당 내용을 다룬 프로젝트는 깃허브에서 다운로드 가능하다, 단, 깃허브에서는 시작 시 자동 실행 레지스트리 추가, 삭제를 액션으로 상호작용하여야 하기 때문에 On/Off 버튼을 추가하였다. https://github.com/luvris2/CSharp-Winforms-Example 하위 디렉토리 : C#_Winform_StartUp_With_..