목록전체 글 (8)
또레

노션 에버노트 등 다양한 노트앱을 써봤지만, 옵시디언도 사용법을 익혀보고자 한다. 옵시디언의 강점은 작성된 문서간 관계의 시각화나 모드가 있다고 하는데, 그러한 부분들은 사용하며 차차 익혀가도록 하고 이번에는 설치에 대한 것만 정리하려고 한다. 1. 옵시디언 홈페이지에서 최신 버전의 옵시디언 런처를 다운받는다.https://obsidian.md/download2. 런처를 실행하면 다음과 같은 창이 뜬다.24년 9월 2일 기준으로, Version 1.6.7이 최신인듯 하다. 옵시디언의 저장소는 Vault라고 한다. 다른 PC에서 저장소가 공유되지 않는 다는 점에서 폴아웃의 그것이 연상되기도 한다. 지금 내 PC에는 볼트가 없으니, Create를 선택해 새 볼트를 만든다. 3. 볼트 명칭과 로케이션 설정내..
C#의 String을 활용하며, String이 비어있는지 혹은 값이 지정되어있지 않은지를 확인하고 싶을 때가 왕왕 있다. (C++을 사용하는) 언리얼 환경에서는 std::string이 null일 수 없기 때문에(클래스 타입의 객체이기 때문에), 아래와 같이 빈 문자열인지 검사하는 메서드를 통해 확인거나 길이 자체를 검사하면 됐었다.// myString is std::stringmyString.Empty(); myString.length() == 0;// myFString is FStringmyFString.IsEmpty(); myFString.Length() == 0; 그러나 C#에서는 String이 참조타입이기 때문 (C++의 string*처럼)에 null이 될 수 있다. 따라서 null Che..
갑작스레 유니티를 하게 되면서 C#을 공부하게 되었다. 책을 보는게 가장 좋겠지만, 당장은 유니티를 공부하면서 함께 익히게 된 내용에 대해 저장해두려 한다. 틀린 내용이 많을 수도 있겠지만, 최대한 찾아보고 적어봐야겠다 싶다.
스마트 포인터(Smart Pointer) 스마트 포인터란 C++에서 동적으로 할당된 메모리를 관리하는데 사용되는 포인터의 래퍼 클래스이다. 스마트 포인터는 시스템이 종료될 때 자동으로 메모리를 해제함으로 프로그램의 안정성을 높여준다. 스마트 포인터의 종류 std::unique_ptr 한 객체에 대한 소유권을 가지며, 해당 객체를 다른 스마트 포인터와 공유할 수 없다. 복사 및 할당이 불가능하며, 소유권을 이전(std::move)하는 것만 가능하다. std::shared_ptr 여러 스마트 포인터가 같은 객체를 공유할 수 있도록 하는 스마트 포인터이다. 내부적으로는 참조 횟수를 사용하여 객체의 소유권을 다룬다. 모든 std::shared_ptr이 소멸되면(참조 횟수가 0이 되면) 객체가 자동으로 메모리에서..
함수 오버로딩(Function Overloading) 오버로딩은 C++의 다형성을 활용하는 기법이며, 함수 중복 정의를 의미한다. 조금 풀어서 쓰자면, 동일한 이름의 함수를 여러 번 정의하여 매개변수의 개수나 타입에 따라 다르게 동작하도록 하는 기능을 말한다. 오버로딩 된 함수 호출 시, 어떤 함수를 호출할 것인지 결정하는 것은 함수 시그니처 (Function Signature)이다. 함수 시그니처는 함수의 원형에 명시되는 매개변수 리스트이다. 즉 함수 시그니처는 함수의 이름과 매개변수의 타입, 개수, 순서로 결정된다. * 함수 시그니처 예시 void Funtion(int x, float y) { ... } // 위의 함수 시그니처는 다음과 같다. // 이름 : Funtion // 매개변수 타입 및 순서..
C와 C++의 차이 C와 C++의 가장 큰 차이는 절차지향(Procedural)와 객체지향(Object-Oriented)에 있다. 패러다임(절차 지향 vs 객체 지향) C는 절차 지향 프로그래밍 언어이다. C에서는 데이터와 관련된 함수를 따로 정의하고, 이들을 호출하여 사용한다. C++은 C에 객체 지향 프로그래밍의 개념을 도입한 언어이다. C++은 클래스와 객체를 사용하여 데이터와 해당 데이터를 다루는 함수를 하나의 단위로 묶어 사용한다. * 클래스와 객체의 차이는? 클래스는 설계도, 객체는 클래스라는 설계도로 만들어진 물품으로 예시를 들 수 있다. 정확한 정의는 아래와 같다. Class : 사용자 정의 데이터 형식으로, 멤버 변수(속성)와 멤버 함수(동작)을 포함할 수 있다. Object : 클래스의..