분류 전체보기

My World/C#으로 만든 귀요미들

[C#] 단순 반복 Serial 통신 프로그램 SeeReal

일하다가 우연히 "단순 반복만 해주는 Serial 통신 프로그램 없을까?" 라는 생각으로 만든 프로그램입니다. 사용 방법 사용 방법은 매우 간단합니다. 프로그램에서 [ + ] 를 누르면 시리얼 통신 객체를 하나 생성하게 됩니다. 생성된 시리얼 객체를 누르면 통신관련 설정을 할 수 있습니다. 로그도 따로 저장할 수 있어서 이 프로그램에서 단순 반복하여 통신을 해서 로그를 남기어 다른 프로그램에서 해당 로그 파일을 참조만 하여 데이터를 읽을 수 있습니다. 설정에서 매크로 탭으로 가게 되면 반복할 매크로(명령)를 추가할 수 있습니다. 매크로 탭에서 정의한 명령들은 설정에서 반복 딜레이에 맞추어 수행하게 됩니다. 현재 시리얼 통신 최대 5개까지 물려서 통신 테스트를 해보았으나 버그가 있을 수 있습니다. (알파 ..

Study/C언어

처음하시는 분들을 위한 C언어 기초강의 시즌2 - 44 [정렬 알고리즘(셀 정렬, Shell sort)]

제 44강) 정렬 알고리즘 - 셀 정렬 오늘은 정렬 알고리즘의 마지막 시간으로 "셀 정렬(Shell sort)"에 대해서 알아봅니다. 셀 정렬은 삽입 알고리즘을 보완한 알고리즘입니다. 셀 정렬이란 (사진 출처 : 위키백과 - 셸 정렬) 셀 정렬은 "Donald Shell(도널드 셀)"이 고안해낸 알고리즘으로 삽입 정렬을 보완한 알고리즘입니다. 먼저 데이터를 여러 분류로 나누어 삽입정렬을 진행합니다. 요런식으로 일정 구간을 정하여 각각의 분류(그룹)를 만들어서 해당 분류 내에서 정렬을 시킵니다. 위에서 3개의 분류로 나뉜 값들을 각각 분류를 기준으로 정렬을 시켰습니다. 이렇게 정렬된 배열을 더 낮은 개수의 분류로 나눕니다. 이제 한 번 더 분류를 기준으로 정렬을 시킵니다. 이 정도까지 하면 대략 가장 큰 ..

Study/C언어

처음하시는 분들을 위한 C언어 기초강의 시즌2 - 43 [정렬 알고리즘(힙정렬3 - 힙정렬)]

제 43강) 정렬 알고리즘 - 힙 정렬3 오늘은 정렬 알고리즘의 여섯 번째 시간으로 "힙 정렬"에 대해서 알아봅니다. 드디어 이전에 배운 것들을 가지고 힙 정렬을 시도합니다. 힙(Heap) 정렬이란 힙은 크게 "Max heap"과 "Min heap"으로 나뉩니다. "Max heap"(왼쪽)의 경우에는 가장 큰 요소가 맨 위에 올라와 있고, "Min heap"(오른쪽)의 경우에는 가장 작은 요소가 맨 위에 올라와 있습니다. 이렇게 1차적으로 정렬된 힙에서 맨 위의 요소(부모)를 하나씩 제거합니다. 그리고 맨 마지막 요소를 맨 위로 올립니다. 제거한 요소는 새로운 배열에 하나씩 차곡차곡 쌓습니다. 이렇게 바뀐 힙을 다시 재정렬 합니다. 이렇게 재정렬 되어진 힙에서 다시 맨위의 요소를 제거하여 이 과정을 계속..

Study/C언어

처음하시는 분들을 위한 C언어 기초강의 시즌2 - 42 [정렬 알고리즘(힙정렬2 - 힙,Heap)]

제 42강) 정렬 알고리즘 - 힙 정렬2 오늘은 정렬 알고리즘의 세번째 시간으로 "삽입 정렬"에 대해서 알아봅니다. 기본적으로 삽입 정렬은 배열에서 사용합니다. 오늘은 힙(Heap)에 대해서 알아볼겁니다. 힙(Heap) 이란 힙은 지난 시간에 배운 "이진트리(binary tree)" 중에서도 "완전 이진트리(complete binary tree)"를 기반으로 한 자료구조입니다. 자료 구조 - 위키백과, 우리 모두의 백과사전 위키백과, 우리 모두의 백과사전. 자료구조(資料構造, 영어: data structure)는 컴퓨터 과학에서 효율적인 접근 및 수정을 가능케 하는 자료의 조직, 관리, 저장을 의미한다.[1][2][3] 더 정확히 말해, �� ko.wikipedia.org 힙은 다음과 같은 조건을 만족합..

Study/C언어

처음하시는 분들을 위한 C언어 기초강의 시즌2 - 41 [정렬 알고리즘(힙정렬1 - 이진트리)]

