2013. 12. 23. 19:41

시스템 프로퍼티란 시스템 환경에 관한 정보를 말한다.

System 클래스에 있는 getProperty() 메서드를 이용하면,
현재 사용하고 있는 환경 정보를 얻을 수 있다.
System 클래스를 이용하기 위해서는 java.util 패키지를 임포트 한다.


import java.util.*;
.
.
String version = System.getProperty("java.version");

 

주요 프로퍼티는 아래와 같다.
프로퍼티 : 의미 : 표시 예
java.version : Java 의 버전 : 1.4.2_13
java.vendor : Java 의 벤더(공급자) : Sun Microsystems Inc.
java.vendor.url : Java 의 벤더의 URL : http://java.sun.com
java.home : Java 를 인스톨한 디렉토리 : c:\j2sdk1.4.2_13
java.class.version : Java 클래스의 버전 : 48
java.class.path : Java 클래스가 존재하는 경로 : c:\Java
java.ext.dir : 확장기능 클래스를 포함하는 디렉토리 : null (미설정의 경우)
os.name : OS 의 이름 : Windows XP
os.arch : OS 의 아키텍처 : x86
os.version : OS 의 버전 : 5.1
file.separator : 파일을 구분하는 문자 : \(Unix 에서는 /)
path.separator : 경로를 구분하는 문자 : (Unix 에서는 :)
line.separator : 행을 구분하는 문자(개행코드) : \n
user.name : 사용자 계정 : Na
user.home : 사용자 홈 디렉토리 : c:\Document and Settings\Na
user.dir : 현재 작업 디렉토리 : c:\Java


이를 구현하기 위해 직접 코딩을 해보았다.

<a.java 의 내용>-------------------------
import java.util.*;

class a{
  public static void main(String args[]){
    System.out.println("java.version : " + System.getProperty("java.version"));
    System.out.println("java.vendor : " + System.getProperty("java.vendor"));
    System.out.println("java.vendor.url : " + System.getProperty("java.vendor.url"));
    System.out.println("java.home : " + System.getProperty("java.home"));
    System.out.println("java.class.version : " + System.getProperty("java.class.version"));
    System.out.println("java.class.path : " + System.getProperty("java.class.path"));
    System.out.println("java.ext.dir : " + System.getProperty("java.ext.dir"));
    System.out.println("os.name : " + System.getProperty("os.name"));
    System.out.println("os.arch : " + System.getProperty("os.arch"));
    System.out.println("os.version : " + System.getProperty("os.version"));
    System.out.println("file.separator : " + System.getProperty("file.separator"));
    System.out.println("path.separator : " + System.getProperty("path.separator"));
    System.out.println("line.separator : " + System.getProperty("line.separator"));
    System.out.println("user.name : " + System.getProperty("user.name"));
    System.out.println("user.home : " + System.getProperty("user.home"));
    System.out.println("user.dir : " + System.getProperty("user.dir"));
  }
}
----------------------------------------

만약, 출력결과를 텍스트 파일로 보고 싶다면,

>java a > 1.txt

라고 실행하면, 실행결과를 1.txt 파일로 출력해준다.



첨부파일: system_getProperty.zip


Posted by hoonihoon
2013. 12. 23. 00:19




서바이벌 오디션 K팝스타3'에서 참가자 임영은양이 


저니의 '오픈암스(Open Arms)'를 불렀습니다.


오픈암스는 약 20년 전 서태지와 아이들 콘서트때 솔로로 불렀던 곡"이라며,


 "그때 '제겐 여자 친구가 있는데 그건 바로 여러분'이라고 말한 적이 있다"고 고백했습니다.


양현석은 "제가 살면서 가장 후회되는 순간 중의 하나가 그때"라고 하며 웃음을 자아냈습니다.







동영상을 보시려면 클릭클릭!!



Open Arms 원곡을 들어 볼까요?




원곡 (Journey)


Boyz 2 Men - 
Open Arms



Aiza Seguerra -
Open Arms
 
 

Céline Dion -Open Arms



Posted by hoonihoon
2013. 12. 23. 00:06

MP3 노래다운 받는 쉬운 방법에 대해서 포스팅 하도록 하겠습니다.

유투브를 이용해서 노래를 다운로드 받는 방법입니다.




1. MP3 다운로드 받고 싶은 YouTube 페이지로 이동하여 주소창에 있는 URL을 복사합니다.



2. www.video2mp3.net 싸이트로 이동.  아래 주황색 Convert 버튼 왼쪽에 URL를 입력해주세요.




3. Converting 하면서 영상이 mp3파일로 변환중이라고 표시 됩니다. 잠시만 기다려주시면.....  다운완료~



