반응형

가끔 가다가 잘 접속되던 서버가 아래와 같은 메세지를 띄우는 경우가 있다.

@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@    WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!     @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
IT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING NASTY!
Someone could be eavesdropping on you right now (man-in-the-middle attack)!
It is also possible that the RSA host key has just been changed.
The fingerprint for the RSA key sent by the remote host is
-생략-
Please contact your system administrator.
Add correct host key in /home/warren/.ssh/known_hosts to get rid of this message.
Offending key in /home/warren/.ssh/known_hosts:1
RSA host key for -생략(ip)- has changed and you have requested strict checking.
Host key verification failed.

참... 당황 스럽다... 
욱긴건 다른 컴퓨터에서는 될때다...이러면 더 아리까리 해진다.

일단 해결법은 이렇다.

ssh-keygen -R [ IP or DomainName]


ex) ssh-keygen -R 110.110.110.110


그후에 다시 접속하면 이번엔 메시지가 바뀐다.
Are you sure you want to continue connecting (yes/no)?
대략 이런 메시지를 띄운다. 그럼 그냥 yes 하면 끝이다.


위에 상황을 예를 들면...
A host 가 있고 B server가 있다. 
A는 항상 B 서버에 ssh접속하고 있었는데 B서버에 ssh나 os를 새로 설치 하는 작업을 했다.
그런후에 A는 똑같이 B에 접속을 한다. 이때 B에 IP는 똑같다면...
위와 같은 메시지가 뜬다!!

이렇게 되는 이유는 단순하다.
ssh 최초접속시에 A와 B에서 서로간에 인증 과정을 하는데.. B는 새로 설치되었으니 B는 상관없지만..
A는 예전B에  IP로 인증이 되어있는 상태에서 B로 로그인을 하면
로그인시에 예전에 IP로 인증했던 정보를 가지고 B로 로그인을 하려고 하지만 B는 인증정보가 없기때문에
위와 같은 현상이 나타난다.


만약 위에 명령어가 먹히지 않는다... 아직도 똑같다...
그러면 find / -name known_hosts 을 통해 해당파일을 찾아 지우면 된다.
보통 /root/.ssh/known_hosts 에 있다.
나니면 /home/username/.ssh/known_hosts 

자신의 root면 root에 있는 것을 지워야 되고 일반 유저 이면 /home/username에 있는 걸 지워야겠죠?


반응형
반응형

자바스크립트에서 숫자를 표기할때 3자리마다 콤마를 찍어줘야 할 때가 있다 자주 사용하는 기능인데 매번 만들기란 여간 귀찮은게 아니다.

콤마찍기

 

1
2
3
4
5
//콤마찍기
function comma(str) {
    str = String(str);
    return str.replace(/(\d)(?=(?:\d{3})+(?!\d))/g, '$1,');
}

콤마풀기

 

1
2
3
4
5
//콤마풀기
function uncomma(str) {
    str = String(str);
    return str.replace(/[^\d]+/g, '');
}

 

복사 붙여넣기로 사용하자!

input box에서 사용자 입력시 바로 콤마를 찍어주기 위한 함수도 추가 한다.

 

1
2
3
4
5
function inputNumberFormat(obj) {
    obj.value = comma(uncomma(obj.value));
}
 
//<input type="text" onkeyup="inputNumberFormat(this)" />

 

 

출처 : http://blog.munilive.com/javascript-comma-uncomma/

반응형
반응형

예) select * from table_name order by rand() limit 10 ;

위에서 table_name 에는 자신이 랜덤으로 데이터를 뽑을 테이블의 이름이며

10은 자신이 랜덤으로 몇개의 데이터를 뽑을것인지 쓰는 곳이다.

예를들어 자신이 aaa라는 테이블에서 7개의 임의의 데이터를 읽어오려면

select * from aaa order by rand() limit 7 ;

라고 쓰면 된다.

반응형
반응형

<fmt:formatNumber value="${docExtra.docScore}" type="pattern" pattern="0.0"/>

반응형
반응형

숫자 천단위마다 콤마 찍어 구분

<fmt:formatNumber value="${vo.basket_goods_amount}" groupingUsed="true"/>

 

금액 표시
<fmt:formatNumber value="${vo.goods_price}" pattern="\#,###.##"/>

 

날짜 표시
<fmt:formatDate value="${vo.basket_date}" type="both" pattern="yyyy-MM-dd(E)"/>

반응형
반응형

# tar zxvf /etc/file.tar.gz -C /etc

-C 옵션을 사용해서 압축풀 디렉토리를 지정할 수 있습니다.

-C, --directory=DIR
change to directory DIR

반응형
반응형