제 41강) 정렬 알고리즘 - 힙 정렬1 오늘은 정렬 알고리즘의 세번째 시간으로 "삽입 정렬"에 대해서 알아봅니다. 기본적으로 삽입 정렬은 배열에서 사용합니다.오늘은 정렬 알고리즘의 여섯 번째 시간으로 "힙 정렬"에 대해서 알아봅니다. 힙정렬에 대해서 알기 전에 우리는 "이진 트리"를 먼저 선행학습해야합니다. 그럼 "힙 정렬"의 첫 시간으로 이진 트리부터 알아봅시다. 트리란? 이진트리를 알아보기 전에 트리(Tree)부터 알아봅시다. 트리란 위와 같이 트리형태(나무모양)의 그래프의 일종으로 각각의 요소를 노드라고 칭하고, 여려개의 노드가 한 노드를 가리킬 수 없는 구조로 되어있습니다. 최상단에 있는 노드를 루트 노드(Root Node)라고 합니다. 맨 아래의, 더 이상의 연결된 요소가 없는 노드를 단말 노..

Study/C언어

처음하시는 분들을 위한 C언어 기초강의 시즌2 - 40 [정렬 알고리즘(퀵 정렬)]

제 40강) 정렬 알고리즘 - 퀵 정렬 오늘은 정렬 알고리즘의 다섯번째 시간으로 "퀵 정렬"에 대해서 알아봅니다. 기본적으로 퀵 정렬은 배열에서 사용합니다. (Quick Sort라고 불립니다.) 퀵 정렬이란 (사진 출처 : 위키 백과 - 퀵정렬) 퀵 정렬은 말 그대로 퀵(Quick), 빠른 정렬입니다. 퀵 정렬은 "분할 정복(Divide and conquer)" 라는 것에 기반한 알고리즘인데요. 말이 어렵지 사실상 합병 정렬의 기본원리를 따릅니다. 퀵 정렬은 "피벗" 이라는 임의의 기준값을 잡게 됩니다. (이 기준값에 따라서 성능이 좌우됩니다.) 이 임의의 값을 기준으로 큰 값은 피벗의 오른쪽으로, 작은 값은 왼쪽으로 정렬하게 됩니다. 여기서 이동된 값을 다시 오름차순 또는 내림차순으로 정렬하기 위해서 ..

Study/C언어

처음하시는 분들을 위한 C언어 기초강의 시즌2 - 39 [정렬 알고리즘(합병 정렬)]

제 39강) 정렬 알고리즘 - 합병 정렬 오늘은 정렬 알고리즘의 네번째 시간으로 "합병 정렬"에 대해서 알아봅니다. 기본적으로 합병 정렬은 배열에서 사용합니다. (Merge Sort라고 불립니다.) (합병 정렬 혹은 병합 정렬이라고 불립니다.) 합병 정렬이란 (사진 출처 : 위키 백과 - 합병 정렬) 합병 정렬은 배열을 계속 쪼개어 최소 단위인 2개일때 선행적으로 정렬을 한 뒤에 다시 합병하여 정렬, 합병하여 정렬을 반복하는 정렬방식입니다. 일단 배열을 원소의 크기가 최대 2개가 될 때까지 쪼갭니다. 이 쪼개지는 과정을 크게 "왼쪽 부분"과 "오른쪽 부분"으로 구분할 수 있습니다. 이렇게 9와 11은 왼쪽으로 2번 나뉘어진 부분이 되고 8은 왼쪽으로 한 번, 오른쪽으로 한 번 나뉘어진 부분이 되며, 2와..

My World/C#으로 만든 귀요미들

[C#] MFC Project의 Project명을 바꾸어주는 MFC Project Changer

회사에서 사용하려고 만든 MFC Project Changer 라는 프로그램입니다. MFC 프로젝트의 명을 쉽게 바꿀 수 있는 프로그램입니다. 원리는 아주 간단합니다. 해당 프로젝트 경로를 휘저으면서 해당 프로젝트 명으로 되어있는 파일 및 파일의 내용을 전부 바꾸어 버립니다. 단점은 변수의 이름이나 함수의 이름도 바꾸기 때문에 주의가 필요합니다. 근데 MFC 프로젝트 변경프로그램인데 MFC가 아닌 C#으로 만든건 함정 thielj.github.io/MetroFramework/ Metroframework Add a fresh look to your .NET WinForms application with controls using the Modern 'Metro' UI theme of Windows 8. Th..

My World/C#으로 만든 귀요미들

[C#] SevenZipSharp를 이용한 압축프로그램 VersionZipper

github.com/squid-box/SevenZipSharp squid-box/SevenZipSharp Fork of SevenZipSharp on CodePlex. Contribute to squid-box/SevenZipSharp development by creating an account on GitHub. github.com 위의 프로그램은 SevenZipSharp라는 C#에서 7Zip을 간편하게 사용할 수 있도록 해주는 라이브러리를 사용하였습니다. thielj.github.io/MetroFramework/ Metroframework Add a fresh look to your .NET WinForms application with controls using the Modern 'Metro' ..

My World/C#으로 만든 귀요미들

[C#] 파일 이름 변경 프로그램 File Renamer Ver 1.0

https://github.com/Eskeptor/FileRenamer Eskeptor/FileRenamer c#,File,Rename. Contribute to Eskeptor/FileRenamer development by creating an account on GitHub. github.com 회사에서 쓰려고 만든 파일 이름 일괄변경 프로그램입니다. 위의 링크를 타고 가시면 소스 및 프로그램을 받으실 수 있습니다.

Eskeptor
'분류 전체보기' 카테고리의 글 목록 (6 Page)