반응형
반응형
막연하게 간단한 기능을 하는 프로그램을 제작할 때까지는 몰랐다.그러나 대량의 파일을, 대량의 데이터를 다루고 처리해야하는 상황에서하루가 지나도록, 아니 시간이 지나면 지날수록 작업 속도가 현저히 느려지는 현상이 발생하였다.분명 테스트할 때는 이상 없었는데...확인해보니 프로그램을 처음 실행했을 때의 메모리는 21메가를 차지하였지만,하루가 지난 상태에서 메모리 사용률은 7기가에 임박했다."무엇이 문제일까?" 파일 디렉토리를 탐색하는 방법을 좀 더 효율적으로!C#에서는 Directory 클래스를 통해 폴더를 다룰 수 있는데 Directory.GetFiles 메서드를 이용하여 폴더 내 파일 목록을 가져오도록 구현했다.하지만 이는 잘못된 선택이였다. Directory.GetFiles 메서드는 분명 사용하기 쉽지..
반년만에 쓰는 씨샵 관련 글인 것 같다.사실 해당 관련 내용은 이미 1년 전부터 글을 쓸까 말까 하다가너무 귀찮아서 미루고 미루다가 이제서야 글을 쓴다. 씨샵 언어를 이용하여 파일을 열어서 읽고,지정한 파일에 내가 작성한 내용을 쓰기(저장)를 하려면 어떻게 해야할까? 오늘은 씨샵에서 파일을 읽고 쓰는 방법에 대해 다뤄보자. 씨샵에서 파일을 읽고 쓰려면?파일을 읽고 쓰려면 StreamReader와 StreamWriter가 필요하다.StreamReader는 말 그대로 스트림 데이터를 읽을 수 있도록 해주는 클래스이고,StreamWriter는 스트림 데이터를 쓸 수 있도록 해주는 클래스이다. 이는 즉, 파일을 쉽게 읽고 저장해주는 역할을 한다. 스트림 리더로 텍스트 파일 읽기 (파일 열기)먼저, StreamR..
오류 발생파이썬에서 데이터를 파일로 처리하는 과정에서 다음과 같은 오류가 발생하였다.file read/write error :'cp949' codec can't decode byte 0x84 in position 10: illegal multibyte sequence 소스코드는 다음과 같다.try : with open(filepath, 'r') as f: read_data = f.read() return read_dataexcept Exception as e : return "file read/write error : " + str(e) 즉, 파일을 읽어오는 과정에서 오류가 발생했다는 것이다. 원인 파악오류가 무엇을 의미하는지는 이전에 MySQL때 같은 경험이 있어서 ..
간단히 알아보는 Data Class란?데이터 클래스는 코틀린 언어에서 제공하는 클래스 유형으로,주로 데이터를 보유하고 전달하는 것을 목적으로 만들어진 클래스이다.전반적으로 데이터 클래스는 데이터 모델 및 DTO를 만들고 관리하기 위해 사용된다. 코틀린에서 data class를 선언하여 기본 생성자를 초기화 할 때,기본 생성자 매개변수를 기반으로 하는 여러 유용한 메서드들을 컴파일러가 자동으로 생성한다.자동으로 생성되는 메서드를 이용하여 프로그래머는 보다 편하고 쉽게 코드를 구성할 수 있도록 도와준다. 자동으로 생성되는 메서드는 다음과 같다.equals() : 객체의 내용 비교hashCode() : 해시 기반 자료구조에서 사용toString() : 객체를 문자열로 표현copy() : 객체의 일부 속성만 변..
개요 C# Winform 으로 제작한 윈도우 프로그램의 기본 제목 표시줄을 제거하고, 사용자가 제목 표시줄(타이틀바)를 직접 커스터마이징해서 사용할 수 있도록 해보자. 포스팅에서는 제목 표시줄을 만들고 창 이동, 최소화, 최대화, 닫기 기능을 재현하였다. (최대화 여부를 보여주려고 해상도를 일부러 낮췄다. 옛날엔 이 낮은 해상도에서 어떻게 작업을 했었는지 의문) 포스팅에서 설명하는 내용은 깃허브에서 확인할 수 있다. https://github.com/luvris2/CSharp-Winforms-Example 하위 경로 : C#_Winform_Custom_Title_Bar_Example GitHub - luvris2/CSharp-Winforms-Example Contribute to luvris2/CShar..