[ 문서 작업 키 ] 새 문서 작성 Ctrl+N키 문서 열기 Ctrl+O키 문서 닫기 Ctrl+W키 문서 분할 Alt+Ctrl+S키 문서 저장 Ctrl+S키 Word 종료 Alt+F4키 원하는 작업 해당 키 문자열, 서식, 특수 항목 찾기 Ctrl+F키 찾기 반복 Alt+Ctrl+Y키 문자열, 특정 서식, 특수 항목 바꾸기 Ctrl+H키 쪽, 책갈피, 각주, 표, 메모, 그래픽, 기타 위치로 이동 Ctrl+G키 이전 쪽, 책갈피, 각주, 표, 메모, 그래픽, 기타 위치로 이동 Alt+Ctrl+Z키 문서 찾기 Alt+Ctrl+Home키 원하는 작업 해당 키 작업 취소 Esc키 작업 실행 취소 Ctrl+Z키 작업 재실행 또는 반복 Ctrl+Y키 원하는 작업 해당 키 쪽 모양 보기로 전환 Alt+Ctrl+P키..
reg파일을 이용하여 레지스트리 삭제하는 방법입니다. 일회성으로 한번만 레지스트리값을 삭제해야할 때는 그냥 regedit에서 해당값을 삭제하면 끝이지만 도메인환경에서 수만대의 PC에 동시에 특정 레지스트리값을 삭제하고자할 때 매우 유용합니다. 물론 같은 방법으로 추가,수정도 가능합니다. 백신이 잘 잡지못하는 특정 바이러스가 확산중일때 (백신으로는 당장 조치가 되지않고 있어서 곤란하게됩니다. 그렇다고 마냥 기다릴수는 없는 노릇..) 그 바이러스가 사용하는 레지스트리값을 스크립트를이용하여 삭제함으로서 리부팅후엔 바이러스가 다시 시스템에 로드되는것을 막을 수있습니다. 작업순서 먼저 삭제하고자 하는 registry값을 알아야 합니다. 샘플 추출이라고 할까요... 1. regedit 실행 2. 삭제하기 원하는 값..
제목을 뭐라 붙여야 될 지 모르겠네요. 많은 분들이 알고 있는 사이트들이지만, 그래도 모르는 분들에겐 도움이 되겠죠 ^^; 유명한 블로거들은 이런 거 정리하면 십수개씩 쫙 나열해 놓는데 저는 가는 데만 주로 가는 편이라 몇 개 없어서 아쉽군요. 검색 사이트 http://www.koders.com/ http://www.google.com/codesearch 코드 검색 사이트입니다. 원하는 함수 이름 같은 것을 입력하면 해당되는 소스 파일을 보여주는 식입니다. 물론 모두 오픈소스 소프트웨어들입니다. 함수의 실제 용법을 찾아보거나 할 때는 도움이 되지만... 저는 제 리눅스 계정에 관심있는 오픈소스 패키지들의 소스를 몇십개 갖고 있기 때문에 거기서 find & grep이나 cscope로 찾는 편입니다. 코딩 ..
ArrayList를 쓰다 보면 가끔 array로 변환해야 하는 경우가 발생합니다. 여러 가지 방법이 있겠지만, 다음과 같이, 두 가지 방법을 주로 쓰게 됩니다. array를 생성한 다음, for 문을 통해 assign 하는 방법 ArrayList.toArray() 또는 ArrayList.toArray(T[] a)를 이용하는 방법 1번 보다는 2번 방법이 성능 면이나 코드 가독성 면에서 추천합니다. 샘플 1 : ArrayList.toArray()를 이용하는 법 import java.util.ArrayList; public class ArrayListToArray { public static void main(String[] args) { // Array List 생성 ArrayList al = new Ar..
assert 매크로에 대해서 알아보도록 하겠습니다. assert 매크로의 인자로는 항상 TRUE가 되는 조건식을 넣어줍니다. 만약, FALSE인 경우는 문제가 발생했음을 사용자에게 알려주게 됩니다. 즉, assert (1) 인 경우는 에러 없이 무사히 넘어가며 assert(0) 인 경우는 사용자에게 문제 발생을 알려줍니다. assert를 쓰면 어떤 점에서 장점이 있을까요? 바로 Release 모드시에는 assert 매크로가 컴파일되지 않는다는 장점이 있습니다. Debug 모드에서만 수행이 되죠. 즉, 프로그램을 끝마친 후 나중에 일일이 조건 검사 코드를 제거하지 않아도 되는 편리함이 있습니다. assert를 사용할 때 주의할 점이 있습니다. Release 모드에서는 assert가 아예 컴파일 되지 않기 ..
strchr함수 기능 : 문자열에서 임의의 문자가 처음으로 발견된 위치를 검색. 기본형 : char *strchr(const char *s, int c); // s : 문자열, c : 문자 반환값 : 찾은 문자에 대한 포인터를 반환. 발견하지 못하면 NULL을 반환. 헤더파일 : strrchr함수 기능 : 문자열에서 임의의 문자가 마지막으로 발견된 위치를 검색. 기본형 : char *strrchr(const char *s, int c);// s : 문자열, c : 문자 반환값 : 찾은 문자에 대한 포인터를 반환. 발견하지 못하면 NULL을 반환. 헤더파일 : strstr함수 기능 : 문자열에서 임의의 문자열을 검색. 기본형 : char *strstr(const char *haystack, const ch..
★ copy() → 하나의 컨테이너에서 특정 범위의 데이터를 다른 컨테이너로 복사하는 알고리즘 인수 1, 2 : [인수1, 인수2) 의 범위로 이터레이터를 인수로 넣음. (포인터도 가능) 인수 3 : 해당 이터레이터 지점부터 해서 데이터를 덮어씌운다. → 이 알고리즘의 주의사항은 인수 3에 넣어지는 지점에 삽입하는 것이 아니라 기존 데이터 위에 덮어 씌운다는 것이다. 또한 인수 3에 복사를 할때 자동으로 공간 할당을 해주지 않기 때문에 인수 1~2 범위 데이터를 넣을 수 있는 충분한 공간이 필요하다. 그렇지 않으면 할당 받지 않는 지점에 데이터를 덮어 씌우므로 런타임 에러를 유발하게 할 것이다. → copy() 는 다음과 같이 쓸 수 있다. vector test( 10 ); int iArray[10] =..
★ 일반화 프로그래밍 → STL은 일반화 프로그래밍의 한가지 예이다. → 객체지향 프로그래밍이 프로그램의 데이터적인 측면을 중시하는 데에 비해 일반화 프로그래밍은 데이터 타입에 대해 무관하며 알고리즘을 중시한다. 이것은 즉 일반화 프로그래밍이라는 것이 어떠한 데이터 타입에서도 무난하게 돌아가야 한다는 것을 의미한다. ★ 이터레이터에 대해 → STL을 이해하기 위해서는 이터레이터의 이해가 반드시 필요하다. 배열, 리스트, 큐 등 다양한 종류의 컨테이너에 대해서 같은 연산으로 동일한 동작을 할 수 있도록 하는 것이 이터레이터이다. 예를 들어 ++연산을 예로 들어본다면 둘다 다음 요소를 가리키게 한다는 기능적인 측면에서는 같지만, 배열에서는 다음 주소 공간을 가리키게 하는데에 비해 리스트는 서로의 원소들이 (..
아래는 strtok() 함수를 이용해서 토큰을 가져오는 코드이다. strtok()은 입력문자열(첫번째인자)에서 구분자문자(두번째인자)로 구분될 수 있는 토큰을 찾아 준다. strtok()를 한번 호출하면 입력문자열의 첫번째 토큰을 찾아준다. 그렇다면 두번째, 세번째... 문자열의 끝까지 토큰을 계속해서 얻어오려면 어떻게 해야 될까? 아래 코드처럼 연속 토큰을 추출하려면 처음 strtok() 로 첫번째 토큰을 찾고 그 다음부터는 strtok(NULL, 구분자)로 호출하여 연속되는 토큰을 계속 찾을 수 있다. 여기서 한가지 의문의 생긴다... 입력문자열에 NULL 값을 집어넣는데 어떻게 토큰을 계속 찾을 수 있을까? strtok() 내부에서는 토큰을 찾고 찾은 토큰 바로 뒤의 문자를 NULL 로 만들어 버린..