본문 바로가기

개발자의 기록 노트

(153)
Kprobes 사용하기 [1] : Ubuntu 12.04 Kprobes 사용하기 [1] : Ubuntu 12.04 동적 프로브 (Dynamic Probe) 라는 것이 있다. 이는 빌드를 다시 하지 않은 상태에서 디버깅을 지원한다.즉, 특수한 컴포넌트 빌드 없이 분석 정보를 수집하는 기법을 제공한다. 그중 커널 동적 프로브 (Kprobe) 는 리눅스의 커널 내부로 삽입할 수 있는 프로브이다. 우분투에서 kprobes를 사용하고자 하는가?다음 과정을 따른다. 커널 버전이 2.6.9 이상이면 kprobes는 이미 커널의 일부일 것이다. 패치를 적용할 필요가 없다.단지 몇가지 옵션을 활성화 한 뒤 커널을 다시 빌드 하면 된다.(If your kernel is >= 2.6.9, then kprobes should already be apart of the kernel...
[보안] 암호화 알고리즘 DES (Data Encryption Standard) ; 데이터 암호 표준 DES는 개인키를 사용하여 데이터를 암호화하는 방법으로서 널리 사용되며, 미국 정부는 이 알고리즘을 해독하기 어렵다고 판정하고 다른 나라들에 수출하는 것을 금지하고 있다. DES에는 72,000,000,000,000,000 (72천조)개 이상의 암호 키가 사용되는 것이 가능하다. 주어진 각 메시지를 위한 키는, 이렇게 막대한 량의 키 중에서 무작위로 선택된다. 다른 개인키 암호화 방법과 마찬가지로, 송신자와 수신자 둘 모두는 동일한 개인키를 알고, 사용해야만 한다. DES는 각 64 비트 데이터 블록에, 56 비트 길이의 키를 적용한다. 이 과정은 여러 가지 모드에서 실행될 수 있으며, 16번의 연산이 수반된다. 비록 DES가 ..
[STL] 어댑터 컨테이너 : queue 사용 예제 queue 는 어댑터 컨테이너이다.STL에서 기본적인 구현은 내부 컨테이로 dequeue를 사용하도록 되어있다.다음은 예제 소스 #include #include using namespace std; std::queue buffer; //string queue//3개의 원소 삽입buffer.push("These ");buffer.push("are ");buffer.push("more than "); //2개워 원소를 출력한다.cout
[STL] Vector 사용 예제 //STL vector 예제를 위한 헤더#include #include #include #include #include vector sentence; sentence.reserve(5); sentence.push_back("hello,");sentence.push_back("how");sentence.push_back("are");sentence.push_back("you");sentence.push_back("?"); //공백으로 구분하여 원소출력copy (sentence.begin(), sentence.end(), ostream_iterator(cout, " "));cout
[MFC] 공부중 - 윈도우 프로그래밍의 기본1. 윈도우 프로그래밍 모델2. CWnd 클래스3. MFC 코드의 기본 구조4. MFC 코드의 흐름5. 키보드 입력6. 마우스 입력7. GDI 기본8. 비트맵과 이미지 처리9. GDI 고급 - 컨트롤 및 기본 프레임워크10. 메뉴/바로 가기 키/도구 모음/상태 표시줄11. 컨트롤 윈도우의 기본12. 버튼 컨트롤13. 목록 상자와 콤보 상자14. 프로그레스 컨트롤/슬라이더 컨트롤/스핀 컨트롤15. 리스트 컨트롤/트리 컨트롤16. 기타 컨트롤(페이저 컨트롤, 에니메이션 컨트롤, 달력컨트롤, IP 주소 컨트롤, 네트워크 주소 컨트롤, 탭 컨트롤)17. 대화상자 - 고급 사용자 인터페이스18. 깜빡임 방지 (Double Buffering)19. 다중 뷰20. MFC의 구조와 이론21...
[네트워크] FTP 프로토콜의 Active/Passvie 모드 FTP는 명령어 커넥션과 데이터 커넥션이 다른 포트를 사용함. 데이터 커넥션의 접속 방식에 따라 Active/Passive 2가지 방식이 있다. - Active Mode *데이터 커넥션을 서버에서 클라이언트로 접속하는 방식 클라이언트가 서버의 21번 포트로 접속, 데이터 전송을 위한 별도의 포트를 추가로 하나 생성 후 그 번호를 서버에게 알려줌. 서버는 20번 포트를 클라이언트에게서 넘겨받은 포트로 연결한다. (이때 클라이언트 네트웤 환경에 방화벽이나 공유기 등에서 그 임의의 포트로 접근하는 것이 막혀있을 경우 데이터 전송을 위한 연결이 이루어지지 않는다. 그래서 접속은 되나 파일 목록 표시가 안됨.) - Passive Mode *데이터 커넥션을 클라이언트에서 서버로 접속하는 방식 클라이언트가 서버의 2..
[리눅스/Vi]Vim, Vi, GVim 에서 '작업 취소(Undo)' / '다시 하기(Redo)' 방법 Vi (Visual Display Editor) 리눅스나 유닉스를 처음 접하는 사람에게 vi는 매우 골치아픈 존재일지도 모릅니다.윈도우환경에서 문서 편집기를 써 본 사람이라면, vi는 매우 불편한 편집기로 생각 될지도 모르죠.그러나 vi 편집기에 익숙해지면 이보다 좋은 문서 편집기는 없다는것을 느끼게 될 것입니다. 문제는 익숙해지는데 오래걸려서 그렇죠(...먼산...) 만약 당신이 윈도우에 익숙한 사용자라면, 텍스트 에디터에서 무언가 잘못된 입력을 한 경우, Ctrl+Z 로 간단하게 그 잘못된 입력을 되돌릴 수 (Undo) 있다는걸 알고 있을것입니다. 리눅스에서 기본적으로 사용하는 Vi에디터 에서도 동일한 기능을 제공합니다만, 단축키가 다릅니다.방법을 알아봅시다. 이하 존칭은 생략합니다. 작업 취소만약 ..
Pair Programming (짝 프로그래밍) 1. 개요 본 문서는 애자일 팀에서 어떻게 짝 프로그래밍(Pair Programming, 이하 PP)을 진행 할 것인지에 대한 가이드를 제공한다. PP는 기술적인 측면보다 사회 문화적인 측면에서 접근/진행하여야 한다. 따라서 대화를 자주 나누고, PP의 목표가 서로가 함께 발전해 나가면서 이를 통해 좀더 좋은 SW를 만들 수 있게 해준다는 것을 인식하여야 한다. 2. PP진행의 목적 및 효과 - 코드의 품질을 향상시킨다. - 개발에 대한 집중력을 높인다. - 팀 내 커뮤니케이션을 증진시킨다. - 지속적인 코드 리뷰가 될 수 있다. - 협업을 통해 서로가 서로를 발전 시킬 수 있다. - 개발이 좀더 즐거워 질 수 있다. 3. 기본 마음가짐 - 서로를 신뢰하며 공경한다. - 대화를 논쟁으로 생각하지 않는다...