2011의 게시물 표시

[페도라] ssh 또는 xrdp를 설지했는데, 접속이 안될때

네트워크 관련 설정의 편리함과 다양함은 리눅스의 큰 매력 가운데 하나다. ssh를 이용하여 터미널 상에서 원격지의 컴퓨터를 제어하거나 vnc를 이용하여 원격지에서도 동일한 환경으로 작업할 수 있다. vnc를 이용하는 것 마저도 귀찮거나 어렵게 느껴질때는 xrdp를 통해 윈도우 원격제어 프로그램으로도 이용이 가능하다. 하지만, 분명히 페도라 리눅스를 설치하고 ssh, xrdp를 설치했음에도 불구하고 다른 피씨에서 접속이 안될때가 있다. 원인으로는 여러가지가 있겠지만 대부분의 경우 다음의 두가지에 속한다. 1. 방화벽 2. 서비스의 상태 1. 방화벽 - 우분투와는 다르게 페도라에서는 방화벽 프로그램이 기본으로 설치되어 있다. 때문에 컴퓨터의 관리자가 포트를 열어주지 않을 경우, 내 컴퓨터로 접속을 시도하는 대다수의 요청을 무시하게 된다. ssh는 22번, 윈도우 원격접속은 3389번, vnc는 5900 번이 기본 포트 번호이니, 방화벽에서 이들에 대한 설정을 변경하면 된다.  2. 서비스의 상태 - 서비스의 상태를 확인하는 가장 손쉬운 방법은 터미널을 열고 다음의 명령어를 입력해보는 것이다.     # chkconfig 위의 명령어에 대한 결과는 "서비스명" 그리고 "알수없는 숫자"와 "on", "off" 일것이다. 이 목록을 자세히 보면 "sshd"와 "xrdp" 같은 서비스명을 확인할 수 있으며 숫자 부분을 보면 죄다 "off"로 표기되어 있을것이다. 이럴때는 다음과 같은 명령어를 통해 "sshd" 서비스를 "on"으로 변경할 수 있다.     #chkconfig sshd on 위의 명령어를 실행하기 위해서는 당연하게도 root 권한을 획득해야 한다.

안드로이드 에뮬레이터 실행 에러 "failed to start emulator cannot run program"

안드로이드 에뮬레이터 실행 환경   fedora15 64bit   eclipse indigo   adk 32bit for linux 리눅스환경을 위한 안드로이드 api는 32비트만 지원되고 있다. 이것이 오류의 원인으로 우분투를 사용할적에는 문제가 없었으나, 페도라로 넘어오면서 일이 벌어졌다. 이래저래 원인을 찾아본 결과, 32비트 소프트웨어를 위한 라이브러리가 없다는 것을 찾게 되었으며, 한 블로그에서는 다음의 파일들을 설치해줄것을 거론하고 있다. yum install glibc.i686 glibc-devel.i686 libstdc++.i686 zlib-devel.i686 ncurses-devel.i686 libX11-devel.i686 libX11.i686 libXext.i686 libao.i686 alsa-lib.i686   모든 설치가 완료 후 에뮬레이터를 실행해보면 정상 실행되는것을 확인할 수 있다.

[C언어]2차원 배열을 함수 인자로 전달하기

2차원 배열을 함수로전달하는 방법을 인터넷에서 찾아보니 가장 일반적인 방법은 다음과 같았다. void func( int variable[][10] ) { } int main() {   int va[10][10];   func(va); } 하지만 이와 같은 방법은 호출할 함수에서 배열의 크기를 미리 알아야 한다는 문제가 있기 때문에 " int va[a][b] "와 같이 배열의 크기가 가변적인 상황에서는 이용하기 힘들다. 그래서 생각한 방법이 "배열의 크기가 가변적이라면 크기도 같이 보내주자"였다. 결과적으로 다음과 같은 코드가 작성됬다. void func( int b , int variable[][ b ] ) { } int main() {   int va[10][10];   func( 10 , va); } 위와 같이 코드를 작성하니 에러가 발생하지 않았으며, warning 조차도 보이지 않았으며, 배열에의 접근도 정상적으로 가능하였다.

리눅스(우분투, 페도라) 64비트에 플래쉬 설치하기

