사용자 삽입 이미지










<Java Technology Seminar>
JavaOne 2008 Wrap-up 세미나


올해도 어김없이 자바 개발자 최대 행사인 JavaOne이 지난 5월 미국 샌프란시스코에서 개최되었습니다.
자바의 최신 소식 / 하이라이트를 개발자 여러분들과 공유하고자 한국 썬과 JCO 공동 주최로 
Java Technology Seminar : JavaOne2008 Wrap-up 을 개최합니다.

관심있는 개발자 여러분의 많은 참여바랍니다.



1. 행사 일시 및 장소

 - 일시 : 2008년 6월 21일(토) 오후 12:30 ~ 18:10
 - 장소 : 이화삼성 교육문화관(이화여대 내) 103호
             >>약도보기



2. 행사 일정

사용자 삽입 이미지




















3. 행
사 등록 및 문의

 - 좌석이 한정되어 있으니 반드시 아래 웹사이트를 통해 등록해 주시기 바랍니다.
 - 등록웹사이트 : http://sun.veritasmedia.co.kr/company/080605_javaseminar.html
 - 문의 : 행사 사무국  + Tel : 3446-3880  + E-mail : sun21@citocomm.com


4. 행사 안내

 - 본 행사는 무료입니다.
 - 행사 후 설문지를 작성하여 제출하시는 분께는 소정의 기념품을 드립니다. 
 - 주차는 지원되지 않으니 대중교통을 이용해주시기 바랍니다.

사용자 삽입 이미지

이번 가격대비 성능비로 바로 구입을 하게 된 후지쯔 노트북이다.

펜린CPU를 장착을 했으며 캐쉬가 6M이다.

여러 시리얼을 제공해준다는 장점에 매료가 되었으며, 개발자로서 작업하기 좋은 해상도를

지원을 해주는것이 가장 맘에 들었다.

비스타 sp를 설치하면 메모리 4G도 인식이 가능하다고 하니 램값이 떨어지길 바라고 있는중이다.^^;;

단지 후지쯔의 불편한점은 HOME키를 Fn키와 같이 사용한다는 점이 불편하나 키보드 맵핑 프로그램을

이용한다면 크게 문제가 되지는 않을거라 판단되어 진다.

개인적으로  단점을 말하자면 왼쪽 통풍구가 굉장히 발열이 심하다는것과 키보드 가운데 나에게는 전혀 쓸모없는

듀얼 포인터인 콩이 정말 구입하는데 망설이게 하는 부분이었다.

그러나 역시 가격대비 성능비를 무시할수 없나보다. 이 가격대에 내게 딱 맞는 사양인듯 하다.


캐릭터셋 확인

Jsp 2007/04/03 21:40
String []charset = {"euc-kr", "ksc-5601", "iso-8859-1", "8859_1", "ascii",utf-8};
 for( int i = 0; i < charset.length; i++ )
 {
  for( int j = 0; j < charset.length; j++ )
  {
   if( i== j ) continue;
   System.out.print( charset[i] + " -> " + charset[i] + " : ");
   System.out.println( new String( filepath.getBytes(charset[i]), charset[j]));
  }
 }

-- 오라클 그룹 및 계정 생성
# /usr/sbin/groupadd oinstall
# /usr/sbin/groupadd dba
# /usr/sbin/useradd -g oinstall -G dba oracle
#passwd oracle

-- 오라클 환경 설정
#su oracle
#cd /home/oracle
# vi .bash_profile


# .bash_profile

# Get the aliases and functions
if [ -f ~/.bashrc ]; then
       . ~/.bashrc
fi

# User specific environment and startup programs

export ORACLE_BASE=/usr/lib/oracle/xe/app/oracle
export ORACLE_SID=XE
export ORACLE_HOME=$ORACLE_BASE/product/10.2.0/server
PATH=$PATH:$ORACLE_HOME/bin

export PATH
unset USERNAME


위 내용대로 작성후 저장과 함께 빠져나온다.

#su -
#cd
# vi .bash_profile


export ORACLE_BASE=/usr/lib/oracle/xe/app/oracle
export ORACLE_SID=XE
export ORACLE_HOME=$ORACLE_BASE/product/10.2.0/server

