Category Archives: Lang

프로그래밍 언어

[펌글] POJO란?

By | 1월 15, 2009

– 출처 : http://blog.naver.com/thtlsgkrtod/40055742326 – POJO (Plain Old java Object) 를 해석하면 평범 자바 오브젝트라고 한다. POJO를 이해 하기 전  POJO라는 단어가 만들어진 역사적 배경을 살펴볼 필요가 잇다. POJO는 마틴 파울러가  2000년 가을에 열렸던 어느 컨퍼런스의 발표를 준비하면서 처음 만들어낸 말이다. 마틴 파울러는 EJB(Enterprise JavaBean)보다는 단순한 자바 오브젝트에 도메인 로직을 넣어 사용하는 것이 여러가지 장점이 있는데도… Read More »

[펌글/링크] log4j 설정 및 사용방법

By | 1월 15, 2009

– 정리된 문서 출처 : http://globalhost.interdol.com/355 –  LOG4J     I. 들어가면서.. 그리고 log4j   log4j는 자바 어플리케이션에서 빠르고 효과적으로 로깅 할 수 있도록 도와주는 오픈 소스 프로젝트입니다.   로깅(logging)은 코드의 가독성을 떨어뜨리는 단점이 있지만 애플리케이션에 문제가 있을 때 개발자가 자세한 상황을 파악할 수 있도록 해 주며 테스팅시 빠질 수 없는 요소입니다. 아마도 여러분들은 여러 어플리케이션이 추가되면서… Read More »

[책펌] 스레드(쓰레드, Thread) 개념 잡기

By | 11월 6, 2008

* 스레드의 실행제어 – join() : 지정된 시간동안 스레드가 실행되도록 한다.(인자로 long millis를 넣었을때). 지정된 시간이 지나거나 작업이 종료되면 join()을 실행한 스레드로 다시 돌아와 실행을 계속한다. – sleep() : 지정된 시간(long millis) 동안 스레드를 일시정지시킨다. 지정된 시간이 지나고 나면, 자동적으로 다시 실행대기상태가 된다. sleep()은 항상 현재 실행중인 스레드에 적용되기 때문에, t1.sleep(3000) 과 같은 코드가 있다고 해도,… Read More »

[책펌] finalize 메소드와 가비지 컬렉션(Garbage Collection)

By | 10월 31, 2008