요즘 배포되고 있는 32비트 리눅스의 경우 미리 컴파일된 플래쉬 설치파일이 존재하기 때문에 비교적 쉽게 설치 가능하다. 하지만 64비트의 경우 별도로 설치를 해줘야하는 경우가 있는데, 이게 기대하는 것 처럼 쉽게 되지를 않는다. 이에 본 블로깅을 통해 간단하게 설치하는 방법을 설명하고자 한다. 우선 플래쉬 사이트에서 설치파일을 다운로드 받는다. 물론 64비트 리눅스용을 다운로드 받아야 하며, 배포판을 구분할 필요가 없다. 아래 링크를 통해 어도브에서 제공하는 플래쉬 플러그인을 다운로드받는다. http://labs.adobe.com/downloads/flashplayer11.html 우리는 64비트 리눅스에 설치하는것이 목적이므로 아래의 파일을 다운로드 받는다. Download plug-in for Linux 64-bit   위의 파일을 다운로드 후 앞축을 해제하게 되면 "libflashplayer.so" 파일과 하나의 폴더가 나타나게 된다. 우리는 이 가운데 "libflashplayer.so"파일을 이용할 것이다. 생소한 파일이라고 걱정할 필요 없다. 간단한 복사명령어 한번이면 설치가 완료된다. 압축 해제한 "libflashplayer.so"을 이용하기 위해서는 특정 위치에 해당 파일을 복사할 필요가 있다. 만일 동일한 파일이 이미 존재할 경우 해당파일을 지우거나 이름을 바꾸도록 하자. 복사를 하기에 앞서 복사될 위치는 시스템과 관련되어 있으므로 일반 유저 권한으로는 변경이 불가능하다. 그러므로 root 권한을 획득하자. root 권한은 su 또는 sudo 명령어를 통해 획득하자. 루트 권한을 획득하였으면 아래의 명령어로 복사를 실행하자. # cp (파일경로)/libflashplayer.so /usr/lib/mozilla/plugins/ 자 모든 설치가 끝났다. 이제 브라우저를 다시 실행시키고, 유투브에라도 들어가보자.

리눅스(fedora, ubuntu etc) 설치 후 무선랜 드라이버 설치 방법

필자가 사용하는 노트북에는 Broadcom에서 제작한 무선랜을 장착하고 있다. 윈도우를 사용할 때는 관련 드라이버를 그냥 설치만 하면 되기에 아무런 문제가 없지만 리눅스 상에서 드라이버를 설치하기란 여간 골치아픈것이 아니다. 결국 필자의 Dell 노트북에 페도라(fedora) 15버전을 설치하였을때도 무선랜(BCM43224)이 말썽을 부렸다. 문제를 해결하고자 각종 방법을 찾아보았으나 깔끔한 해결책을 보지못하였고 결국은 Broadcom 사의 사이트에 들어가서 찾아보게 되었다. 역시나 제작사에서 리눅스 관련 드라이버를 제공해주고 있었다. 그리 친절하지는 못하지만 매뉴얼(Readme)와 함께. 제작사에서 말하는 드라이버 설치방법에는 크게 두가지가 있다. 하나는 직접 컴파일 후 설치하는 방법과 미리 컴파일되어 저장소에서 내려받는방법. 초보자에게는 보다 편리한 방법이 최선이기에 저장소 이용방법을 선택해서 설명하겠다. 본 과정은 페도라를 기준으로 한다. 우분투는 좀 더 수월하게 설치 가능하다.(매뉴얼 참조) 매뉴얼에서 말하는 과정은 다음과 같다. 1. 관리자 원한 획득   $ su 2. 패키지 설치   #  rpm -Uvh http://download1.rpmfusion.org/free/fedora/rpmfusion-free-release-stable.noarch.rpm http://download1.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-stable.noarch.rpm 3. 저장소 정보 업데이트 # yum update 4. 드라이버 설치 # yum install kmod-wl 필자가 해본 바로는 2번 과정에서 패키지를 찾을 수 없다는 문제가 발생하였다. 아무래도 링크 주소로 바로 설치가 가능할정도로 rpm 프로그램이 똑똑하지 못할것이다라는 생각과 함께 패키지를 직접 다운로드 후 설치해주기로 했다. 결국 필자가 행한 과정은 다음과 같다. 1. 관리자 원한 획득   $

vi 자동완성 기능