작성후 빠져 나온다.



-- 설치

  # rpm -ivh oracle-xe-univ-10.2.0.1-1.0.i386.rpm
  # /etc/rc.d/init.d/oracle-xe configure
  HTTP-PORT : 8081
  Lister Port : 1521
  System Passwd :
  Auto Start : N

# $ORACLE_HOME/config/scripts/stopdb.sh
# $ORACLE_HOME/config/scripts/stopall.sh
(※ Auto Start를 N으로 하면 /etc/rc.d/init.d/oracle-xe stop이 실행되지 않으므로 수동으로 DB를 내려줘야 함)


-- CharSet 변경
select * from nls_database_parameters;
#update sys.props$ set value$='KO16KSC5601' where name='NLS_CHARACTERSET'; 
#update sys.props$ set value$='KO16KSC5601' where name='NLS_NCHAR_CHARACTERSET';
#update sys.props$ set value$='AMERICAN_AMERICA.KO16KSC5601' where name='NLS_LANGUAGE';
#KO16MSWIN949
update sys.props$ set value$='KO16MSWIN949' where name='NLS_CHARACTERSET'; 
update sys.props$ set value$='KO16MSWIN949' where name='NLS_NCHAR_CHARACTERSET';
update sys.props$ set value$='AMERICAN_AMERICA.KO16MSWIN949' where name='NLS_LANGUAGE';


-- DATA Base CharSet 변경
SQL>STARTUP MOUNT;
SQL>ALTER SYSTEM ENABLE RESTRICTED SESSION;
SQL>ALTER SYSTEM SET JOB_QUEUE_PROCESSES=0;
SQL>ALTER SYSTEM SET AQ_TM_PROCESSES=0;
SQL>ALTER DATABASE OPEN;
SQL>ALTER DATABASE CHARACTER SET KO16MSWIN949;
SQL>SHUTDOWN IMMEDIATE;
SQL>STARTUP;


-- 기타 환경 변수 설정.
SQL>alter system set audit_file_dest='/home/oracle_xe/adump' scope=spfile;
SQL>alter system set background_dump_dest='/home/oracle_xe/bdump' scope=spfile;
SQL>alter system set core_dump_dest='/home/oracle_xe/cdump' scope=spfile;
SQL>alter system set user_dump_dest='/home/oracle_xe/udump' scope=spfile;
SQL>alter system set DB_RECOVERY_FILE_DEST='/home/oracle_xe/flash_recovery_area' scope=spfile;
SQL>SHUTDOWN IMMEDIATE;
SQL>STARTUP;


-- Table Space 및 User 생성
SQL>create tablespace mojaeq_d datafile '/oradata/mojaeq_data01.dbf' size 2048m;
SQL>create tablespace mojaeq_i datafile '/oradata/mojaeq_index01.dbf' size 1024m;
SQL>create temporary tablespace mojaeq_t tempfile '/oradata/mojaeq_t01.dbf' size 1024m autoextend on;
SQL>create user mojaeq identified by ****** default tablespace mojaeq_d temporary tablespace mojaeq_t;
SQL>grant dba to mojaeq;

--create database link mojaeq_org connect to mojaeq identified by ****** using 'mojaeq';

-- Export & Import
  #exp mojaeq@gsik file=full.dmp full=Y
  #imp mojaeq@xe fromuser=mojaeq touser=mojaeq file=full.dmp

-- Oracle 시작 & 종료 (oracle 환경변수가 없는 상황에서 실행해야함.)
root# /etc/rc.d/init.d/oracle-xe {start|stop|restart}
※ /etc/rc.d/init.d/oracle-xe configure 실행시
  Auto Start : Y로 설정한 경우만 실행 됨.
☆☆☆☆ Auto Start : Y일 때  /etc/rc.d/init.d/oracle-xe stop 후
  sqlplus "/as sysdba"에서 startup이 안되는 문제 발생으로
  이후 Auto Start : N으로 하여 재설치함




사용하지 않는 서버가 하나 있어서 시험삼아 설치 해 봤다..

서버 사양은 p3 733, 384M, 18*2 SCSI LVM2


