Engineering/Etc 76

이클립스 VIM(Vrapper pluggin) 에서 Ctrl+F 사용하기

이클립스에 Vrapper pluggin 를 사용하면 VIM 으로 에디터 모드를 설정할 수 있다.(아이콘이 있어서 버튼을 클릭하면 VIM 모드/일반모드로 전환된다.) 그동안 사용하면서 아쉬운 점은 소스를 보다가 다음 페이지로 넘어가는데 보통 "ctrl + F" 를 사용했는데, 이게 윈도우 계열 에디터에서 "찾기/바꾸기" 이다. 아쉽지만 마우스 또는 "j" 키로 소스를 쭈욱 흘려봤는데, Vrapper 문서 를 찾아보니 "찾기/바꾸기" 키 바인딩 값만 바꾸면 "ctrl + F" 를 사용할 수 있게된다. "이클리스" - "Preferences" - "General" - "Keys" - "Find ..." 에서 binding 값만 테스트로 Shift+F 로 바꾸니깐, VIM 모드에서 페이지 넘김 기능이 잘 동작한..

Engineering/Etc 2014.08.21

make nsis in Linux

윈도우용 인스톨 패키징 소프트웨어라 많이 사용되는 NSIS(makensis) 를 Linux 에서 윈도우 설치 파일을 생성할 수 있게 하는 방법을 찾아서 정리해 보았다. 그렇지만 결론적으로 얘기하자면 제대로 안된다. 윈도우용 패키징 파일을 결국 만들고 실제 설치를 진행해보니, 일부 설치 스텝(step)에서 한글이 깨지는 것이 나온다. 그래서, 혹시 UNICODE 버전을 어떨까 고려해보았지만, UNICODE 버전은 윈도우 전용 함수를 사용하는 부분이 있어서 역시 컴파일이 제대로 안된다. 소스코드도 수정해보고 이러저리 방법을 찾아보았지만 결국은 포기. 간단한 패키지라면 혹시나 사용할 수 있을까 모르겠다만, Linux 에서 윈도우 바이너리가 생성되는것에만 만족을 해야하는지. 간단하게 정리하자면,1. 소스가 아닌..

Engineering/Etc 2014.01.20

git local 저장 간편 사용법

git local 저장 간편 사용법$ mkdir sample$ cd sample=> sample 디렉토리 생성$ git init=> 저장소 생성$ touch readme$ cat "this is first." > readme=> 파일 내용 추가$ git config --global user.email some@email.com$ git config --global user.name jj=> git 환경 설정$ git add readme=> index 추가$ git commit -m "added text file"=> 작업 내용 확정$ cat "this is two." >> readme=> 파일 내용 변경$ git diffdiff --git a/readme b/readmeindex 4bdeb67..2c54..

Engineering/Etc 2013.03.13

strtok() 대신 strsep() 를 사용하자.

문자열 파싱 용도로 간단하게 사용하는 함수인 strtok() 는 구분자 사이가 비어있을 경우 문제가 발생할 경우가 있다. #include #include main(){ char *sep = "\f"; char *tok = NULL; char buf[128]; char *string, *tofree; //sprintf(buf, "1%c2%c3%c4%c5", '\f', '\f', '\f', '\f'); sprintf(buf, "1%c%c3%c4%c5", '\f', '\f', '\f', '\f'); tok = strtok(buf, sep); printf("tok1(%s)\n", tok); tok = strtok(NULL, sep); printf("tok2(%s)\n", tok); tok = strtok(NUL..

Engineering/Etc 2012.11.30

OS mac 와 linux 에서 hexdump 비교

한글 "가나" 를 UTF-8 인코딩으로 저장하고, iconv 테스트를 진행하면서 mac 과 linux 에서 hexdump 옵션에 따라 값이 다르게 표시되는 것을 발견했다. 둘다 intel CPU, 64 bit 환경이다. 물론 둘다 byte ordering 은 little endian 이다. "가" 의 unicode 값은 0xAC00, "나" 의 unicode값은 0xB098 이다. $ cat "가나" > cc$ ls -la cc-rw-rw-r-- 1 firstboos firstboos 7 Oct 23 15:52 cc===> 7byte 이기 때문에 UTF-8 로 저장된게 맞음. 마지막 LF 가 1byte. $ iconv -f utf-8 -t ucs-2 cc > uu$ ls -la uu-rw-rw-r-- 1..