읽어 주셔서 감사합니다 ^^

Posted by hoonihoon
2013. 12. 23. 00:01

YouTube 유튜브 동영상 다운로드 가장쉽게 하는 방법에 대해서 알아 보도록 하겠습니다.

JavaScript를 이용한 YouTube 동영상 다운로드 방법을 알아 보겠습니다 ^^


아래 코드를 즐겨 찾기에 추가해주세요

javascript:(function(){document.body.appendChild(document.createElement('script')).src='http://userscripts.org/scripts/source/25105.user.js'})();


추가 방법을 자세히 알려드릴께요~


1. 오른쪽 상단에 즐겨찾기를 클릭합니다.  (별모양)







2. 수정을 클릭 해주세요







3. 아래와 같이,  이름과 URL 부분을 채워 주세요.

 이름은 보기편한데로 하시고, URL 은 위에 코드를 사용해주세요.







4. 다운로드 받고 싶은 YouTube 동영상 위치로 이동 합니다.

 추가했던 즐겨찾기를 클릭 해주세요. 그러면 아래와 같이 다운로드 부분이 생깁니다.





5. 다운로드가 완료 되었네요^^ 따라와 주셔서 감사합니다 ^^


주의: YouTube 동영상은 저작권자 허락 없이 동영상을 다운로드 하여 다시 공유하는 행위는 복제권, 공중송신권에 해당하니 개인 소장용으로만 사용해주세요.



다운로드가 아닌 블로그나 카페나 유투브 고화질 동영상을 올리고 싶으시면 클릭 해주세요

유투브 고화질 동영상 올리기 click click!!



Posted by hoonihoon
2013. 12. 20. 17:59

 조인(JOIN)은 여러 테이블의 상호 연관관계를 연결하여 결과값을 가져올 때 사용합니다.


1. INNER JOIN

  *. INNER JOIN은 조인하는 테이블의 ON 절의 조건이 일치하는 결과만 출력됩니다.

  EX) SELECT * 

           FROM A_TABLE AS A 

     INNER JOIN B_TABLE AS B 

    ON A_TABLE.COL1 = B_TABLE.COL1;

--A_TABLE.COL1과 B_TABLE.COL1이 일치하는 데이터만 출력됩니다.


2. OUTER JOIN

  *. OUTER JOIN은 조인하는 테이블의 ON 절의 조건 중 한쪽의 데이터를 모두 가져옵니다.

     OUTER JOIN은 LEFT OUTER JOIN, RIGHT OUTER JOIN, FULL OUTER JOIN 이렇게 3가지가 있습니다.

     LEFT OUTER JOIN을 거의 대부분 사용하여, FULL OUTER JOIN은 성능상 거의 사용하지 않습니다.

  EX) SELECT *

           FROM A_TABLE AS A

           LEFT OUTER JOIN B_TABLE AS B    -- A_TABLE 기준

              ON A_TABLE.COL1 = B_TABLE.COL1

-- A_TABLE.COL1이 존재하지만 B_TABLE.COL1이 존재하지 않으면 B_TABLE.COL1은 NULL로 출력됩니다.



출저: http://h5bak.tistory.com/80

Posted by hoonihoon
2013. 12. 20. 16:52

Servlet 를 이용한 파일 업로드를 간단하게 완성 시켰습니다.

사진과 글이 <Form> 태그를 통해 온 것을 파싱 할 수 있는 MultipartRequest 를 사용했습니다.


1. cos.jar 를 다운 받아 주세요.

 http://www.servlets.com/cos/ 접속해서 받거나 아래 아이콘을 클릭해서 받으면 된다.

cos.jar


2. 파일업로드 서블릿을 생성하고 web.xml파일에 Servlet를 추가해주세요.


public class UploadServlet extends HttpServlet{

public UploadServlet() {

super();

}

public void init() throws ServletException {}

@Override

protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws IOException {

FileManager fileManager = new FileManager(req); 

        }


3. FileManager class 를 만들어서 File을 관리할 수 있도록 했습니다.

MultipartRequest Class를 이용하면 File 복사가 되고, 파일명을 바꾸고 싶으면 마지막 파라미터를 주의 깊게 보시면 됩니다.


public class FileManager {

private MultipartRequest mRequest;

private int postMaxSize = 10 * 1024 * 1024;   //10MB