이클립스가 사랑받는 이유가운데 자동완성 기능이 포함될 것이다. 이는 실로 막강하며, 편리한 기능으로 한번 맛들이면 빠져나오기 힘들다. 이클립스 정도는 아니지만 리눅스의 vi 에디터에서도 자동완성 기능을 제공한다. ctrl + p vi 에디터에서 자동완성을 사용하기 위해서는 힌트로 사용될 키워드의 일부분을 입력후 ctrl + p 키를 누르면 된다. 단, 검색의 기준이 되는 헤더파일이 인클루드 되어 있어야하며, vi의 버전이 비교적 최신의 것이어야 한다. (요근래 나오는 vi를 이용하면 다 될것이다.)

vmware의 한영키 문제 해결을 위한 설정

<테스트 환경> 호스트 : 우분투 11.04 게스트 : 윈도우7 64비트  (VMware Player 3.1.4 이용) <문제> vmware에 설치한 윈도우에서 한영키를 인식하지 못하여 한글의 입력이 어려움 <문제 해결 방법> vmware가 설치된 우분투에서 /etc/vmware/config 파일에 아래의 내용 추가 수정.   xKeymap.Keysym.Hangul = "0x0f2" xkeymap.keysym.Hangul_Hanja = "0x0f1" <문제 해결 과정> 1. 실행중인 vmware 종료 2. 터미널 실행 3. root 권한 획득 (우분투 : sudo -s 페도라 : su root) 4. gedit /etc/vmware/config 5. 맨 아래에 입력 xKeymap.Keysym.Hangul = "0x0f2" xkeymap.keysym.Hangul_Hanja = "0x0f1"

부팅 USB 만들기

부팅 USB를 만드는 가장 큰 이유는 바로 운영체제를 설치하기 위함이다. 운영체제는 크게 윈도우와 리눅스로 구분할 수 있는데, 이들을 위한 부팅 USB를 만드는 과정도 다르다. 윈도우를 위한 부팅 USB 만들기  - 커맨드 실행 (윈7의 경우 관리자 권한을 이용하여 실행)  - diskpart 명령어를 이용해 diskpart 실행  - list disk 명령어를 이용해 목록 확인  - select disk [number] 명령어를 이용해 디스크 선택  - clean  - create partition primary  - list partition  - select partition 1  - active  - format fs=ntfs quick  - 윈도우7 iso 의 파일 내용을 USB에 복사 리눅스를 위한 부팅 USB 만들기  - universal USB 다운로드  - run  - agree  - 배포판 버전 선택  - iso의 경로 지정  - 드라이브 선택  - create

우분투에 파이어폭스4 설치하기

설치환경: Linux Mint10 Julia (Ubuntu10.10 based) 설치방법: ppa를 이용한 온라인 설치 설치과정   (1) ppa 추가       - 관리 -> 소프트웨어소스 -> 기타소프트웨어 -> "추가" 버튼 클릭       - 저장소 추가   ppa:mozillateam/firefox-stable       - 닫기   (2) 소프트웨어 목록 update   (3) 업데이트 매니저 실행 & 파이어폭스 업데이트 ================================================================ 업데이트 결과 별다른 이상은 없어 보입니다. 파이어폭스4는 구글 크롬과 같은 제목표시줄+탭 UI를 가집니다. 하지만 gnome2.X 버전의 경우 기존과 비슷한 UI를 보여줍니다. gnome3버전에서는 제목표시줄과 탭이 한 라인에 배치되 공간활용에 좋은데 말이죠.

기획서, 제안서 작성 10계명

