Eclipse 가 deploy 등등 조작(?)을 하려면 서버 설정을 하나 해줘야 합니다.


- 서버 시작
시작 → 프로그램 → Oracle WebLogic → User Projects → base_domain → Start Admin Server for Weblogic Server Domain


- Administration Console 실행 → 상단에 Preferences 클릭




- 마지막 Automatically Acquire Lock and Activate Changes를 체크해제하고 Save 클릭




-_- ; 웹로직 10.1 과 달랐던 부분. 크 따라하다가 결국 다시 10.3으로 설치를...



- 왼쪽 상단의 Change Center가 수동으로 바뀌었습니다.




- Release Configuration을 클릭하여 Lock & Edit 버튼이 활성화되게 바꿉니다.
이 상태가 되어야 Eclipse가 자동 배포 등이 가능하게 됩니다..







Eclipse에 Runtime Server 추가하기


- Eclipse IDE for Java EE Developers로 시작합니다... File → New → Other... 선택



- Server → Server 선택. Next 클릭



- 처음에는 WebLogic이 없습니다. Download additional server adapters 클릭



- 기다리면 정보를 받아와 목록이 생깁니다. Oracle WebLogic Support 선택. Next 클릭



- 라이선스에 동의. Finish 클릭





- 프로그램을 다운로드 받아 설치한다고 합니다. OK 클릭




- 다운로드 및 설치 중... 설치가 완료되면 자동으로 Eclipse를 재시작합니다.



- JDK 버젼 어쩌고 나오는군요... Yes 클릭



- 다시 File → New → Other... 그리고 Server → Server
서버 목록에 Oracle WebLogic Server v10.3 이 생겼습니다. 선택 후 Next




- 전 처음에 서버 목록 중 BEA Systems에서 한참 찾았습니다.
아무리 봐두 10.0만...

   무심코 진행했는데 조금 구동 스크립트가 다른지 에러가...

   다시 확인해보니 10.3은 오라클 밑에 있네요. 오라클 밑에 10.3을 선택하세요...(*_*)



- WebLogic Server 의 위치를 설정합니다.




- 도메인을 설정합니다.



- 적용시킬 프로젝트를 추가시킵니다. 현재는 프로젝트가 하나도 없군요...



- 아래 Servers 탭에 WebLogic Server 가 추가되었습니다.






간단한 세션 빈 테스트 - Server(WebLogic)
※ 컴퓨터 2대(Tomcat 6.0.18, WegLogic 10.3)로 분산환경에서 테스트 합니다.


File → New → Other... 그리고 General → Faceted Project 선택. Next 클릭



- 프로젝트 이름 설정. Next 클릭



- Facet 를 조합합니다. WebLogic에 맞는 EJB Porject를 생성하기 위해서는 아래와 같이 조합합니다.

오른쪽 Runtimes 탭에서 꼭 Oracle Weblogic Server v10.3을 체크해주세요.
체크하지 않으면 "Failed to retrieve WLS runtime for EJB processing" 에러가 납니다.



- Source Folder를 설정합니다.



- 잘 만들어 졌다네요..(아닌가?)



- Project Explorer를 보게되면 아래와같이 EJB Project가 만들어졌습니다.



- New → Package. 패키지를 하나 만듭니다.



- New → WebLogic Session Bean 선택. 여기서 만드는 파일이 빈(Bean) 클래스 파일이 됩니다.



- 소스 코드를 완성합니다.(샘플코드는 첨부파일로...)

기본적으로 세션빈에서 만들어져야 하는 명세는 GenericSessionBean 클래스에 작성되어있고 이걸 상속 받는군요...
public class HelloWorld extends GenericSessionBean implements SessionBean
{



중요한 부분은 @ 가 있는 부분입니다.

@JndiName은 클라이언트에서 lookup하는 JNDI 이름을 설정합니다.
@FileGenerration은 remoteClass, remoteHome, localClass, localHome 클래스 파일을 자동 생성할지 설정합니다.

@Session(ejbName = "HelloWorld")
@JndiName(remote = "ejb.HelloWorldRemoteHome")
@FileGeneration(remoteClass = Constants.Bool.TRUE, remoteHome = Constants.Bool.TRUE,
                          localClass = Constants.Bool.FALSE, localHome = Constants.Bool.FALSE)


remoteClass를 TRUE로 설정시, 사용자가 추가하는 메소드에는 꼭 @RemoteMethod를 적어줘야 원격(Remote) 클래스에 메소드가 추가됩니다.
@RemoteMethod
public String helloWorld() {
     return "Hello World!!";
}


빈(Bean) 클래스 파일만 작성하면 원격(Remote) 클래스, 홈(Home) 클래스, 기타파일(ejb-jar.xml, weblogic-ejb-jar.xml) 등을 알아서 만들어줍니다.

ex)
빈(Bean) 클래스 : HelloWorld.java
원격(Remote) 클래스 : HelloWorldRemote.java ← 자동생성
홈(Home) 클래스 : HelloWorldRemoteHome.java ← 자동생성
배치 디스크립터 파일 : ejb-jar.xml , weblogic-ejb-jar.xml ← 자동생성


