전체 글

Programming/C & C++

[C++] Inheritance: 'A' is an inaccessible base of 'B'

C++에서 접근제어 지정자를 잘못 지정해서 발생하는 현상이다. 아래와 같이 업캐스팅으로 부모 클래스의 자료형으로 자식 클래스의 포인터를 가리키려 할 때, 이와 같은 현상이 발생한다. class A { } class B : A { } A* obj = new B(); 이와 같은 문제는, 접근제어 지정자를 변경함으로서 해결 가능하다. class A { } class B : public A { } A* obj = new B();

Programming/QT

[QT] QObject::connect: Cannot queue arguments of type 'Type Name'

QT 개발을 하던 도중, 특정 클래스를 인자로 사용하는 signal/slot을 생성하고, Connect를 할 경우 QObject::connect: Cannot queue arguments of type 'Type Name' 메시지가 출력될 때가 있다. 이러한 부분은, QT에 해당 class의 meta type이 추가되지 않아 발생하는 현상으로, 아래와 같은 코드를 추가하여 해결할 수 있다. qRegisterMetaType("CMultiTrackMini");

Code/svn

[SVN] 원격 Repository에 파일(directory) 추가 / 제거하기

SVN을 사용하다 보면, 원격 Repository에 파일을 업로드/삭제를 해야할 일이 있다. 1. 원격 Repository에 파일(directory) 업로드 svn import LOCAL_PATH REMOTE_PATH 주의할점으로, directory를 업로드할 때, LOCAL_PATH로 Directory를, REMOTE_PATH로 업로드할 위치(parent directory)를 입력하면 parent directory에 파일만 업로드 된다. local에 아래의 구조를 가진 a directory를 http://svn.url/A에 업로드 할 때 [폴더 구조] a a/b.txt a/c.txt svn import ./a http://svn.url/A 위와 같은 커맨드 명령어를 입력하게 될 것이며, 이에 대한 결과..

OS/Linux

[CentOS] Gnome 환경에서, Titlebar 크기 조절하기

gnome3 환경에서, Titlebar는 GTK-3설정에 영향을 받는다. 경로에 ~/.config/gtk-3.0/gtk.css에 아래와 같은 내용을 입력하면 된다. /* shrink headerbars (don't forget semicolons after each property) */ headerbar { min-height: 0px; padding-left: 2px; /* same as childrens vertical margins for nicer proportions */ padding-right: 2px; background-color: #2d2d2d; } headerbar entry, headerbar spinbutton, headerbar button, headerbar separator..

Tools/vscode

[vscode] VSCode 에서 React Live debug 설정하기

VSCode에서 React 코드를 작성할 때, 코드가 변경됨을 실시간으로 크롬으로 확인할 수 있는 방법이다. 1. Debugger for chrome extension 설치 좌측의 extension 버튼 클릭 후, chrome을 검색하여 debugger for chrome 을 설치한다. 2. launch.json 파일을 생성한다 .vscode 디렉토리에, 아래와 같은 내용을 가진 launch.json 파일을 생성한다. { "version": "0.2.0", "configurations": [ { "name": "Chrome", "type": "chrome", "request": "launch", "url": "http://localhost:3000", "webRoot": "${workspaceRoot}/..

잡다

MarkDown Test

markdown Test test2 code block void main() { return 0; } import hi function a() { console.log('hello world!'); } Tag Test aa hi 구분선 테스트 Link Test LinkTest

DB

[MSSQL] 외래키가 지정된 Table에 Truncate하기

일반적인 방법으로는, 외래키가 지정된 Table에 대해 truncate 명령어가 먹히지 않는다. 이를 해결하기 위해선 DB의 데이터를 삭제하고, DBCC의 Reseed 를 이용하여 ID를 초기화 하는 동작을 수행하면 된다. DBCC Reseed와 관련한 문서는 링크로 대체한다. https://docs.microsoft.com/en-us/sql/t-sql/database-console-commands/dbcc-checkident-transact-sql?view=sql-server-2017

Programming/QT

[QT] QByteArray를 QJsonValue로 변환하기

앞서 포스팅한 DockWidget의 상태 정보를 저장하기 위해 Geometry 정보 및 state를 Json File에 기록하기 위한 시도를 진행했다. 2019/05/14 - [Programming/QT] - [QT] QDockWidget의 위치 및 상태 저장 [QT] QDockWidget의 위치 및 상태 저장 본 문서는 QDockwidget을 이용하여 프로그램을 개발하던 중, 프로그램을 재시작 하였을 때 현재 설정된 DockWidget의 상태(현시여부, 도킹위치, 크기 등)를 저장하고 불러오는 방법에 대해 리서치 및 시도한 것들.. blog.rixa.kr 결과적으로는, QJsonValue에 ByteArray를 그대로 집어넣는것은 작동하지 않으며, Base64와 같은 방식으로 인코딩한 뒤 기록을 해야한다..

후유증
개인공간