본문 바로가기

전체 글 59

[C#] DLL 파일 생성

DLL은 동적 링크 라이브러리(Dynamic Link Library)의 약자로 표준화된 함수나 데이터를 모아놓은 것을 의미합니다. DLL 파일을 만들기 위한 방법은 다음과 같습니다. DLL 파일 생성 1. Visual Studio에서 클래스 라이브러리(.NET Framework)로 프로젝트를 생성합니다. 2. 프로젝트를 생성한 후 라이브러리로 만들고자 하는 코드를 작성합니다. 3. 코드 작성 후 빌드 -> 솔루션 빌드(Ctrl + Shift + B)를 클릭합니다. 4. 솔루션 빌드 후 프로젝트 폴더의 bin\Debug로 이동하면 DLL 파일이 생성된 것을 확인할 수 있습니다. DLL 파일 참조 만들어진 DLL 파일을 사용하기 위해서는 DLL 파일을 참조해야 합니다. 새로운 프로젝트를 하나 만들겠습니다. ..

C#
·
2020. 4. 21.
·

[C#] CSV 파일 읽기

CSV는 comma-separated valued의 약자로 쉼표(,)로 분리된 텍스트 파일을 의미합니다. CSV 파일을 읽기 위해서는 CSV 파일이 필요합니다. 메모장 등으로도 CSV 파일을 만들 수 있지만 저는 엑셀로 만들어 보겠습니다. 엑셀을 실행해서 데이터를 입력합니다. A1에 #을 붙이는 이유는 키(Key)라는 것을 알려주기 위함입니다. 입력한 데이터를 파일형식을 CSV UTF-8로 선택해서 저장합니다. UTF-8은 거의 모든 언어를 표현할 수 있기 때문에 UTF-8로 저장하는 것을 권장합니다. CSV 파일을 읽기 위한 코드를 작성합니다. 코드는 다음과 같습니다. using System; using System.IO; using System.Text; namespace CSVReader { cla..

C#
·
2020. 4. 21.
·

[Git] 깃(Git) 병합(Merge)

병합(Merge) 병합은 브랜치를 하나로 합치는 것입니다. 현재 브랜치에 다른 브랜치를 병합할 수 있습니다. 공동 작업을 할 경우에는 브랜치를 하나로 합쳐야 하는 경우가 발생하는데 그때 병합을 하면 됩니다. 병합(Merge) 종류 Fast-forward 병합 Fast-forward는 ‘빨리감기’라는 뜻입니다. Fast-forward 병합은 현재 브랜치에서 대상 브랜치를 병합할 때 대상 브랜치의 커밋이 현재 브랜치보다 앞서 있는 경우 현재 브랜치의 HEAD 포인터를 대상 브랜치로 이동(빨리감기)하는 것입니다. 예를 들어 다음과 같은 브랜치가 있다고 가정하겠습니다. 새로운 브랜치 issue를 생성합니다. issue 브랜치에서 코드 변경 후 커밋을 합니다. master 브랜치로 돌아와서 issue 브랜치와 병..

Git
·
2020. 4. 20.
·

[Visual Studio] 디버깅시 Microsoft 기호 서버에서 기호 파일(Symbol File) 로드 해제 방법

Visual Studio에서 프로젝트 디버깅 시(F5) 다음과 같이 ‘Microsoft 기호 서버에서 로드하는 중’ 이라는 내용이 뜨면서 디버깅 시간이 오래 걸리는 경우가 있습니다. 이는 프로그램에 대한 디버깅 정보를 저장하는 기호 파일(Symbol File)이 로드되지 않았기 때문에 Microsoft 서버에서 기호 파일을 로드 하는 과정에서 시간이 오래 걸리게 됩니다. Microsoft 서버에서 기호 파일을 로드 하지 않으려면 다음과 같이 해주면 됩니다. 1. Visual Studio에서 디버그 -> 옵션을 클릭합니다. 2. 옵션창에서 디버깅 -> 기호에서 기호 파일(.pdb) 위치에서 Microsoft 기호 서버를 체크 해제한 후 확인을 클릭합니다.

C#
·
2020. 3. 26.
·

워드(Word) 한글 자동 변환 해제

워드를 사용하다 보면 영어로 입력했는데 한글로 자동 변환되는 경우가 있습니다. 저 같은 경우는 ‘cm’(센치미터)를 입력했는데 계속 츠로 변환된 적이 있습니다. 한글 자동 변환을 해제하는 방법을 알려드리겠습니다. 파일 -> 옵션을 클릭합니다. 언어교정 -> 자동 고침 옵션을 클릭합니다. 자동 고침 탭에서 한/영 자동 고침을 체크해제 한 후 확인을 클릭합니다.

·
2020. 3. 25.
·

[C#] 오버로딩(Overloading), 오버라이딩(Overriding)

오버로딩(Overloading) 오버로딩의 사전적 의미는 과적하다 입니다. 오버로딩은 하나의 메소드에 여러 가지로 구현하는 것을 말합니다. 오버로딩을 하게 되면 하나의 메소드에 여러 개의 구현을 과적할 수 있습니다. 오버로딩은 같은 메소드 이름으로 매개 변수의 개수 또는 타입을 다르게 정의할 수 있습니다. 동일한 역할을 하는 메소드의 경우 이름을 다르게 할 필요 없이 매개 변수의 개수 또는 타입만 다르게 정의하면 됩니다. 오버로딩을 활용 하면 메소드 이름을 새로 지을 필요가 없을 뿐만 아니라 코드를 일관성 있게 유지해 줍니다. 컴파일러는 매개 변수의 개수와 타입을 분석해서 어떤 메소드를 실행할지 찾습니다. 다음은 오버로딩의 예제 코드입니다. namespace Overloading { class MainA..

C#
·
2020. 3. 24.
·

[Git] 깃허브(Github) 프라이빗 저장소(Private Repository) 로컬 저장소에 클론(Clone)하는 방법

깃에서 만든 프라이빗 저장소를 클론하려고 하면 다음과 같은 에러가 발생합니다. 프라이빗 저장소는 권한이 있는 사람만 접근이 가능하므로 SSH 키(Key)를 발급받은 후 원격저장소인 깃허브에 공개키(Public Key)를 등록하면 정상적으로 프라이빗 저장소를 클론 할 수 있습니다. 또한 SSH 키를 등록하면 비밀번호를 입력하지 않아도 자동으로 로그인 할 수 있습니다. 자신의 깃허브 계정에 공개키를 등록하는 방법은 다음과 같습니다. SSH 키 생성 ssh-keygen 입력 후 엔터 엔터 3번을 치면 SSH 키 생성 Your identification has been saved in /c/Users/SSABI/.ssh/id_rsa.: 자신의 홈 디렉토리에 id_rsa 비밀키(private key) 생성 You..

Git
·
2020. 3. 24.
·

[Unity] 콜라이더(Collider)

콜라이더(Collider) 콜라이더는 충돌 감지를 위한 컴포넌트 입니다. 콜라이더는 3D 오브젝트를 위한 Box Collider, Capsule Collider, Shpere Collider 등이 있고, 2D 오브젝트를 위한 Box Collider 2D, Polygon Collider 2D, Circle Collider 2D 등이 있습니다. 여기서는 3D 오브젝트를 위한 콜라이더에 대해서만 설명하겠습니다. 콜라이더(Collider) 종류 박스 콜라이더(Box Collider) 박스 콜라이더는 사각형 모양의 콜라이더 이며, 유니티에서 가장 많이 사용하는 콜라이더 입니다. Edit Collider를 클릭하면 콜라이더의 모양을 마우스로 편집할 수 있습니다. 다음 표는 박스 콜라이더의 속성을 정리한 것입니다. ..

·
2020. 3. 5.
·

[Git] 깃(Git) 브랜치(Branch)

브랜치(Branch) 브랜치(Branch)는 ‘가지’ 또는 ‘분기’ 라는 뜻으로 독립적인 작업 영역입니다. 브랜치를 생성하면 현재 브랜치를 복사해서 새로운 브랜치를 만들게 됩니다. 협업에 있어서 브랜치는 굉장히 중요한 역할을 합니다. 여러 명의 개발자가 서로 다른 작업을 할 경우 여러 개의 브랜치를 만들어 놓고 각자 독립된 공간에서 서로 영향을 받지 않고 작업을 수행할 수 있습니다. 또한 작업이 완료되면 서로의 브랜치를 병합할 수도 있습니다. 브랜치(Branch) 명령어 브랜치 목록 확인 $ git branch 브랜치 생성 $ git branch : 생성할 브랜치 이름 브랜치 전환 $ git checkout : 전환할 브랜치 이름 브랜치 삭제 $ git branch -d

Git
·
2020. 2. 29.
·

[Unity] UI 마우스 클릭 이벤트 감지

UI 에서 마우스 클릭 이벤트를 감지하려면 IPointerClickHandler 인터페이스를 구현해야 합니다. IPointerClickHandler 인터페이스는 OnPointerClick(PointerEventData pointerEventData) 메소드를 포함하고 있습니다. PointerEventData는 마우스 클릭 시 클릭 버튼, 클릭 횟수, 포인터 위치 등에 대한 정보를 포함하고 있습니다. MouseClick 스크립트를 생성 한 후 다음과 같은 코드를 작성합니다. using UnityEngine; using UnityEngine.EventSystems; public class MouseClick : MonoBehaviour, IPointerClickHandler { public void OnPo..

·
2020. 2. 19.
·
반응형