본문 바로가기

반응형

분류 전체보기

(425)
[C++] iomanipulator 완벽 가이드 들어가며 이번 포스트에서는 C++의 출력 포멧을 조절할 수 있는 iomanipulator에 대해 살펴 볼 것이다. 자세한 동작 원리는 나중에 연산자 오버로딩에서 깊게 살펴 보도록하고 이번 시간에는 iomanipulator의 개념과 사용 방법을 위주로 다룰 예정이다. std::dec 변수 값을 10진수로 출력 std::hex 변수 값을 16진수로 출력 std::setw 문자열 출력시 개수 지정 std::setfill 공백을 채울 문자 지정 std::left 문자열 왼쪽 정렬 iomanipulator란? C++에서 입력이나 출력의 형태를 지정하기 위해 사용하는 것을 iomanipulator라고 한다. 설명에 앞서 먼저 아래의 예제 코드를 살펴 보도록하자. 아래 코드는 간단하게 int 타입의 변수를 출력하고 ..
[C++] 표준 입출력 완벽 가이드 들어가며 이번 포스트는 C++ 기초 강좌로써 표준 입출력에 대해 살펴 보도록 하겠다. 이번 포스트는 어떻게? 왜? 라는 이해 보다는 그냥 이런것이 있구나라는 받아들이는 마음으로 가볍게 읽으면 된다. 표준 입출력? 표준 입출력은 우리가 C++ 프로그램을 만들고 실행 시켰을 때 새까만 콘솔창에 텍스트를 출력하거나 입력하는 것을 의미한다. C++에서 표준 입출력을 사용하기 위해서는 iostream, cout, cin. 이렇게 세 가지 대해 알아야 한다. 아래의 예제 코드를 살펴 보면서 이 세 가지 키워드에 대해 익숙해져 보도록 하겠다. C++ 표준 입출력 예제 코드 #include int main() { int age = 0; std::cout age; std::cout
[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#으로 작성된 프로그램에서 코어 덤프를 남길 수 있는 방법에 대해 살펴 보도록 하겠다. 참고로 리눅스에서 코어 덤프를 남기는 방법은 [여기]를 참고하면 된다. 처리 되지 않은 예외 본격적인 내용에 앞서 간단한 개념 정도는 알고 넘어 가도록하자. 굳이 몰라도 코어 덤프를 남기는 데는 문제 없는 내용이니 궁금하지 않다면 다음 섹션으로 바로 넘어가도 괜찮다(바쁘신 분들은 [여기]의 전체 코드를 복붙해서 사용해도 상관 없다). '예외(..

반응형