우선 yum -y update 한방 날려 주고 시작 했다.


[root@ml370 ~]# rpm -ivh oracle-xe-univ-10.2.0.1-1.0.i386.rpm
오류: Failed dependencies:
       libaio >= 0.3.96 is needed by oracle-xe-univ-10.2.0.1-1.0.i386


libaio 가 설치 되어 있지 않다고 해서 설치 했다.


[root@ml370 ~]# yum install libaio
Setting up Install Process
Setting up repositories
Reading repository metadata in from local files
Parsing package install arguments
Resolving Dependencies
--> Populating transaction set with selected packages. Please wait.
---> Downloading header for libaio to pack into transaction set.
libaio-0.3.104-2.i386.rpm 100% |=========================| 6.6 kB    00:00
---> Package libaio.i386 0:0.3.104-2 set to be updated
--> Running transaction check

Dependencies Resolved

=============================================================================
Package                 Arch       Version          Repository        Size
=============================================================================
Installing:
libaio                  i386       0.3.104-2        base               18 k

Transaction Summary
=============================================================================
Install      1 Package(s)
Update       0 Package(s)
Remove       0 Package(s)
Total download size: 18 k
Is this ok [y/N]: y
Downloading Packages:
(1/1): libaio-0.3.104-2.i 100% |=========================|  18 kB    00:00
Running Transaction Test
Finished Transaction Test
Transaction Test Succeeded
Running Transaction
  Installing: libaio                       ######################### [1/1]

Installed: libaio.i386 0:0.3.104-2
Complete!



[root@ml370 ~]# rpm -ivh oracle-xe-univ-10.2.0.1-1.0.i386.rpm
준비 중...                  ########################################### [100%]
  1:oracle-xe-univ         ########################################### [100%]
Executing Post-install steps...
You must run '/etc/init.d/oracle-xe configure' as the root user to
configure the database.



기본 셋팅

[root@ml370 init.d]# ./oracle-xe configure

Oracle Database 10g Express Edition Configuration
-------------------------------------------------
This will configure on-boot properties of Oracle Database 10g Express
Edition.  The following questions will determine whether the database should
be starting upon system boot, the ports it will use, and the passwords that
will be used for database accounts.  Press <Enter> to accept the defaults.
Ctrl-C will abort.

Specify the HTTP port that will be used for Oracle Application Express [8080]:  [엔터]

Specify a port that will be used for the database listener [1521]: [엔터]

Specify a password to be used for database accounts.  Note that the same
password will be used for SYS and SYSTEM.  Oracle recommends the use of
different passwords for each database account.  This can be done after
initial configuration: [엔터]
Password can't be null. Enter password: 비밀번호
Confirm the password: 비밀번호

Do you want Oracle Database 10g Express Edition to be started on boot (y/n) [y]: [엔터]
n 으로 하는 경우에 오류가 있을 수도 있다고 주서 들은 얘기.


Starting Oracle Net Listener...Done
Configuring Database... [한참 걸립니다.]
Starting Oracle Database 10g Express Edition Instance...Done
Installation Completed Successfully.
To access the Database Home Page go to "http://127.0.0.1:8080/apex"
[root@ml370 init.d]#


setup 에서 방화벽 설정 꺼두고서 pc 에서 웹주소로 접속을 해보면 접속 환경이

웹상에서 보이게 됩니다.


제한조건으로는 저장영역 4G 이하, SGA+PGA 1G 이하라고 하네요..

연습용으로 적당할 듯 합니다..