- 아래 Servers 탭에서 WebLogic을 선택후 마우스 우클릭 → Add and Remove Projects...
현재 만든 프로젝트를 Configured projects 목록에 추가시킵니다.




- 서버 아래에 HelloWorld 프로젝트가 추가되었습니다.




- Run → Run 선택. Run on Server 선택 후 OK




- 서버 확인 후 Finish




- 서버가 실행되면서 자동으로 배치(재배치) 합니다.



※ 프로젝트의 State가 둘다 "Republish", "Synchronized"가 아니면 배치가 안된거니 확인하세요.

(명세에 안맞거나 기탕 등등 에러)

※ 여기서 이런 오류가 나온다면, 위에 "시작전설정" 이 제대로 안되서 나오는 오류 입니다.




- Administration Console 실행 후 Deployments에서 배치가 되어있으면 성공!
※ 이클립스 프로젝트가 삭제되거나 서버의 프로젝트 목록에 없으면 배치가 안되니 다 완성후에는

수동으로 배치 시켜줘야겠죠?;;






클라이언트 설정하기


- 서버에서 작성된 EJB jar 파일이 클라이언트에서 필요합니다.
프로젝트 최상위 루트에서 마우스 우클릭 → Export → EJB JAR File 선택 후 적당한 위치에 저장합니다.
이 파일(HelloWorld.jar)은 클라이언트 프로젝트의 WebContent\WEB-INF\lib 에 저장합니다.



- 클라이언트가 서버와 다른 컴퓨터. 다른 JVM, 다른 컨테이너 등등 다를 경우 서버(WebLogic)의 라이브러리가 필요합니다
wlfullclient.jar 파일은 [톰켓설치폴더]\lib 에 저장합니다.



간단한 세션 빈 테스트 - Client(Tomcat)
※ 컴퓨터 2대(Tomcat 6.0.18, WegLogic 10.3)로 분산환경에서 테스트 합니다.


- File → New → Dynamic Web Project 선택. 프로젝트 이름, Target Runtime 설정





- 소스 코드를 완성합니다.(샘플코드는 첨부파일로)

소스의 내용은 JNDI로 룩업해서 Hello World!!! 찍는거...

wlfullclient.jar과 HelloWorld.jar 파일이 아래와 같이 라이브러이에 등록되어있어야 합니다.
wlfullclient.jar : [톰켓설치폴더]\lib
HelloWorld.jar : [프로젝트]\WebContent\WEB-INF\lib




- Run → Run. Server 확인 후 Finish




- 잘 실행되었습니다!! ㅠ_ㅠv


역시 antop님의 블로그에서 퍼온글입니다.

 

출처 : http://antop.tistory.com

 

도메인이란? 관리적인 개념으로서 단일 Administration Server로 관리하는 Server, Machine 및 Cluster의 그룹(인터넷 도메인 x)

- 시작 → 프로그램 → Oracle WebLogic → WebLogic Server 10gR3 → Tools → Configuration Wizard

- Create a new WebLogic domain 선택



- Generate a domain configured automatically to support to following products 선택



- User name과 User password 설정



- 서버 모드(개발, 운용) 및 JDK 설정



- 다른 옵션들 추가 설정



- 도메인 이름, 디렉토리 설정



- 도메인 생성 완료






※ html, jsp, Servlet 테스트

Test.war 파일을 배치하여 테스트 해봅시다.

- Test.war 파일을 적당한 위치로 옮깁니다.




- 서버를 실행합니다.
시작 → 프로그램 → Oracle WebLogic → User Projects → base_domain → Start Admin Server for Weblogic Server Domain