1. 빽빽하게 채우기 보다는 여백미를 고려하라. 아무리 좋은 글이라도 가독성이 떨어지면 불쾌감을 안겨준다. 페이지 상하좌우 여백이 너무 없으면 나중에 메모를 하거나 스프링, 철 등을 할 때 불편할 수 있다. 문자로 빽빽하게 채워진 슬라이드보다 깔끔하게 정돈되고 여백도 충분히 있는 슬라이드가 좋은 인상을 남긴다. 동양화의 여백은 들어내지 않을 때 더욱더 돋보인다는 것을 기억하라. 2. 기획서는 디테일보다 키워드로 요약하라. 기획서?제안서에서 자주 보이는 실수는 상세한 자료만 제시하고 요약이 없는 경우이다. 결과만 제시한다고 상대방이 알았을 것이라고 지레짐작하는 것이다. 전문가들은 인터넷의 발달로 조사 자료가 많은데 비해 그에 대한 정리가 약한 것을 지적한다. 무엇보다 중요한 것은 키워드 요약이다. 3. 포인트를 3가지로 정리하라. 기획서 제안서를 보는 상대방이 기억하기 쉽게 해줄 필요가 있다. 맥킨지에서는 매직 넘버magic number는 3이다. 어떤 일이든지 3가지로 정리하는 것이 고객을 마술처럼 설득시킬 수 있다는 것이다. 인간의 기억은 한계가 있음으로 한 번에 기억할 수 있는 것이 3가지이다. 4. 명확히 이해할 수 있는 흐름을 보여줘라. 고객을 이해시키기 위해서는 기획서?제안서 전체가 어떤 흐름으로 되어 있는지 보여줘야 한다. 어떤 절차로 진행되는지를 명확하게 해주는 것이 바로 화살표이다. 화살표를 사용할 때 유의해야 할 점은 좌측에서 우측로, 또는 위에서 아래로의 방향이 일반적이고, 반대로 사용할 경우는 의미를 분명하게 해야 한다. 특히 굵은 화살표를 사용하는 것이 좋다. 5. 딱딱한 문장만이 아니라 비주얼을 쓰는 것이 현명하다. 제안의 내용을 자신은 잘 알고 있지만 상대방은 그렇지 않을 수 있다는 것을 유념해야 한다. 기획서는 서술식보다 개조식으로 쓰는 것이 이해가 빠르다. 딱딱한 문장만 표현하는 것보다는 이해하기 쉽도록 비주얼을 쓰는 것이 현명하다. 6. 특색 없는 클립아트보다 실제 사진을 사

제안서 작성 요령 간략 설명

제안서 작성하기 1. 제안하게 된 배경을 알려야한다.   지금까지의 경위, 환경변화, 다가오는 위협 등을 지적한다.   관계자는 잘 알지만 제안 받는측은 인식할 필요가 있다. 2. 제안의 목적을 공유한다.   제안된 주제가 같더라고 서로가 인지한 목적은 다를 수 있다.   서로다 다른 목적으로 혼란을 초래하게 되면 실피하게 된다. 3. 결론부터 드러내고, 뒤에 자세한 설명을 한다.   결론을 먼저 언급할 경우 인상이 강해지고, 이해가 빨라지므로 시간이 단축된다.   예) 출퇴근 시간을 자유롭게 한다. <- 업무 효율이 향상된다. 창의적 활동이 가능해진다. 직원의 불만이 높다. 4. 시작 페이지에 컨셉 맵을 제시한다.   도해를 만들어 제시하면 이해를 도울 수 있다. 5. 줄거리를 두가지 방법으로 전개한다.   구체적으로 말하면 - 큰 주제 제시 후 자세한 내역 전개   왜냐하면 - 뒷바침 이유들을 나열 후 주제 전개 6. 일정을 한눈에 보여준다. 7. 역할을 분명하게 구체적으로 분담한다. 8. 비용을 명확하게 밝힌다. 9. 해결책의 결점도 숙지시킨다. 10. 각 페이지에 컨셉맵을 활용한다. --------------------------------------------------------------------- 1. 글자 크기는 구별하여 쓴다.   제목: 16, 본문: 12   제목: 24, 소제목: 20 본문:18 2. 글꼴은 고딕체와 명조체가 기본 3. 같은 범주는 들여쓰기로 정렬한다. 4. 불릿기호를 사용하거나 트리구조를 나타낸다. 5. 특수기호로 강한 인상을 심는다.   서울 <-> 부산 도로망 서울 부산 사이의 도로망   장점               단점   O ...                X ...   O ...                X ...

제안서 한장짜리 예

