본문 바로가기

분류 전체보기

VIM Tip ViEditor 를 사용할 때 알아두면 유용하지만, 기존 문서나 초보자용 가이드 등에서 언급되고 있지 않은 내용들을 모아 두는 페이지 Contents 1 한 화일의 여러 곳을 동시에 편집할 때2 folding3 backup 화일을 한 곳에 몰아서 보관하기4 Copy&Paste 할 때 들여쓰기 금지5 VIM Setting for Python6 현재 작업중인 파일을 HTML 로 보관하기7 vim에서 make시에 에러가 나는 sub directory로 자동으로 이동하기8 파일 브라우저 (네비게이션, 탐색기) 열기9 cmdline을 활용한 컴파일 단축키 설정 (in Linux, bash shell)10 VIM 7.x 에서 파일브라우져에서 파일 열리지 않는 문제11 visual block 설정 안됨 1 한 화일의.. 더보기
AWK Contents 1 Awk란?2 awk의 구조(Model)3 awk 프로그램3.1 일반적인 awk 의 용도 및 사용방법(Using Model)3.2 Example 1 - 간단한 awk 사용3.3 awk의 내부변수3.4 Example 2 - awk 프로그램 응용4 또다른 요약 페이지 awk는 명령어를 사용하다보면, 의외로 자주쓰는데, 지금까지 얼추 맞춰서 쓰다가 문서는 찾았습니다만, 위키에 없어서 찾은것들을 정리해서 글을 씁니다. 공개되어있는 문서를 찾아서 했기에, 절대 창작문서가 아닙니다. 조금 길어지다 보니.. 형식이 마구 틀어지고, 테이블 무서지고 있습니다... 그런데, 위키초보라서 잡기가 매우 힘들군요... 좀.. 도와주세요 ㅠ.ㅠ --maylinux 1 Awk란? awk는 프로그램 툴이다. 이 툴.. 더보기
logrotate 에 대한 1. 개요 logrotate 는 시스템에 있는 모든 로그 파일들을 관리할 수 있으며, 이 로그파일들을 자르고, 보관하고, 삭제하고, 압축하고, 메일로 보내주는 등의 다양한 작업을 할 수 있는 로그관리 유틸리티이다. 2. 파일구성 구분 위치 및 실행방법 설명 데몬 /usr/sbin/logrotate 데몬의 위치 및 데몬 프로그램 데몬 설정파일 /etc/logrotate.conf 설정파일 설정디렉토리 /etc/logrotate.d logrotate 에 적용할 각종 로그 파일들을 보관하는 디렉토리 상황파일 /var/lib/logrotate.status logrotate 작업내역을 보관하는 파일 cron /etc/cron.daily/logrotate logrotate 는 주기적으로 실행되야 하므로 cron에 의.. 더보기
리눅스 메모리 관리 - "왜? Free RAM이 거의 남아있지 않을까?" 출처 : Linux Memory Management or 'Why is there no free RAM?' Revision 2.3 Copyright 2004 sapphirecat. The text of this post is licensed under a Creative Commons License. 의 내용을 번역한 것입니다. 항목 메모리 관리 Overview x86 아키텍쳐에서의 불가사의한 880MB 제한 top 결과중 VIRT,RES,SHR 사이의 차이점 buffers 와 cache의 다른점 커널 2.6의 Swappiness 1. 메모리 관리 Overview 1. Overview of memory management 'top'같은 전통적인 유닉스 도구들은 종종 시스템이 잠깐동안 구동된 후 놀랄만큼 .. 더보기
Vim의 register 에 대하여 vi(m)에서는 여러 개의 register가 있습니다. MS-Office제품군에 사용된 여러 개의 클립보드와 같은 기능이라 할 수 있겠습니다. 원하는 클립보드에 원하는 내용을 붙여넣은 뒤 원할 때마다 붙여넣을 수 있습니다. 이는 클립보드가 하나 밖에 없다면 불가능합니다. vim에서의 클립보드는 크게 unnamed register와 named register로 나누어져 있습니다. unnamed register는 MS-Winodws에서의 그냥 클립보드와 같습니다. 잘라내기 및 복사시에 복사된 내용이 이 unnamed register에 저장이 됩니다. unnamed register는 총 16개가 있으며, 0번부터 순차적으로 "0 - "9 까지 순환식으로 register 에 저장 됩니다. 6개의 특수 regis.. 더보기
리눅스 서버 메모리 상태 체크(free,top) 메모리상태를 체크하려면 ◆ 관리하고 있는 시스템의 메모리상태를 체크해보려면 free라는 명령어를 이용하시면 됩니다. ◆ free라는 명령어로 다음과 같은 내용들의 확인이 가능합니다. ◆ 메모리의 전체용량 ◆ 유휴메모리의 량 ◆ 사용중인 메모리의 량 ◆ 스왑(swap)메모리의 량 ◆ 커널에서 사용되는 공유메모리(shared memory)와 버퍼(buffer)의 량 ◆ 캐시된 메모리의 량 ◆ 우선, 간단한 예를 보시기 바랍니다 free명령어에는 다음과 같은 몇 개의 옵션이 있습니다 ◆ -b : byte 단위로 보여줍니다. ◆ -k : kilo byte단위로 보여줍니다.(default) ◆ -m : mega byte단위로 보여줍니다. ◆ -t : 맨 마지막에 total용량을 보여줍니다. ◆ -o : buffe.. 더보기
리눅스 메모리 관리 - "왜? Free RAM이 거의 남아있지 않을까?" 출처 : Linux Memory Management or 'Why is there no free RAM?' Revision 2.3 Copyright 2004 sapphirecat. The text of this post is licensed under a Creative Commons License. 의 내용을 번역한 것입니다. 항목 메모리 관리 Overview x86 아키텍쳐에서의 불가사의한 880MB 제한 top 결과중 VIRT,RES,SHR 사이의 차이점 buffers 와 cache의 다른점 커널 2.6의 Swappiness 1. 메모리 관리 Overview 1. Overview of memory management 'top'같은 전통적인 유닉스 도구들은 종종 시스템이 잠깐동안 구동된 후 놀랄만큼 .. 더보기
이맥스에서 vi로 열기 지금까지 그 촌시러운 화면이 싫어 "그냥 빈 페이지"를 출력하게 바꿨었는데 생각해보니 emacs를 열자마자 제일 먼저 해야 할 일은 "파일 열기" 아닌가? 적어도 shell을 열면 좋을 것 같아서 시작 페이지를 shell로 바꾸기로 했다. view plaincopy to clipboardprint? (setq inhibit-splash-screen t) (shell) 그러면 shell을 열면서 시작하긴 하는데... 이거 shell로 뭘 쓸건지 물어보는 화면이 나온다. 깔끔하지 않군! 더군다나 파일을 열 때는 어떻게 하란 말인가!! view plaincopy to clipboardprint? (setq inhibit-splash-screen t) (eshell) eshell이라는 좋은 셸이 있었다. ema.. 더보기
제우스 어드민 사용예 jeusadmin JEUS administration tool Usage: jeusadmin [-h] [-version] [-fullversion] [-buildversion] [-licensedue] [-licenseinfo] [-verbose] [-jmx-connector jmx_connector_name] [nodename] [-U] [-P] [-f] [command] [command_option] arguments: -h: show this usage or show command help -h help [options] [command]: show command help -version: show version -fullversion: show full version -buildversion: s.. 더보기
Out Of Memory out of memory 사 내에서 하는 프로젝트의 일환으로 Java의 성능 이슈에 대한 다양한 컨텐츠를 작성 중인데... 그 중 유용하다고 생각되는 내용 일부를 블로그를 통해서 공개할 생각이다. 그 첫번째 내용으로 악명높은 Out Of Memory Error, 흔히 OOM(E)라고 부르는 현상의 원인과 해결책에 대해 정리한 문서를 소개한다... OOME 개요 JVM이 일정한 크기의 메모리를 할당하는데 실패하면 Out Of Memory Error, 이른바 OOME가 발생한다. OOME의 발생 원인은 매우 다양하며, 이는 JVM이 사용하는 메모리 공간의 다양성에 기인한다. 대부분의 JVM은그 사용 용도에 따라 메모리를 몇가지 종류로 구분해서 사용한다. 가령 Sun HotSpot JVM은 다음과 같은 세 가.. 더보기
Heap 여유 공간이 충분한데도 OOME(OutOfMemoryException)이 발생한다? 간혹 Heap의 여유 공간이 충분한데도 OutOfMemory Error가 나는 경우가 있다. 이러한 상황을 이해하려면 Java Application이 사용하는 메모리가 여러 영역으로 나뉜다는 사실을 이해해야 한다. Java Application이 사용하는 메모리 영역은 보통 다음과 같이 분류된다. - Permanent Space: Class 정보를 저장 - Java Heap: Object 정보를 저장 - Native Heap: JNI, Thread Stack, 기타 Native 정보를 저장 우리가 흔히 접하는 Memory 문제는 대부분 Java Heap에서 발생한다. Java Application이 할당하는 오브젝트들이 Java Heap에 거주하기 때문에 가장 많은 메모리를 필요로 하기 때문이다. 하지만.. 더보기
jconsole 의 원격접속 허용 -Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.port=1403 -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false 더보기
Eclipse Test and Performance Tools Platform (TPTP) 정리는 향후에 ;;; export TPTP_AC_HOME="/opt/tptp/agntctrl/linux_ia32" export JAVA_PROFILER_HOME="$TPTP_AC_HOME/plugins/org.eclipse.tptp.javaprofiler" export LD_LIBRARY_PATH=$JAVA_PROFILER_HOME:$TPTP_AC_HOME/lib:$TPTP_AC_HOME/bin:$LD_LIBRARY_PATH More details on using the profiler agent To debug a performance issue and to see where an application is spending most of its time, one might pick the followi.. 더보기
xarg의 사용예 한마디로 파이프한 표준입력을 리스트형태로 만들고 하나씩 다음명령어의 인자(아규먼트)로 넘겨주는 명령어. find 의 -exec 옵션이나, | 와 비교되는 명령어. ================================================================================ xargs 대부분의 Linux 커맨드는 파일 목록, 문자열 등의 결과를 출력하는 것을 목적으로 실행됩니다. 하지만 앞에서 실행된 결과의 일부를 다른 커맨드의 매개변수로 활용해야 하는 경우가 있습니다. 예를 들어 파일의 유형(실행 파일, ASCII 텍스트 등)을 확인하기 위한 file 커맨드에서 파일네임만을 출력하도록 한 뒤, 이 결과를 ls -l 커맨드에 매개변수로 전달하여 타임스탬프를 확인하고자 하는.. 더보기
Putty 의 설정 변경 PUTTY는 원격으로 리눅스 쉘을 이용하는 ssh를 이용하는데 있어 가장 흔히 이용되는 프로그램이다. 강력한 성능에 실행파일 하나로 설치 안해도 되는 포터블 버전도 제공하기 때문에 정말 자주, 많이 이용되는 프로그램이다. 하지만 기본 설정대로 이용시에 약간의 불편함이 있어 그를 해결하기 위해 내가 사용하는 설정을 공개한다. 접기 1. 버퍼크기. 라인 버퍼는 커맨드를 실행했을 때 화면상에 보여지는 줄의 수를 말한다. 만약 라인 버퍼가 작다면, 여러줄 출력되는 명령어 실행시에 화면을 스크롤해서 보면 일정 부분이 짤려 보이게 된다. 기본 설정에서는 200줄로 한정돼 있으므로 200줄 이상 화면에 출력된다면, 실행 도중에 프린트 되는 내용의 일부가 짤리고 최종 200줄만 볼 수 있는 것이다. 그래서 나는 1만줄.. 더보기
토탈커맨더의 자주하는 질문.답변 1. 옛날에는 Windows Commander 아니었나요? http://xpg.in/forum/viewtopic.php?p=1625#1625 http://xpg.in/forum/viewtopic.php?p=3790#3790 http://www.ghisler.com/name.htm 2. Total Commander는 어떤 OS를 지원합니까? Total Commander는 32bit와 16bit 두가지 버전이 있습니다. 32bit 버전은 Windows 95, 98, ME, Windows NT 4.0, Windows 2000, and Windows XP에서 작동합니다. 16bit 버전은 Windows 3.1에서 작동합니다. Linux 버전은 없습니다. Krusader를 사용하시거나 wine이용해서 사용하시면 .. 더보기
Eclipse Wiki Eclipse Wiki 스프링 프로젝트를 진행 하다보면 많은 메타 파일 및 소스 파일이 있습니다. 특히 메타 파일(XML) 을 추가 및 수정 하고자 할때 이클립스 프로젝트 구조에서 찾아 다니는건 은근 피곤한 일입니다. 스프링 XML 같은 경우는 그나마 Spring IDE에서 한 곳으로 모아주는 기능이 있어서 낫지만 SQL,설정 파일 ..등은 그렇지 않습니다. Eclipse Wiki이 이런한 불편을 간편하게 하기 위해서 .wiki라는 파일을 생성하고 거기서 파일들을 링크설정을 합니다. 그리고 해당 설정부분에 "F3" 버튼을 누르면 설정된 페이지가 열립니다. 즉 메타 파일을 하나의 파일로 중앙집중적으로 관리 할 수 있는 플러그인 입니다. (1) 설치 아래의 주소로 이클립스 플러그인 업데이트를 실행 합니다. .. 더보기
androidmanifest.xml 의 versionCode, versionName 가져오기 앱 개발하다보면 만든 앱의 manifest.xml 파일에 설정해 놓은 versionCode, versionName 값이 필요할 경우가 있습니다. 아래와 같이 간단합니다. PackageInfo pinfo = getPackageManager().getPackageInfo(getPackageName(), 0); int versionNumber = pinfo.versionCode; String versionName = pinfo.versionName; 참조> http://envyandroid.com/archives/94/get-android-versioncode-and-versionname 더보기
SVN Merge 요즘 많이 사용하는 SVN Merge 방법 알기 쉽게 설명한 포스팅이 있어서 링크합니다. 출처: http://www.eahn.kr/wp/?p=502 eclipse에서 svn을 사용하면서 tag는 개념적으로 간단해서 빌드시 사용하고 있으나, 브랜치 사용은 어려워하는 분들을 위해 간단히 요약을 합니다. 1. 먼저 브랜치를 하나 만듭니다. 현재 프로젝트에서 브랜치를 하나 생성합니다. 브랜치 이름을 지정합니다. 2. 브랜치를 만들었으면, 브랜치 설정을 추가합니다. 안해도 되나, 브랜치가 많은 경우 사용편의상 필요합니다. 1.에서 생성한 브랜치에서 마우스 오른쪽 버튼으로 추가(add branch)합니다. 아래의 브랜치목록에 새롭게 추가된것을 볼 수 있습니다. 3. 브랜치에서 변경된 내용을 trunk에 적용하기 위.. 더보기
Maven WebApp 프로젝트를 Eclipse 에서 실행하기 1) .classpath 파일에 다음 라인 추가하기 위의 라인을 다음처럼 수정하기 2) org.eclipse.wst.common.component 추가 혹은 수정하기 위의 {프로젝트이름}은 빈 문자없이 소문자로 입력하면 된다. 3) org.eclipse.wst.common.project.facet.core.xml 파일을 수정하기 ... 더보기
유용한 eclipse 플러그인 1. Grep Console 참조) http://marian.musgit.com/grepconsole/index.html 2. Maven Integration for Eclipse 참조) http://www.sonatype.com/sonatype-professional---m2eclipse.html 3. Spring IDE 4. Subverisve (OR Subclipse) 참조) Subclipse> http://subclipse.tigris.org/ 5. Properties Editor --------------------------------- 이클립스 주노에서 새로 나온 플러그인 Code Recommender에 대해 말해보도록 하겠습니다. Code Recommender 는 자동완성 추천 기능입니다... 더보기
Eclipse tips and tricks Remote debugging:The eclipse IDE can remote debug your web application. Imagine being able to debug your development server from your local machine. Eclipse can help you do this. First you need to instruct your application / server to listen on a port for debug messages. That can be done using the -Xdebug flag java -Xdebug -Xrunjdwp:transport=dt_socket,server=y,address=8787,suspend=n This tells .. 더보기
[리눅스] top [top 명령어 옵션 정리] * top 명령 실행시 추가할 수 있는 옵션 * (top) -d [sec]: 설정된 초단위로 Refresh (top) -c : command뒤에 인자값 표시 * top 명령 실행 후 사용할 수 있는 옵션 * shift + t : 실행된 시간이 큰 순서로 정렬 shift + m : 메모리 사용량이 큰 순서로 정렬 shift + p : cpu 사용량이 큰 순서로 정렬 k : Process 종료 -> k 입력 후 종료할 PID를 입력한다 -> signal을 입력하라 표시되면 9를 넣어준다 c : 명령 인자 표시 / 비표시 l(소문자엘) : uptime line(첫번째 행)을 표시 / 비표시 space bar : Refresh u : 입력한 유저 소유의 Process만 표시 -> w.. 더보기
오픈소스 템플릿 참고사이트> http://opencode.co.kr/bbs/board.php?bo_table=html_tips&wr_id=5 http://www.opensourcetemplates.org/ http://www.templateworld.com/free_templates.html http://www.oswd.org/ http://www.free-css-templates.com/free-templates.html http://www.templatesbox.com/ http://www.freelayouts.com/websites http://www.ex-designz.net/template/tempcat.asp?cat_id=13 http://www.openwebdesign.org/browse.php http:/.. 더보기
[Linux] 리눅스 터미널(linux terminal) 색상 변경 /etc/DIR_COLORS.xterm 파일에서 수정하면 된다. -속성- 00 delete method 01 bold 05 blink 07 reverse -글자색상- 30 40 black 31 41 red 32 42 green 33 43 yellow 34 44 blue 35 45 magenta 36 46 sky 37 47 white ps. putty 를 통해서 접속했을때 dir 색깔을 변경하고 싶어서 여러방면으로 알아 봤는데 그 중에서 가장 간편하고 간결한 방법인것 같다. ps2. 자기에게 알맞은 색깔로 바꿔서 사용하는 것도 좋지만, 어느정도 기본 설정에서 몇가지만 바꿔서 사용하는게 좋다. (왜 그런가 궁금하다면 자기맘데로 바꾼뒤 한 1달만 사용해 보면 알게 될것이다.) 나같은 경우에는 잘 보이지 않는 .. 더보기
jQuery 에서 테이블의 row 추가하기 jQuery add table row function definition:/* Add a new table row to the bottom of the table */ function addTableRow(jQtable){ jQtable.each(function(){ var $table = $(this); // Number of td's in the last table row var n = $('tr:last td', this).length; var tds = ''; for(var i = 0; i 0){ $('tbody', this).append(tds); }else { $(this).append(tds); } }); }jQuery add table row function usage example: ad.. 더보기
하나의 USB로 여러 우분투 버전 및 윈도우7 등을 설치하는 방법 우분투 설치는 CD-ROM 드라이브를 이용하는 것이 보편적이지만, USB 메모리를 이용하는 것이 좀 더 편하고 시간도 절약됩니다. 그런데 한가지 아쉬운 점이 있더군요. 하나의 USB 메모리에 하나의 우분투 버전밖에 담을 수 없다는 것. USB 메모리 한 개에 여러가지 우분투 버전을 집어넣어두고 입맛에 맞게 골라서 쓸 수 있다면 참 좋을텐데.... 인터넷을 뒤져보니, 역시나!!! 방법이 있네요. 소개해 보겠습니다. 우선 준비물을 갖춰야겠죠. 용량이 넉넉한 USB 메모리(4GB 정도면 좋고, 혹 요즘 잘나간다는 windows7의 설치본까지 넣고 싶다면 8GB 정도의 용량을 가진 녀석이 필요합니다) 우분투 리눅스 9.10 버전 이상이 설치된 컴퓨터, 또는 라이브 CD. 자, 이제 작업을 시작해볼까요. 우분투로.. 더보기
Emacs로 여러 파일 문자열 치환하기 1. M-X find-grep-dired를 써서 검색 2. 이제 dired의 *Find* 버퍼에 파일 목록이 죽 나열되면 t 를 눌러 해당 파일들을 toggle 한다. 3. Q를 눌러 dired-do-query-replace를 실행한다. find-grep-dired 도, dired-do-query-replace도 regexp를 받아들이므로 편리하다. *참고* Emacs 21.x 이후로는 dired-do-query-replace 가 dired-do-query-replace-regexp로 이름이 바뀌었다. 이는 해당 command가 수행하는 작업을 보다 성실하게 표현하기 위한 것이다. 참고자료: http://www.gnu.org/software/emacs/manual/html_node/emacs/Dired-.. 더보기
DD-WRT를 이용한 브릿지/리핏터 구성 무선으로 연결을 받아서 암호화된 별도의 무선네트웍을 구성해야 할 필요성이 생겼다. 당장은 AP하나로 받고, 다른 AP하나로 내보내도록 구성해서 쓰고 있었는데, 이걸 하나로 해볼 방법이 없을까 싶어 고민하다가 DD-WRT를 찾았다. DD-WRT는 대부분의 무선AP들이 리눅스를 이용하기 때문에 소스가 공개되어 있다는 점을 이용해서 별도로 구성되어 있는 핵펌이다. DD-WRT의 장점은 엄청나게 많은데, 속도나 안정성을 정펌을 능가하는 경우가 많다. 또, 기능이 정말 엄청나게 막강해서 수백만원대 상용 라우터에서 지원하는 기능까지 있으니 말 다한거지.. 물론, 신뢰성에 차이가 있긴 하지만서두.. 이런 종류의 자랑은 이번 포스팅의 주된 것이 아니니 일단 패스하고.. 1. 일단 내 공유기용의 DD-WRT 핵펌이 있는.. 더보기
Maven : pom.xml에서 민감한 데이터 감추기 보안을 위해 서버 패스워드 같은 민감한 데이터를 pom.xml에서 감추는 방법. 1. 사용되는 부분을 프로퍼티로 처리하고 mvn 실행시 -D옵션으로 값을 넘겨준다. mvn deploy -Dwasserver.password=xxx (그러나 허드슨 사용 환경에서 허드슨 빌드 console 화면에 데이터가 노출되는 문제가 있다) 2. 감추려는 데이터가 서버 접속 정보라면 settings.xml에 서버정보를 설정하여 pom.xml에서 데이터를 감출수 있다. server001 my_login my_password ${user.home}/.ssh/id_dsa some_passphrase 664 775 ... 참조사이트> http://ecogeo.tistory.com/80 더보기