posted by 지니우스 2013. 12. 16. 09:45

출처: http://blog.naver.com/sujioq/30097313110



zcat adminpoc.log.2010-10-29-* | grep 0000015839
bzcat aomSvr11.out-20111212.bz2  | grep -c "tokenAct   :   N"


posted by 지니우스 2013. 12. 3. 11:40

참고: http://www.inet.co.kr/faq/stories.php?story=07/09/03/8092951


* 리눅스 버전 확인
uname -a
cat /proc/version 


* 레드햇 리눅스 배포본 확인
cat /etc/redhat-release


* 메모리 보기( /proc 파티션은 램에 있는 내용이다)
cat /proc/meminfo


* cpu 정보 보기
cat /proc/cpuinfo

* 하드 디스크 정보(scsi)
cat /proc/scsi/scsi

* 하드 디스크 정보(ide일 경우(모델보기))
cat /proc/ide/hda/model (첫번째 하드 hda인경우)
/proc/ide/ 아래에는 하드가 몇개인지 확인 가능하고
/proc/ide/hda/ 아래에는 그 하드에 대한 여러 정보가 보인다.

만약 raid를 사용한다면 cat /proc/mdstat 로 상태를
확인한다.

* 네트워크에 대한 정보
cat /proc/net/netlink
 



posted by 지니우스 2013. 9. 9. 18:13

출처: http://blog.daum.net/kkj9264/18256746


우리나라 고유의 포털은 아니지만 구글을 잘 활용하면 다양한 정보를 신속하게 찾을 수 있습니다. 그러나 그 기능이 꽤 다양하여 잘 모르고 있는 부분도 있을 것 같습니다. 검색방법을 아래와 같이 알려드리니 활용해 보시기 바랍니다.

. 검색 연산자 활용 기본 사용법

-기본연산자: 연산자:검색어(“:” 사이의 공백 없음)

【활용예시】

1) intext:"한국기술교육대학교"→ 문서내용에“한국기술교육대학교”라는 문자열을 포함하는 문서를 검색

2) intext:"한국기술교육대학교“ ≠ intext:한국기술교육대학교→ ‘”’를 생략할 경우 문자열의 일부분이 포함되는 문서까지 검색됨

- 논리연산자: and, or, not

· and : “and” 또는 공백(주로 공백)으로 입력

【활용예시】

1) intext:"한국기술교육대학교" "정보기술공학부"→ 문서내용에 “한국기술교육대학교”라는 문자열을 포함하고, 문서의 제목과 내용에 “정보기술공학부”라는 문자열을 포함하는 문서 검색

2) intext:"한국기술교육대학교" intext:"정보기술공학부"→ 문서 내용에 “한국기술교육대학교”라는 문자열과 “정보기술공학부”라는 문자열을 포함하는 문서 검색

· or : 대문자“OR” 또는“|” 를 입력

【활용예시】

1) intext:"한국기술교육대학교" OR intext:"정보기술공학부"→ 문서내용에 “한국기술교육대학교” 또는 “정보기술공학부”라는 문자열을 포함하는 문서 검색

· not :“-” 으로 입력

【활용예시】

1) intext:"한국기술교육대학교" -"정보기술공학부"→ 문서내용에 “한국기술교육대학교”라는 문자열을 포함하고 있고, “정보기술공학부”라는 문자열은 제외한 문서 검색

. 구글의 주요 연산자 활용방법

. intitle, allintitle : 페이지의 제목에서 검색

-intitle : intitle 뒤에 오는 단어나 구 하나만이 연산자의 영향을 받음

-allintitle : allintitle 뒤에 오는 모든 단어와 구가 연산자의 영향을 받음

【활용예시】

1) intitle:“index of” 또는intile:index.of (“.”=모든 문자) → 문서의 제목에“intext of"를 포함하는 문서를 검색하며, 이는 File 서비스 사이트를 검색하는 결과를 갖는다.

2) intitle:“index of”“backup files” ≠ allintitle:“index of”“backup files”

→intitle은 문서 제목에 "index of"라는 문자열을 포함하고, 문서 제목과 내용에 “backup files”라는문자열을 포함하는 문서를 검색하는 반면, allintitle은 문서 제목에 “index of”와“backup files”를포함하는 문서를 검색한다. 즉, intitle:"index of" intitle:"backup files"와 같다.