1. 일을 순서대로 진행하기 어렵다.
2. 새로운 일을 시작하고 준비하기까지 많은 시간이 걸린다.
3. 동시에 여러 가지 일을 시작하지만 끝마치기 어렵다.
4. 책을 읽거나 대화하는 도중 쉽게 주의가 분산된다.
5. 어떤 일에 과도하게 집중한다.
6. 정밀한 일에 주의를 기울이지 못한다.
7. 조심성이 없어 실수를 많이 한다.
8. 다른 사람의 말을 귀 기울여 듣지 않는다.
9. 지속적인 정신력을 요하는 작업을 피하거나 싫어한다.
10. 상황을 고려하지 않고 머리에 떠오르는 생각을 즉각적으로 말한다.
11. 지루함을 견디지 못한다.
12. 불필요하게 끝없이 걱정한다.
13. 위험을 고려하지 않고 행동한다.
14. 질문이 끝나기도 전에 불쑥 대답해버린다.
15. 차례를 기다릴 때 초조하고 답답하다.
16. 술, 담배, 게임, 쇼핑, 일, 음식 등에 깊이 빠져든다.
17. 가만히 있지 못하고 손발을 움직이거나 몸을 뒤튼다.
18. 말을 지나치게 많이 한다.
19. 가끔 창조적이고 직관적이며 지적으로 우수해 보인다.
20. 가족 중 우울증, 조울증, 약물남용, 충동조절장애가 있는 사람이 있다.
21. 돈을 충동적으로 쓴다.
22. 과속, 음주운전을 자주 한다.

조선일보 기사에 나와 있어 테스트를 해 보았다.

나는 몇가지나 저기에 속할까??? 결과는 안습니다.....ㅜㅜ
TAG ADHD

IE7.0 에따른 이슈사항들



1. window.status

window.status 코드가 인터넷 영역에서 실행되지 않습니다

function test() {

  window.status = 'Hi!';

}

단 로컬에서는 됩니다 즉 로컬에 저장된 html을 실행하면 window.status가 먹지만

인터넷에 있는 window.status는 실행되지 않네요

개인적으로 js 디버깅시 자주 사용하곤 했는데 아쉬운 부분입니다 ㅠ.ㅠ



2. <base>태그

HTML3.2 스펙에 따라 <base>태그는 반드시 <head></head>에 위치해야 합니다

그렇지 않으면 인식하지 않는다네요

예전엔 base태그를 간간히 썼지만 요즘은 frame 을 잘 사용하지 않아서인지 거의 사용하진 않죠



3. window.close()

window.close()시 나타나는 프롬프트를 회피하기 위해 window.opener 를 사용했었는데

더이상 아래 코드는 먹지 않고 창을 닫겠냐는 프롬프트가 뜨게 됩니다


window.opener=top;

window.close();

or

self.opener = self;
window.close();



4. _search

_search를 통해 검색창을 더이상 열지 못합니다

<a href="">Test Sidebar</a>




5. window.prompt()

디폴트로 block 됩니다




6. 제한되는 메쏘드들


execCommand

clipboardData.getData()

clipboardData.setData()

clipboardData.clearData()

클립보드 저장, 및 클립보드 데이터 가져오기등의 메쏘드들이 제한됩니다

해보니 보안경고창이 뜨더군요

MS에서는 clipboardData 객체 사용을 권고하지 않습니다



7. Modal 및 Modeless Dialog 크기가 변경!


한마디로 크기가 커집니다 -0- (짜증)

사이즈를 지정하면 content 크기를 의미합니다



8. 새창으로 뜰때 주소줄 보임

더이상 새창을 window.open 의 property 특성으로 조절할 수 없습니다

무조건 주소창이 나타납니다 아주~ 짜증 이빠십니다 ㅠ.ㅠ




9. window.resizeTo()

window.resiztTo 함수는 에러가 발생하거나 차단됩니다

function changeSize(){
  window.resizeTo(1024,768);
}


10. HTTP, HTTPS 혼합된 인터넷 영역에서 보안 경고가 발생합니다



11. SELECT가 windowed element로 개선

이전까지는 SELECT Element가 Windowsed Element였기 때문에 다른 element와 달리 별도의 MSHTML pane에서 rendering되었습니다

즉 SELECT가 그림과 같이 layer들을 다 먹어버렸었는데, 이젠 그렇지 않다는거죠

요거 하나는 좋아졌네요 -0-



12. 스크립트 차단

6.0 까지는 아래 코드가 실행되어 보안에 매우 취약했었습니다 (XSS)

<img src="alert('a')">

7.0 부터는 아예 실해이 안되네요

FF 2.0 도 실행이 안되는군요 ^^



13. CSS

100%는 아니지만 CSS2.1 표준 구현 강화가 되었습니다