Engineering/Etc 2012.10.23

stack 깨질때 gcc compile 옵션

스택깨질때 gcc 컴파일 옵션 http://gcc.gnu.org/onlinedocs/gcc-4.2.3/gcc/Optimize-Options.html - 디버깅 할때 스택이 깨지는 경우 또는 stack overflow 를 막기 위해 다음 옵션 사용- mac os 에서는 디폴트로 사용됨 -fstack-protectorEmit extra code to check for buffer overflows, such as stack smashing attacks. This is done by adding a guard variable to functions with vulnerable objects. This includes functions that call alloca, and functions with buff..

Engineering/Etc 2012.07.10

wordpress 설치시 ftp 업데이트를 안전하게 하기위해 ftps 사용

설치형 블로그 wordpress 를 설치후, 테마나 플러그인을 자동업데이트하기 위해 ftp 서버 설정이 필요하다.그런데, 왠지 평문으로 패킷이 왔다갔다하는 ftp 서버는 왠지 찜찜하다. wordpress 에서 ftps(ftp ssl) 를 지원하기 때문에 서버에 설치했던 vsftpd 를 ftps 로 동작하도록 설정을 해보았다.서버가 centos 5.6 버전인데, 설치된 vsftpd 버전이 2.0.5 이고 다행히 ssl 을 지원한다. http://www.digimoon.net/blog/321 을 참조해서 인증서 생성하고, /etc/vsftpd/vsftpd.conf 환경을 변경하자.그리고나서 vsftpd 를 재시작하면 wordpress 관리자 페이지에서 일반 ftp 가 아닌 ftps 로 업데이트를 받을 수 있..

Engineering/Etc 2012.05.15

대용량 텍스트 파일 내용 변경하기

텍스트 파일 내용중에 일부를 다른 문자열로 치환하기 위해 sed 로 실행해보았다.텍스트 파일은 12 GB 정도, 서버 : CPU Intel Xeon 2.6 GHz, RAM 4GB# sed 's/AAA/BBB/g' text > conv_text실행시간 : 대략 20분에서 30분에서 작업이 종료. -> sed 자체에서 변경하는 부분이 문제일 수도 있지만, redirect 로 다른 파일로 저장하는 것도 실행 시간에 문제가 되었을 것이다. perl 을 사용해서 동일한 작업을 수행했다.# time perl -pe 's/AAA/BBB/g' textreal 6m51.624suser 1m3.129ssys 0m42.110s-> 대략 6,7분 사이에 완료되었다. 백업파일 옵션을 안줘서 그런가해서 다시한번 테스트 해보았다...

Engineering/Etc 2012.04.19

Windows XP 에서 필요없는 하위 디렉토리/파일 삭제

linux 파일삭제 명령어(/bin/rm)에서는 recursive(-r) 옵션이 존재하기 때문에 쉽게 명령어 하나로 ".svn" 디렉토리 같은 것들을 삭제할 수 있다. 그러나, 윈도우에서는 명령어(del, remove, rmdir) 에는 옵션이 없다. /S 옵션이 있긴하나 현재 디렉토리만 가능. linux 용 rm 소스를 가져와서 컴파일해야하나 싶긴한데, 프로그램/스크립트 짜기도 귀찮다 싶다. 구글 검색을 통해서 알아낸 가장 쉬운 방법은 생각보다 간단하다. 윈도우 탐색기에서 삭제하려고하는 윈도우 디렉토리에서 "검색" 을 통해 삭제하길 원하는 키워드를 포함한 파일/디렉토리들을 검색하고, 전체 선택 후 "삭제" 만 하면 된다. http://stackoverflow.com/questions/4889619/co..

Engineering/Etc 2012.01.26