– JVM(자바가상기계)은 효율적인 시스템 운영을 위해 더 이상 필요없는 객체들을 대상으로 쓰레기 수집 기능을 자동으로 수행 – JVM은 쓰레기 수집 전에 그 객체의 finalize() 메소드를 호출한다. – 사용자는 클래스 생성시 finalize() 메소드를 이용하여 객체에서 사용된 파일이나 소켓 같은 자원들을 반납하는 과정을 기술 할 수 있다. (클래스 내에서 finalize() 오버라이딩) (예) protected void finalize() throws Throwable{… Read More »

[책펌] Protocol 설계를 이용한 로그인 인증예제 (소켓, 프로토콜, 바이트스트림)

By | 10월 22, 2008

1. 개요 – 서버, 클라이언트가 공유하는 ‘요청의 종류와 내용에 관한 프로토콜’을 만들어 로그인예제에 적용한다. 2. 로그인 예제 프로그램의 흐름 (1) 서버가 클라이언트에 로그인 요청을 한다. (2) 클라이언트는 아이디와 패스워드를 서버에게 전송한다. (3) 아이디와 패스워드가 정확히 맞았다는 메시지를 전송한다. (3) 패스워드가 틀린 경우의 메시지를 전송한다. (3) 아이디가 틀린 경우의 메시지를 전송한다. (4) 클라이언트는 서버에게 종료 메시지를 전송한다.… Read More »

[책펌] Multicast(1:N 소켓스레드)프로그램 예제

By | 10월 22, 2008

* 개요 – Multicast 란? : 하나의 서버에서 모든 클라이언트에 동시 전송하는 개념, 서버를 통하여 모든 클라이언트가 실시간으로 상호 전송가능 (이 예제에서는 클라이언트를 선별하여 메세지를 날릴 수 없다. 그러기 위해서는 적당한 프로토콜을 만들어서 적용해야 한다.) * 구성 - MultiServer.java : 모든 클라이언트의 TCP요청을 받아 소켓 객체를 생성한다. 소켓을 유지하기 위한 스레드를 생성하고, 이 스레드를 저장할 Collection(ArrayList)을 생성하는 클래스다. – MultiServerThread.java : 각각의… Read More »

[책펌] Unicast (1:1 소켓 스레드) 프로그램 예제

By | 10월 21, 2008

* 개요 – Unicast 란? : 클라이언트와 서버간에 지속적으로 일대일로 통신하는 개념 * 구성 – UnicastServer.java – UnicastServerThread.java – UnicastClient.java * Unicast 프로그램 예제 흐름  (1) 서버를 실행시키면 TCP서버소켓을 생성하게 된다. (2) TCP서버소켓으로 accept()를 통해서 클라이언트의 통신을 기다린다. (3) 클라이언트가 TCP소켓을 생성한다. (4) 클라이언트의 TCP소켓이 생성되면 TCP서버소켓과 연결을 시도한다. (5) TCP서버소켓이 클라이언트와 TCP연결이 이루어졌다면… Read More »

[책펌] UDP 소켓 프로그램 예제

By | 10월 21, 2008

* 참고 – DatagramPacket : 애플리케이션에서 주고받을 데이터와 관련된 클래스 (생성자로 송신/수신기능 구분) – DatagramSocket : 실제 데이터의 전송을 책임지는 클래스 UDPEchoServer.java package socket.echo.udp; import java.net.*; import java.io.*; public class UDPEchoServer { //생성자  public UDPEchoServer(int port){      try{ //port를 소스로 해서 DatagramSocket 객체를 생성한다.     DatagramSocket ds = new DatagramSocket(port);        while(true){      //UDP의 실제 데이터는… Read More »

[책펌] TCP 소켓프로그램 예제

By | 10월 21, 2008

1. TCP 소켓 프로그램 예제의 흐름 (1) 서버 소켓 생성 (2) 서버 소켓으로 청취 (3) 클라이언트 소켓 생성 (4) (서버, 클라이언트) 소켓을 이용하여 스트림 생성 (5) 클라이언트 메시지 전송 (6) 서버 메시지 읽음 (7) 서버 메시지 전송 (8) 클라이언트 메시지 읽음 (9) (서버, 클라이언트) 소켓 종료 * 본 예제에서는 클라이언트가 메시지를 한 번만 전송할 수… Read More »

[책펌] java.lang.Cloneable 인터페이스

By | 10월 20, 2008

1. Cloneable 인터페이스의 역할 – Object 클래스의 clone() 메서드를 사용할 수 있게 해 준다. Cloneable 인터페이스 자체에는 추상메서드가 정의되어 있지 않다. 이와 같은 인터페이스를 마크업(markup) 인터페이스 또는 엠티(empty) 인터페이스라 하며, 나머지 과정은 JVM이 처리한다. 2. clone() 메서드의 역할 및 특징 – clone() 메서드는 Object 를 새로 생성하여 리턴하는데, 리턴하기 전에 원본 클래스의 멤버를 사본 클래스의 멤버에… Read More »

[펌글] jsp:useBean,jsp:setProperty,jsp:getProperty

By | 8월 28, 2008

=================   Action Tag란   =================   1. 클라이언트 혹은 서버에게 어떤 행동을 하도록 지시   2. JSP의 실행시점 행동과 클라이언트에게 돌려줄 응답에 영행을 미치는 특별한 태그   3. 크게 표준액션과 사용자 정의 액션으로 구분   4. 표준액션은 썬아이크로시스템즈에서 정의한 액션   5. 표준 action tag의 형태      <jsp:…> 내용 </jsp:…>      <jsp:…… Read More »

AJAX에서 eval함수의 역할과 사용법

By | 8월 26, 2008

eval() 함수의 사용 목적은 객체를 만들기 위함이고, joson응답 또한 객체로 만들어 사용합니다.  joson응답을 객체로 만들 때 eval함수에서 발생하는 invalid label error 때문에 괄호가 필요합니다.이유는 eval이 처음 만나는 : ☜ 이거 전까지를 label로 해석하기 때문입니다. label :  statement 이런 구조로 해석하기 때문에 문제가 발생합니다.  그러므로 ( )를 넣어주어 label로 해석되는 문제를 해결할 수 있습니다. var s = eval(“({‘a’:1,… Read More »

java.lang.IllegalStateException 의 체험수기

By | 8월 25, 2008

일단 오류메세지… java.lang.IllegalStateException at org.apache.catalina.connector.ResponseFacade.sendRedirect(ResponseFacade.java:433) at org.apache.jsp.kixx_005flinkbug_005ftest.kixx_005flogin_005fif_jsp._jspService(kixx_005flogin_005fif_jsp.java:103) at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:98) at javax.servlet.http.HttpServlet.service(HttpServlet.java:803) at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:331) at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:329) at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:265) at javax.servlet.http.HttpServlet.service(HttpServlet.java:803) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:174) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:108) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:174) at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:874) at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:665) at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:528) at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:81) at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:689) at java.lang.Thread.run(Unknown Source) 이 오류를 만났을 때는, JSP페이지가 임포트한 자바파일 내에서 response.sendRedirect()를 실행한 때였다.곰곰히 생각해 보니. 임포트 한 자바파일 내에도 response 객체가 있고, JSP내에도 response 내장객체가 있는데, 밖의 JSP가 redirection을 해야 하는데… Read More »