Administration Console을 실행합니다.



- 왼쪽의 Domain Structure 트리에서 Deployments를 선택합니다.



-
Install 클릭



- 배치할 파일이나 디렉토리를 설정합니다.
여기서 war, jar 파일이나 디렉토리가 선택이 되지 않으면 잘못 작성되었기 때문입니다.



- Next 클릭



- Finish 클릭.(더 자세한 설정을 하려면 Next로 더 설정할 수 있습니다)



- war 파일이 정상적으로 배치(deploy) 되었습니다.



- html 테스트



- jsp 테스트



- Servlet 테스트



앞서 말한바와 같이 antop님의 블로그에서 퍼왔습니다.

테스트 파일은 첨부파일로 별도 첨부합니다..

출처 : http://antop.tistory.com/

 

WAS로 제우스를 쓰다가 지금은 JBoss로 넘어왔기에 웹로직을 접해본지가 벌써 6년전이네요.

오라클로 넘어갔다는 말을  얼핏 들었던거 같았는데 지금은 사이트도 오라클로 통합되었네요.

 

버젼이 10.x 네요. 와우~

참고한 블로그는 antop님의 블로그입니다.

사이트에서 10.1을 받았는데 antop 님은 10.3을 가지고 글을 쓰셨더라구여

이클립스 연동부분에서 버젼이 달라서인지 메뉴가 조금 다르다는 사실...

결국 10.3 을 다시 다운 받아 따라 해보았습니다. 참고하시길...

 

출처 : http://antop.tistory.com/

 

 

- 설치 환경



java version "1.6.0_12"
Java(TM) SE Runtime Environment (build 1.6.0_12-b04)
Java HotSpot(TM) Client VM (build 11.2-b01, mixed mode, sharing)



설치파일을 다운로드 받습니다.




- 다운로드 받은 설치파일을 실행합시다. (Net Installer - net_server103_win32.exe)




- Welcome~ Next...



- BEA Home Directory 설정후 Next



- Net Installer 에서만 나오는 설정입니다. 설치하면서 받을 파일 저장 위치를 지정합니다.



- 기본설치, 사용자설치 선택. 아무것도 모르겠다 하면 Complete 하시면 되겠죠... 저는 Custom로 합니다.




- 설치할 프로그램을 설정합니다.
Workshop은 Eclipse를 개량하여 최적화시킨 것입니다. 저는 Eclise를 따로 쓰기 때문에 패스.




- 사용할 JDK 를 선택합니다.
WebLogic 기본으로 1.6.0_05를 설치하는데 저는 1.6.0_12를 사용하기 위해서 따로 JDK를 추가 했습니다.




- JDK 1.6.0_12 쓸거냐고 물어보는군요... 가볍게 Yes




- 설치파일을 다운로드 받습니다. Net Installer 에서만 볼 수 있습니다.




- 다운로드 받은 설치파일을 검사합니다. Net Installer 에서만 볼 수 있습니다.




- WebLogic이 설치될 디렉토리를 설정합니다.



- Node Manager Service를 설치할지 설정.


- 시작메뉴를 전체 다 보여줄지 선택.. 윈도우 관련된 것이죠.. -_-/


- 설치될 파일들을 마지막으로 확인합니다.



- 설치 시작


- 설치가 완료되었습니다.




- 간단하게 설치가 잘 되었는지 확인하기 위해서....
시작 → 프로그램 → Oracle WebLogic → WebLogic Server 10gR3 → Examples → Start Examples Server 선택



http://localhost:7001/ 잘 되면 설치 완료!



- 서버 끄기 : 시작 → 프로그램 → Oracle WebLogic → WebLogic Server 10gR3 → Examples → Stop Examples Server 선택
※ 서버 끌때 그냥 cmd 창 닫아버리지 말고, 꼭 stop하는 명령(?)을 이용합니다.


- 설치하다가 이런거 나오면 윈도우 보안 관련된 것이니 '차단 해체' 선택해주세요.

 

지난 장에선 사설이 넘 길어 아파치 설치하는 것만 하고 마치고 말았다.ㅋ

트레이창에 아파치서비스 모니터링 아이콘을 확인할 수 있다. 오른쪽 마우스를 클릭 Open Apache Monitor를 선택하여 아파치를 구동/정지할 수 있다. 톰캣의 경우 압축만 풀면 되지만 아파치의 경우 설치하게 되면 서비스에  등록이 된다.

