본문 바로가기

반응형

진리는어디에

(289)
[VBA] 클래스(class) 완벽 가이드 이 포스트는 Excel Macro Mastery 사이트의 'VBA Class Modules - The Ultimate Guide(by Paul Kelly)'의 내용을 다시 정리한 것입니다. 이번 포스트에서는 VBA의 클래스 모듈에 대해 다룹니다. 클래스 요약 용어 설명 클래스(Class) 사용자는 클래스를 기반으로 객체를 만들 수 있습니다 메소드(Method) 클래스 모듈의 공용 함수 또는 서브루틴 멤버 변수(Member Variable) 클래스 모듈에 선언된 변수 프로퍼티(Property) 변수 처럼 사용되는 특수 함수 또는 서브루틴 프로퍼티 타입(Property Type) Get, Set, Let 생성자(Event Initialize) 클래스 모듈 객체가 생성될 때 자동으로 실행되는 서브루틴 소멸자(..
[C++] CSV 포멧 메타 데이터 리더 들어가며 이번 포스트는 새로운 기술이나 개념에 대한 소개가 아니라 이전에 만들었던 [C++/C#] CSV 파일 읽기를 확장하여 csv의 데이터를 구조화된 데이터에 저장하는 아이디어에 대해 소개하고자 한다. 본 포스트는 C++에 대해 어느 정도 이해가 있음을 가정하고 프로그래밍 기본적인 내용들에 대해서는 다루지 않고 실제 서비스 과정 중에 도움이 되었던 아이디어들에 대해 집중하여 살펴 보도록 한다. 생각의 시작 게임을 만들다 보면 캐릭터 레벨 정보, 아이템 정보와 같은 수많은 메타 데이터를 메모리에 올려두고 수시로 검색해야한다. 이럴 때 DB또는 CVS엑셀과 같은 테이블로 부터 데이터를 읽어 클래스나 구조체 같은 레코드에 저장하고 키를 이용하여 검색하면 여러모로 편하다. 하지만 매번 새로운 메타 데이터가 ..
[VBA] 'Sub'와 'Function' 완벽 가이드 이 포스트는 Excel Macro Mastery 사이트의 'The Complete Guide to the VBA Sub(by Paul Kelly)'의 내용을 다시 정리한 것입니다. 이번 포스트에서는 엑셀 서브루틴(Sub)과 함수(Function)에 대해 다룹니다. Sub와 Function 요약 본 포스트는 VBA Sub와 Function 사용에 대한 완벽한 가이드를 제공합니다. 단지 Sub와 Function의 생성, 파라메터 전달, 리턴 값 등에 대한 간략하고 빠른 정보가 필요하다면 이번 요약 섹션만 보셔도 충분 합니다. 만일 Sub와 Function에 대해 보다 자세한 사항이 궁금하시다면 포스트를 처음 부터 끝까지 읽거나 오른쪽의 목차를 이용하실 수 있습니다. Sub Function 특징 리턴 없음 값..
[Rust] Cargo 이용해 빌드하기 들어가며 이전 포스트에서는 러스트 설치와 Visual Studio Code와 연동하는 방법에 대해 살펴 보았다. 이번 포스트에서는 모든 프로그래밍 언어의 전통적인 첫 단계인 'Hello World'를 출력하는 프로그램을 만들어 보도록 하겠다. [Rust] Rust 설치하기 [Rust] Visual Studio Code에서 Rust 연동 Cargo 우리는 본격적인 'Hello World' 프로젝트에 앞서 Cargo(카고)라는 러스트 패키지 매니저에 대해 살펴 볼 필요가 있다. 카고는 러스트의 빌드 시스템 및 패키지 매니저로써, 프로젝트를 빌드하고, 의존성을 가진 라이브러리를 다운로드 해주며, 라이브러리들을 빌드하는 등 여러가지 직접 관리하기 힘든 많은 일들을 대신 해준다. 물론 장인정신을 가진 분들은 수작..
[Rust] Visual Studio Code에서 Rust 연동 들어가며 프로그래밍을 하는데 어떠한 에디터 도구를 이용하든 아무런 상관은 없다. 단순한 텍스트 에디터를 이용해도 되고 편집 부터 실시간 문법 체크, 빌드에서 디버깅 까지 한꺼번에 해결할 수 있는 IDE(Integrated Developement Enviroment)를 이용해도 된다. 물론 생산성 뿐만 아니라 정신 건강과 윤택한 워라밸면에서 일반 텍스트 에디터 보다는 IDE가 월등히 유리하다. 이번 포스트에서는 이런 IDE 중 마이크로 소프트사의 Visual Studio Code(이하 VS Code)를 기반으로 '러스트'와 연동하는 방법에 대해 살펴 보도록 하겠다. 러스트 설치 VS Code를 러스트와 연동하기 위해선 가장 먼지 러스트가 설치 되어 있어야 한다. 이미 러스트를 설치했다면 다음 섹션으로 넘어..
[Rust] Rust 설치하기 설치하기 우리가 rust를 시작하기 전 가장 먼저해야 할 일은 rust를 설치하는 것이다. 본 포스트에서는 rustup이라고 하는 러스트 버전 및 관련 도구들을 관리하기 위한 커맨드 라인 툴을 이용하여 설치할 것이다. 외에도 직접 러스트 소스 코드로 부터 컴파일 하는 방법도 있으나 이 포스트에서는 다루지 않는다. 직접 러스트를 빌드하고 싶은 분은 [여기]를 참고 하도록 하자. 윈도우에서 rustup 설치하기 윈도우에서 rust를 설치하기 위해서는 러스트 공식 사이트의 install 페이지(https://www.rust-lang.org/tools/install)에서 자신의 시스템에 맞는 rustup-init.exe를 다운 받아 실행하면 된다. 위 사이트에서 rustup-init.exe 를 다운 받아 실행하..
[C#] 문자열(string) 완벽 가이드 System.String 클래스 C#에서는 문자열을 처리하기 위해 System.String 클래스를 제공한다. String 클래스는 문자열을 안전하게 작성, 조작 및 비교할 수 있도록 다양한 메서드들을 제공하며 문자열 관련 작업을 단순화하기 위해 연산자 오버로드도 제공한다. C# 프로그래밍 예제에 흔히 등장하는 소문자로 시작하는 string 클래스는 System.String 클래스의 별칭으로 System.String 클래스와 완전히 동일하다. 본 포스트에서는 System.String 대신 string 키워드를 사용할 것이며 이는 System.String으로 대체해도 무방하다. ※ 설명의 편의를 위해 본 포스트에서는 String 객체 자체를 지칭할 때는 '스트링'이란 용어를 사용하고, 문자의 배열 또는 텍..
[C#] MiniDump 남기기 들어가며 추리 영화에서 살인 피해자들이 항상 다잉 메시지를 남기듯 우리의 어플리케이션도 어떤 이유로 죽게 되었는지 알릴 수 있는 '코어 덤프'라는 것을 남길 수 있다. 하지만 코어 덤프를 남기기 위해서는 최소한의 작업을 개발자가 해줘야만 한다.이번 포스트에서는 윈도우 플랫폼에서 C#으로 작성된 프로그램에서 코어 덤프를 남길 수 있는 방법에 대해 살펴 보도록 하겠다. 참고로 리눅스에서 코어 덤프를 남기는 방법은 [여기]를 참고하면 된다. 처리 되지 않은 예외 본격적인 내용에 앞서 간단한 개념 정도는 알고 넘어 가도록하자. 굳이 몰라도 코어 덤프를 남기는 데는 문제 없는 내용이니 궁금하지 않다면 다음 섹션으로 바로 넘어가도 괜찮다(바쁘신 분들은 [여기]의 전체 코드를 복붙해서 사용해도 상관 없다). '예외(..
[VBA] Collection 완벽 가이드 이 포스트는 Excel Macro Mastery 사이트의 'The Ultimate Guide To Collections in Excel VBA(by Paul Kelly)'의 내용을 정리한 것입니다. 이번 포스트에서는 엑셀 VBA의 Collection 자료구조에 대해 다룹니다. Collection 사용법 요약 동작 예제 선언 Dim coll As Collection 런타임에 생성 Set coll = New Collection 선언과 생성 Dim coll As New Collection 아이템 추가 coll.Add "Apple" 아이템에 접근 coll(1) or coll(2) 첫 번째 아이템에 접근 coll(1) 마지막 아이템에 접근 coll(coll.Count) 아이템 갯수 coll.Count For를 이..
[C++20] 날짜와 시간(Date and Time utilities) 들어가며 C++은 가장 유명한 프로그래밍 언어중 하나지만 명성에 걸맞지 않게 유틸리티에 대한 지원이 인색하다. 특히 다른 언어에서 지원하는 문자열과 캘린더 관련 기능들은 항상 C++말고 다른 언어를 이용해 개발하고 싶은 마음이 들게 한다. 하지만 C++11 부터 점점 개선되기 시작하더니 C++20에는 보다 꽤 쓸만한 기능들이 여럿 추가 되었다. 본 포스트에서는 C++20에 추가된 날짜와 시간에 관련된 유틸리티 기능의 집합인 chrono 라이브러리를 살펴 보도록 하겠다. 자주 쓰이는 용어 본격적으로 chrono 라이브러리를 살펴보기에 앞서 자주 사용되지만 우리에게 익숙하지 않은 용어 몇가지를 먼저 살펴 보도록하겠다. 이미 알고 있을 수도 있겠지만 개념 정리한다고 생각하고 가볍게 읽어 보자. 에포크 타임(e..

반응형