갑자기 나온 뉴스에 모든 사람이 다 놀라고 있다.

그동안 여러 회사를 계속 인수해온 Oracle 이지만..

여지껏 인수해왔던 어느 회사 보다도 인수의 영향이 큰 경우가 아닌가 싶다.

다들 이런 저런 얘기가 많은데..

개인적인 생각은...

Sun에서 취하고 있던 Open Source 전략은 물건너 가지 않을까 싶다.

Netbean, JVM , GlassFish , Solaris, OpenOffice 등

생각해 보면 알게 모르게 Sun이 Open Source로 걸어가고 있던 그리고 만들어 냈던 제품들이 의외로 많다는 걸 알 수 있다.

개인적으로는 IBM이 Sun을 인수 했으면 좋았을 텐데 생각이 드는데...

하지만 Sun 입장에서 본다면 H/W , 자바 등 다양한 분야를 보면

결국 Cash Cow 역활을 하고있는 부서는 H/W가 아닐까...

IBM에 인수된다면 H/W 사업부분이 견디기 힘들겠지만..

Oracle로 간다면 그런 염려는 줄어 드니깐.. 내부적으로 Oracle에 drive 를 걸지 않았을 까 싶다.


어쨋든 ... 다른 여타회사와 다르게 Sun 만큼은 독자적인 법인으로서 지금까지 해 왔던 자바내에서의 위치와 위상을 유지해 줬으면 한다.

'개발자세상' 카테고리의 다른 글

RPM 관련 명령  (0) 2009.08.18
kernel ARG_MAX 값  (0) 2009.05.08
ZK 사용기  (0) 2009.04.05
본사 PVT 진행  (0) 2009.04.04
IPTV Business Insight를 다녀와서  (0) 2009.04.02
Posted by headiron
,

여지껏 singleton 이외에 다른 scope의 bean을 사용할 일이 없었는데

B3 Tool을 개발하며 필요하게 되었다.

ApiAdaptor의 생성 overhead를 줄이기 위해 spring에 singleton 으로 생성을 했는데

서로 다른 account에 대해 동시에 ApiAdaptor bean을 사용하게 될 경우에 문제가 생길 가능성이 있었다.

방법은 bean에 config 객체를 set 하는 순간 부터 해당 bean을 synchronize 시키는 방법이 있을 수 있었다.

하지만 언제나 synchonize를 시키는 방법은 여러 문제를 발생 시킬 수 있다.

다른 방법을 생각해 보았는데

민차장님이 회의 들어갔다 나온 사이에 session bean을 사용하는 방법을 찾아 주셨다.


spring 2.0 이상 부터 제공되는 session bean 객체를 이용하는데 

config 를 session scope로 선언하고 aop:proxy를 선언한 후 이를 adaptor의 property로 injection을 하게 되면 config 객체가 사용될 때 마다 proxy 기능에 의해 session scope의 객체가 사용되게 된다.

이를 위해서는


<beans xmlns="http://www.springframework.org/schema/beans"
  xmlns:p="http://www.springframework.org/schema/p"
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xmlns:aop="http://www.springframework.org/schema/aop"  
  xsi:schemaLocation="http://www.springframework.org/schema/beans
       http://www.springframework.org/schema/beans/spring-beans.xsd
       http://www.springframework.org/schema/aop
       http://www.springframework.org/schema/aop/spring-aop-2.5.xsd">

 <!-- API Adaptor Object -->
 <bean id="loginConfig"
  class="com.tfsm.apis.oas.config.OasApiConfig" scope="session" >
  <aop:scoped-proxy/>
 </bean>
 <bean id="campaignProxy"
  class="com.tfsm.apis.oas.proxy.implementation.CampaignProxyBean" >
  <property name="oasConfig" ref="loginConfig"/>
 </bean>
</beans>

이를 위해서는 cglib library가 추가로 필요하며
loginConfig가 interface 기반으로 개발되었을 경우 
 <bean id="loginConfig"
  class="interface명" scope="session" >
  <aop:scoped-proxy proxy-target-class="false"/>
 </bean>
로 선언하게 되면 cglib를 사용하지 않게 된다.

이때 web.xml에는 

<listener>
                <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>

이외에
<listener>
       <listener-class>org.springframework.web.context.request.RequestContextListener</listener-class>
</listener>      
도 추가 되어야 한다.

http://static.springframework.org/spring/docs/2.5.x/reference/beans.html#beans-factory-scopes

추가로 spring만 사용했을 경우에는 session scope를 사용하는데 큰 문제가 생기지 않으나
zk framework에서 session  scope bean을 사용하게 될 경우

zk.xml 파일에

    <listener>
            <description>ThreadLocal Synchronization Listener</description>
            <listener-class>org.zkoss.zkplus.util.ThreadLocalListener</listener-class>
    </listener>

 <preference>
  <name>ThreadLocal</name>
  <value>
   org.springframework.web.context.request.RequestContextHolder=requestAttributesHolder,inheritableRequestAttributesHolder;
  </value>
 </preference>