      private String encoding = "UTF-8";

public FileManager(final HttpServletRequest req) throws IOException {

mRequest = new MultipartRequest(req, 이미지저장 Path, postMaxSize, encoding, new FileAlteration());

}

}



4. 마지막 파라미터에 FileAlteration 이라는 class를 inner class 로 생성 했습니다.


class FileAlteration implements FileRenamePolicy {

@Override 

public File rename(File file) {

String parentDir = file.getParent();

String fileName = file.getName();

//Get the extension if the file has one

       String fileExt = "";

       int i = -1;

       if(( i = fileName.indexOf(".")) != -1){

           fileExt = fileName.substring(i);

           fileName = fileName.substring(0,i);

       }

       //Add the timestamp and user ID

       String userId = (String) req.getSession().getAttribute("id");

       newFileName = /*fileName + "_"+ */userId +("_"+( new Date( ).getTime( ) / 1000)) + fileExt;

      

       //piece together the filename

       newFileFullName = parentDir + 

        System.getProperty("file.separator") + newFileName;

       

       file = new File(newFileFullName);

       mimeType = new MimetypesFileTypeMap().getContentType(file);


return file;

}

}



위 소스를 보시면 쉽게 이해하실 수 있을거 같습니다.

파일작성자의 아이디와 TimeStamp 값을 이용해서 새롭게 생성될 파일의 이름을 만들어 주면 됩니다.

아래와 같이 파일이 저장됩니다.




단순한 업로드가 완성 되었습니다.


지금 하고 있는 모바일웹프로젝트에 글과+사진이 함께 전송하도록 하기 위해 한 것입니다.

파일업로드 뿐만 아니라 

게시판테이블에 글 정보 삽입, 방금 삽입된 레코드의 INDEX 를 가져오는 루틴,

파일정보를 담은 테이블에 정보 삽입, 게시판 테이블 UPDATE 까지 고려해야 합니다.





Posted by hoonihoon
2013. 12. 19. 23:17

Java 자바 4대 중첩클래스 (instance class, static class, local class, anonymous class)

 

1. 일반 중첩클래스

 

중첩클래스는 효율적인 관리를 위한 하나의 형식이다. 프로그램에서는 하나의 대표 클래스 내에 다른 클래스들을 넣어 관리할 수 있는 형식을 제공한다. 그것은 대표 클래스가 그들 모두에 있어 공통적인 속성 값만 가지고 나머지는 각기 다른 중첩 클래스에서 관리하도록 만드는 것이다. 즉, 중첩클래스란 하나의 클래스 내부에 또 다른 클래스를 사용할 수 있는 것이다. 당연히 중첩되는 클래스는 하나 이상일 수 있다.

 

그렇다면 클래스 외부에서 중첩클래스 내부의 멤버들에는 어떻게 접근할까? 우선 바깥쪾에 있는 클래슬 Outer

클래스라 하고 안쪽에 있는 클래슬 Inner클래스라 하자. 

 

■ 중첩클래스 접근 형식

Outer 객체1 = new Outer();  <=Outer클래스 객체 생성 방법

Outer.Inner 객체 2 = 객체 1.new Inner(); <=Inner클래스 객체 생성 방법

 

간단한 코딩을 통해 내부 멤버에 접근해 보자.

 

 

 

 

여기서 중첩 클래스에는 각각 Outter클래스에 x의 멤버를 Inner클래스에는 y의 멤버를 배치해 두었다. 각 데이터를 사용하는 방법은 x는 Outter클래스 멤버이기 때문에 Outer클래스의 객체를 발생시키고, y는 Inner클래스 멤버이기 때문에 Inner클래스 객체를 발생시켜 접근하면 된다.

 

또한 Inner클래스에서는 Outer클래스의 멤버를 이용할 수 있다. 아래 코딩을 보면 객체 생성없이 바로 Inner클래스에서 Outter클래스의 멤버를 이용할수 있음을 알 수 있다.

 

 

 

 

 하지만 Outer클래스에서는 Inner클래스의 멤버를 사용할 수 없다.

사용하고 싶다면 객체를 직접 발생시켜야 한다 . 다음 코딩을 보면 Outer클래스 Inner클래스를 사용하기

위해서 객체를 발생시키는걸 알 수 있다.

 

 

 

 

 

 

 

2. 정적 중첩 클래스

 

다음으로 살펴볼 것은 중첩 클래스 내부에서 static과 관련된 멤버를 선안할 수 있는 클래스이다.

이것은 단순히 클래스 이름 앞에 static이라는 예약어만 붙이면 되고, 이런 클래스를 정적(static)

중첩 클래스라고 한다.

 

class Outer{

