메모의 기술저자사카토 켄지 지음출판사해바라기 | 2005-03-17 출간카테고리자기계발책소개새로운 주제, '메모' 비즈니스계에서 가장 중요한 것은 '아이디... 평소 메모하는 것을 좋아하지만, 스스로 뭔가 정리가 안되는 부분이 많았는데"메모의 기술"이라는 책을 접한 후로 많은 부분이 개선되었습니다. 책에는 메모의 정의나 방법에 대해서 기술되어 있을뿐 아니라 우리가 메모에 대해 오해하고 있는 부분도 지적합니다. 가장 기억에 남는 문구는"메모는 기억하기 위함이 아니라, 잊어버리기 위한 것이다" 읽는 순간, 아차 싶었지요.굳이 기억할 필요가 없는 것을 메모하지 않으면 항상 기억해야 한다는당연한 논리를 깨우쳐줍니다. 이래저래 개인적으로나 회사에서 메모해야 하는 경우가 많았는데많은 도움이 되었습니다 ^^
svn에 코드를 등록하면서 항상 .a 파일이 정상적으로 add되지 않아서 문제가 되었습니다.코드 등록은 다 해놓고, 막상 나중에 .a파일이 누락되어 있다는 사실을 인지하고 뒤늦게 add를 했지요. 기본적으로 svn status 명령으로 확인하면 .a 파일에 대한 정보는 보이지 않습니다.이는 subversion의 default로 .a 파일을 ignore하고 있기 때문입니다. ignore파일 리스트는 대략 아래와 같습니다.global-ignores = *.o *.lo *.la *.al .libs *.so *.so.[0-9]* *.a *.pyc *.pyo ignore를 무시하고 확인하려면 아래와 같이 svn status에 옵션을 줍니다.[oops]$ svn st --no-ignoreI test.a 혹은, 아래..
python에는 인터프리터에서 자동완성을 사용할 수 있게 도와주는 모듈이 존재합니다.해당 모듈을 import만 하면 바로 사용할 수 있는데요,아래와 같이 사용해봅시다.>>> import rlcompleter, readline>>> readline.parse_and_bind('tab:complete') 테스트로 sys를 import하고 sys.에서 tab키를 입력해봅니다. 위와 같이 자동완성 됨을 확인 할 수 있습니다. 간혹 아래와 같이 모듈을 못찾는 경우가 있습니다.>>> import rlcompleterTraceback (most recent call last): File "", line 1, in ImportError: No module named rlcompleter>>> 이러한 경우 보통 goog..
프로그램 개발만큼 중요한것이 사용자에게 프로그램의 정보(사용법)를 알리는 help입니다. 그런 면에서.. help함수를 구현하고 echo로 도움말을 출력하는 기법 자주 애용했었는데요,예를 들면 아래와 같습니다. #!/bin/sh help() { echo "This is a test message." echo "Maybe help()." } [ -z "$1" ] && help 하지만 라인수가 많아졌을때 관리적인 측면에서 좋지 않습니다.또한 결과 출력 시에 줄 맞춤에도 다소 문제가 있지요, 해서 사용하는 방법이 아래와 같이 존재합니다. #!/bin/sh help() { cat
파일을 신나게 수정하다가 원본 상태(최초 clone했을때 상태)로 되돌리고자 할때 사용하는 명령이 있습니다.[oops]$ git status# On branch master# Changes not staged for commit:# (use "git add ..." to update what will be committed)# (use "git checkout -- ..." to discard changes in working directory)## modified: Makefile# modified: READMEno changes added to commit (use "git add" and/or "git commit -a")[oops]$ [git status] 명령으로 확인시에 Makefile과 RE..
일전에 logmein의 유료화로 소식으로 인해 새로운 원격제어 툴을 찾고 있었습니다. 대체 용도로 정한것은 바로 TeamViewer인데요, 정보를 찾아보니 이제 Wake-on-LAN 기능도 제공하는듯 합니다. 일단 Teamviewer를 사용하기 위해서는 http://www.teamviewer.com/ko/ 에 접속해서 다운로드를 받도록 합니다. TeamViewer9가 현재는 최신입니다. 아래처럼 Wake-on-LAN기능에 대한 정보를 확인 할 수 있습니다. 다운로드가 완료되면 설치셑을 실행합니다.[고급 설정 보기]를 통해 원하는 목록만 선택하도록 합니다. 설치가 완료되면 회원가입을 통해 관리 할 PC를 등록하도록 합니다.이렇게 하면 매번 원격 접속을 위한 ID와 비밀번호를 입력 할 필요가 없습니다. 필요..
git은 기본적으로 remote에 commit을 하고 commit되어 있는 내용을 원격서버로 push하는 개념입니다. remote에는 자유롭게 commit을 할 수 있는데요, 하지만 이게 독이 되는 경우가 있습니다.잦은 remote에 commit을 그대로 원격서버에 push하는 경우에 서버의 log가 지저분해질 우려가 있습니다.(다수의 개발자가 각자 push를 할테니까요) 그래서, 이때 필요한게 remote의 commit들을 합치는 rebase입니다.일단 개념에 앞서 아래와 같이 remote에 commit된 내용들이 있습니다.(git://github.com/tswicegood/mysite-chp5.git 로 테스트를 진행했습니다.)[oops@ mysite-chp5]$ git logcommit f329ec..
분산버전관리시스템을 사용하면서 git clone시에 매번 password를 입력하는 것이 불편했습니다. 그 불편함은 인터넷에 널린.. ssh-keygen을 사용해서 개인키를 서버의 .ssh/authorized_keys 에 등록해서패스워드를 생략하는 방법으로 해소했는데요. 이 방법을 스크립트화 시켜보았습니다.(여러분의 시간은 소중하니까요) #!/bin/sh ID_RSA=~/.ssh/id_rsa.pub # id_rsa.pub 파일이 없을때만 ssh-keygen을 수행합니다. if [ ! -f $ID_RSA ]; then expect -c "spawn ssh-keygen" \ -c "expect -re \":\"" \ -c "send \"\r\"" \ -c "expect -re \":\"" \ -c "send..
리눅스에서 application을 사용하면서 인자의 자동완성에 대해 궁금증이 생겼습니다. 예를들면 git의 경우 "git "을 타이핑하고 Tab키를 누르게 되면 아래처럼 입력 가능한 명령어들이 출력이 되는데요, [oops@ ]$ git add cherry-pick fetch log relink stage am ci filter-branch lol remote stash annotate clean format-patch merge repack status apply clone fsck mergetool replace submodule archive commit gc mv request-pull svn bisect config get-tar-commit-id name-rev reset tag blame cr..
git의 경우에는 svn과 다르게 삭제된 파일의 복구가 간단하지 않습니다.(물론 svn과 비교한다면 말이죠..) svn은 삭제된 파일도 아래 명령어로 간단하게 되살릴 수 있습니다.svn up (update) 하지만 git의 경우에는 아래와 같은 절차가 필요합니다.[oops@ ]$ git ls-files -d // 삭제된 파일 리스트 확인README[oops@ ]$ [oops@ ]$ git checkout README[oops@ ]$ [oops@ ]$ git ls-files -d [oops@ ]$ 파일이 여러개인 경우 아래와 같이 사용할 수도 있습니다.[oops@ ]$ git ls-files -d | xargsREADMEMakefile[oops@ ]$[oops@ ]$ git ls-files -d | xar..
1. 입방정 조심해야 한다.-. 오늘의 아군이 내일의 적군일 수 있다. 2. 밥그릇은 스스로 찾아야 한다.-. 정보 공유는 좋으나, 그것이 내 머리에서 나온 것임을 위에서 알아야 한다.-. 괜한사람에게 공을 주지 말자, 부질없다. 3. 친절은 적당히.-. 남일 적당히 도와줘라, 아니. 적어도 내가 한가할때 도와줘라.-. 남일을 도와준 것이 내 일의 연기 사유일 수는 없다. 4. 쉴 수 있을때 쉬어라.-. 그리 흔히 오는 기회가 아니다.-. 눈치보지 말고 웹서핑도 하고, 개인적인 시간을 보내라.
kernel에 개발을 하던 중 아래와 같은 error가 발생했습니다.error: invalid use of undefined type ‘struct address_space’ /proc/meminfo 의 정보 중 Cached 필드 값을 얻는 모듈을 가져다 쓰는 과정에서 발생을 했는데요,Cached는 아래와 같이 구해집니다. cached = global_page_state(NR_FILE_PAGES) - total_swapcache_pages - i.bufferram; 이 cached를 구하는 연산을 가져다 쓰려는데, total_swapcache_pages가 문제가 됐습니다.해당 define은 include/linux/swap.h 에 되어 있었고, 해당 파일은 정상적으로 include 되어있었는데 말이죠, ..
configure를 생성하기 위해서는 우선 autoscan을 활용해서 configure.ac를 생성하도록 합니다. autoscan은 configure.ac를 생성할 수 있도록 어느정도 자동화 되어 있는 툴입니다. configure.ac의 문법을 잘 모를때는 참 다행이 아닐 수 없겠네요, 기본 틀을 제공 받고 필요한 내용은 별도로 추가를 하면 되니까요. 우선 아래와 같이 autoscan을 활용해 봅니다. $ ls hello.c $ autoscan $ $ ls autoscan.log configure.scan hello.c autoscan을 하고 나면 configure.scan이라는 파일과 관련 log파일이 생성이 됩니다. configure.scan은 configure.ac와 동일한 파일입니다. autosc..
autotools란 autoconf나 automake와 같은 유틸리티들을 지칭한다고 하는데, wikipedia 에서 상세 정보를 볼 수 있습니다. wikepedia에서 아래 그림을 발췌하였고, 앞으로 그림에 있는 각 파일에 대해서 살펴보도록 합니다. (.ac는 autoconf의 약자고, .am은 automake의 약자로 보입니다.) 우선 테스트 할 수 있는 간단한 hello.c를 작성합니다. #include int main(void) { printf("Hello World \n"); return 0; } 앞으로 해당 코드를 autotools의 일환인 autoconf와 automake등을 적절히 사용해서 컴파일 하도록 합니다.
생에 첫 스마트폰으로 애플 아이폰4를 약3년 넘게 사용해왔습니다. 처음에는 핸드폰으로 인터넷을 마음껏 한다는것이 참 놀라웠는데요, 어느덧 속도도 따지고 작은 화면에 눈이 아파왔습니다. 겸사겸사 약정도 끝났으니 새로운 핸드폰을 찾던중 눈에 들어온것이 바로 "갤럭시노트3" 오랜만에 구매하는 핸드폰. 구성품은 아래와 같습니다 (이어폰이 빠졌네요) 노트3은 USB3.0을 지원합니다 LTE에 놀라고 USB3.0 속도에 한번 더 놀라게 되네요. 무엇보다 큰 화면이 너무 마음에 듭니다 (전화할때는 다소 불편할수도?) 일단 아이폰을 사용할때는 아이튠즈로 인해 불편한것이 많았는데 이제 그로부터 자유로워진것이 참 좋습니다. 친절한 노트3 총평으로 대략95점. 만족입니다^^
- Total
- Today
- Yesterday