를 추가 하여야 한다.

http://forum.springsource.org/archive/index.php/t-50631.html
http://www.zkoss.org/javadoc/3.0.3/zkplus/org/zkoss/zkplus/util/ThreadLocalListener.html

Posted by headiron
,
하루 종일  TV에서 하는 "그들이 사는 세상"이라는 드라마를 봤다.

예전에 얼핏 보면서 송혜교가 나오는데 광고가 하나도 안 붙네 하고 웃었던 드라마 였는데

다시 보니 정말 재밌었다.

내 기억으로는 초반부에는 드라마 촬영 상황을 많이 보여 줬던 기억이었는데

오늘은 후반부 부분을 봤더니 주로 사랑 얘기가 주류이다...

ㅋㅋㅋ 예전에는 그런 생각을 안 했는데

그 하나하나의 에피소드에 나를 끼워 넣는 나를 보면 참 우습기도하고...

또 내자신이 어이 없기도 하고.

어쩌면 다들 이런 생각으로 그렇게 드라마에 빠져드는 구나 하는 생각이 들었다.

어쩃든 참 괜찮은 드라마 였는데... 아쉽고 지금이라도 다시 봐서 다행이라는 생각이...

근데 드라마 보며 느낀 점은.. 송혜교 참 귀엽다는 생각이.>^^
Posted by headiron
,

ZUL 파일의 시작 부분에 아래의 문구를 일단 추가...

<?xml version="1.0" encoding="UTF-8"?>
<?init class="org.zkoss.zkplus.databind.AnnotateDataBinderInit" ?>


아래와 같이 input component의 value에 연동할 객체 Handler를 기입
<textbox id="flightName" maxlength="10" value="@{win.flight.flightName}"/>

이렇게 하면 input component에서 작성하는 데이터 ( 지금의 경우 flightName )  의 수정 사항이 객체에 ( 이 경우 win.getFlight().getFlightName()) 자동으로 적용된다.

ZK Design한 사람들이 이 부분은 상당히 잘 생각한 듯 하다.
Posted by headiron
,
B3 Tool POC 하며 ZK SpreadSheet을 사용하게 되었다.

Web화면에 Excel U.I를 띄워 주니 입력 항목이 많은 경우에는 큰 도움이 될 듯 하다.

다만 U.I가 좀 느려서 빠른 화면 전환할 경우에 문제가 생길 수는 있을 것 같다.

ComboBox를 사용할 필요가 있어 ComboBox U.I를 체크해 보았는데

POI나 jExcel 내부에는 constraint를 이용하여 처리해 주고 있는데

SpreadSheet에서는 이 부분을 지원해 주지 않아 조금 아쉽다.


ZK의 다른 Component처럼 Cell에 객체를 mapping하여 Editing 결과를 자동으로 객체에 적용하려고 했는데 ,

객체 Mapping 정보를 Excel의 수식으로 적용하기 때문에 Editing시 해당 Mapping 정보가 날라 가는 현상이 있어 이 부분은 적용하기 어려웠다.

결국 POI 처럼 Cell 단위로 입력값 읽어 오도록 일단 처리 하였다.


필요 library를 보면 jExcel을 사용하는것 같은데.. ZK의 ext library에 이미 poi library가 있는데 굳이 jExcel을 사용하나 싶다.

어쩌면 POI 에서 처리못하는 부분을 jExcel에서는 지원하기 때문에 jExcel을 사용하는거 아닐까 하는 생각도 ....


예전에는 OCX로나 구현할 수 있었던 U.I를 library로 비교적 쉽게 구현할 수 있어 좋기는 한데..

우째 또 다른 짐을 지게 되는것 같아 가슴 한편이 좀 무겁기도 하다...-.-

Posted by headiron
,

Do you realize that what you are doing at any moment is something that someone was doing when they died?

Michael A Singer.

내가 하는 매 순간의 모든 행위가 누군가가 죽은 순간에 마지막 행위였음을 아는가?

국내에  "한발짝 밖에 자유가 있다" 라는 책으로 알려진 미국의 명상가 이자 작가인 마이클 싱어의 명언 이었습니다.

다음에 만나는 사람이 당신이 볼 마지막 사람이라는 사실을 알게된다면 과연 우리는 어떻게 삻을 살게 될까요?

죽음이라는 숙명을 항상 되새기며 매 순간마다 깨어있는 의식으로 삶의 사건들을 온전히 그리고 기꺼이 즐기고 경험합시다.

운이트이는 영어 4월 13일 오프닝...

'사는이야기' 카테고리의 다른 글