[펌글] class file has wrong version 49.0, should be 48.0

By | 8월 23, 2008

위와 같은 메세지를 볼 기회가 있을 것이다 java 를 프로그래밍하는 사람이라면.. 위의 메세지는 다음과 같은 경우에 발생한다 A 라는 클래스는 jdk 1.5 에 맞쳐져 짜여 있으며, 컴파일시에도 jdk 1.5로 컴파일이 되어 있다. B 라는 클래스에 A 클래스를 객체로 선언해서 사용할 경우를 생각해보자 허나 B 클래스는 jdk 1.4 에 맞쳐져 작성을 하였으며, 컴파일을 할 때도 1.4에… Read More »

[펌글] HttpServletRequest 메소드 정리

By | 8월 23, 2008

출처 : 미니의 XML DeveloperGroup (http://www.word.pe.kr) 클라이언트 IP 등의 정보를 가져오거나, 쿠키, 헤더, GET/POST로 전송한 값을 가져오는데 주로 사용하는 것이 바로 Request입니다. JSP/Servlet에서 사용하는 Request 객체의 메소드를 대략적으로 정리해 봤습니다. 이 Request 객체는 javax.servlet.http 패키지에 속한 HTTPServletRequest 인터페이스로서 javax.servlet.ServletRequest 인터페이스에서 상속을 받았습니다. 그래서 제가 정리하려는 내용은 javadoc의 다음 부분에 아주 자세히 나와 있습니다. 나중에 영어로… Read More »

현재 경로와 컨텍스트(Context)까지 String(문자열)으로 만들기

By | 8월 23, 2008

1. String으로 만들기    “http://”+request.getServerName()+”:”+request.getServerPort()+request.getContextPath() 2. StringBuffer로 만들기 StringBuffer sb = new StringBuffer(“http://”);sb.append(request.getServerName());sb.append(“:”);sb.append(request.getServerPort());sb.append(request.getContextPath()); 만들어진 예) http://localhost:9000/bruce

프레임(Frame), 타겟(Tartget), 윈도우URL처리법

By | 8월 22, 2008

프레임을 쓰실때 생각할 것 세가지 1. frame_name.location = ‘url.php’;    또는 frame_name.location.href = ‘url.php’;    또는 frame_name.location.replace(‘url.php’) 2. parent.frame_name.location = ‘url.php’; 3. opener.parent.frame_name.location = ‘url.php’; 새창을 열게해준 창의 주소를 바꾸고 새창을 끈다. <script>   opener.location.href = ‘url.php’;   self.close(); </script> 새창을 열게해준 창의 주소를 새로고침하고 새창을 끈다 <script>   opener.location.reload();   self.close(); </script> 다른 프래임의… Read More »