. intext, allintext : 페이지 본문에서 문자열 검색

-intext : intext 뒤에 오는 단어나 구 하나만이 연산자의 영향을 받음

-allintext : allintext 뒤에 오는 모든 단어와 구가 연산자의 영향을 받음

【활용예시】

1) intext:"한국기술교육대학교"→ 문서의 내용에 “한국기술교육대학교”라는 문자열을 포함하는 문서를 검색

2) allintext:Service Oriented Architecture → 문서의 내용에 “Service", "Oriented", "Architecture"를 포함하는 문서를 검색

. inurl, allinurl : URL에서 문자열 검색

-제약사항

URL의 프로토콜 부분(http://)을 검색하지 못함

URL에 포함되는 특수문자를 제대로 처리하지 못함

고급연산자"site", "filetype" 이 inurl보다 URL 내부의 특정 위치를 더 구체적으로 찾을 수 있음

【활용예시】

1) inurl:admin backup : URL에 “admin”이 포함되어 있고 문서의 내용 및 제목 등 모든 부분에 “backup”이 포함되어 있는 문서 검색

2) allinurl:admin backup : URL에“admin”과 “backup”이 포함되어 있는 문서 검색

. site : 특정 사이트로 검색범위를 좁힘

-특징: 구글은 오른쪽에서 왼쪽으로 읽음

【활용예시】

1) site:kut.ac.kr : "kut.ac.kr"이라는 URL을 사용하는 모든 사이트 검색

2) intitle:"index of" site:kut.ac.kr : "kut.ac.kr"이라는 URL로 서비스되는 사이트 중에서File 서비스가 있는 사이트를 검색

3) intext:"자기소개서" site:kut.ac.kr: “kut.ac.kr"이라는 URL로 서비스되는 사이트 중에서 문서 내용에 “자기소개서”라는 문자열을 포함하는 문서 검색

4) intext:"이력서" site:ac.kr filetype:hwp: “ac.kr” 즉 대학 사이트 중에서 문서 내용에 “이력서”라는 문자열을 포함하고, 파일은"hwp"인 문서(파일)를 검색

※ 이러한 검색에 의해 개인정보를 쉽게 얻을 수 있으므로 개인정보 유출에 주의

. filetype : 특정 종류의 파일 검색

【활용예시】

1) filetype:hwp : 확장자가 “hwp"인 파일을 갖는 사이트(문서) 검색

. link : 페이지로의 링크를 찾음

【활용예시】

1) link:kut.ac.kr :“kut.ac.kr”로 링크하고 있는 페이지 검색

. inanchor : 링크 문자열 내에서 검색

-특징: 실제URL이 아니라 텍스트로 표현된 형태의 링크를 검색

【활용예시】

1) inanchor:kut.ac.kr : 텍스트 형태로 “kut.ac.kr”을 포함하고 있는 페이지 검색

. numrange : 숫자 범위를 검색

-“-” 기호로 연결된 작은 숫자와 큰 숫자를 인자로 받아들임

【활용예시】

1) numrange:12344-12346 : 12344에서 12346 사이의 숫자를 포함하는 문서 검색

2) 12344..12346 : “numrange:12344-12346”와 같은 효과를 가짐

. info : 사이트에 대한 요약정보를 출력하며 사이트와 관련된 다른 구글 검색으로의 링크를 제공

-인자 값으로는 완벽한 URL이나 호스트 이름을 입력하여야 올바른 결과를 얻을 수 있음

【활용예시】

1) info:www.kut.ac.kr : www.kut.ac.kr에 대한 요약정보와 링크되거나 유사 사이트를 검색할 수 있는 링크를 제공

. related : 특정 사이트와 관련되어 있다고 판단되는 사이트 검색

-인자 값으로는 유효한 사이트 이름이나 URL을 입력

【활용예시】

1) related:www.kut.ac.kr : www.kut.ac.kr를 링크하고 있는 사이트를 검색

posted by 지니우스 2013. 9. 5. 16:07

※ 만약 8080 포트를 딴 프로그램에서 선점하고 있다면?

http://localhost:8080/
 이렇게 치면 딴 창이 뜨거나 에러창이 뜰것이다.

1. tomcat 의 포트를 바꿔보자