제목: 회사 소개 팜플렛 개정에 관한 제한 1. 회사 소개 팜플렛의 문제점  - 이미지가 주를 이루어 구체적인 사업 내용이 전달되지 않는다  - 사장의 인사말 등이 딱딱한 이미지를 준다.  - 변경된 부서명은 스티커를 붙여 고치고 있으나 지저분해 보인다.  - 영업 담당자는 독자적인 자료로 대체해서 사용하기 때문에 실질적으로 무용지물이다. 2. 개선방향  - 앞으로 내용이 바뀔 것을 예상하여 '겉장+낱장' 파일로 만든다  - 사업 내용을 구체적으로 설명한다.  - 사원 소개나 고객의 목소리 등 활기찬 사내 풍토를 보여준다. 3. 구체적인 내용  - 회사개요  - 4가지 주요사업에 대한 개요  - 관련 기업 네트워크  - 사회 공헌 활동  - 고객의 목소리  - 사원 소개 4. 프로젝트 체제  - 사내: 경영기획실  - 외주: 크리에이트플래닝사 5. 제작비용  - 개산: 2,000만원 6. 일정  - 2007년 1월 1일부터 이용할 수 있게 한다 7. 첨부자료  - 페이지 구성, 자세한 견적   ===================================================   출처: 기획 제안서 작성기술 200

커널 컴파일 과정

과거 작성해 놓은 커널 컴파일 과정입니다. # kernel compile basic solution 1. Download kernel source from http://www.kernel.org 2. decompress file 3. input command $ cd linux-[version] 4. $ make menuconfig 5. $ make 6. $ make modules_install 7. $ make install 8. chang directory to /boot 9. $ mkinitramfs -o initrd.img-[version] [version] 10. $ update-grub or edit grub ( $ gedit /boot/grub/menu.lst ) 11. reboot your system 최근 이용되는 방법 가운데 리눅스 커널을 컴파일 하기 위한 가장 기본적인 과정입니다. 위에 기술된 과정 가운데 일부는 현재 이용하는 배포판의 종류에 따라 이용 불가능한 부분도 있을것입니다. (위의 것은 우분투 기준입니다.) 그리고 작업 환경의 차이에 따라 error 나는 경우도 발생할 수 있습니다.

리눅스 터미널 프로프트 색상 변경하기

터미널은 텍스트 기반이기에 출력 결과의 양이 많게 되면 그 시작점을 판별하기 어렵다는 문제가 있다. 때문에 몇몇 사용자들은 사용자명과 컴퓨터명의 조합으로 구성된 프롬프트의 색상을 변경함으로써 출력결과의 시작점을 쉽게 판별하는 방법을 이용한다. 이에 본 포스팅에서는 아래 주소에 영어로 설명된 방법을 한국어로 간단하게 설명하고자 한다. http://www.cyberciti.biz/faq/bash-shell-change-the-color-of-my-shell-prompt-under-linux-or-unix/ 현재 사용자가 이용하고 있는 터미널의 프롬프트 관련 설정은 $ echo $PS1 명령어를 입력하면 확인할 수 있다. 위의 명령어에 대한 결과는 보통 아래와 같이 출력되며, 경우에따라 약간의 차이를 보일 수 있으나 큰 구성은 같다고 볼 수 있다. 각 내용에 대한 자세한 설명은 위의 주소를 참조한다. [\\u@\h \\W]\\$   그럼 이제 본격적으로 프롬프트의 색상을 변경하기 위한 설명을 하겠다.   1. vi 또는 gedit 에디터를 이용하여 홈디렉토리에 있는 .bashrc 파일을 연다. 2. .bashrc 최하단에 다음의 내용을 입력한다. export PS1="\e[ 0;31 m$PS1 \e[m" 3. .bashrc의 내용을 저장하고, 터미널을 재시작하거나 source 명령어를 사용해 변경된 설정을 반영한다.   위의 과정을 정상적으로 완료하였다면 username@computer의 색상이 붉은색으로 변할것이다. 만일 붉은 색이 아닌 다른색을 원할 경우 아래의 표를 참조하여 2번 과정의 굵은 부분을 변경해주면 된다.     Color Code Black 0;30 Blue 0;34 Green 0;32 Cyan 0;36 Red 0;31 Purple 0;35 Brown 0;33 Blue 0;34 Green 0;32 Cyan 0;36 Red 0;31 Purple 0;35 Brown 0;33

vi 에디터 설정 내용 .vimrc (~ing)