또한 <a> 태그에서만 가능했던 :hover나 background-attachment: 가 모든 태그에서 사용가능해 졌습니다

[정규표현식]

^a : a로 시작

      ex> ab, abc, ad, aefghi...


a$ : a로 끝남

      ex> aa, ba, ca, cdefga....

a*  : 0번이상 

       ex>  a*    :  , a, aa, aaa...   

              ab*  : a, ab, abb, abbb.......


a+ : 1번이상 

       ex>  a+    : a, aa, aaa...      

              ab+  : ab, abb, abbb.......


a? : 0번 또는 1번

       ex>  ab? : a, ab


a{2}      : a가 2번


a{2,}     : a가 2번이상


a{2, 4}  : a가 2~4번


: 한문자를 나타냄


a|b  : a 혹은 b

       ex> a(b|cd)  : ab, acd


(ab)  : 한 문자로 인식 위의 a 대신 하면

       ex> a(bc)? : a, abc


[]  : 해당위치에 []안의 문자중 하나


[ab] : a나 b   -->  a|b와 동일


[a-z] : a에서 z까지 중


[a-z0-9] : a에서z까지나 0-9중 한문자

  ※ 참고 : []안의 특수문자는 효력을 잃음

[예제]

이메일 체크

  우선 기본적인 정보

  이메일은 User @ 도메인명 으로 되어있습니다.

  제 이메일 : toy_ou@hanmail.net 스펨에 등록하지 마세요... -_-;

  제 이메일을 3등분 해볼까요 -_-;

  ① User      : toy_ou         - 영문, 숫자, -, _ 가능

  ② AT         : @               - @ 그냥 들어가

  ③ Domain  : hanmail.net  - 영문, 숫자, -, . 가능

                                        단 .로 시작 할 수 없음

① User : 사실 보통 포탈사이트에서 첫글자와 중간에 "-", "_" 를 사용하지 못하는

              경우가 많습니다. 하지만 그것은 포탈의 얘기이지 개인적으로는 등록할수 있지요...

    첫글자 : ^[_0-9a-z-]                 : _ 또는 0~9 또는 a~z 또는 -로 시작

    두번째 부터 끝까지 : [_0-9a-z-]+ : 위와동일하지만 한번이상 반복

② AT(@) : 그냥쓰시면 되구요

③ Domain : User와 동일한데 "."이 들어가는 대신 "_"는 들어가지 않습니다.

   회사명 : [a-z0-9-]+         : 회사명은 영문자 혹은 숫자

   기관명 : (.[a-z0-9-]+)*   : 기관명은 회사명 다음 "."이 들어가고 시작하지요.

    나라명 : (.[a-z]{2,4})$   : 나라명은 원래는 나라인데 (ex>korea->.kr, china, .cn)

                                         .name이란것이 나왔더군요 그러니 2~4자로 해야겠지요 물론 영문

<< 참고 >>

- 아직 한글은 구현이 안되네요... 훨씬더 과학적인 언어 이지만 미국을 쫓아가다 보니까

  한글의 고유적인 특성이 아닌 UNICODE를 이용하곤 하네요... 쩝...

  아무튼 우리나라 프로그래머들은 아직 많이 노력을 해야하겠네요^^

