Java/SE2010. 10. 7. 15:50
간단하게 코드를 소개합니다.

        try {
            URL url = new URL(urlString.toString());
            URLConnection URLconnection = url.openConnection();
            HttpURLConnection httpConnection = (HttpURLConnection) URLconnection;
            int responseCode = httpConnection.getResponseCode();    //HTTP 응답 메세지 상태 코드를 가져옵니다.
            if (responseCode == HttpURLConnection.HTTP_OK) {        // HTTP_OK : HTTP Status-Code 200: 정상
                InputStream is = httpConnection.getInputStream();
                DataInputStream dis = new DataInputStream(new BufferedInputStream(is));
                byte[] buffer = new byte[512];
                int len = 0;
                while((len = dis.read(buffer, 0, buffer.length)) > 0){
                    byte[] req_byte = null;
                    req_byte = new byte[len];
                    for (int i = 0; i < len; i++) {
                        req_byte[i] = buffer[i];
                    }
                    resultString = new String(req_byte);
        resultString = resultString.trim();
                    //System.out.println("resultString : " + resultString);
                }
            } else {
                // 오류 HTTP 연결실패
                System.out.println("HTTP connection response != HTTP_OK");
            }
           
            // 결과값(resultString 에 따른 처리, xml 혹은 html 파일 자체를 읽어 처리할경우 파싱하는 프로세스를
            // 추가로 만들어 사용해도 좋다.
            if(resultString.startsWith("1001")) {
                // 성공
            } else if (resultString.startsWith("1000")) {
                // 실패 => 오류코드 읽어들임.
            } else {
                // 실패 => 알수없는 오류
            }

        } catch (MalformedURLException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        }


흔히 쓰이는 HttpURLConnection ...
나만 자주 쓰낭;

무튼 이렇게해서 결과값을 읽어들이고 값에 따른 메시지를 출력하거나, 로그를 남기도록 처리했다.
흠 회사내에서 만든 코드를 퍼온거라 일부 내용들은 죄 삭제했다.

원래 쓰던거에선 좀더 안쪽에 복잡한 파서들이 즐비했는데..
태그를 써서 xml 로 데이터가 오지 않는한 그런건 필요없을듯 하다.
Posted by 햇 님
OS & TIP/Linux2009. 8. 6. 18:17
sftp -oPort=사용할포트번호 접속대상아이피

명령을 실행하면 비밀번호 입력을 하라고 나온다.
해당되는 비밀번호 입력후 접속

sftp>

프로프트가 나오게 된다.

sftp>pwd

현재경로를 확인한다. 현재 경로는 접속대상서버의 경로이다.
업로드하고자하는 위치로 이동한다.
업로드 대상 파일을 업로드하는 명령어는 put 이다.

sftp>put asdf.tar.gz
Uploading a.tar.gz to /test/asdf.tar.gz
asdf.tar.gz                                                                                          100%  635MB   9.6MB/s   01:06

그럼 이상!
Posted by 햇 님
WebDevelop/JavaScript2009. 6. 15. 14:43
jquery
많이들 들어봤을 단어라고 생각한다.
jquery가 지원 하는 기능은 상당히 많다, 그렇다고 무겁다거나 하는것도 아니다.
dom 형태의 웹페이지를 jquery 통해서 손쉽게 제어 할수 있기도 하며,
Ajax, 각 dom 오브젝트들의 이벤트, jquery자체에서 지원하는 함수 등등
작지만 강력한 기능을 가진 라이브러리 이다.
 - 작은 고추가 맵다고 하던가?  :D

- 사용법
   아주 간단하다. 정말 간단하다.

<html>
<head>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript">
// 이곳은 함수를 만들면 되겠군요.
</script>
</head>
<body>
<a href="http://canworld.tistory.com/">깨어있는세상</a>
</body>
</html>

보았다시피 기존에 js 파일을 포함시키는것처럼 같은형태이다.
jquery 파일은 http://jquery.com/ 에 가면 최신버젼의 라이브러리를 받을수 있다.




Posted by 햇 님
OS & TIP/Linux2008. 7. 18. 12:02
/usr 폴더의 용량을 알고 싶을때...

du -h /usr

주로 위에 처럼 사용하시지 않았는지요? 이렇게 하면 상당히 긴~~~~~~ 줄이 끝나고
마지막에 최종적으로 사용한 용량이 보여집니다.

그래서 그런 내용들없이 짧게 필요한 전체 용량만을 보려면

du -hs /usr

위와 같이 써주시면 되구요..