syn on                  " 문법 강조기능을 사용한다. set nocompatible        " Use Vim defaults (much better!) set nu                  " 숫자 set ai                  " 자동으로 들여쓰기를 한다. set bs=2                " allow backspacing over everything in insert mode set cindent             " C 프로그래밍을 할 때 자동으로 들여쓰기를 한다. set smartindent         " 좀 더 똑똑한 들여쓰기를 위한 옵션 set ruler               " 화면 우측 하단에 현재 커서의 위치 표시 set tabstop=4           " Tab 크기를 4로 설정 set shiftwidth=4        " 자동들여쓰기 크기를 4로 설정 set history=999         " 이전 작업하던 라인을 기억한다. set pastetoggle= filetype plugin on set tags+=/usr/include/tags    " 자동들여쓰기 기능 (Paste 시에는 Off 하는게 좋다) set foldmethod=marker   " 폴더기능 사용 set fileencoding=utf-8  " UTF-8을 기본 저장포맷으로 set encoding=utf-8      " UTF-8을 기본 읽기포맷으로 "set termencoding=euc-kr " 단 터미널은 euc-kr로 colorscheme murphy

Qt 개발환경 설정하기

Qt개발을 위한 개발환경 설정 방법을 간단하게 설명한다. 우분투의 경우 저장소에서 QtCreator를 보유하고 있으므로, root 권한 획득 후 apt-get install qtcreator 명령어 한줄이면 모든 설치와 환경구성을 마칠 수 있다. 윈도우도 이와 비슷한 방법으로 qt.nokia.com 에서 제동하는 Qt:SDK 통합개발환경 패키지를 다운로드 후 설치하는 것으로 환경구성으로 마칠 수 있다. 단, 윈도우에서 Qt를 설명하는 각종 책에서 설명하는 qmake 또는 make 등의 유틸리티를 사용하기 위해서는 약간의 작업이 필요하다. 교재를 열심히 따라한 후 Makefile을 생성하기 위해 윈도우 터미널에 qmake 명령어를 입력하였으나 프로그램을 찾을 수 없다고 나오는 이유는 qmake, mingw32-make 유틸리티의 위치를 시스템이 모르고 있기 때문이다. 그러므로 다음의 두 위치를 환경변수 path에 추가해주면 된다. C:\Qt\2010.05\mingw\bin C:\Qt\2010.05\qt\bin 우분투의 경우 make 유틸리티가 존재하므로 make 명령어를 통해 Makefile에 정의된 내용대로 컴파일이 가능하지만 윈도우의 경우 mingw에서 제공하는 make를 이용하게 되므로 mingw32-make 명령어로 make 명령어를 대체 사용해야 한다.

버추얼박스(VirtualBox) 공유폴더 설정 - 게스트:리눅스

{호스트:우분투 && 게스트:윈도우}의 경우 메뉴의 공유폴더를 설정 후 네트워크 검색을 하게되면 간단하게 이용이 가능하지만 이 반대의 경우에는 일반사용자가 이용하기에는 약간의 어려움이 있으므로 아래에서 설명한다. {호스트:윈도우 && 게스트:우분투}의 경우 우분투에서 공유폴터를 인식시키기 위해서는 수동으로 마운트 시켜줘야 한다. 마운트하는 과정은 다음과 같다. 1. /mnt 로 이동한다. 2. 마운트에 이용할 디렉토리를 생성한다. 3. 생성한 디렉토리에 공유폴더를 마운트한다. 각각의 과정을 시행하기위한 명령어는 다음과 같다. 1. cd /mnt 2. mkdir share 3. mount -t vboxsf 공유폴더이름 ./share 위의 과정을 시행하기위해서는 root 권한이 필요하므로 su 또는 sudo 명령어를 이용하여 root 권한을 획득한 후 진행한다. 공유폴더이름은 버추얼박스에서 지정한 경로에 대한 이름으로 설정하는 과정에서 입력하게된다. 별도로 지정하지 않았을 경우 윈도우 상의 이름이 자동으로 입력된다.

윈도우 듀얼모니터 작업표시줄 확장을 위한 UltraMon

티스토리 블로그 참조 http://leeks.tistory.com/28

윈도우에서 wxWidget 환경 꾸미기

