본문 바로가기

전체 글 59

[C#] 엑셀 파일로부터 데이터 불러오기

C#에서 엑셀 파일을 불러오기 위해서는 Microsoft Excecl Object Library를 참조로 추가해야 합니다. Microsoft Excecl Object Library 참조 추가 방법은 [C#] 데이터를 엑셀 파일로 저장하기 를 참조하시면 됩니다. 엑셀 파일로부터 불러오기 위한 샘플 데이터로 다음과 같은 데이터를 사용하겠습니다. 엑셀 파일을 불러오는 코드는 다음과 같습니다. using System; using System.IO; using System.Runtime.InteropServices; using Excel = Microsoft.Office.Interop.Excel; namespace ImportExcel { class Program { static Excel.Application ..

C#
·
2020. 2. 14.
·

[C#] 접근 한정자(Access Modifier)

접근 한정자(Access Modifier) 접근 한정자는 클래스, 구조체, 필드, 메소드 델리게이트 등에 대해서 노출 수준을 설정하는 것입니다. 일반적으로 외부로부터 노출할 필요가 없는 경우에는 private 접근 한정자를, 외부로부터 노출할 필요가 있는 경우에는 public 접근 한정자를 사용합니다. 클래스 내부에서 접근 한정자를 설정하지 않은 필드, 메소드 등은 private 접근 한정자로 설정됩니다. 객체 지향 프로그래밍의 특성 중 캡슐화(Encapsulation)라는 특성 때문에 접근 한정자를 설정하는 것은 매우 중요합니다. 필요한 부분만 공개하고 불필요한 부분은 숨김으로써 소프트웨어 간의 결합도를 낮추고 응집도를 높일 수 있습니다. 결합도를 낮추고 응집도를 높이는 소프트웨어 설계를 하려면 변경되..

C#
·
2020. 2. 13.
·

[C#] 사용자 정의 컨트롤(UserControl) 사용법

윈폼(WinForm)에서는 기존에 제공하는 컨트롤(Control)을 조합해서 새로운 사용자 정의 컨트롤을 만들 수 있습니다. 사용자 정의 컨트롤을 만들게 되면 다른 프로젝트에서 재사용 할 수 있기 때문에 생산성을 높일 수 있습니다. 사용자 정의 컨트롤의 이해를 돕기 위해 날짜 확인 버튼 클릭 시 오늘 날짜가 메시지 박스로 출력되고, 시간 확인 버튼 클릭 시 현재 시간이 메시지 박스로 출력되는 예제를 만들어 보겠습니다. 사용자 정의 컨트롤 생성 Visual Studio에서 새 프로젝트 -> Windows Forms 컨트롤 라이브러리를 선택 후 프로젝트 이름을 UserDateTime으로 입력하고 프로젝트를 생성합니다. 프로젝트 생성 후 다음과 같이 컨트롤을 위치시키고 컨트롤의 속성 값을 설정합니다. Tabl..

C#
·
2020. 2. 4.
·

[Git] 깃(Git) 패치(Fetch)

패치(Fetch) 패치(Fetch)는 원격 저장소에 있는 프로젝트를 로컬 저장소에 가져오는 것입니다. 풀(Pull)과는 다르게 로컬 저장소에 있는 프로젝트를 병합하지 않고 가져오기만 합니다. 원격 저장소에 있는 변경사항을 확인해 볼 경우 패치를 사용합니다. 패치(Fetch) 명령어 원격 저장소가 추가 되지 않았다면 git remote add 명령어로 원격 저장소를 추가해 줍니다. 패치 $ git fetch : 추가된 원격 저장소 이름 특정 브랜치 패치 $ git fetch : 추가된 원격 저장소 이름 : 브랜치 이름 모두 패치 $ git fetch -all

Git
·
2020. 1. 31.
·

[Git] 깃(Git) 풀(Pull)

풀(Pull) 풀(Pull)은 원격 저장소에 있는 프로젝트를 로컬 저장소에 가져오고(Fetch) 병합(Merge)하는 것입니다. 풀은 단순히 원격 저장소에 있는 프로젝트를 가져 오는 것 뿐만 아니라, 원격 저장소와 로컬 저장소의 변경사항이 다를 경우 병합합니다. 협업에서 팀원이 원격 저장소에 푸시한 변경사항을 가져와야 할 경우에는 풀을 사용해야 합니다. 병합 시 충돌이 일어날 경우에는 충돌을 직접 해결한 후 풀을 해야 합니다. 풀(Pull) 명령어 원격 저장소가 추가 되지 않았다면 git remote add 명령어로 원격 저장소를 추가해 줍니다. $ git pull : 추가된 원격 저장소 이름 : 브랜치 이름

Git
·
2020. 1. 29.
·

[C#] WinForm 스레드(Thread)에서 컨트롤(Control) 호출

스레드에서 직접 컨트롤을 접근하게 되면 크로스 스레드 에러가 발생합니다. 스레드에서 컨트롤을 접근하는 것은 컨트롤을 일관되지 않은 상태로 만들 수 있고, 심각한 오류나 프로그램 중단을 초래할 수 있습니다. 따라서 스레드에서 직접 컨트롤을 접근하는 것은 안전하지 않은 호출 방법입니다. 다음은 크로스 스레드 에러를 발생시키는 예제 코드입니다. private void Button1_Click(object sender, EventArgs e) { thread = new Thread(SetName); thread.Start(); } private void SetName() { txtName.Text = "SSABI"; // 크로스 스레드 에러 발생! } 크로스 스레드 에러를 해결하게 위해서는 System.Wind..

C#
·
2020. 1. 23.
·

[C#] this

this this 키워드는 객체 내부에서 필드나 메소드에 접근할 때 사용하는 키워드입니다. 메소드의 인자와 필드의 이름이 같을 경우 this 키워드를 통해 객체 내부의 필드를 접근할 수 있습니다. 다음은 this 키워드의 예제 코드입니다. class Phone { private string number; private string name; public Phone(string number, string name) { this.number = number; this.name = name; } } this() 생성자 this() 생성자는 자기 자신의 생성자를 호출할 때 사용합니다. 생성자 이름을 사용해서 생성자를 사용할 수 있지만 이름을 간략하게 하기 위해 this() 생성자를 사용할 수 있습니다. 다음은 ..

C#
·
2020. 1. 22.
·

[Git] 깃(Git) 푸시(Push)

푸시(Push) 푸시(Push)는 커밋(Commit)을 원격 저장소에 업데이트 하는 것입니다. 푸시를 하게 되면 로컬 저장소에서 커밋한 사항들이 원격 저장소에 반영이 됩니다. 푸시(Push) 명령어 원격 저장소가 추가 되지 않았다면 git remote add 명령어로 원격 저장소를 추가해 줍니다. $ git push : 추가된 원격 저장소 이름 : 브랜치 이름 $ git push -u -u : 입력인자들을 기억하는 옵션, 한번 지정하면 원격저장소 이름, 브랜치명 생략 가능 $ git push -f -f : 원격 저장소에 강제 푸시

Git
·
2020. 1. 3.
·

[Git] 깃(Git) 커밋(Commit)

커밋(Commit) 커밋(Commit)은 변경사항을 기록하는 것입니다. 커밋을 하게 되면 커밋이 시간순으로 계속해서 쌓이게 됩니다. 변경사항들을 커밋하려면 먼저 커밋할 파일을 인덱스에 추가해야 합니다. 커밋은 인덱스에 추가된 파일만 커밋하게 됩니다. 커밋 내용은 의미있게 작성해야 합니다. 작업 트리(Work Tree) : 작업 트리는 폴더를 의미합니다. 깃은 작업 트리 안에 있는 모든 파일의 변경사항을 추적합니다. 인덱스(Index) : 인덱스는 커밋하기 전 커밋할 파일을 등록하는 공간입니다. 저장소에 커밋하기 위해서는 커밋하고자 하는 파일을 인덱스에 추가해야 합니다. 인덱스에 파일을 추가하는 것을 스테이징(Staging) 한다 라고 하고, 파일을 제거하는 것을 언스테이징(Unstaging) 한다 라고 ..

Git
·
2019. 12. 10.
·

[Git] 깃허브(Github) 사용법

깃허브를 사용하는 방법에 대해서 간단히 설명하겠습니다. 여기서는 CLI(Command Line Interface)방식으로 깃을 사용합니다. 회원가입 깃허브를 사용하기 위해서는 회원가입을 해야합니다. 깃허브 사이트에서 Sign up for Github를 클릭해서 회원가입을 합니다. 회원가입 후 깃 배쉬(Git bash)에서 가입된 계정으로 깃의 사용자 이메일, 이름을 설정합니다. $ git config –-global user.email “email” $ git config –-global user.name “username” 저장소 생성 회원가입한 계정으로 깃허브에 로그인 한 후 우측 상단의 New repository를 클릭합니다. 저장소 이름(Repository name)을 입력하고 설명(Descrip..

Git
·
2019. 12. 9.
·
반응형