tomcat의 하위폴더 conf로 이동
C:\apache-tomcat-5.5.26\conf 

server.xml 파일이 보일것이다

사용자 삽입 이미지


에디트 플러스 따위로 열어본다
94번째 라인에 보면 Connector port="8080" 가 적혀있는걸 확인할수있다. 

사용자 삽입 이미지


바꿔줄 포트를 입력한다 . 여기선 80으로 바꿔주겠다
이젠 http://localhost 만 입력해도 80번 포트를 사용할것이다.

그리고 한글과 관련해서 GET 방식으로 전달된 한글을 제대로 처리하기 위해서

 URIEncoding="utf-8" 한줄을 추가해준다

사용자 삽입 이미지


저장하고 나온다.

2. 오라클이 설치되어있고 오라클이 쓰고있는 8080 포트를 ,  tomcat이 쓰고싶다면?

오라클의 HTTPServer이 8080 포트를 선점하고 있다.

오라클의 HTTPServer를 중지하자

시작 → 제어판 → 관리도구 → 서비스  선택  

OracleOraHome92HTTPServer 선택한후 수동에 중지로 바꿔놓는다


사용자 삽입 이미지




참고: http://dandyboys.tistory.com/76

posted by 지니우스 2013. 9. 5. 15:55

리눅스 열린 포트 확인

Jmnote
리눅스 열린 포트 확인
리눅스 서버 LISTEN 중인 포트 확인
netstat, nmap

