'2007/08'에 해당되는 글 4건

  1. 2007/08/29 일단 한걸음. 스킨위자드 (2)
  2. 2007/08/21 블로깅과 삶의 여유 (2)
  3. 2007/08/20 Tomcat DBCP 설정(Oracle 10g) (3)
  4. 2007/08/08 수평관계에서의 프로젝트 진행
Favorites2007/08/29 09:13
티스토리에서 진행하는 스킨위자드 테스터로 선정이 되어 잠시 살펴보게 되었습니다. 처음 기대했던 느낌은 일종의 스킨빌더 같은 것이었는데, 실제 살펴보면 그렇지만은 않네요? :-)
그렇다고 해서 실망을 했다던가 하는 것은 아닙니다. 모든것에는 순서가 있기 마련이고, 지금 제공되는 스킨위자드라면 일단 첫걸음으로서의 기능은 어느정도 만족할만한 수준이라고 생각합니다.

사소한 배경 하나를 바꾸는데도 [HTML / CSS] 에 대한 지식을 알아야 하고, 본문이 너무 좁아 사진이 자꾸 보기에 좋지 않은데도 불고하고 역시나 [HTML/CSS] 에 대한 지식이 없으면 아주 사소한 부분이라도 스킨을 수정하는것은 엔드유저 에게는 쉬운일이 아닌것이 사실입니다. 하지만 이러한 작은것 같지만 정작 가장 중요한 부분을 스킨 위저드가 어느정도는 해결해 줄 수 있을거라는 생각이 들었습니다.

기본적으로 지원하는 본문의 width 길이 지정. 배경 색상/이미지 변경등은 아주 유용할 거라 생각이 들고, font 등을 수정하는 기능 역시 편리할 것 같습니다.


이 스킨위자드 기능을 이용하기 위해서는 [표준스킨] 처럼, 제작시에 가이드라인 을 제공해 주는 스킨이 따라와 주어야, 현재 태터툴즈 등에서 스킨을 제작해 배포를 하고 계시는 분들의 참여로 스킨의 다양화가 이루어 질거라는 생각이 들었습니다.(금방 해결 되겠죠?)
아쉬운 점은, 이번 스킨위자드 에 포함되어 있는 기능들의 대부분은 엔드유저 가 아닌 스스로 HTML/CSS 수정이 어느정도 가능하신 분들에게는 그다지 유용할 거라는 느낌이 와 닿지 않았습니다.
일단 [티스토리 + 자바스크립트] 의 조합으로 인해서 공용 회선에서는 극악의 속도를 자랑합니다. 변경등이 바로 반영이 이루어지지 않고 페이지가 멈추는 현상도 발생을 하더군요. 이는 코드 최적화 등을 통해서 빠르게 조치가 되어야 할듯 합니다.


전체적으로 살펴 본 이번 스킨위자드.
"배경이미지 하나 바꾸는 것도 너무 어려워요!" 라고 한번이라고 느껴보셨을 분들을 위하여 준비하였습니다. 스킨위자드는 html/css를 직접 편집을 하지 않고도 좀 더 쉽고 편하게 스킨을 수정/편집 할 수 있는 새로운 스킨 편집 기능을 소개합니다!
엔드유저 분들을 위한 스킨편집 의 편리성을 위해서 시작된 아이디어. 시작하는 느낌이 참 좋은 것 같습니다. :-)
크리에이티브 커먼즈 라이선스
Creative Commons License
Posted by 구라구렁이
분류없음2007/08/21 23:33
많은 분들은.. 아니고, 몇몇 분들께 요즘 블로그를 운영은 하고 있냐는 말을 듣게 되었습니다. 당당하게 "예" 라고 말씀 드렸지만.. 글세요. 나 자신에게 하는 말이었다면 "예" 라는 대답이 맞겠지만, 다른 분들에게는 그리 설득력 있어 보일거 같지는 않습니다. <(__)>

여러 분들은 블로그가 삶에서 어떠한 비중을 차지하시는지 궁금해 졌습니다. 저의 경우를 예로 들면, 제가 지금 살아가고 있는 이 순간의 여유를 표현해 주는 가장 적합한 대상이 블로그가 아닐까 합니다.