/usr 외에 여러개의 폴더 별 용량을 알고 싶다면

/du -hsc /usr /bin /etc

위와 같이 c 옵션을 더 주면 폴더별로 전체 용량만 표시 됩니다. ^^

그럼 du 는 요기까지! ^^


Posted by 햇 님
OS & TIP/Linux2008. 7. 18. 11:57
리눅스에서는 서버 대 서버로 파일 전송이 가능하다.
아무런 프로그램없이 SSH 데몬이 돌고 있다면.. (대부분 돌고 있으리라고 본다.)

scp 명령어로 원격 서버로의 파일전송을 할 수 있다.

물론 나의 설명 보다도.. man scp 라던가 scp --help 를 통해서 쓸수도 있겠지만..
인터넷도 뒤져보고...
매뉴얼도 봐가면서 약간의 삽질을 해본 경험의 노하우(얼나마 했다고 -_-;;;) 를
써보려구 한다.

scp 전송할파일명 서버로그인아이디@서버아이피:/저장공간

기본적으로 위와 같이 사용하면 되겠다.
그럼 이전 포스트에서 압축하는법을 해봤기에 test.tar.gz 파일을 보내 보겠다.

ex) scp test.tar.gz root@127.0.0.1:/root/copy

실제 아이피는 다른것이겠지만.. 달리 생각나는 아이피가 없어서 local 로 복사해보았다.
복사가 잘 이루어진다. ^^
만약 root 로 접속하지 않고 다른 사용자로 접속해서 실행한다면 좀더 실감이 날것이다.
다른사용자가 접속하지 못하는 공간임에서 copy 가능하다는것은 서버대 서버로 전송이 이루어진것이기
때문이다.

그렇다면 다음으로 삽질한것은 무엇이냐!
바로 port 다..
scp 는 기본포트로 22번 포트를 사용하는데
서버마다 포트가 다를수 있다는것이다. 이럴경우는 -port 또는 -P 옵션을 사용하면 된다.

scp -P 12345 전송할파일명 서버로그인아이디@서버아이피:/저장공간

이렇게 사용하면 12345 포트를 통해 전송이 이루어진다. 물론 이 포트는 SSH의 포트인다.

그리고 SSH를 사용하니 만큰.. 전송할때 비밀번호를 알아야한다!  (-_-;; 아까 그 root도 결국은 root 비밀번호를 알아야 한다는 말씀! 쩝;)

그럼 scp는 요기까지! ^^
Posted by 햇 님
OS & TIP/Linux2008. 6. 11. 15:01
필요할지 안할지 모르겠지만 제목에 쓰인데로
리눅스에서 find 명령을 사용하여서 특정한 변수명을 찾으려고 합니다.
그리고 그 변수를 사용한 파일명을 찍게하려고 합니다.

이렇게 해서 만약 사용하지 않는 변수라던가 메소드 등
삭제해야할 곳들을 바로 알수 있고, 또한 추가 해야 할 부분이 어디인지도 쉽게 알고
원하는 위치를 쉽게 찾을수 있습니다.

그렇다면 find 명령어..
제가 아는데로.. 찾아서 본데로.. 실습해본데로 (즉 제 맘대로.... 설명해보겠습니다.)

일단 find 명령어를 만들어봅니다
처음시작은 당연히 find 이겠죠 --;

find

그 다음에는 어디서 부터 찾을지를 한 칸 띄어서 적습니다.  대상 디렉토리를 설정하는것이죠.

find .

다음은 검색 옵션을 지정합니다. 옵션에는 여러가지가 있습니다만..
주로 -name을 쓰는것 같습니다. 이외에도 일정시간 이전, 이후, 타입 등의 옵션을 줄 수 있지만
전 -name 이면 충분!  ^^;

find . -name *.j*

자 그러면 이름으로 일단 찾습니다. 그리고 그 이름은 *(모든파일이름).j*(앞글자가 j 로 시작하는 확장자명)  과
같은 형식의 파일들만을 찾습니다.
그럼 이 파일들 내에서 특정 문자를 찾아내야겠죠.

그래서 그뒤에 처리방법을 붙일수 있습니다. 이것은 찾은 파일에 대해서 어떻게 할 것인지를 지정한다.

-print 찾은 파일의 절대 경로명을 화면에 출력한다.
-exec cmd {}\;  찾은 파일들에 대해 cmd 명령어를 실행한다.

두가지 처리방법이 있는데 모두를 쓰도록 합니다.

find . name *.j* -exec grep "aaa" {} \; -print