이미지
wxpack 과 codeblocks를 이용하면 윈도우 환경에서 wxWidget을 개발하기 위한 환경을 쉽게 조성할 수 있다. wxpack 사이트 : http://wxpack.sourceforge.net/ codeblocks 사이트 : http://www.codeblocks.org/ wxpack을 먼저 설치하고, codeblocks를 설치하면 wxWidget을 개발하기 위한 환경은 간단하게 준비되었다. wxWidget이 정상적으로 이용이 가능한지 간단한 프로젝트를 생성해보겠다. new -> project를 선택해 wxWidget을 위한 프로젝트를 생성한다. 프로젝트 생성을 위한 몇몇 페이지를 넘기다 보면 wxWidget의 라이브러리 위칠르 뭍는 단계가 나온다. wxpack의 설치시 위치를 변경하지 않았다면 아래와같은 경로를 지정해 주면 된다. 프로젝트 생성을 완료한 후 build와 run을 통해 기본으로 생성된 코드를 돌려볼 수 있다. 하지만 build과정에서 몇몇 문제가 발생할 수 있는데 가장 큰 요인은 컴파일러의 위치와 라이브러리의 위치가 되겠다. 컴파일러의 위치 지정은 setting -> compiler and debugger 로 이동 후 toolchain 탭으로 이동하여 auto detect를 클릭하여 지정한다. 라이브러리는 프로젝트 생성 시 지정할 수 있지만 이 과정에서 잘못 지정되었을 경우 setting -> global variable 에서 base 를 wxWidget이 설치된 위치로 지정해 주면 된다. 이제 wxWidget 프로젝트 생성을 통해 기본으로 입력된 코드를 build하여 실행해볼 수 있다.

GDB 간단한 사용 방법

gdb를 이용하여 프로그램을 이용한 디버깅 방법을 간략히 설명한다. 1. gdb를 이용, 디버깅 하기 위해서는 gcc 옵션 -g를 지정하여 컴파일 한다. ex> gcc -g -o debug1 debug1.c 2. 컴파일된 바이너리 파일이 있는 곳에서 gdb [바이너리파일명] 입력하여 gdb 실행한다. ex> gdb debug1 3. gdb 명령어 'run'으로 컴파일된 프로그램을 실행한다. (gdb) run 4. debug1 프로그램 실행 시 segmentation fault가 발생하였다면 발생시점에서 run은 중지된다. 5. segmentation fault 발생시점에서 backtrace 또는 bt 명령어를 입력하면 오류 발생 직전 사용된 코드를 확인할 수 있다. (gdb) bt 6. segmentation fault 는 발생하지 않지만 프로그램이 원하는 의도하지 않은 결과를 출력할 경우, breakpoint를 지정하여 단계별 실행 및 변수에 담긴 값을 확인 할 수 있다. 'break' 명령어와 line_number 또는 function_name을 입력한다. (gdb) break 21 또는 (gdb) break sort 7. breakpoint 지정 후 'run'을 이용 프로그램을 실행하면 breakpoint가 설정된 위치에서 프로그램의 실행이 멈준다. 이 후 'next' 명령어를 이용 한단계씩 프로그램을 진행시킬 수 있다. (gdb) next 8. Loop에 breakpoint 를 지정한 상황에서 'next' 명령어를 이용하여 다음 Loop까지 가는것이 힘들다면 'cont' 명령어를 이용하여 다음 breakpoint까지 단숨에 이동한다. (gdb) cont 9. 'next' 명령어를 이용 단계별 실행 도중 변수에 담긴 값이 궁금하다면 'prin

아이락스 키보드 건전치 교체 후 입력불가 문제 해결 방법

키보드의 건전지를 교체하자 전원이 들어오지 않으며, 입력이 되지 않는 문제가 발생하였다. 해결방안을 찾고자 아이락스 고객센터에 전화하자 다음과 같은 방법을 일러주었다. 1. 수신기를 컴퓨터에 꼽는다. 2. 키보드의 배터리를 분리한다. 3. 키보드의 ESC키를 누르면서 배터리를 꼽는다. 4. 전원등에 불이 들어오는 것을 확인 후 입력을 테스트한다. 위의 방법은 모델에 따라 달라질 수 있으나, 수신기가 작은 경우에는 동일하리라 생각한다. AS에서 수신기가 작으냐고 물어봤으니...

VI(VIM) 명령어 정리

