전체 글

전체 글

    자바 콘솔에서의 다양한 실행방법(jar, 빌드)

    선행작업 환경변수 %JAVA_HOME\lib;.; 여야함 // 이게 이클립스 오류의 주범이기도 했었다 ㅡㅡ; 나의 경우엔 콘솔로 빌드하다 오류발견.. javac (파일명).java java (파일명) - 먼저 빌드하고 class파일로 만들어주어야한다. jar 자바 아카이브 파일 (여러개의 파일을 하나로 묶어서 관리하기 위함) ex ) jar cf test.jar kr\* (생성 옵션, 그리고 생성할 jar파일 명, 묶일 파일들) 패키지 지정시 cp 명령어를 통해 실행해야한다.. 근데 jar파일을 이용하면 바로 실행가능! 메인 클래스가 무엇인지 알려주는 manifest.txt 파일이 필요하다 manifest.txt에서 Main-class: kr.co.test.Hello ( 풀 패키지명, 클래스 명 ) 작성..

    HTML에서 이메일 유효성 체크하기 (HTML5)

    HTML에서 이메일 유효성 체크하기 (HTML5)

    이메일 유효성 체크는 자바스크립트로 많이 해왔다 ( 특히 정규표현식을 이용해서 ) 이건 다음 포스팅에서 다뤄보기로 하고, 이번 포스팅에서는 편하게 이메일 유효성 체크하는 법을 알아보기로 한다. 아래의 코드를 보도록 하자. 인터넷을 찾아봤는데 input 태그의 type속성에 email만 줘도 체크를 한다는데 내껀 안한다. HTML5 속성을 찾아보니 required가 있는데 이 속성을 줘야만 제대로 유효성 검증을 한다. 또한 required 속성은 어느 input 태그에서나 사용할 수 있다. 당연한 말이겠지만 submit과 함께 form에 속해있지 않으면 체크가 안된다. input type="email", required 속성을 주면 유효성 체크를 한다! 아래는 결과값이다.

    자바 익명클래스와 자바 람다 (Java Anonymous class, Java Lambda) 1편

    자바 익명클래스와 자바 람다 (Java Anonymous class, Java Lambda) 1편

    자바의 람다는 익명클래스와 매우 비슷한 모습을 하고있다. 그러나 둘은 아주 다르다. 익명클래스 일단 익명클래스는 어쨌거나 사용할 때 보통 객체와 동일하게 힙에 할당이 된다. 메인메소드 내에서 익명클래스를 사용하면 컴파일 시에 $1, $2 등과 같은 순서대로 클래스파일이 생성이 된다. 예시로, 평범한 인터페이스를 하나 선언한다. 추상클래스나 일반 클래스도 상관없다. interface Test{ public int getNum(); } 그 후, 메인에서 바로 사용하기 위해 재정의를 해준다. public class LambdaTest { public static void main(String[] args) { Test t1 = new Test(){ public int num = 10; public int ge..

    JAVA Exception 예외, 사용자 정의 예외처리 만드는법

    자바의 예외처리는 조금 특별하다. 사용자가 직접 예외를 만들 수도 있다. 간단하게 Exception을 상속받아서 사용자 정의 예외를 만들수 있다. Exception의 종류는 두 종류로 나뉜다, Checked Exception - 컴파일 타임에 체크, Unchecked Exception - RuntimeException 를 상속받아서 런타임에 체크 사용자 정의 Exception // 사용자 정의 Exception 클래스 public class CustomException extends Exception { public CustomeException(String message) { super(message); } } 예외 객체를 이렇게 만들어주고 Exception 실행부 public class MainExc..

    Comparable, Comparator를 이용한 객체간 크기 비교

    오늘은 객체 간 비교를 위한 인터페이스를 살펴보도록 하겠다. Comparable CompareTo() 재정의 이것은 같은 객체끼리 비교하는 것을 의미한다. 특히 기본 객체 자료형들은 이것을 상속받아 구현하였으며, 우리가 아는 Number를 상속받은 객체자료형은 값의 크고 작음을 비교하고, String의 경우 사전적 비교를 한다. 객체 내부에 명확한 값이 있어서 비교를 할 땐 이 인터페이스를 구현한다. public class ComparableMain { public static void main(String[] args){ System.out.println(new String("b").compareTo("a")); // 1 } } Comparator compare() 재정의 이것은 정렬규칙 그 자체를 의..

    Reflection 이란 ? JAVA Reflection, Reflect Class, RTTI

    오늘은 Reflection에 대해서 이야기 해보려고 한다. Reflection 개요 JVM에는 RTTI 시스템이 내장되어있다. RTTI란 RunTime Type Information의 줄임말인데, 실행시간에 타입의 정보를 알아내는 것이라고 볼 수 있다. 이는 자바에서 쉽게 사용할 수 있도록 클래스화 시켜놓기도 하였다. 보통 클래스를 통해 객체의 정보를 알아 낼 수 있는데, 클래스가 아닌 동적으로 메모리에 생성된 객체를 통해 클래스의 정보를 알아내는 것을 Reflection이라고 볼 수 있다. API문서를 보면 reflect 패키지 내부에 있는 클래스들이 있다. 위에 설명한 RTTI를 이용할 수 있게 만들어진 클래스들이며, 이 클래스는 생성한 객체의 인스턴스 타입, 메소드를 '동적'으로 접근하게 해주는 J..

    아파치(apache) 톰캣(Tomcat) 설정법(JSP, Servlet 사용 전)

    아파치(apache) 톰캣(Tomcat) 설정법(JSP, Servlet 사용 전)

    혹시 개인적으로 따로 세팅할 일이 생길까봐 포스팅을 하기로 마음 먹었다. 요새 자바 개발하느라 바빠서 블로그에 포스팅을 많이 못했는데 시간날 때 마다 한번씩 하기로 했다. 사전에 이클립스를 다운받았다는 가정 하에 아파치 톰캣 설치부터 진행한다. 일단 아파치 홈페이지에서 톰캣을 다운로드 받는다. 이클립스를 켜서 Window -> Show View -> Other 을 눌러준다. Other를 눌렀다면 여러 탭이 나올텐데, 아래로 내리면 Server 폴더가 있고 눌러보면 또 Server가 있다. Server를 눌러주면 된다. 나는 사전에 이미 아래쪽에 Servers 탭을 꺼내놨다. 아래에 Servers라는 탭이 보이기만 하면된다. 이 탭 꺼내려고 여태 3장이나 되는 사진을 게시했다. 저 파란글씨를 눌러서 새 서..

    2. 데이터 통신의 기초

    2. 데이터 통신의 기초

    2.1 데이터 통신의 개요 통신의 목적 : 한 점으로부터 다른 점으로 어떤 정보를 전달하는 것 (여기서 점은 node를 가리킨다.) 모든 형태의 통신은 보낼 메시지가 있기 때문에 발전해 간다고 볼 수 있다. 한 점에서 다른 점으로 메세지를 보내기 위해서는 세 가지의 통신 시스템이 필요하다. 1. 정보원(source) 2. 전송매체(transmission medium) 3. 수신체(receiver) 1. 메세지를 만들어낸다고 볼 수 있다. 2. 만들어 낸 메시지를 전송하는 역할을 한다. 3. 그 메세지를 받아들이는 역할을 한다. 이 세가지 요소는 어떤 형태의 통신이든 간에 꼭 필요한 최소한의 요소이다. 여기서 메시지란 여러가지의 형태의 데이터이고, 정보원과 수신체는 Data, Message에 대한 통신 개..