cmd 대신에 grep 을 썻다. 그리고 "aaa" 를 붙여서 특정한 문자를 찾아내도록 한뒤
마지막에 -print 를 써서 출력하게 하였습니다.

자 실행해본 결과를 스샷으로 보여드렸으면 하지만..
아직 업무중인지라 나중에 --;;;  ㅋㅋ




> out.txt 을 써서 파일 출력해도 좋다!
Posted by 햇 님
OS & TIP/Windows2008. 6. 5. 09:42
아래의 내용은 hosts 파일의 기본적인 설정 내용입니다.

# Copyright (c) 1993-1999 Microsoft Corp.
#
# This is a sample HOSTS file used by Microsoft TCP/IP for Windows.
#
# This file contains the mappings of IP addresses to host names. Each
# entry should be kept on an individual line. The IP address should
# be placed in the first column followed by the corresponding host name.
# The IP address and the host name should be separated by at least one
# space.
#
# Additionally, comments (such as these) may be inserted on individual
# lines or following the machine name denoted by a '#' symbol.
#
# For example:
#
#      102.54.94.97     rhino.acme.com          # source server
#       38.25.63.10     x.acme.com              # x client host

127.0.0.1       localhost


보시는거와 같이 설명이 쭉 되어져있구요.
한번 보시면 알겠지만  '#' 기호는 주석 기호라는것을 알수 있을것입니다.

이 파일의 위치는

사용자 삽입 이미지

C:\WINDOWS\system32\drivers\etc   에 위치하고 있습니다.


자 이제 이녀석이 무엇을 하느냐..
바로 ip주소를 host 주소로 매핑해주는 역할을 합니다.

기본적이로 등록된것으로는
127.0.0.1  이 localhost 로 등록이 되어져 있는것을 볼 수 있습니다.

우리가 흔히 자기자신을 가르키는 주소로 localhost 를 쓰는데
이것이 그냥 거저 쓰이는게 아니었던거죠..

localhost 라는것도 결국 host 이름인데.. ip와 매핑이 이루어져야 한다는 이야기입니다.
즉 우리가 테스트서버에서 테스트하는경우에도
특정 아이피가 아닌 이렇게 host 를 등록해놓고 테스트가 가능하다는것이죠 ^^

뭐 테스트 서버가 어떠냐에따라 틀리겠지만 때에 따라서는 포트번호를 지정해줘야 하는경우도 있는데
그런경우는 간단히
host 주소뒤에 :8080 과 같이 포트번호를 붙여주면 됩니다~ (까먹지 말자구요~)

ps. 추가로 써 넣어야 하는데 빠졌네요.
테스트 서버에서 테스트하고자하는 어플리케이션에도 hosts 파일에 저장하는 host 이름과 같은 형태로
서버에 올라와야합니다. 음... 톰캣을 예를 들자면

<Host name="test.co.kr" debug="0" appBase="java/webapps" unpackWARs="true" autoDeploy="true">
     <Context path="" docBase="webapps" debug="0"      reloadable="false" crossContext="true">
     </Context>
</Host>

위와 같이 server.xml 에 host name 이 설정이 되어져 있어야 한다는것입니다.
순간순간 까먹다보니.. 중요한 부분을 놓쳐버렸네요.
모두들 실수하시지 마시고 테스트 해보세요~ ^^
Posted by 햇 님
Database/Oracle2008. 5. 14. 10:35
회사에서 소스를 파악하다가 쿼리문중에 decode 라는 함수를 보았다.
언젠가 본적이 있는거 같은데 생각이 안나서 열심히 뒤져보고 찾아보았다.

- 구문
DECODE({column | expression}, search1, result1 [,search2,result2] ... [,default] )

이와 같이 사용하면 된다.

설명을 하자면 일단은 맨처음에 decode 하고자하는 column을 적고 그 뒤에는
coulumn에 존재하는 찾을 값들을 적고, 그 뒤에 새롭게 쓰고자하는 값을 적어넣으면 된다.

emp 테이블로 간단하게 예를 들자면

select ename, job,
    decode(job, 'ANALYST', '분석가',
                'CLERK', '점원',
                'MANAGER', '관리자',
                'SALESMAN', '영업사원',
                'PRESIDENT', '사장님') as new_job
from emp;

위의 쿼리문을 실해하면 job 의 값에 따라서 new_job 컬럼에 대응되는 값들이
나타나게 된다.

참고글
 -
http://luckys.tistory.com/35

원문
 -
http://blog.naver.com/bleu_ciel/140037398850

Posted by 햇 님