Programming
-
어느날 갑자기 Centos 5.2에 설치된 subversion 저장소에 접근시 다음과 같은 오류가 발생했습니다. $ svn checkout svn://111.222.33.44/ABCD test svn: E210005: Unable to connect to a repository at URL 'svn://111.222.33.44/ABCD' svn: E210005: No repository found in 'svn://111.222.33.44/ABCD' ps ax를 살펴봤더니 svnserve도 실행되어 있었습니다. 이런 저런 경우를 검색해보고 테스트해보다가 혹시 경로가 문제인가 하는 의심이 들었습니다. 저장소 서버가 최근에 재부팅된 적이 있었기 때문이죠../home/svn/repos 밑에 저장소들이 있었는데..
subversion 저장소가 갑자기 오류가 발생..어느날 갑자기 Centos 5.2에 설치된 subversion 저장소에 접근시 다음과 같은 오류가 발생했습니다. $ svn checkout svn://111.222.33.44/ABCD test svn: E210005: Unable to connect to a repository at URL 'svn://111.222.33.44/ABCD' svn: E210005: No repository found in 'svn://111.222.33.44/ABCD' ps ax를 살펴봤더니 svnserve도 실행되어 있었습니다. 이런 저런 경우를 검색해보고 테스트해보다가 혹시 경로가 문제인가 하는 의심이 들었습니다. 저장소 서버가 최근에 재부팅된 적이 있었기 때문이죠../home/svn/repos 밑에 저장소들이 있었는데..
2014.10.27 -
char 배열은 쉽게 string에 넣을 수 있습니다. char array[50]; string str_array = array; 바이트 배열을 다룰 때 자주 쓰는 unsigned char는 호락호락하게 넣을 수 없습니다. unsigned char uarray[50]; string str_array = uarray; g++ -std=gnu++11 po13.cpp po13.cpp: In function ‘int main()’: po13.cpp:127:57: error: invalid conversion from ‘unsigned char*’ to ‘const char*’ [-fpermissive] 위와 같이 'unsigned char*' 형에서 'const char*' 형으로의 invalid convers..
[C++]unsigned char 배열을 std::string 변수에 넣기char 배열은 쉽게 string에 넣을 수 있습니다. char array[50]; string str_array = array; 바이트 배열을 다룰 때 자주 쓰는 unsigned char는 호락호락하게 넣을 수 없습니다. unsigned char uarray[50]; string str_array = uarray; g++ -std=gnu++11 po13.cpp po13.cpp: In function ‘int main()’: po13.cpp:127:57: error: invalid conversion from ‘unsigned char*’ to ‘const char*’ [-fpermissive] 위와 같이 'unsigned char*' 형에서 'const char*' 형으로의 invalid convers..
2014.09.16 -
수정된 소스가 특정 위치마다 커밋의 내용이 크게 다른데 소스 수정하다 보면 한꺼번에 여러 곳을 고치게 되는 경우가 자주 있습니다. 이럴 때 일일이 이 부분은 버그 커밋 내용, 기능 추가 내용, 소스 정리 내용 등으로 구분해서 커밋을 할 수 있다면 소스 수정을 겁내지 않고 할 수 있습니다. git에서는 심지어 하나의 파일도 사용자가 지정해서 원하는 부분만 커밋할 수 있는 기능을 제공합니다. git add -p 또는 git add --patch 명령을 내리면 'Stage this hunk [y,n,q,a,d,/,j,J,g,e,?]?'라는 질문이 뜨면서 입력을 기다리게 됩니다.뭔가 복잡해 보이는데 간단하게 맨 앞의 y,n은 현재 보이는 코드 덩어리(chunk)를 추가 하겠습니다(y) 안하겠습니다(n)를 지정하..
[git] 수정된 소스의 일부분만 추가 및 커밋하기수정된 소스가 특정 위치마다 커밋의 내용이 크게 다른데 소스 수정하다 보면 한꺼번에 여러 곳을 고치게 되는 경우가 자주 있습니다. 이럴 때 일일이 이 부분은 버그 커밋 내용, 기능 추가 내용, 소스 정리 내용 등으로 구분해서 커밋을 할 수 있다면 소스 수정을 겁내지 않고 할 수 있습니다. git에서는 심지어 하나의 파일도 사용자가 지정해서 원하는 부분만 커밋할 수 있는 기능을 제공합니다. git add -p 또는 git add --patch 명령을 내리면 'Stage this hunk [y,n,q,a,d,/,j,J,g,e,?]?'라는 질문이 뜨면서 입력을 기다리게 됩니다.뭔가 복잡해 보이는데 간단하게 맨 앞의 y,n은 현재 보이는 코드 덩어리(chunk)를 추가 하겠습니다(y) 안하겠습니다(n)를 지정하..
2014.09.11 -
기록용으로 남겨둡니다. 참고 사이트에 자세히 나와 있으므로 꼭 참고하시기 바랍니다. 0. 현재 저장소가 지저분(?)하지 않아야 합니다. git status 명령으로 확인해봅니다. git status nothing to commit, working directory clean 이런 결과이면 다음으로 넘어가면 되지만 아직 수정 중인게 있는데 어쩌란 말야 하는 상황이라면 깔끔하게 임시 보관함(stash)에다 저장해줍니다. git stash save "imsi" Saved working directory and index state On master: imsi HEAD is now at a104848 [printf-define] Add simple example imsi 내용으로 자세한(!) 설명을 남기고 저장..
[git]실수로 지운 커밋(commit) 살리기기록용으로 남겨둡니다. 참고 사이트에 자세히 나와 있으므로 꼭 참고하시기 바랍니다. 0. 현재 저장소가 지저분(?)하지 않아야 합니다. git status 명령으로 확인해봅니다. git status nothing to commit, working directory clean 이런 결과이면 다음으로 넘어가면 되지만 아직 수정 중인게 있는데 어쩌란 말야 하는 상황이라면 깔끔하게 임시 보관함(stash)에다 저장해줍니다. git stash save "imsi" Saved working directory and index state On master: imsi HEAD is now at a104848 [printf-define] Add simple example imsi 내용으로 자세한(!) 설명을 남기고 저장..
2014.09.02 -
a[][5] 같이 길이가 지정되었을 때 그 문자열 길이가 넘어가는 원소가 있는지 확인해야 합니다.만약 문자열이 의도한게 맞다면 a[5][] 같이 선언을 잘못했는지 확인해봅니다.
initializer-string for array of chars is too longa[][5] 같이 길이가 지정되었을 때 그 문자열 길이가 넘어가는 원소가 있는지 확인해야 합니다.만약 문자열이 의도한게 맞다면 a[5][] 같이 선언을 잘못했는지 확인해봅니다.
2014.08.13 -
gdb 프로세스에 발생되는 신호(signal)를 다루기 위한 기능입니다.handle 신호 동작명령 형태는 위와 같습니다. 예를 들면 SIGUSR1 신호가 발생하면 기본 동작으로 멈추는데 멈추지 않고 계속 진행하게 하려면 다음과 같이 입력합니다.handle SIGUSR1 nostop동작에는 stop, nostop, print, noprint, pass, nopass, ignore, noignore가 올 수 있습니다.크게 stop, print, pass, ignore입니다.stop은 해당 신호를 받았을 때 프로그램 진행을 멈추고 디버거인 gdb 프롬프트로 돌아올 것인지를 지정합니다.print는 해당 신호가 발생했음을 간단히 출력해줍니다.pass는 해당 신호를 프로그램에 전달할지를 지정합니다.ignore는 해..
[GDB] handle 명령gdb 프로세스에 발생되는 신호(signal)를 다루기 위한 기능입니다.handle 신호 동작명령 형태는 위와 같습니다. 예를 들면 SIGUSR1 신호가 발생하면 기본 동작으로 멈추는데 멈추지 않고 계속 진행하게 하려면 다음과 같이 입력합니다.handle SIGUSR1 nostop동작에는 stop, nostop, print, noprint, pass, nopass, ignore, noignore가 올 수 있습니다.크게 stop, print, pass, ignore입니다.stop은 해당 신호를 받았을 때 프로그램 진행을 멈추고 디버거인 gdb 프롬프트로 돌아올 것인지를 지정합니다.print는 해당 신호가 발생했음을 간단히 출력해줍니다.pass는 해당 신호를 프로그램에 전달할지를 지정합니다.ignore는 해..
2014.08.13 -
컴파일은 g++ static-structure-in-class{,-main}.cpp 명령을 내리면 a.out이 나옵니다.삽질하다가 간신히 성공한거라 자세한 내용을 모르고 되는 것만 적어놔요.. has a previous declaration as 오류나 does not name a type static 오류 invalid use of qualified-name structure 오류 undefined reference to 오류 등.. C++과 구조체를 정확히 모르니 몸이 무려 하루하고 반나절을 고생하네요.. 헤더 파일 // file:: static-structure-in-class.h struct t_struct { int a; int b; }; enum INDEX_TYPE {FIRST, TMP1 = ..
Static structure in class 삽질 결과..컴파일은 g++ static-structure-in-class{,-main}.cpp 명령을 내리면 a.out이 나옵니다.삽질하다가 간신히 성공한거라 자세한 내용을 모르고 되는 것만 적어놔요.. has a previous declaration as 오류나 does not name a type static 오류 invalid use of qualified-name structure 오류 undefined reference to 오류 등.. C++과 구조체를 정확히 모르니 몸이 무려 하루하고 반나절을 고생하네요.. 헤더 파일 // file:: static-structure-in-class.h struct t_struct { int a; int b; }; enum INDEX_TYPE {FIRST, TMP1 = ..
2014.08.13 -
#include // 또는 istream istream& getline (char *s, streamsize n); istream& getline (char *s, streamsize n, char delim); 포맷이 지정되지 않은 입력 스트림에서 길이가 최대 n만큼 문자열을 추출해서 s에 C 문자열로 저장합니다. 구분자인 세번째 인수 delim을 생략하면 개행 문자인 '\n'으로 처리해서 한 줄을 읽어들이는 기능을 합니다. delim은 입력에서 추출되지만 s에는 저장되지 않습니다. 길이 n이나 구분자 delim에 적용되지 않았는데 파일 끝(EOF)에 도달하면 eofbit 플래그가 설정되고 이 값은 eof() 메소드로 확인할 수 있습니다. 글자를 추출할 수 없거나 구분자를 찾을 수 없는 경우에는 fai..
[C++] std::istream::getline#include // 또는 istream istream& getline (char *s, streamsize n); istream& getline (char *s, streamsize n, char delim); 포맷이 지정되지 않은 입력 스트림에서 길이가 최대 n만큼 문자열을 추출해서 s에 C 문자열로 저장합니다. 구분자인 세번째 인수 delim을 생략하면 개행 문자인 '\n'으로 처리해서 한 줄을 읽어들이는 기능을 합니다. delim은 입력에서 추출되지만 s에는 저장되지 않습니다. 길이 n이나 구분자 delim에 적용되지 않았는데 파일 끝(EOF)에 도달하면 eofbit 플래그가 설정되고 이 값은 eof() 메소드로 확인할 수 있습니다. 글자를 추출할 수 없거나 구분자를 찾을 수 없는 경우에는 fai..
2014.07.24