본문 바로가기

전체 글418

선택 정렬(Selection Sort) 아이템 수 만큼 루프를 돌면서 가장 작은 수를 찾아 가장 앞으로 보내는 정렬 방식. 원본 리스트 3 8 0 1 4 [STEP 1] 3 8 0 1 4 - [3~4] 중 최소값을 찾는다. 3 8 0 1 4 - 3과 0을 교환 한다. [STEP 2] 0 8 3 1 4 - 0을 제외한 [8~4] 중 최소값을 찾는다. 0 8 3 1 4 - 8과 1을 교환한다. [STEP 3] 0 1 3 8 4 - 0, 1을 제외한 [3~4] 중 최소값을 찾는다. 0 1 3 8 4 - 3이 최소값이므로 그대로 둔다. [STEP 4] 0 1 3 8 4 - 0,1,3을 제외한 [8~4] 중 최소값을 찾는다. 0 1 3 8 4 - 8과 4를 교환한다. [최종] 0 1 3 4 8 코드는 아래와 같다. 2013. 6. 11.
Runnable 인터페이스와 Thread Class 자바에서 쓰레드를 만드는 방법은 크게 두 가지로 볼 수 있다. 1. Runnable 인터페이스를 구현하는 방법 과 2. Thread 클래스를 상속 받는 방법이다. Thread 클래스 자체에서 Runnable 인터페이스를 구현하고 있기 때문에 두 가지 방식 중 어떤 것을 써도 무방하다. 하지만 대부분 Runnable 인터페이스를 사용한다. 왜?? JAVA에서는 C++과는 다르게 다중 상속이 안되기 때문이다. Thread Class를 상속 받을 경우 해당 클래스는 이제 더 이상 상속을 받을 수 있는 조건이 안되지만, Runnable 인터페이스를 상속 받을 경우엔 다른 인터페이스도 상속이 가능하다. 아래는 Runnable 인터페이스를 상속 받는 코드와 Thread 클래스를 상속 받는 코드이다. 2013. 6. 5.
ftp 설정하기 2008 Server에는 FTP Server 기능도 지원한다. 1. 서버 관리자 실행 후 웹 서버(IIS) 선택 후 마우스 우 클릭으로 역할 추가. 2. 역할 서비스에서 FTP 서버 설치. 3. 시작 > 관리 도구 > IIS(인터넷 정보 서비스) 관리자 실행. 4. 사이트 선택 후 마우스 우 클릭하여, FTP 사이트 추가. 5. 사이트 이름과 실제 디렉토리 경로를 입력하면 완료. 6. 클라이언트에서 생성된 ftp 서버로 접근 모습. 2013. 5. 29.
String을 InputStream으로 바꾸는 방법. 간혹 InputStream을 파라미터로 받는 함수가 있다. 파라미터로 보내기 위해 String buffer를 file에 쓴 후 FileStream으로 읽기엔 너무나 비효율적이고... 아래는 String을 InputStream으로 변환하는 코드이다. 2013. 5. 23.
ranLib??? 어제까지 잘 되던 Makefile이 오늘 갑자기 에러가 발생한다. 원인은 라이브러리 파일을 만들 때 쓰는 ranlib 명령이 갑자기 아래와 같은 에러 메시지와 함께 실행이 안되던 것..ranlib: /usr/lib64/libelf.so.1: version `ELFUTILS_1.1.1' not found (required by ranlib) 여기서 잠깐...ar과 ranLib의 차이를 보자면!!ar의 경우는 단순히 object를 합쳐 주는 역할 이라면.ranLib는 합친 object에 대해 symbol index를 만들어서 링크 속도를 높이는 역할을 한다. 일단 ranLib가 동작 안되는 관계로 ar에 옵션 s를 줘서 symbol index를 만들어서 compile을 완료! 갑자기 왜 안되는거야 -_-;; 2013. 5. 23.
File Encoding 2013. 5. 16.
svn 명령어 사용법 1. Check out (co) >> svn co [svn 주소][체크아웃할 폴더 경로] >> ex) svn co http://svn.test.com/trunk/ . 2. update (up)>> svn up 3. Commit>> svn commit [commit할 파일명]>> ex) svn commit test.cpp 4. add>> svn add [add할 파일명]>> ex) svn add test.cpp 5. delete>> svn delete [삭제할 파일명]>> ex) svn delete test.cpp 6. export>> svn export [svn 주소][export될 폴더] -r [리비전 번호]>> ex) svn export http://svn.test.com/trunk/ test -r .. 2013. 5. 9.
[C++] CPPCheck CPPCheck 란?C/C++ 기반의 정적 분석 툴.소스 코드 구문을 분석하여 오류를 검출. Visual Studio 연동1. Visual studio 2010 실행 > 도구 > 외부 도구 실행. 2. 추가 버튼 클릭 후 아래와 같이 항목 입력.제목 : cppcheck명령 : cppcheck.exe 경로인수 : --enable=all --enable=style -q --template vs $(ProjectDir)초기 디렉터리 : $(ProjectDir) 3. cppCheck를 하고자 하는 프로젝트 선택 후 도구 > cppcheck 클릭 2013. 4. 30.
valgrind 사용법 valgrind란? Linux 환경에서의 메모리 관련 문제를 확인하기 위한 툴. 사용 방법. 1. 컴파일 시 -g 옵션이 적용된 프로그램에서만 적용이 가능하다. 2. 기본 사용은 [valgrind --tool=memcheck 실행파일명] 을 호출하여 실행 한다. 옵션 tool=memcheck기본툴. 메모리 leak을 잡음. tool=cachegrindcache 미스율을 보여줌. tool=callgrind프로파일링 정보를 보여줌. tool=helgrind쓰레드 사용시 에러를 잡아줌. tool=massif얼마나 메모리를 잡아 먹는지 보여주는 heap 프로파일러 leak-check=full 메모리 에러가 날 경우 소스 파일명과 라인 위치를 출력. 디버깅 컴파일 일 경우에만 가능. log-file=log.txt.. 2013. 4. 30.