Java에서의 형 변환은 빈번히 일어나는 일이다.
그래서 형 변환에 관해서는 필수적으로 알아야 한다.
그 중 가장 많이 일어나는 String->int, int->String에 대해서 살펴보자.
String을 int형으로 바꾸기 위해서는 java.lang팩키지의 Integer클래스에서 parseInt(String s)메소드를 알아야 한다.

  • public static int parseInt(String s) throws NumberFormatException
    • 매개변수로 String클래스의 인스턴스 s를 받아서 숫자로 변환이 가능하면 int형의 값을 반환한다.
    • 만약에 숫자로 변환이 가능하지 않으면 NumberFormatException이라는 RuntimeException을 던지는 메소드이다.

두번째는 int형을 String으로 바꾸는 과정이다. 이것은 java.lang팩키지의 String클래스에서 valueOf(int i)메소드를 알아야한다.

  • public static String valueOf(int i)
    • 매개변수 int형의 변수 i를 받아서 String형의 인스턴스를 반환한다.
    • Integer.toString()에 의해서 반환되는 값과 동일하다.

위의 두 메소드만 알면 String과 int형 사이에서의 형 변환은 쉽게 할 수 있다.

public class ParseExam {
   
    public static void main(String[] args) {
       
        String numStr = "54";
       
        // String값을 int형의 값으로 바꾸는 방법
        int numInt = Integer.parseInt(numStr);
        System.out.println(numInt);
       
        // int형의 값을 String으로 바꾸는 방법
        String numStr2 = String.valueOf(numInt);
        System.out.println(numStr2);
    }

}

 

출처 : http://egloos.zum.com/penta82/v/4099027

반응형
반응형

-bash: ./test.sh: /bin/bash^M: bad interpreter: 그런 파일이나 디렉토리가 없음


실제로 리눅스에서 웹호스팅을 사용하시다 보면,  윈도우에서 에디터플러스와 같은 편집기를
사용해서 파일을 업로드 한뒤, 리눅스로 SSH 나 Telnet 으로 접근을 해서 vi 같은 편집기로 열어
보시면 라인의 마지막에 항상 ^M 가 붙어 나오는 현상을 보실수 있을겁니다. 이는 리눅스와 윈도우
의 파일을 저장하는 형식이 달라서 생기는 현상입니다.

물론, 실제로 웹서비스를 하는데 큰 영향은 가지는 않는경우가 대부분입니다.

하지만, 예를 들어, 윈도우에서 작성을 한 Perl, Bash, Python 등의 스크립트인 경우 쉘에서 직접
실행할 경우도 존재합니다. 이때에는 파일형식이 윈도우이기때문에 실행이 되지 않습니다.

아래의 예처럼 ^M 문자 때문에 bad interpreter 라는 오류가 나오게 됩니다.
-bash: ./test.sh: /bin/bash^M: bad interpreter: 그런 파일이나 디렉토리가 없음

이때에 이 문제를 해결하실수 있는 몇가지 방법을 제시하도록 하겠습니다.


ㅁ 텍스트문에서 ^M자 없애기    

  1. vi 에서 ( vim 아닙니다. )
     명령어 모드
     :%s/^M//g

     %s는 치환명령 입니다
     %s///mode

     위에서 mode에 g를 썼는데, 이것은 global의 약자로 파일 전체에 모두 적용하는 mode 입니다.

     :%s/^M 만 해도 됩니다.
     ^M 은 Ctrl+V+M or Ctrl+V+Enter

  2. vim 에서
     vim에서는 dos mode의 화일을 읽어도 화면에 ^M을 표시하지 않습니다.
     대신 밑에 [dos] 라고 나타납니다.
     다음과 같이 해서 unix mode로.. 즉 ^M을 빼는것입니다.

     :set fileformat=unix

     반대로 unix mode에서 dos mode로 바꾸고 싶다면

     :set fileformat=dos


  3. cat과 tr 사용
     cat은 파일의 내용을 stdout 으로 출력하고, tr은 특정 캐릭터를 바꾸거나 없애는것입니다.
    
     예를 들어 file1.txt 가 dos mode 라면

     # cat file1.txt | tr -d ^M > file2.txt

     이렇게 하면 ^M만 제거된 새로운 file2.txt가 생깁니다.
     이때 주의할 것은 절대로 위의 두 화일명을 같게 하면 안된다는 것입니다.

  4. dos2unix
      dos2unix 명령어는 위의 1,2,3 과 동일한 역할을 하지만, 단순한 명령도구 입니다.

      아래는 윈도우 파일 형식을 유닉스(리눅스) 형식으로 변환하는 명령입니다.
      [root@www ~]# dos2unix file1.txt
      dos2unix: converting file file1.txt to UNIX format ...

      반대로 아래와 같이 유닉스(리눅스) 형식의 파일을 윈도우 형식으로 변환 또한 가능합니다.
      [root@www ~]# unix2dos file1.txt
      unix2dos: converting file file1.txt to DOS format ...

 

출처:http://mydoc.digimoon.net/board/skin/ggambo7002_board/print.php?id=board&no=228

반응형

+ Recent posts