com.ibatis.common.jdbc.exception.NestedSQLException:   
--- The error occurred while applying a parameter map.  
--- Check the boardCreated-InlineParameterMap.  
--- Check the statement (update failed).  
--- Cause: java.sql.DataTruncation: Data truncation
Caused by: java.sql.DataTruncation: Data truncation
	com.ibatis.sqlmap.engine.mapping.statement.GeneralStatement.executeUpdate(GeneralStatement.java:91)
	com.ibatis.sqlmap.engine.impl.SqlMapExecutorDelegate.insert(SqlMapExecutorDelegate.java:442)
	com.ibatis.sqlmap.engine.impl.SqlMapSessionImpl.insert(SqlMapSessionImpl.java:81)
	org.springframework.orm.ibatis.SqlMapClientTemplate$9.doInSqlMapClient(SqlMapClientTemplate.java:358)
	org.springframework.orm.ibatis.SqlMapClientTemplate.execute(SqlMapClientTemplate.java:188)
	org.springframework.orm.ibatis.SqlMapClientTemplate.insert(SqlMapClientTemplate.java:356)
	com.seobu.homepage.dao.SeobuDAO.boardCreated(SeobuDAO.java:83)
	com.seobu.homepage.service.SeobuService$5.doInTransactionWithoutResult(SeobuService.java:151)
	org.springframework.transaction.support.TransactionCallbackWithoutResult.doInTransaction(TransactionCallbackWithoutResult.java:33)
	org.springframework.transaction.support.TransactionTemplate.execute(TransactionTemplate.java:134)
	com.seobu.homepage.service.SeobuService.boardCreated(SeobuService.java:149)
	com.seobu.homepage.controller.MemberBoardActionController.created(MemberBoardActionController.java:57)
	sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
	sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
	java.lang.reflect.Method.invoke(Unknown Source)
	org.springframework.web.servlet.mvc.multiaction.MultiActionController.invokeNamedMethod(MultiActionController.java:434)
	org.springframework.web.servlet.mvc.multiaction.MultiActionController.handleRequestInternal(MultiActionController.java:372)
	org.springframework.web.servlet.mvc.AbstractController.handleRequest(AbstractController.java:153)
	org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter.handle(SimpleControllerHandlerAdapter.java:45)
	org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:806)
	org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:736)
	org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:396)
	org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:360)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:709)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
	com.rolizen.util.web.CharacterEncodingFilter.doFilter(CharacterEncodingFilter.java:49)




디비에 집어넣을려는 데이타의 길이가 디비에 설정된 길이보다 클경우에 발생














Installation Instructions

Here you will find a screenshot tour of the Subclipse installation process in Eclipse 3.x. These particular screens were captured in Eclipse 3.0.2 running on Windows XP.

Install Subclipse in Eclipse 3.x

Step 1:

Begin the installation from the Eclipse Help menu item.

Install screen

Step 2:

This screenshot show the screen as it initially comes up. In this case you will need to change the radio button to indicate that this is a new install.

Install screen

Step 3:

This screen will vary depending on the features you have installed already. You want to click on the New Remote Site button. If you are behind a proxy and the Eclipse install mechanism does not work, then you can download a zipped version of the update site and then click the New Local Site button instead.

Install screen

Step 4:

This screen is showing the New Remote Site dialog, filled in with the correct information to install Subclipse

    Name: Subclipse 1.2.x (Eclipse 3.2+)
    URL:  http://subclipse.tigris.org/update_1.2.x
    
    Name: Subclipse 1.0.x (Eclipse 3.0/3.1)
    URL:  http://subclipse.tigris.org/update_1.0.x
Install screen

Step 5:

When you first come back to this screen, the site you added will NOT be selected. Be sure to select it before clicking Next.

Install screen

Step 6:

This next screen shows all of the features that are available to install.

Install screen

Step 7:

Click the button to accept the license agreement.

Install screen

Step 8:

Confirm the install location

Install screen

Step 9:

There is an Eclipse preference to turn off this next dialog. I have never seen a signed feature. Not even Eclipse.org nor IBM sign their features.

Install screen

Step 10:

Just a screenshot of the in-process installation.

Install screen

Step 11:

Eclipse needs to be restarted after installing Subclipse.

Install screen

Step 12:

Finally, after restarting Eclipse, the first thing you will typically want to do is open the Subclipse Repository perspective where you can define your repositories. Be sure to also check the online help as well as the Subclipse preferences located under Team -> SVN.

Install screen

Updating Subclipse in Eclipse 3.x

Eclipse 3.x has a feature in preference to automatically check for updates. Provided you are not behind a proxy that does not allow this feature, it should work for Subclipse. Otherwise just follow the instructions for installing Subclipse, except take the option to check for updates in Step 2.

If you are behind a proxy that does not work with Eclipse, then to install updates you just always follow the same instructions you used to install a new version. If you always unzip the site to the same local folder, you will not have to define the local site each time.

아래의 SQL질의는 오라클 9i이상에서만 가능하다.
ALTER TABLE table-name RENAME COLUMN old-column-name TO new-column-name;