목차

  [숨기기

포트 확인

방법 1:netstat

명령어
netstat -an | grep "LISTEN "
실행예시
[root@jmnote ~]# netstat -an | grep "LISTEN "
tcp        0      0 0.0.0.0:3306                0.0.0.0:*                   LISTEN      
tcp        0      0 0.0.0.0:21                  0.0.0.0:*                   LISTEN      
tcp        0      0 :::80                       :::*                        LISTEN      
tcp        0      0 :::22                       :::*                        LISTEN
→ MySQL(3306), FTP(21), HTTP(80), SSH(22) 포트가 열려 있다.
→ 알 수 없는 포트가 열려 있다면 해킹을 의심해볼 수 있다.

방법 2: nmap

명령어
nmap localhost
실행예시
[root@jmnote ~]# nmap localhost
 
Starting Nmap 4.11 ( http://www.insecure.org/nmap/ ) at 2012-10-04 22:07 KST
Interesting ports on localhost.localdomain (127.0.0.1):
Not shown: 1675 closed ports
PORT     STATE SERVICE
21/tcp   open  ftp
22/tcp   open  ssh
25/tcp   open  smtp
80/tcp   open  http
443/tcp  open  https
3306/tcp open  mysql
 
Nmap finished: 1 IP address (1 host up) scanned in 0.110 seconds

포트와 프로세스 확인

명령어

netstat -anp | grep "LISTEN "

p 옵션을 더 붙이면 프로세스 정보도 볼 수 있다.

실행예시

[root@jmnote ~]# netstat -anp | grep "LISTEN "
tcp        0      0 0.0.0.0:3306                0.0.0.0:*                   LISTEN      5178/mysqld         
tcp        0      0 0.0.0.0:21                  0.0.0.0:*                   LISTEN      2649/vsftpd         
tcp        0      0 :::80                       :::*                        LISTEN      11646/httpd         
tcp        0      0 :::22                       :::*                        LISTEN      8154/sshd
→ 포트를 LISTEN 중인 프로세스까지 확인할 수 있다.
→ 3306 포트를 LISTEN 중인 프로세스는 mysqld이며 프로세스ID는 5178이다.

같이 보기



명령어[편집]

netstat -tnlp | grep -v 127.0.0.1 | sed 's/:::/0 /g' | sed 's/[:\/]/ /g' | awk '{print $5"\t"$10}' | sort -ug

실행예시[편집]

[root@zetawiki ~]# netstat -tnlp | grep -v 127.0.0.1 | sed 's/:::/0 /g' | sed 's/[:\/]/ /g' | awk '{print $5"\t"$10}' | sort -ug
21 vsftpd
22 sshd
80 httpd
443 httpd
3306 mysqld
8009 java 
8080 java


posted by 지니우스 2013. 8. 6. 14:08

python을 윈도우에서 테스트하기 위해 ActivePython을 설치하였다.

(http://www.activestate.com/activepython/downloads)

PC가 윈도우7 64비트이긴 하지만 그냥 32비트로 깔아보았다. 

설치후 python 실행해보니 인터프리터에서 아래와 같은 에러가 나타난다.


LookupError: unknown encoding: cp65001


얘는 또 뭐니...ㅡ..ㅡ.... 귀찮다... 구글링해본다

이러쿵 저러쿵 말 많은데 이게 눈에 띈다


chcp 1252


윈도우 커맨드에서 실행해봤다.


C:\Users\ckj>chcp 1252

Active code page: 1252


뭔가 바뀌긴 했나보다.. 다시 python 실행.. 잘된다.. 



참고URL: http://bugs.python.org/issue6058#msg88060


posted by 지니우스 2013. 3. 15. 15:39

윈도우 CMD 명령어 같은 경우는 알아두면 편리합니다. 텍스트 유저 인터페이스(TUI)기반으로 단순하지만 강력한 기능을 가지고 있습니다. 사실 명령어는 아주 많지만 기본적으로 자주 사용하는 명령어 몇 가지만 알고 있어도 충분하구요. 간단하게 몇 가지 정리해보겠습니다.

 윈도우 7 : 시작->프로그램 및 파일검색->CMD입력
                Shift + 마우스 우 클릭->여기서 명령 창 열기(바탕화면에서)
 윈도우 xp: 시작->실행->CMD입력


 [단축키]

 Tab : 자동완성
  F1  : 직전에 실행한 명령어를 한자씩 입력
  F3  : 직전에 실행한 명령어 전체를 입력
  F7  : 이전에 실행한 명령어 목록 보기

 
 [CMD의 글자색 변경]

 color [숫자] 
 (참고로 숫자는 16진수 0~F까지)


 [명령어]

 -시스템

 help : windows 명령어에 관한 도움말 제공

 cls : 화면의 내용을 지움

 dir : 디렉터리에 있는 파일과 하위 디렉터리 목록을 보여줌

 type : 텍스트 파일의 내용을 보여줌

 cd : 현재 디렉터리 이름을 보여 주거나 바꿀 수 있고 디렉터리로 이동

 md : 디렉터리를 생성

 copy : 한 개 이상의 파일을 다른 위치로 복사

 del : 한 개 이상의 파일을 지움

 rd : 디렉터리를 지움

 move : 파일을 다른 디렉터리로 이동

 tree : 디렉터리의 하위목록들을 그래픽 모드로 화면에 출력

 systeminfo : 컴퓨터의 속성 및 정보를 출력

 xcopy :  디렉토리 내의 파일 및 시스템 파일을 모두 복사

 shutdown : 시스템 종료

 calc : 계산기

 control : 제어판

 cmd : 도스 명령 프롬프트(커맨드) 실행

 explorer : 탐색기

 mstsc : 원격 데스크톱 연결

 notepad : 메모장

 mspaint : 그림판

 wordpad : 워드패드

- 네트워크

 ipconfig : ip 주소 출력

 nbtstat/netstat : 프로토콜 통계와 현재 연결을 표시

 net share : 공유된 리소스 보기

 nslookup : 호스트 조회

 pathping : 패킷속도 및 손실률

 ping : 네트워크 확인

 tracert : 네트워크 경로 추적




참고: http://boxbop.tistory.com/44


posted by 지니우스 2013. 3. 5. 15:11

쿼리앞에 explain 이라고만 붙여주면 된다.


조회되는 필드들의 의미는 엮인글을 참고. 매우 잘 정리해놓으셨굼.

posted by 지니우스 2012. 12. 2. 10:49


 

json2.js

 

 

<script type="text/javascript" src="/js/json2.js"></script>

 

...

 

 $(function() {

  $("#memNotiHtmlUpForm").ajaxForm({
   // 반환할 데이터의 타입. 'json'으로 하면 IE 에서만 제대로 동작하고 크롬, FF에서는 응답을 수신하지
   // 못하는 문제점을 발견하였다. dataType을 정의하지 않을 경우 기본 값은 null 이다.
   dataType : 'text',
   beforeSerialize: function() {
    //alert("beforeSerialize"); //##
    // form을 직렬화하기전 엘레먼트의 속성을 수정할 수도 있다. (hidden 값 세팅)
    //$('#data').attr('value', '야호');
   },
   beforeSubmit : function() {
    //alert("beforeSubmit ");
    //$('#result').html('uploading...');
   },
   success : function(data) {
    // 크롬, FF에서 반환되는 데이터(String)에는 pre 태그가 쌓여있으므로
    // 정규식으로 태그 제거. IE의 경우 정상적으로 값이 반환된다.
    data = data.replace(/[<][^>]*[>]/gi, '');
    var jData = JSON.parse(data);
    
    //파일 오브젝트 초기화 및 setting
    resultFileHtml(jData.fileYN, jData.upload_gb, jData.memberNotiUrl, jData.fileName);
    
    //파일 오브젝트 초기화
    resetFileHtml();
   },
   error : function(){
    alert("업로드 실패 되었습니다.");
   }
  });
 });
 

 

posted by 지니우스 2012. 12. 2. 10:22

 

Controller Class 에 정의하기

 

 

 import net.sf.json.JSONObject;

 

  ...

 
 @RequestMapping(value="/common/common_code.ms")
 public String commonCode(Map model, Locale locale, HttpServletRequest request, HttpServletResponse response) {

  ...


  JSONObject jObj = new JSONObject();

 

  /*목록 가져오기*/
  mwCmCodeExample = new MwCmCodeExample();
  mwCmCodeExample.or().andGrpCodeEqualTo(grpCode);
  mwCmCodeList = mwCmCodeService.getByExample(mwCmCodeExample);


  Iterator<MwCmCode> it = mwCmCodeList.iterator();
  while(it.hasNext()) {
   MwCmCode one = it.next();
   jObj.put(one.getComCd(), one.getComCdVal());
  }

 

  /* SET ATTRIBUTEs */
  request.setAttribute("mwCmCodeList", mwCmCodeList);
  request.setAttribute("JSONObject", jObj);

  return "/common/result_page";
 }

 


 

 

result_page.jsp

 

 

<%@ page language="java" contentType="text/html; charset=EUC-KR" pageEncoding="EUC-KR"%>
${JSONObject}

 

 

 

 

 

js에서 정의하기

 

function setComboCode(objNm, code, allYn, selCode) {
 var x = setComboInit(objNm, allYn);
 if(selCode==undefined) selCode="";

 //SERVER CALL
 var paramData = {grpCode:code};
 $.ajax({
     type: 'GET',
     url: '/common/common_code.ms',
     async: false,    //화면(jsp) 로딩시 호출되는 function은 async true로 하면 정상 로딩 안되는 경우가 생김
     data: paramData,
     dataType: 'json',
     success: function(data) {
   var i = 1;
   $.each(data, function(key, val) {
    addOption(x,key,key+'::'+val);
    if(selCode==key) x.selectedIndex = i;
    i++;
   });
     }
 })
 .success(successCombo(x))
 .error(errorCombo(x))
 .complete(completeCombo(x));
}

 

function setComboInit(objNm, allYn) {
 var x = document.getElementById(objNm);
 clearOption(x);
 // "전체" 조회조건 있을경우
 if(allYn == "Y") {
  addOption(x,"%","전체");
 } else {
  addOption(x,"","= 선택하세요 =");
 }
 return x;
}

 

function successCombo(obj) {
 //alert("콤보가 정상적으로 호출되었습니다. 콤보호출후 수행될 successCombo(obj) 함수를 정의해주세요.");
}

function errorCombo(obj) {
 //alert("콤보 호출시 에러가 발생하였습니다. 콤보호출후 수행될 errorCombo(obj) 함수를 정의해주세요.");
}

function completeCombo(obj) {
 //alert("콤보 호출이 완료되었습니다. 콤보호출후 수행될 completeCombo(obj) 함수를 정의해주세요.");
}

 

 

jsp에서 사용하기

 

 


 <script type="text/javascript">
 
 /**
  * 페이지 로딩시 최초 실행
  */
 window.onload = function() {
  //// 초기화 /////////////////////////////////////////
  // 공통코드
  setComboCode('codeSel','0002','Y','02'); 

 }

 </script>

 

 ...

 

 <select id="codeSel"></select>