'그깟 글 하나 쓰는데 뭐 그리 시간이 많이 걸린다고?' 라고 생각을 하신다면 죄송하다는 말씀밖에는 딱히 드릴만한 말은 없습니다. 다만, 여유가 없다는것은 지금 하고있는 일 이외의 것에 집중을 할 수 있을만큼의 정신적인 여유가 없다고 생각해 주시면 아니될까요? :-)

H 모 호스팅사와 계약기간이 종료되는것도 모르고 방치했다가 기존의 포스트는 모두 사라져 버리고 나서야 백업의 중요성을 다시한번 느꼈답니다.(전화한통 해 주지 않다니.. 나쁜것들!!)


어서 이 바쁜 삶의 시간이 지나갔으면 좋겠습니다. 여유로움을 만끽하며 내가 좋아하는 것들을 하나씩 이루어 나가는 삶이.. 참으로 그리워 지는 시간을 지나가고 있는것 같습니다. :-)
(그런데 이렇게 바쁜생활이.. 그리 싫지만도 않네요? -.-)
크리에이티브 커먼즈 라이선스
Creative Commons License
Posted by 구라구렁이
Memo2007/08/20 14:18

대부분의 어플리캐이션에서 가장 부하가 많이 걸리는 부분은 DB 에 접속 하는 부분이라고 합니다. 그에따라 대부분의 상용 사이트 혹은 동시접속자가 생기는 솔루션의 경우에는 DataBase Pool 이라는 기법을 이용하여 Connection 되어있는 객체를 생성하고, 요구사항이 있을때 임대해 주는 방식을 많이 사용합니다. 이 부분을 직접 작성해 보는것 또한 많은 것을 학습할 수 있는 기회가 되지만, 실제 서비스되는 곳에 실험적으로 만들어진 코드를 사용하기는 현실적으로 많이 어려운것 같습니다.

따라서 apache 재단의 Java 서브 프로젝트인 jakarta 에서 DBCP 라는 프레임워크(?) 많이들 이용하고 있습니다. 물론, 학습시에 말이죠. :-)


자바를 배워 나아간다는것은, 영업직들의 화려한 활약으로 인해서 EJB 가 필수적인 스킬이 되어 가고 있는 상황이고 EJB 라는 녀석 자체가 초기 투자비용이 워낙 큰 녀석이다보니 WAS 에서 학습시에 세팅에 열을 올리는 대부분의 것들을 자체적으로 지원해 주기 마련입니다. 그래서 DBCP(DB Connection Pool) 에 대한 전반적인 지식이 없이 EJB 로 넘어가는 사례를 많이 보곤 합니다. 하지만 제가 항상 강조하듯이 지식을 끌어안지 못하고 과정을 학습하는것은, 차후에 그것을 기반으로 한 상위의 무언가를 배울때 걸림돌이 될 것이 확실하다고 생각합니다.

그래서 결론은, 'DBCP 에 대한 전반적인 지식을 끌어안고 상위로 나아가자' 가 되겠죠. :-)


항상 포스팅을 할 때마다 느끼는것이지만, 사설이 너무 길어지는거 같습니다.

1> 라이브러리 복사.
2> server.xml ==> <Resource /> 추가
3> context.xml 혹은 server.xml ==> <ResourceLink /> 추가
4> web.xml ==> <resource-ref> ... </resource-ref> 추가
5> TEST!!


1-1> DBCP 라이브러리 복사.
common-collections-3.2.jar
common-dbcp-1.2.1.jar
common-pool-1.3

위의 3개 파일을 <context>/WEB-INF/lib 디렉토리에 복사.


1-2> oracle JDBC 드라이버 파일 복사.
ojdbc14.jar
위 파일을 <context>/WEB-INF/lib 디렉토리에 복사.
[<TOMCAT_HOME>/common/lib 디렉토리에 복사]


2> server.xml 파일의 <GlobalNamingResources> 의 내부태그로 <Resource /> 추가

<Resource auth="Container" driverClassName="oracle.jdbc.driver.OracleDriver" maxActive="20" maxIdle="10" maxWait="-1" name="jdbc/project" password="tiger" type="javax.sql.DataSource" url="jdbc:oracle:thin:@127.0.0.1:1521:xe" username="scott" />