우이령과 바꾼 칠선 계곡  (0) 2009.09.16
그들이 사는 세상...  (0) 2009.04.20
벗꽃 시즌 개막  (0) 2009.04.07
XPERIA 데모 동영상  (0) 2009.04.03
옛 회사 직원을 지하철에서 보고...  (0) 2009.04.02
Posted by headiron
,
어제 부터 여의도 벗꽃 축제가 시작 됐다는 얘기를 들었는데

아침에 출근하며 어린이 대공원에 갔더니 대공원도 슬슬 벗꽃이 피기 시작한다.

지난 주 까지만 해도 벗꽃이 별로 보이지 않았는데,

어느덧 꽃 놀이를 해도 될 정도의 꽃이 만개 했다.

이번 주말에는 PVT도 없으니

공원도 거닐고...

워커힐 거리도 거닐고..

1년에 한번 오는 벗꽃 시즌을 만끽 해야 겠다.

( ㅋㅋㅋ 당분간 어린이 대공원으로 지나오는 출근길이 너무 즐거울 것만 갔다.^^ )
Posted by headiron
,

ZK 사용기

개발자세상 2009. 4. 5. 19:00
작년에 AddOn Module 개발하면서 ZK 를 처음 사용했는데

그떄는 기존 U.I에 똑 같이 맞춰서 개발해야 한다는 issue로 완전 개고생...-.-

이번에는 B3 Report Tool 때문에 다시 사용했는데

솔직히 개발하기는 정말 편했다.

특히 예전에 ZKStudio가 있기는 했지만 기능이 너무 빈약 했는데

이제는 기능이 좋아 져서 제시어 기능도 생기고 해서 개발하기 편했다.

물론 사상적인 부분으로는 아직도 익숙하지는 않지만..

Intranet 개발 환경으로는 상당히 좋다는 생각이 들었다.

뭐... One Souce Multi Use ( 물론 Mobile 밖에(?) 지원하지는 않지만... )

라는 사상도 괜찮고.

U.I 화면도 나름 깔끔하고...

흠... 이번에 B3 Project 들어가게 되면 아마도 ZK 를 사용하지 않을 까 생각되는데

솔직히 Intranet 용 Application 개발하는 경우라면 적극 추천 할만 한것 같다...

슬슬 ZK 관련 Issue들도 정리 해야 할듯 >^^

'개발자세상' 카테고리의 다른 글

kernel ARG_MAX 값  (0) 2009.05.08
Oracle , Sun 인수  (0) 2009.04.22
본사 PVT 진행  (0) 2009.04.04
IPTV Business Insight를 다녀와서  (0) 2009.04.02
오랜만에 쳘야  (0) 2009.03.08
Posted by headiron
,

주중에 Europe Central Farm PVT를 진행하고

이번에는 정말 처음으로 진행 ( 생각해보니 작년에 몇 번 하기는 했는데 Aman이 거의 주도 했었던 기억이 ) 하다 보니 긴장을 좀 했었나 보다.

Config Check하다 보니 API PVT 시작 할 시간을 놓치고

Account Report쪽 오류가 아직도 있어서 timeout이 걸리는 바람에 시간도 오래 걸리고

그래서 더 서두르다 보니 당황하고.

다행이 정팀장님이 일찍 일어나셔서 ..

( 새벽 4시에 그냥 눈이 떠 졌을리는 없고...

  좀 불안하셨던듯 하다... )

결국 결과 확인하다 보니 Network Module이 켜져 있어서

내가 AOL에 누가 Super Admin 계정 가지고 있냐고 하니.. 조용.-.-

결국 정팀장님이 Julie한테 부탁해서 계정 가지고 있는 사람 찾아서 Account 수정 하고

다시 테스트 진행해서 일을 끝냈다.

예전에 PVT할떄는 그냥 누군가 기댈 사람이 있다는 생각이 있어서 인지

그렇게 걱정되지 않았는데..

( 생각해 보니 지난번에 정팀장님 미국 들어가시는 날 PVT할때도 이렇게 긴장 안 했었던듯>^^ )

이번에는 긴장은 안 했는데 좀 당황하다 보니..

(Java Heap Size Option 신경쓰느라... )

어쩃든 재밌는 경험이었고..

예전보다 좋아 졌다고 생각했었는데 아직도

흥분하면 서두르는 인상을 아직도 지울수는 없었다.

어쨋든 재밌는 경험이었고.

다음에는 더 신중하게 열심히 해서 더욱 완벽하게 작업해야 할 듯 하다.^^

'개발자세상' 카테고리의 다른 글

Oracle , Sun 인수  (0) 2009.04.22
ZK 사용기  (0) 2009.04.05
IPTV Business Insight를 다녀와서  (0) 2009.04.02
오랜만에 쳘야  (0) 2009.03.08
초심으로.....  (0) 2009.03.04
Posted by headiron
,


박차장님이 유차장님에게 계속 얘기하셨던 엑스페리아  데모영상

뭐.... 나도 돈 만 있음 확 질러 보고 싶어지는데.>^^
Posted by headiron
,