Vi는 세가지 모드가 존재한다. - 표준 모드: 커서의 이동, 삭제, 복사, 붙여 넣기 등의 활동이 가능 - 입력 모드: 텍스트의 입력이 가능 - 명령라인 모드: 명령의 입력을 통한 설정, 저장, 불러오기 등의 활동이 가능 [입력 모드] <----- i , o , s ----- [표준 모드] <------ESC------- [명령라인 모드] [입력 모드] ------- ESC -------> [표준 모드] ----: , / , ?------> [명령라인 모드] [명령라인 모드] - :w (저장) :w file.txt (file.txt로 저장) - :w >> file.txt (파일에 추가 저장) - :q (종료) ZZ (저장 후 종료) :wq! (저장 후 종료) - :e file.txt (파일 불러오기) [입력 모드] - a (커서 다음 칸부터 입력) A (행의 마지막부터 입력) - i (커서 위치부터 입력) I (행의 처음부터 입력) - o (다음 행에 입력) O (이전 행에 입력) - s (한 글자 지우로 입력) cc (한 행 지우고 입력) [표준 모드] - w or W (다음 단어의 첫 글자) b or B (이전 단어의 첫 글자) - H (커서를 화면의 맨 위로) z + ENTER (현재 행을 화면 맨 위로) - M (커서를 화면의 중간으로) z + . (현재 행을 화면 중간으로) - L (커서를 화면의 최 하단으로) z + - (현재 행을 화면 최 하단으로) - CTRL + u (반 화면 위로 스크롤) CTRL + d (반 화면 아래로 스크롤) - CTRL + b (한 화면 위로 스크롤) CTRL + f (한 화면 아래로 스크롤) [편집 - 삭제] - x (커서 위치 글자 삭제) dw (한 단어 삭제) - D (커서 위치부터 행의 끝까지 삭제) dd (행을

Dell Studio 14 i7-740QM 간단 사용기

근 3년간 삼성의 Q70 모델을 이용하면서 환경 개선을 위해 메모리, HDD 업그레이드를 거쳐 이용해왔으나 최근 버추얼박스 이용의 비중이 늘어가며 약간의 불편함을 느껴 과감히 동생에게 넘기기로 하였다. 그리하여 새롭게 노트북을 물색하게 됬으며, 지인의 강력한 AS 추천을 통해 델 스튜디오 14에 정착하게 되었다. 기존에 이용하던 것이 Q70이기에 이것과 많은 점이 비교되었다. 하드웨어적인 특성은 비교가 의미없기에 그냥 넘어가겠다. 장점 - 디자인: 델의 인스피런 모델과 달리 스튜디오 모델은 마감과 디자인이 상당히 마음에 든다. 특히 상판(LCD 커버)는 다양한 색 가운데 취행대로 고를 수 있으며, 지문이 묻어나는 하이그로시가 아니지만 은은한 반사때문에 더욱 고급스럽다. - 드라이버 지원: SSD를 이용하기 위해 새롭게 윈도우를 설치한 상황에서 드라이버가 필요할 때 델 사이트에 접속하니 자동으로 모델이 검색되고, 해당하는 드라이버가 표기된다는 점에서 매우 높은 점수를 주고 싶다. - 고객관리: 필자가 구입한 모델은 구입 당시 48시가 배송 정책을 채택하고 있었다. 하지만 배송이 좀 지연되자 전화했더니 어느 한 기사분이 개별 배송을 해주는 모습을 보고 감동을 느꼈었다. - 단점 - 팬소음: 삼성과 델의 하드웨어 운용 방식의 차이인것인지, 코어 수에 따른 발열량때문인지 팬이 수시로 돌아가고 있다. 하지만 Q70이 뜨거운 바람을 가끔씩 내뿜다가 어느 순간부터 수시로 뿜던것에 비해, 스튜디오 14는 처음부터 수시로 내뿜지만 온도는 미적지근다. 쭉~. 그래픽카드와 쿼드코어의 하드웨어 등의 고스펙 환경에는 이런 정책이 하드웨어 안전에 좋을 것 같지만, 조용한 새벽에 대부분의 작업을 하는 필자에게는 약간의 마이너스 적 요인이 된다. - 키보드: 필자에게는 플러스 요인이 될수 있는 찰랑찰랑한 키감은 요즘 대세인 쫀득한 키감을 감안할 때 단점으로 평가했다. 비슷한 사양과 가격의 다른 모델들을 써보지는 못했지만 현재 필자가 사용해본 바로는 델의 스튜