3> context.xml 혹은 server.xml 파일의 <Context> 의 내부태그로 <ResourceLink /> 추가

<ResourceLink global="jdbc/project" name="jdbc/project" type="javax.sql.DataSource" />


4> web.xml 파일에 <resource-ref> 추가.

 <resource-ref>
  <description>DB Connection</description>
  <res-ref-name>jdbc/project</res-ref-name>
  <res-type>javax.sql.DataSource</res-type>
  <res-auth>Container</res-auth>
 </resource-ref>


5> TEST!!

<%@ page contentType="text/html" pageEncoding="UTF-8"
         import="java.sql.*"
         import="javax.sql.*"
         import="javax.naming.*"
%>
<html>
<head>
 <title></title>
</head>


<body>
<%
  try {
   Context initCtx = new InitialContext();
   Context envCtx = (Context)initCtx.lookup("java:/comp/env");
   DataSource ds = (DataSource)envCtx.lookup("jdbc/project");

   Connection conn = ds.getConnection();
   out.write("DB Connection..");
 
   conn.close();
  }
  catch(Exception e) {
   e.printStackTrace();
  }
%>
</body>

</html>



5번 과정을 마친 후 톰캣을 가동하고 웹브라우저에서 실행시 "DB Connection.." 이라는 메시지가 브라우저에 출력이 된다면 연결이 성공한 것입니다. :-)
크리에이티브 커먼즈 라이선스
Creative Commons License
Posted by 구라구렁이
Gossip2007/08/08 11:16
개발자라는 직업을 가지고 프로젝트를 진행해 나아가다 보면 팀장과 팀원, 나아가서는 PL 이나 PM 과 동등한 권한, 혹은 발언권만이라도 있다면 조금 더 재미있는(?) 프로젝트 진행을 할 수 있지 않을까 생각을 해 보게 됩니다. 시장의 흐름을 변화시킬만한 큼지막한 아이디어는 소위 말하는 엘리트 그룹에서 나온다고들 믿게 되지만, 그 시장을 성장시키는 것은 그들이 아닌 우리같은 소시민들의 역할이니까요. :-)

지금 교육을 받고 있는 곳에서 1-2개월정도의 기간동안 자율주제 프로젝트를 진행할 수 있게 되었습니다. 서로가 같이 교육을 받아왔던 분들이라 상하관계라곤 없는 상황. 누구나 발언을 할 수 있고, 마음에 안드는 부분에서는 투정이라도 부릴 수 있는 기회가 생긴 것이랍니다.

지금 시간이 1개월여가 지나가고 있는 시점에 있습니다. 제가 지금 매우 재미있는 프로젝트를 진행하고 있을까요? 아니면 난처한 상황에 처해 있을까요?

안타깝게도 정답은 후자 입니다.
수평관계에서의 프로젝트 진행은 얼핏 상당히 이상적인 방법인듯 느껴지지만, 이번 프로젝트를 진행하면서 제가 느끼게 된 것은, 최소한 일정 이상의 발언권을 가진 인물(팀장이 되겠네요)이 중심을 잡아줘야 할듯 합니다. 사공이 많으면 배가 산으로 간다는 말이 있듯이 여러 사람들이 자신의 주장을 펼치고, 그에따른 적절한 합의가 이루어지지 않으니 실지 프로젝트에서 하루도 안걸려서 마무리 될법한 토의가 일주일을 넘기는일도 아주 자주 있는일이 되어가고 있습니다. 물론 저희팀 뿐만이 아닌 다른 팀도 어느정도의 차이가 있을 뿐, 전체적인 양상은 비슷한듯 보였습니다.


많은 분들께서 개발자에게 가장 중요한 스킬은 코딩 혹은 설계능력이 아닌 커뮤니케이션 능력이라는것을 말씀해 오셨는데, 이것이 지금처럼 크게 와 닿은적이 없었던것 같습니다. 천재는 다른이의 실수에서 배우고, 범재는 자신의 실수에서 배우며, 둔재는 자신의 실수를 여러번 되풀이해서 배워간다고 했던것 같습니다.

저는.. 아무래도 둔재에 가까운것 같습니다. :-(
크리에이티브 커먼즈 라이선스
Creative Commons License
Posted by 구라구렁이