     static class Inner{

...........

}

}

 

정적 중첩클래스는 static의 특성상 객체를 독립적으로 만들 수 있다.

 

■ 정적 중첩클래스의 객체 생성 방법

Outer.Inner  객체 = new Outer.Inner();

 

일반 중첩 클래스와 달리 Outer클래스의 객체가 없어도 Inner클래스의 객체를 만들 수 있다. 또한 static멤버를

선언할 수 있고, static메서드도 만들어 사용할 수 있다. 그래서 반드시 Inner클래스에 static을 선언하여 사용하고

싶다면 정적 중첩클래스를 사용해야 한다. 또한 객체의 선언 방식은 일반 중첩클래스의 객체 선언 방식을 사용할 수 없고 위와 같이 Outer.Inner 객체 = newr Outer.Inner(); 로만 객체를 발생시킬 수 있다. 문제는 Outer클래스의 멤버를 끌어다 쓰는 것이 문제인데, 끌어다 쓰려는 Outer클래스의 멤버가 static인 경우에만 사용할 수 있다.

 

그렇다면 만인 main()메서드를 Inner클래스에 사용하고 싶다면 어떻게 해야 할까? 먼저 main()메서드는 그 자체가 static이기 때문에 정적 중첩 클래스를 사용해야 한다.

 

 

 

 

3. 지역 중첩 클래스

 

일반적으로 클래스라는 것은 재상용을 염두해 두고 만들어진 것인데 이런 클래스가 특정 메서드를 실행할 때에만 필요하고 별로 사용할 경우가 없다면 그것을 굳이 외부에 드러나는 형태로 만들 필요는 없을 것이다. 그래서 특정 메서드에 한정적인 용도로 사용할 클래스로 지역 중첩 클래스라는 개념이 등장하였다. 그러나 이 경우는 접근 제한자와 지정 예약어를 사용할 수 없는 형태이다.

 

 

 

위의 코딩을 보면 main()메서드 안에 Inner클래스가 들어가 있는 상황이다. 여기서 만일 일반 중첩 클래스처럼 main()메서드의 멤버인 x를 사용하려면 그 멤버는 반드시 final로 선언되어 있어야 한다.

 

 

4. 익명 중첩 클래스

 

익명 중첩 클래슨느 지역 중첩 클래스의 변형된 형태라고 할 수 있다. 이것은 이름에서 알 수 있듯이 class라는 예약어와 클래스명을 가지지 않고 단지 instance의 생성과 내용부의 정의만 가진다. 한가지 주의할 점은 여기에 사용되는 중첩 클래스는 이미 기존에 존재하는 것이어야 한다. 또한 이 내부에서 사용할 수 있는 외부 멤버도 역시 final로 선언되어 있어야 한다.

 

 


출저: http://kwy1052.tistory.com/41?viewbar

Posted by hoonihoon
2013. 12. 19. 19:23



MBC 아나운서 김선신 여신님을 소개하겠습니다.

사진출처 - http://toodur2.tistory.com/562







경인교육대학교 초등학교육학을 전공하여 초등교육학을 전공하여 초등학교 교사의 경력을 가지고 있다고 하네요.


학생들 선생님들 사이에서 인기 대박 많았을 거 같습니다 ^^


신은 공평하다고 하셨는데....


김선신 아나운서는 2011년 7월에 MBC스포츠+에 아나운서로 입사


2012년 4월부로 베이스볼 투나잇 야 의 토요일, 일요일 진행을 맡고 있습니다.


김선신 아나운서는 착하고 귀엽고 엉뚱한 매력이 있습니다.


모르는 분께 15만원 빌려주시고 ㅠㅠ




눈이 선하게 보여서 빌려 줄꺼 같았나 봅니다.


김선신 아나운서 닮은 꼴이라고 하네요. 뮬란이랑 닮았나요?

닮은 거 같기도 한데 ㅎㅎ 





아래는 김선신 아나운서의 일상 사진 입니다.



선생님이셔서 그런지 젓가락질도 잘하시네요 ^^




맨 아래 사진출저: MJPARK님  http://blog.naver.com/cheap7?Redirect=Log&logNo=70179396049







아래는 방송사진 모음입니다. 제가 마음에 드는 사진만 몇개 퍼왔네요^^






헐 대박 !!~!~!  정말 이쁘지 않나요?





아래는 꼭 봐야할 움짤.!!




움짤 출저 : 평창동 완소남님http://blog.daum.net/hayena2000/26476


김선신 아나운서의 귀요미 송


김선신이라 쓰고 김태희라 읽는다? 라는 말을 했던 방송. 꼭 보세요~~~




야구계 3대여신 최희 아나운서 보러 가기 click click !

야구계 3대여신 막내 배지현 아나운서 보러 가기 click click !

Posted by hoonihoon