설치시 자동으로 초기설정되기 때문에 윈도우 시작등 리소스를 소모하는 부분도 있어

일단 먼저 Open Services를 클릭하여 Apache2.2를 자동에서 수동으로 변경한다(안해도 상관은 없다.대신 가끔 시스템이 느려질수 있다)

 

1. 이젠 톰캣을 설치하자.

http://tomcat.apache.org/ 에서 톰캣을 다운받는다. 현재 최신버젼은 6.0.18 .

 

톰캣설치는 앞서말한바와 같이 압축만 풀면 되니 설명은 패스. 설치할 디렉토리에 푼다.

 

2. http://tomcat.apache.org/download-connectors.cgi 에서 연동파일을 다운 받는다.

다운 받을 파일은 다음과 같다.

 

  • mod_jk-1.2.26-apache-2.0.59.so is for Apache 2.0, and works with Apache 2.0.59 and later.
  •    Rename to mod_jk.so before putting it in your Apache2/modules directory.

  • mod_jk-1.2.26-apache-2.2.4.so is for Apache 2.2, and works with Apache 2.2.4 and later.
  •    Rename to mod_jk.so before putting it in your Apache2.2/modules directory.

  • isapi_redirect-1.2.26.dll is for IIS 5 and later Web Server.
  • nsapi_redirect-1.2.26.dll is for Sun ONE Web Server 6.1 and later (formerly Netscape iPlanet).
  •  

    아파치2.2 이상은 mod_jk-1.2.26-apache-2.2.4.so 파일을 다운 받으면 된다.

     

    3. 다운받은 파일을 mod_jk.so로 이름을 변경후 아파치설치폴더/modules 에 복사한다.

     

    4. 아파치설치폴더/conf 에서 httd.conf를 수정한다

    LoadModule 어쩌구저쩌구 하는 부분 아래쪽에 다음과 같이 추가한다.

     

    LoadModule jk_module modules/mod_jk.so

     

    그리고 맨 아래 다음과 같은 구문을 추가한다.

    Include conf/mod_jk.conf

     

    5. 아파치설치폴더/conf에 mod_jk.conf 파일을 만들어 넣는다.

    아파치와 톰캣연동을 위한 설정부분으로 mod_jk.conf의 내용은 다음과 같이 작성하면 된다.

     

    JkWorkersFile "아파치설치폴더/conf/workers.properties"
    JkLogFile "톰캣설치폴더/logs/mod_jk.log"
    JkLogLevel error
    JkLogStampFormat "[%a %b %d %H:%M:%S %Y] "
    JkRequestLogFormat "%w %V %T"

    JkAutoAlias "톰캣설치폴더/webapps"
    JkMount /*.jsp ajp13
    JkMount /servlet/* ajp13
    JkMount /jsp-examples ajp13
    JkMount /jsp-examples/* ajp13
    JkMount /url ajp13

    <Directory "톰캣설치폴더/webapps">
        Options Indexes FollowSymLinks
        allow from all
    </Directory>

     

    6. 아파치설치폴더/conf에 workers.properties 파일을 만들어 넣는다.

     

    workers.tomcat_home="톰캣설치폴더/webapps"
    workers.java_home="JDK또는 JRE설치위치"
    ps=/

    worker.list=ajp12, ajp13
    worker.ajp12.port=8007
    worker.ajp12.host=localhost
    worker.ajp12.type=ajp12
    worker.ajp12.lbfactor=1

    worker.ajp13.port=8009
    worker.ajp13.host=localhost
    worker.ajp13.type=ajp13
    worker.ajp13.lbfactor=1
    worker.loadbalancer.type=lb
    worker.loadbalancer.balanced_workers=ajp12, ajp13
    worker.inprocess.type=jni
    worker.inprocess.class_path=$(workers.tomcat_home)$(ps)lib$(ps)tomcat.jar
    worker.inprocess.cmd_line=start
    worker.inprocess.stdout=$(workers.tomcat_home)$(ps)logs$(ps)inprocess.stdout
    worker.inprocess.stderr=$(workers.tomcat_home)$(ps)logs$(ps)inprocess.stder

    7. 이제 아파치와 톰캣연동은 끝.

    아파치와 톰캣설정은 끝났기 때문에 이클립스에서 웹프로젝트를 작성 후 확인해보면 된다.

     

    이클립스에서 서버설정은 Window>Preferences>Server>Installed Runtime 에서 할 수 있다.

    톰캣은 Apache 폴더 아래에서  6.0을 선택한후 설치 디렉토리를 지정하면 되고

    아파치는 Basic폴더 아래에서 HTTP Server를 선택한 후 아파치 설치 디렉토리/htdocs 를 지정하면 된다.

    아니면 프로젝트 생성시 New Project에서 Static Web Project 또는 Dynamic Web Project를 선택 후

    Target Runtime의 옆에 있는 New 버튼을 클릭하여 등록할 수도 있다.

     

    전장에서 말한 바와 같이 dynamic content(서블릿,JSP,필터,관련메타데이터)를  제외한 content-based 웹 어플리케이션을 구현하고자 할때 static Web Project를 선택한다. 물론 당연히 dynamic Web Project에서도 static resource들을 등록/관리할 수 있다.

     

    특이한점은 Static Web Project의 경우 Dynamic Web Project와 달리 서버탭에서는 항상 status가 started 상태에 있다는 것을

    확인할 수 있다.처음엔 서비스로 등록되기 때문에 서비스를 죽이면 이클립스에서 Dynamic Web Project에서처럼 아파치를 구동/정지하지 않을까 하고 생각했는데 그것과는 무관했다. 첨엔 status가 started여서 http://localhost/img/sample.jpg 를 찾아보려 했는데 실패했다. (당시 당연히 서비스는 죽어있었지만...*^^*) 앞서 웹서버설정시 HTTP Server는 로컬 HTTP Server를 사용하는 것을 의미하기 때문에 프로젝트내 내용은 아파치설치폴더/htdocs아래 복사(동기화)된다. 

     

    다소 설정상의 귀차니즘은 있지만 설정이후의 컴파일 속도는 static resource를 빼고 수행하기 때문에 훨씬 빨라진 것을 확인 할 수 있을 것이다. 

     

     

     

     

     

    운영중인 WEB시스템을 보면 정적인 페이지와 동적인 페이지를 구분해서 관리하곤한다.

    가장 일반적으로는 정적인 페이지는 아파치에서 동적인 페이지는 톰캣에서 구동되도록 하고 있는데...

    왜 그런걸까?

    현재 톰캣에서 http spec을 지원(즉 웹서버기능을 포함)하고 있기 때문에 굳이 옛날처럼 웹서버와 어플리케이션 서버를 구분할 필요가 있을까? 물론 간혹 이제까지 해왔기 때문에 라는 이상한 논리를 펴시는 분들은 아마도 이제까지 그리 해오는것이 당연하게 생각해왔기 때문은 아닐까? 하지만 구분하시는 분들은 시스템의 퍼포먼스를 위해서라는 나름 경험적인 말들을 하곤하다.

    반대로 예전에는 톰캣에서 웹서버 기능을 지원하지 않았지만 지금은 톰캣만으로 충분하다고 말씀하시는 개발자분들도 계시다.

    내 개인적인 생각은 둘다 맞는 것 같다. 분명 정적페이지만을 아파치에서 관리하게 되면 정적인 파일에 대해서도 동적구동루틴의 타게 함으로써 생겨나는 부하를 줄이게 되기 때문에 퍼포먼스를 줄일 수 있다(즉 정적인 페이지를 요청하는 횟수가 줄이게 됨으로써 네트워크의 부하를 줄임). 또한 이미지의 경우 전송되는 헤더의 크기가 훨씬 적어지기 때문에 더 나은 퍼포먼스를 가지게 된다.(즉 쿠키가 필요없는 이미지파일에 대한 요청에 대해 정적인 페이지에서 헤더에 포함되어 전송되기 때문에 전송패킷의 크기는  달라진다. 이미지 파일크기가 달라진다는 의미는 아님.도메인 분리에 대한 헤더파일 크기 비교는 링크페이지 참조). 또한 작은 이미지의 경우 톰캣이나 아파치나 큰 성능차이는 없지만 큰 이미지의 경우 아파치에서 구동하는 것이 훨씬 빠르다고 한다. 하지만 요새 운영시스템의 사양은 톰캣이나 JBoss같은 WAS만을 구동하기엔 너무나 고사양이다.

    즉 어떤 시스템인가에 따라 다르긴 하지만 톰캣하나만으로도 웬만큼 충분하다는 말이다.

    일반적으로 개발할때는 톰캣하나만으로 개발하다가 운영시 분리하곤 한다. 하지만 난 오히려 운영보다는 개발할때 분리를 해야 한다고 생각을 한다. 어떤 개발자분들을 보면 작업표시줄에 수많은 프로그램이 떠 있는 상태에서 개발하곤 한다. 물론 디버깅이나 모니터링때문에 텔넷창을 여럿 띄어두기도 하고 웹브라우저도 몇개 띄어두고 이클립스랑 기타 성능관리 툴, 워드파일이니 엑셀파일도 열고. 크 놋북사양이 부럽다는 생각만 든다. (나도 물론 여럿 띄워둔채 개발하긴 하지만..). 현재 이클립스 3.4를 가지고 개발하고 있는데 다이나믹 웹프로젝트로 프로젝트를 만들고 개발 소스가 많아질수록 초기 구동시 등록된 Context를 동기화 하면서 간혹 구동에 실패하곤 한다. (물론 재시작하면 정상구동이 되거나 계속 실패가 반복되는 경우 디버깅모드를 ERROR로 바꿔 재구동하면 해결된다). 그래서 다이나믹 웹프로젝트에는 JSP만을 올리고 나머진 static 웹프로젝트로 만들어 처리하여 톰캣 초기구동시 걸리는 시간을 줄일 수 있다.

    아 사설이 넘 길었다. 후딱 후딱 지나가야지..

    먼저 아파치를 설치한다.

    우선 Apache 서버를 설치해 보기로 보자.

    http://httpd.apache.org/ 에서 아파치를 다운받는다. 최신 버젼은 2.2.9.


    다운받은 Apache 설치 파일을 실행시킨다. 실행버튼 클릭!!

    실행후 바로 나타나는 화면이다. Next 버튼 클릭 !!



    라이센스!! 사실 읽어보는 사람 잘 없을거다. 게다가 영어다. ㅋ
    약관에 동의를 해야지만 설치가 가능하다.
    약관 아래쪽 2개의 항목중 위에 있는 I accept the terms in the license agreement 를 선택후 Next 클릭 !!



    실행하기 전에 읽어보라는데 이것 역시 영어다. 패스!! Next 버튼을 클릭!!
    한번쯤 읽어 보시기를 권장한다. ㅎㅎ



    아래 입력박스에 해당하는 도메인정보와 이메일 정보를 입력한다.지금 입력되어 있는 것은 내가 임의로 입력한 내용으로 각자에게 알맞는 정보를 입력하면 된다. 그리고, 아래쪽에 있는 항목은 IIS가 설치되어 운영중일 경우 그러니까 80번 포트가 아닌 8080이나 기타 다른 포트를 사용할 경우에는 아래쪽을 선택하고 그냥 기본으로 설치하고자 한다면 위쪽 항목을 선택하면 된다.
    입력과 선택을 마쳤다면 Next 버튼을 클릭 !!



    설치 타입은 기본으로 해도 되고 사용자 선택(Custom)으로 설치 해도 상관없슴.Next 버튼을 클릭 !!


    설치 디렉토리를 지정하고, Next 버튼을 클릭 !!기본으로 두고자 한다면 그냥 넘어가면 되고, 다른 디렉토리에 설치를 원하면  Change 버튼을 눌러 설치하고자 하는 디렉토리를 선택하면 된다.

    Install 버튼을 클릭하면 자동으로 설치된다.

    Finish 버튼을 클릭하고 설치 프로그램을 빠져 나가면 된다.

     

    설치과정에서 기본 포트(80)을 선택하였다면, 웹브라우저를 실행시켜서 아래와 같이 입력해본다.

    다음과 같은 내용이 웹브라우저에 표시된다면 정상적으로 설치된 것이다.
     

     

     
    블로그 이미지

    시반

    시반(詩伴)이란 함께 시를 짓는 벗이란 뜻을 가지고 있습니다. 함께 나눌수 있는 그런 공간이길 바라며...

    카테고리

    분류 전체보기 (233)
    개발 이야기 (73)
    WEB2.0 (57)
    DB2 (24)
    MySQL (6)
    오라클 (26)
    기타 (44)
    취미 (0)
    잡담 (2)