동호회 홈페이지 첫 페이지를 보는데..... 생활/잡담2007. 10. 31. 16:12
'생활 > 잡담' 카테고리의 다른 글
오랜만의 주말 외출~ (0) | 2007.11.27 |
---|---|
PC 조립하다.. (0) | 2007.11.08 |
구글 메일 확장 계획 ㅋㅋ (0) | 2007.10.31 |
아후~~ (0) | 2007.10.04 |
드림걸즈 OST 가사 (0) | 2007.08.10 |
오랜만의 주말 외출~ (0) | 2007.11.27 |
---|---|
PC 조립하다.. (0) | 2007.11.08 |
구글 메일 확장 계획 ㅋㅋ (0) | 2007.10.31 |
아후~~ (0) | 2007.10.04 |
드림걸즈 OST 가사 (0) | 2007.08.10 |
PC 조립하다.. (0) | 2007.11.08 |
---|---|
동호회 홈페이지 첫 페이지를 보는데..... (0) | 2007.10.31 |
아후~~ (0) | 2007.10.04 |
드림걸즈 OST 가사 (0) | 2007.08.10 |
기쁨 (1) | 2007.08.06 |
두 시스템간의 복잡한 통신과정을 여러개의 프로토콜로 나누어 동시에 수행하도록 제안한 컴퓨터 통신 아키텍쳐이다. 프로토콜의 계층화는 상위 계층이 하위 계층의 서비스를 제공받는다는 원리에 근거하며, 계층별로 작업을 분산시킴은 물론, 각 계층이 독립적으로 구현될 수 있도록 해준다.
OSI Reference Model
Layer 7 | Application |
Layer 6 | Presentation |
Layer 5 | Session |
Layer 4 | Transport |
Layer 3 | Network |
Layer 2 | Data Link |
Layer 1 | Physical |
다음의 예는 미국에 있는 친구에게 편지 보내는 일을 OSI 7 Layer를 적용시켜서 설명한 것이다. 미국에 있는 친구는 불행하게도 한국어를 모르며, 편지를 보내는 나 또한 영어를 모른다(이 예제는 대학교 시험에 나왔던 문제이기도 하다).
|
|
|
|
|
|
|
|
OSI 계층 |
정의 |
기능 |
Application Layer |
사용자가 OSI 환경을 억세스 할 수 있는 능력을 제공 |
응용 프로세스간의 정보교환 |
Presentation Layer |
데이터 표현에 차이가 있는 응용 프로세스들에게 연결 제공 |
정보의 형식설정과 코드변환 |
Session Layer |
응용간 통신에 대한 제어구조를 제공 |
응용 프로세스간의 송신권 및 동기제어 |
Transport Layer |
노드 대 노드 간의 신뢰성있고 투명한 데이터 전송 제공 |
송수신 시스템간의 논리적인 접속과 균일한 서비스 제공 |
Network Layer |
상위 계층에게 시스템을 연결하는데 필요한 데이터 전송과 교환 기능 제공 |
정보교환과 중계기능 |
Data link Layer |
물리적인 링크를 통하여 신뢰성 있는 정보를 전송하는 기능 제공 |
인접장치간의 정보전송 |
Physical Layer |
구조화되지 않는 비트스트림을 물리적 매체를 통하여 전송 |
전송매체로의 전기적 신호전송 |
iBatis 예제 따라하기~! (0) | 2008.01.22 |
---|---|
[JDK 1.4 VS JDK 1.5] Boolean.TRUE 와 true (0) | 2007.11.05 |
Tomcat에서 JDBC driver 설정~! (0) | 2007.10.22 |
JavaScript를 이용해서 Class 작성하기 (0) | 2007.10.16 |
css로 문자열 길이 잘라내기 (0) | 2007.07.31 |
케이(lee256)님께서 추천 http://wwwm.meebo.com/index-ko.html
재미이써(vnfldp1)님께서 추천 http://www.flickr.com
세상살이(simsking)님께서 추천 http://www.dhtmlgoodies.com/index.html
bj1603님께서 추천 http://cgv.co.kr(그런데 여긴....ajax가 아니라 플레쉬로 되어있는거 같은데요..제가 잘못봤나?)
맥(mac00sd)님께서추천 http://www.tattertools.com/ko/
우리나라(bluedew1)님께서추천 http://ajax.asp.net
펜리르(baldr46)님께서추천 http://www.challenger.se/
승햐(seunghaa02)님께서 추천 http://www.panic.com/goods/(저희사이트에서 저도 처음봤었던...사이트네요..^^)
shsdol님께서 추천 http://www.modernmethod.com/sajax
huni1067님께서 추천 http://www.pageflakes.com
수보이(sidney77)님께서 추천 http://earth.google.com/(젤 유명한곳이죠..ㅋㅋ)
hackingstar님께서 추천 http://www.backbase.com/demos/explorer/#examples/fx-move.xml[55]
hpycom님께서 추천 http://www.asp.net(유명한 사이트죠....밑에 사이트랑 링크만 틀림)
devzzaang님께서 추천 http://ajax.asp.net
tigastyle님께서 추천 http://www.ohpy.com
연남남(yjheum)님께서 추천 http://jquery.com/demo/thickbox/
머리통(head1ton) 님께서 추천 http://extjs.com/
아서(dlwnsrjs6421) 님께서 추천 http://www.fxug.co.kr/live/index.html
wannapure 님께서 추천 http://kr.sun.com/developers/ajax/
러뱀씨(luvmc4u) 님께서 추천 http://www.gucci.com/
수연사랑(artes),사삭(ziniboy) 님께서 추천 http://www.wzd.com/
newport1179 님께서 추천 http://cafe.naver.com/ajaxdev.cafe?iframe_url=/ArticleRead.nhn%3Farticleid=29(다른카페네요..ㅋㅋ 이쪽도 좋은글이 많네요...^^)
freehyun 님께서 추천 http://www.likejazz.com/29692.html
써니(pretty9967) 님께서 추천 http://www.challenger.se/
무지개(mindware) 님께서 추천 http://mochikit.com/
오비완(tow5532) 님께서 추천 http://javacan.madvirus.net/
독고릴라(angelos1127) 님께서 추천 http://www.netvibes.com/
장훈(whoney) 님께서 추천 http://meebo.com
학부모씨(ybnakira) 님께서 추천 http://www.cnn.com
애플(apple9575) 님께서 추천 http://dnshop.daum.net/
디지맥(ghochujang) 님께서 추천 http://www.watercafe.co.kr
홍세진(passion_25),뷁쉃(bumpkinr) 님께서 추천 http://www.ajaxian.org
앙마닷(zupper) 님께서 추천 http://www.hotscripts.com/
조조할인(updols) 님께서 추천 http://kr.sun.com/developers/ajax/
잠수부(csi_stone) 님께서 추천 http:www.goby.pe.kr
노력가(sevenwind) 님께서 추천 http://www.dhtmlgoodies.com
제제(monjeje) 님께서 추천 http://www.ajaxrain.com
데이지(minhyades) 님께서 추천 http://blog.naver.com/jinoxst/140021707807
떵려니(head1ton) 님께서 추천 http://Extjs.com
# FROM 네이버 카페(aspajax)
HP 이벤트 진행중~~ (0) | 2008.07.02 |
---|---|
IDE & ATA & SCSI (0) | 2007.11.05 |
15 Exercises for Learning a new Programming Language (0) | 2007.07.24 |
FUD(Fear, Uncertainty, Doubt) (0) | 2007.05.31 |
당신의 블로그는 얼마짜리 입니까? (0) | 2007.05.03 |
제 10회 한국 자바 개발자 컨퍼런스 (2) | 2009.02.18 |
---|---|
제9회 한국 Java 개발자 컨퍼런스 (0) | 2008.01.22 |
JSP & Servlet 교육 Day 4th. (0) | 2007.10.25 |
JSP & Servlet 교육 Day 3rd. (0) | 2007.10.24 |
JSP & Servlet 교육 Day 2nd. (0) | 2007.10.23 |
장소 : 썬 교육센터
날짜 : 10.22 ~ 10.26
시간 : 09:30 ~ 17:30
내용 : Web Component Developement with Servlet and JSP Technologies
# Day 4
# Web Application 에서 EJB 사용하기
<%@ page contentType="text/html; charset=euc-kr" %>
<%@ page import="javax.rmi.*" %>
<%@ page import="javax.naming.*" %>
<%@ page import="javax.transaction.*" %>
<%@ page import="kr.co.ejb.examples.*" %>
<%
Context ctx = null;
try {
ctx = new InitialContext();
Object h = ctx.lookup("HelloWorldBean");
HelloWorldHome home = (HelloWorldHome)PortableRemoteObject.narrow(h, HelloWorldHome.class);
HelloWorld helloWorld = home.create();
out.println(helloWorld.helloWorld());
} catch(Exception e) {
out.println(e);
}
%>
제9회 한국 Java 개발자 컨퍼런스 (0) | 2008.01.22 |
---|---|
JSP & Servlet 교육 Day 5th. (0) | 2007.10.26 |
JSP & Servlet 교육 Day 3rd. (0) | 2007.10.24 |
JSP & Servlet 교육 Day 2nd. (0) | 2007.10.23 |
JSP & Servlet 교육 Day 1st. (0) | 2007.10.22 |
## Queue에 메세지 보내기
public class MessageQueueSender {
public static void main(String[] args) {
if( args.length != 1 ) {
System.out.println("Usage : java MessageQueueSender [Message]");
System.exit(0);
}
try {
// HTTP protocol을 이용하여 WegLogic에 접근하는 것이 아니기 때문에
// java application에서 WegLogic을 사용하기 위해 설정하는 부분
Properties p = new Properties();
p.put(Context.INITIAL_CONTEXT_FACTORY, "weblogic.jndi.WLInitialContextFactory");
p.put(Context.PROVIDER_URL, "t3://localhost:7001");
Context ctx = new InitialContext(p);
QueueConnectionFactory factory = (QueueConnectionFactory)ctx.lookup("weblogic.jms.ConnectionFactory");
Queue queue = (Queue)ctx.lookup("jmsqueue");
QueueConnection con = factory.createQueueConnection();
QueueSession session = con.createQueueSession(false, Session.AUTO_ACKNOWLEDGE);
QueueSender qsender = session.createSender(queue);
TextMessage message = session.createTextMessage();
message.setText(args[0]);
qsender.send(message);
qsender.send(session.createMessage());
con.close();
} catch(Exception e) {
e.printStackTrace();
}
}
}
# Queue에서 메세지 읽어오기
import java.io.*;
import javax.jms.*;
import javax.naming.*;
import java.util.Properties;
public class MessageQueueReceiver {
public static void main(String[] args) {
Queue queue = null;
QueueConnection con = null;
QueueSession session = null;
QueueReceiver qreceiver = null;
try {
Properties p = new Properties();
p.put(Context.INITIAL_CONTEXT_FACTORY, "weblogic.jndi.WLInitialContextFactory");
p.put(Context.PROVIDER_URL, "t3://localhost:7001");
Context ctx = new InitialContext(p);
QueueConnectionFactory factory = (QueueConnectionFactory)ctx.lookup("weblogic.jms.ConnectionFactory");
queue = (Queue)ctx.lookup("jmsqueue");
con = factory.createQueueConnection();
session = con.createQueueSession(false, Session.AUTO_ACKNOWLEDGE);
qreceiver = session.createReceiver(queue);
con.start();
while(true) {
Message msg = qreceiver.receive(1);
if( msg != null ) {
if( msg instanceof TextMessage ) {
TextMessage tmpMsg = (TextMessage)msg;
System.out.println("읽어온 메시지 : " + tmpMsg.getText());
if( "exit".equals(tmpMsg.getText()) ) {
break;
}
}
} else {
Thread.sleep(500);
}
}
} catch(Exception e) {
e.printStackTrace();
} finally {
try {
con.close();
} catch(Exception e) {
}
}
}
}
# Topic 에 발행하기
import java.io.*;
import javax.jms.*;
import javax.naming.*;
import java.util.Properties;
public class MessageTopicPublisher {
public static void main(String[] args) {
BufferedReader br = null;
try {
Properties p = new Properties();
p.put(Context.INITIAL_CONTEXT_FACTORY, "weblogic.jndi.WLInitialContextFactory");
p.put(Context.PROVIDER_URL, "t3://localhost:7001");
Context ctx = new InitialContext(p);
TopicConnectionFactory factory = (TopicConnectionFactory)ctx.lookup("weblogic.jms.ConnectionFactory");
Topic topic = (Topic)ctx.lookup("jmstopic");
TopicConnection con = factory.createTopicConnection();
TopicSession session = con.createTopicSession(false, Session.AUTO_ACKNOWLEDGE);
TopicPublisher publisher = session.createPublisher(topic);
String line = null;
br = new BufferedReader(new InputStreamReader(System.in));
while( (line = br.readLine()) != null ) {
TextMessage message = session.createTextMessage();
message.setText(line);
publisher.publish(message);
if( "exit".equals(line) ) {
break;
}
message = null;
}
con.close();
} catch(Exception e) {
e.printStackTrace();
}
}
}
# Topic 에서 구독하기
import java.io.*;
import javax.jms.*;
import javax.naming.*;
import java.util.Properties;
public class MessageTopicSubscriber {
public static void main(String[] args) {
BufferedReader br = null;
try {
Properties p = new Properties();
p.put(Context.INITIAL_CONTEXT_FACTORY, "weblogic.jndi.WLInitialContextFactory");
p.put(Context.PROVIDER_URL, "t3://localhost:7001");
Context ctx = new InitialContext(p);
TopicConnectionFactory factory = (TopicConnectionFactory)ctx.lookup("weblogic.jms.ConnectionFactory");
Topic topic = (Topic)ctx.lookup("jmstopic");
TopicConnection con = factory.createTopicConnection();
TopicSession session = con.createTopicSession(false, Session.AUTO_ACKNOWLEDGE);
TopicSubscriber subscriber = session.createSubscriber(topic);
subscriber.setMessageListener(new MessageListener() {
public void onMessage(Message message) {
try {
if( message instanceof TextMessage) {
TextMessage m = (TextMessage)message;
System.out.println("구독 내용 > " + m.getText());
}
} catch(Exception e) {
e.printStackTrace();
}
}
});
con.start();
while(true) {
char c = (char)System.in.read();
if( c == 'q') break;
}
con.close();
} catch(Exception e) {
e.printStackTrace();
}
}
}
# 세션 빈의 구성과 용도
# 세션 빈 테스트
package kr.co.ejb.examples;
/**
* Remote Interface
*
* Client가 호출할 원격 인터페이스
* Client가 호출할 메소드만 정의함
*
* @author Lucky
*/
import java.rmi.RemoteException;
import javax.ejb.EJBObject;
public interface HelloWorld extends EJBObject {
public String helloWorld() throws RemoteException;
public String hello(String param) throws RemoteException;
public String getTime() throws RemoteException;
}
package kr.co.ejb.examples;
/**
* Bean Class
*/
import javax.ejb.SessionBean;
import javax.ejb.SessionContext;
public class HelloWorldBean implements SessionBean {
private SessionContext ctx;
public void setSessionContext(SessionContext c) {
ctx = c;
}
public String helloWorld() {
return "Hello World";
}
public String hello(String param) {
return "Hello " + param;
}
public String getTime() {
return (new java.util.Date().toString());
}
public void ejbCreate() {}
public void ejbRemove() {}
public void ejbActivate() {}
public void ejbPassivate() {}
}
package kr.co.ejb.examples;
/**
* Home Interface
*
* Client가 EJB를 생성시킬 때 사용하는 메소드 정의
*
*
* @author Lucky
*/
import java.rmi.RemoteException;
import javax.ejb.CreateException;
import javax.ejb.EJBHome;
public interface HelloWorldHome extends EJBHome {
public HelloWorld create() throws CreateException, RemoteException;
}
JSP & Servlet 교육 Day 5th. (0) | 2007.10.26 |
---|---|
JSP & Servlet 교육 Day 4th. (0) | 2007.10.25 |
JSP & Servlet 교육 Day 2nd. (0) | 2007.10.23 |
JSP & Servlet 교육 Day 1st. (0) | 2007.10.22 |
[세미나] 웹2.0 시대의 키워드 'RIA'의 뉴 패러다임 세미나 (0) | 2007.10.16 |
class Test {
public static void swap(int x, int y) {
int temp;
temp = y;
y = x;
x = temp;
}
public static void swap(Number n) {
int temp;
temp = n.x;
n.x = n.y;
n.y = temp;
}
public static void objRef(Number n) {
n = null;
}
public static void main(String[] args) {
int a = 10;
int b = 20;
System.out.println(a + ", " + b);
swap(a, b);
System.out.println(a + ", " + b);
String str1 = "1234";
String str2 = "1234";
Integer int3 = new Integer(1234);
String str4 = new String("1234");
System.out.println(str1 == str2);
System.out.println(str1.equals(int3));
System.out.println(str1 == str4);
System.out.println(str1.equals(str4));
Number n = new Number();
n.x = 10;
n.y = 20;
System.out.println(n.x + ", " + n.y);
swap(n);
System.out.println(n.x + ", " + n.y);
objRef(n);
System.out.println(n.x + ", " + n.y);
}
}
class Number {
int x;
int y;
}
위 결과가 어찌 될 것인가......
이렇단다.
아.. Java를 몇년을 해도 저게 헷갈리는 이유가 대체 무엇이란 말인가.
아.. 돌머리.. ㅡ,.ㅡ;
Java Heapsize 관련 참조 (0) | 2008.10.21 |
---|---|
eclipse TPTP update (0) | 2008.10.08 |
WebLogic 8.1 SP6 Download URL (0) | 2007.09.17 |
[JavaQuiz] 3n+1 (0) | 2007.09.12 |
[JavaQuiz] 셰익스피어-원숭이 문제 (0) | 2007.09.12 |
위와 같이 하면 http://localhost:7001/webtest/index.html 이렇게 하지 않고
http://localhost:7001/index.html 이렇게 호출하여 사용할 수 있다.
HelloWorldServlet.java, CounterServlet.java 파일을 생성하고
WEB-INF\classes 에 위 java 파일들을 컴파일 하여 class 파일을 위치시킨 후에
web.xml 파일에 아래 내용을 추가한다.
<servlet>
<servlet-name>Counter</servlet-name>
<servlet-class>examples.CounterServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>HelloWorld</servlet-name>
<url-pattern>/hello</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>Counter</servlet-name>
<url-pattern>/counter</url-pattern>
</servlet-mapping>
JSP & Servlet 교육 Day 4th. (0) | 2007.10.25 |
---|---|
JSP & Servlet 교육 Day 3rd. (0) | 2007.10.24 |
JSP & Servlet 교육 Day 1st. (0) | 2007.10.22 |
[세미나] 웹2.0 시대의 키워드 'RIA'의 뉴 패러다임 세미나 (0) | 2007.10.16 |
[세미나] BEA Developers Day (0) | 2007.10.16 |
장소 : 썬 교육센터
날짜 : 10.22 ~ 10.26
시간 : 09:30 ~ 17:30
내용 : Web Component Developement with Servlet and JSP Technologies
# Day 1
기본 환경 설정 및 설정 환경 테스트
프로그램 설치 및 설정 >
JDK 1.5.0_12 설치
PATH 설정
CLASSPATH 설정
Tomcat 5.5 설치
Eclipse 3.2 설치
Eclipse Project 만들기
Eclipse + Tomcat 연동 (plug-in 복사 : http://www.eclipsetotale.com/tomcatPlugin.html)
Eclipse + Oracle 연동 (eclipse->window->show view->Data Explorer)
주의 >
Kill Apache Server Process
Oracle HttpService 중지(속성->수동 으로 변경)
Tomcat bin (start server)
테스트 >
HTML 페이지
JSP 페이지
Servlet 페이지
Introduction Web Application Technologies
## MVC 패턴
모델
-> 비즈니스 데이터와 그 데이터를 다루는 연산의 집합
-> 자바 객체와 데이터베이스 간의 매핑을 통해 자바 객체에 접근하듯이 데이터베이스에 접근할 수 있도록 하는 프레임워크 필요.
: ejbStore(), ejbLoad()
-> 모델의 구현
: 어떤 방식으로 접근할 것인가
: 어느 정도 규모의 애플리케이션인가?
: 개발자들의 기술 수준이 어느 정도인가?
뷰
-> 디자이너의 역할이 더 큰 영역
-> 비지니스 로직과 프레젠테이션 로직의 분리
-> JSP
컨트롤러
-> 흐름을 관리하는 역할
-> 모델과 뷰 간의 조정 역할
MVC 모델 1, 모델 2
=> 사용자의 요청을 받아 흐름을 제어하는 일을 누가 하는가?
모델 1 : JSP
모델 2 : Servlet
## 프레임워크
## 수준별 재사용 방식
## 웹
JSP & Servlet 교육 Day 3rd. (0) | 2007.10.24 |
---|---|
JSP & Servlet 교육 Day 2nd. (0) | 2007.10.23 |
[세미나] 웹2.0 시대의 키워드 'RIA'의 뉴 패러다임 세미나 (0) | 2007.10.16 |
[세미나] BEA Developers Day (0) | 2007.10.16 |
[세미나] JCO 오픈소스 컨퍼런스 (0) | 2007.10.09 |