Eclipse Forms를 이용해서 애플리케이션에 웹 효과를 내는 방법을 설명하는 글입니다.
자바로 만든 프로그램이 이렇게 쓸만한 UI를 가지게 되는게 이클립스 덕이 아닐까합니다. 엄밀히 말하면 운영체제의 네이티브 UI와  같은 룩앤필을 제공해주는 Standard Widget Toolkit(SWT)[각주:1] 덕이겠죠.


원문 : Eclipse Forms로 애플리케이션에 새로운 활력을 (한글)

Eclipse Forms를 사용하여 Eclipse 애플리케이션의 사용자 경험을 향상시킬 수 있습니다. 임베디드 브라우저를 사용하지 않고 애플리케이션에 "웹과 같은" 효과를 나타낼 수 있습니다. 본 기술자료에서는 사용자 인터페이스(UI) 툴킷으로서의 Eclipse Forms를 간략히 소개하고, 사용하기 쉬운 예제도 제공합니다.

배경

Eclipse Forms란 무엇인가? 이 질문에 답을 하기 전에, Eclipse Forms의 사용 방법을 설명하도록 하겠다. 여러분은 Eclipse에 플러그인을 구현해 본 적 있는가? 그렇다면, 이것이 다음과 같은 깔끔한 UI라는 것을 아마 알 수 있을 것이다.



사용자 삽입 이미지

Hello world 예제

본문에서 Eclipse Forms로 구현한 Hello World 예제입니다. 어떤 언어를 배우든 일단 Hello World부터 ^^
  1. Eclipse의 구현 기반입니다. SWT는 다양한 플랫폼에서 실행됩니다. [본문으로]
 이번엔 제가 잘 사용하지 않아서 잘 모르는 내용을 소개하려 합니다. IBM DB2에서 Ruby on Rails 개발 환경을 설정하고 사용하는 법 입니다. 제가 주로 Oracle DBMS를 사용하는터라 DB2를 배우고 싶긴한데 시간이 잘 안 나네요. ^^;
 루비도 책 한권 사놓고는 제대로 보지도 못했습니다. 에휴... 빨리 공부 해야할텐데...
아무래도 스키 시즌 지나가기 전에는 책보기 힘들듯 합니다.

원문 : DB2와 Ruby on Rails, Part 1: DB2와 Ruby on Rails 시작하기 (한글)
두 명의 DB2 전문가와 두 명의 소프트웨어 엔지니어가 이 글의 저자입니다.

Part 1에서는 DB2 설치, Rails 설정 등의 기본적인 작업을 설명하고 있습니다.


2007 년 7 월 24 일

Ruby 언어의 등장과 강력한 Rails 프레임웍의 결합으로 웹 애플리케이션 개발에 수 많은 기회들이 생겼습니다. IBM_DB 어댑터와 드라이버의 도입으로, Rails 애플리케이션들은 이제 IBM 데이터 서버들과 완벽하게 상호 작동 할 수 있습니다. DB2®와 Ruby on Rails 시리즈를 시작합니다. DB2 on Rails용 Starter Toolkit를 소개하고, IBM_DB 드라이버를 설치하는 다양한 방법과 DB2로의 Rails 마이그레이션을 설명합니다.

머리글


2004년 출시된 Ruby on Rails는 웹 애플리케이션 개발에 사용되는 가장 대중적인 프레임웍으로 자리를 잡아가고 있다. Rails 또는 RoR로 알려진 이 오픈 소스 프로젝트는 Model-View-Controller (MVC) 아키텍처, Ruby 객체 지향 스크립팅 언어, "convention over configuration"과 "don't repeat yourself" 같은 단순한 원리를 사용한다. 개발자들은 중복이 적은 코드와 설정 파일을 사용하여 애플리케이션을 더욱 빠르고 쉽게 구현할 수 있고, 애플리케이션의 필요를 채울 수 있는 커스텀 확장을 구현할 수 있는 유연성도 있다. 데이터베이스 영속성에 대한 지원으로, 이 프레임웍을 사용하는 웹 애플리케이션들은 데이터베이스 서버와 빌트인 WEBrick 웹 서버를 사용하여 개발될 수 있다.




 수십가지... 아니 수백가지 신기술로 무장한 Oracle 10g가 등장하였지만 아직 9i 버전에서 벗어나지 못한 제게는 충격적인 사건이 벌어졌습니다.
Oracle 11g 등장, 두둥~!!

 Oracle Database 11g 홈페이지

Oracle Database 11g가 제공하는 혜택이 아래와 같습니다:

  • Real Application Testing을 통해 새로운 테크놀로지를 보다 신속하게 적용할 수 있습니다.
  • 고급 압축, 파티셔닝 기능을 이용하여 더 많은 데이터를 보다 효과적으로 관리할 수 있습니다.
  • Oracle Fast Files를 이용하여 오라클 데이터베이스에 모든 데이터를 저장하고 시스템을 단순화할 수 있습니다.
  • Data Guard의 최신 기능을 이용하여 재해 복구 리소스의 ROI를 극대화할 수 있습니다.
  • 관리 환경의 자동화를 통해 핵심 운영 인력이 보다 전략적인 업무에 집중할 수 있게 합니다.
  • 그 밖에도 매우 다양한 혁신적 기능이 제공됩니다.


 또 다시 배워야할 신기능들... 이런...
"오라클 데이터베이스의 새 버전이 나올때마다 눈앞이 캄캄하다"는 모 강사님의 말이 피부로 느껴집니다.
아직 10g에 대해서도 잘 모르는데 11g라니...
열심히 해야 겠네요.
 이번엔 IBM DeveloperWorks[각주:1]의 웹 개발 관련 자료 중에서 [Ajax와 XML: 라이트박스(lightbox)용 Ajax] (Ajax 기술을 사용하여 라이트박스, 팝업, 윈도우, 페이더(fader) 만들기)라는 글을 소개합니다.

 이  문서는 자바스크립트 라이브러리를 이용해서 동적인 웹 프로그램을 만드는 법을 알려줍니다. 이미지를 같은 화면 내에서 크게 보여주는 법이나 툴팁을 보여주는 등의 현재 여러 서비스에서 쓰고 있는 기능들을 구현하는 법을 실제 예제와 소스 코드로 설명하고 있어서 당장 뭔가를 만들어 내야하는 개발자에게 유용할 거라고 생각합니다.

원문 : Ajax와 XML : 라이트박스(lightbox)용 Ajax

모든 것이 놀랍고 매력적인 요즘, 사용자들의 관심을 끌기란 어려운 일입니다. Ajax 툴과 Lightbox, 팝업, 윈도우, 페이딩(fading) 메시지 같은 새로운 기술을 사용하여 사용자의 관심을 끌어봅시다.


아래 이미지는 본문의 일부입니다.
사용자 삽입 이미지
위의 이미지 처럼 한눈에 들어오는 예제로 설명하고 있습니다. 보기 좋죠?
  1. IBM DeveloperWorks란 개발자들을 위한 다양한 정보를 제공하는 개발자 커뮤니티입니다.
    www.ibm.com/developerworks/kr [본문으로]
한국 IBM의 DeveloperWorks에서 Special Issue에 오픈 소스 라이선스 관련 글이 올라와서 소개를 하려합니다.
저도 그렇지만 오픈 소스 제품을 사용하려할때 문제가 되는 것 중의 하나가 License 관련 문제죠. 물론 그 보다도 관리자들의 오픈 소스 제품에 대한 불신이 더 큰 문제이지만요.

이 글은 현재 특허청에서 근무하는... 그럼 공무원인가요??? 이야 부럽삼... 암튼 현역 전문가가 쓴 글입니다.

원문 : 초보개발자를 위한 오픈 소스 라이선스 길잡이 Part 1: 기초개념 탑재하기

아래는 서문 부분을 발췌한 내용입니다.

소프트웨어의 태동기에는 특별한 용도에 사용되는 하드웨어에 소프트웨어가 함께 넣어져 판매, 설치되었고 하드웨어 가격이 너무 비싸 소프트웨어가 별도로 독립된 경제 재화로서 가치를 인정받지 못하였다. 그러나 1969년 IBM이 하드웨어와 소프트웨어를 분리한(unbundling) 것을 계기로 비로소 소프트웨어가 하나의 독립된 경제 가치를 부여 받고 소프트웨어 산업이 등장하게 되었다.
소프트웨어는 원본과 복제물의 성능이 완벽하게 같고, 일단 복제되어 시장에 빠르게 유포되면 개발사는 투자 비용을 회수도 못하는 특성이 있다. 이에 복제 행위를 방지하는 취지의 법적 규제가 중요한 쟁점이 되었고, 이러한 보호의 관점에서 소프트웨어의 지적 재산권은 주로 저작권과 특허권에서 발전했다. 보호 관점의 법제는 사용권만을 부여하고 재배포나 변경을 금지하는 독점 라이선스와 맥락이 같다.
인터넷 기술 발전과 보급으로 많은 정보를 쉽게 취득할 수 있게 되었고, 취득한 정보를 바탕으로 새로운 정보를 만들어내기가 더욱 쉬운 상황이 되고 있다. 소프트웨어의 경우도 개발시 알려진 여러 소스코드를 이용하여 제품을 쉽게 개발할 수 있는 환경이 제공된다. 이렇게 공중(public)에 기여된 정보를 이용하면 개발 비용과 기간이 줄어든다는 장점이 있다. 특히, 리눅스의 성공은 이러한 정보 공유가 보호를 강하게 하는 것보다 사회 전체의 측면에서 긍정적이라는 논거가 되어, 기존의 보호 관점에서 발달한 소프트웨어의 지적 재산권에 대해 많은 비판과 논란을 가하고 있는 상황이다.
개발이 다 된 상황에서 개발사가 기여자의 위치에서 자신의 제품을 공중에 기여하는 것은 쉽지 않은 일이다. 현재 공중에 기여되어 알려진 소스코드는 오픈 소스 라이선스가 적용된 경우가 대부분이다. 이러한 오픈 소스 라이선스는 정보 공유 및 확산을 목적으로 하고 있어, 이용된 오픈 소스가 자신의 제품 개발에 큰 역할을 했으면 기여자로서 자신의 제품 정보도 공개할 것을 라이선스의 주요 목적으로 하고 있다. 다음 회에서 연재되겠지만 오픈 소스 라이선스에는 여러 종류가 있고 각기 자신의 개발 제품을 어느 정도까지 공개해야 하는지 그 정도의 차이가 구분의 핵심이라고 할 수 있다.
이번 회에서는 우선 소프트웨어의 특성과 보호의 관점에서 발달한 저작권과 특허권의 특징을 비교하고 독점 라이선스와 오픈 라이선스의 개념적 차이에 대해 설명하기로 한다.


 이건... 간단한거긴 한데 잊어버릴까봐 기록해두는 내용. :)


<input type="text" name="searchWord" value="" size="25" value=태그인넷 tagin.net
onKeyDown="javascript:if (event.keyCode == 13) search_check();">
->search_check 함수 실행

<input type="text" name="searchWord" value="" size="25" value=태그인넷 tagin.net
onKeyDown="javascript:if (event.keyCode == 13) return false;">
->아무것도 실행안되게 하기.. 엔터키쳐도 무반응

13은 엔터키의 키코드값입니다.




자바스크립트가 참 손이 많이 가는거라서...
 이번엔 DeveloperWorks의 [리눅스, 오픈소스]관련 문서중 [OpenSSL[각주:1] API를 이용한 보안 프로그래밍, Part 1: API의 개요 (한글)]을 소개하려합니다. 필자가 C에 대한 이해와 실무 경력이 부족한 관계로 이 문서가 실제로 얼마나 도움이 될지는 모르겠습니다. 그러나 리눅스에서 보안 프로그래밍에 관심이 있는 유저라면 한번쯤 읽어볼만한 문서라고 생각합니다.

원문 : OpenSSL API를 이용한 보안 프로그래밍, Part 1: API의 개요 (한글)

 필자인 Kenneth는 MediNotes Corp.(West Des Moines, Iowa)의 소프트웨어 엔지니어입니다. 페루, 나브라스카에 있는 Peru State College에서 경영학 학사 학위를 받았고, Southwestern Community College에서 컴퓨터 프로그래밍의 Associate of Science도 보유하고 있습니다.

아래는 원문의 서론부분입니다. 한번 읽어보시고 맘에 드시면 위쪽의 원문 링크를 클릭하셔서 전체 내용을 보세요.

보안 통신용 오픈 라이브러리인 OpenSSL용 API를 사용하는 방법을 배운다는 것은 힘든 일입니다. 문서화가 아직 덜 되어있기 때문입니다. 이 글을 통해서 이를 극복해 봅시다. 기본 연결을 설정한 후에, OpenSSL의 BIO 라이브러리를 사용하여 보안/비보안 연결을 구축하는 방법을 배워봅시다. 에러 탐지에 대한 부분도 설명합니다.

OpenSSL API와 관련한 문서는 약간 모호하다. OpenSSL의 사용법에 대한 튜토리얼도 많지 않으므로, 애플리케이션에서 이를 실행하는 것은 초보자에게는 힘든 일이다. 그렇다면, OpenSSL을 사용하여 기본 보안 연결을 어떻게 구현할 것인가? 이 가이드에서 이러한 문제를 풀어보자.

OpenSSL을 구현하는 방법을 배우는 것과 관련된 문제 중 하나는 문서화가 덜 되어있다는 점이다. 불완전한 API 문서는 개발자가 API를 사용할 수 없게 한다. 하지만, OpenSSL은 여전히 존재하고 강력하다. 왜일까?

OpenSSL 은 보안 통신용 오픈 라이브러리로 유명하다. Google에서 "SSL library"를 검색하면 OpenSSL이 상위로 리턴된다. Eric Young과 Tim Hudson이 개발한 SSLeay 라이브러리에서 파생하여, 1998년에 시작되었다. 다른 SSL 툴킷으로는 GNU General Public License하에서 배포되는 GNU TLS와, Mozilla Network Security Services (NSS) (참고자료)가 있다.

그렇다면, OpenSSL이 GNU TLS, Mozilla NSS 등 보다 나은 점은 무엇인가? 라이센싱이 한 몫을 한다. (참고자료) 게다가, GNS TLS는 TLS v1.0과 SSL v3.0만 지원한다. 그 이상은 지원하지 않는다.

Mozilla NSS는 Mozilla Public License와 GNU GPL 하에서 배포되고, 개발자가 선택할 수 있다. Mozilla NSS는 OpenSSL보다 크고, 라이브러리를 구현하려면 다른 외부 라이브러리가 필요하다. 하지만 OpenSSL은 독립적이다. OpenSSL과 마찬가지로, 대부분의 NSS API는 문서화가 되어있지 않다. Mozilla NSS는 PKCS #11 지원을 갖고 있는데, 이는 Smart Cards 같은 암호 토큰에 사용된다. OpenSSL은 이러한 지원이 부족하다.

조건

이 글을 충분히 활용하려면,

  • C 프로그래밍에 능숙해야 한다.
  • 인터넷 통신에 대해 잘 알고 있어야 하고, 인터넷에서 실행되는 애플리케이션을 작성할 수 있어야 한다.

OpenSSL에 대한 완벽한 이해가 전적으로 필요한 것은 아니다. SSL에 대한 간략한 설명은 나중에 제공하겠다. SSL에 대한 상세한 설명은 참고자료 섹션을 참조하라. 암호법에 대해 알고 있어도 도움이 되지만, 필수적인 것은 아니다.


 이번에는 IBM DeveloperWorks의 오픈소스 관련 문서를 소개하고자합니다.
[PHP로 커스텀 검색 엔진 구현하기(한글)]이라는 문서이며, [Sphinx[각주:1]를 사용하여 콘텐트를 색인하고, 텍스트를 빠르게 찾으며, 유용한 검색 결과 만들기]라는 부제가 붙어있습니다. 이번에도 한글로 된 문서네요. 번역하신 분에게 감사드립니다.

저자인 Martin Streicher는 Linux Magazine 편집장이로군요. 퍼듀 대학에서 컴퓨터 과학 석사 학위를 받았으며, 1986년부터 파스칼, C, 펄, 자바와 최근에는 루비 프로그래밍 언어로 유닉스 계열 시스템을 프로그래밍해 왔다고 합니다.

원문 : PHP로 커스텀 검색 엔진 구현하기(한글)

Google과 이와 비슷한 종류의 검색 엔진들은 그 성능이 뛰어나지만, 이러한 검색 엔진들이 모든 사이트에 잘 맞는 것은 아닙니다. 여러분의 사이트 콘텐트가 매우 특수한 것이라면 Sphinx와 PHP로 로컬 검색 시스템을 만들어 봅시다.

인터넷 시대에, 사람들은 패스트푸드와 같은 형태의 정보를 원한다. 즉각적으로 제공되고, 노력을 들이지 않아도 되며, 적당한 크기(바이트 사이즈(byte-size))로 제공되는 음식을 원한다. 실제로, 인내심 없고 배고픈 대중들의 구미에 맞추려면, 웹 사이트는 바로 효과가 나타나는 포맷을 제공해야 한다.

  • RSS는 피자 배달부이다. 방금 구운 데이터를 여러분의 문 앞으로 배달한다.
  • 웹로그는 중국 요리 테이크아웃으로서, 여러분이 좋아하는 매콤한 요리를 배달한다.
  • 포럼은 이웃과 함께 즐기는 팟럭(potluck) 음식이다. (또는 "Animal House"[각주:2]의 음식 싸움 장면에 알맞다.)
  • 검색(search)은 가까운 카페테리아에서 먹을 수 있는 음식들에 비유할 수 있다. 여러분이 원하는 음식을 쟁반에 담아서, 자리를 차지하고 앉아서 먹으면 된다.

다행히도, PHP 개발자는 광범위한 RSS, 블로그, 포럼 소프트웨어를 찾아서 사이트를 생성하거나 수정할 수 있다. Google등 검색 엔진들의 성능이 우수하지만, 이러한 검색 엔진이 모든 사이트에 잘 맞는 것은 아니다.

예 를 들어, 웹 사이트가 수십만 개의 새롭게 단장된 Porsche 부품들을 제공한다면, Google은 "Carrera parts" 같은 광범위한 검색용 사이트를 띄울 것이다. 하지만 보다 구체적인 "used 1991 Porsche 911 Targa headlight bezel"에 대한 결과는 만들 수 없다.

여러분의 콘텐트가 고도로 특화되었거나 방문자가 여러분의 검색 기능에서 기대하는 것이 실제 작업 흐름과 밀접한 것이라면, 자신의 사이트에 맞게 재단된 로컬 검색 시스템으로 웹의 글로벌 검색 엔진을 확장하는 것이 최상의 방법이다. ("수 많은 건초 더미에서 바늘 찾기")

빠 르고, 성능 좋은 오픈 소스 무료 검색 엔진을 PHP 사이트에 추가하는 방법을 알아보자. 이 글에서는 일부분만을 개발할 것이다. 대신, 초점은 효과적인 검색 결과를 제공하는데 필요한 컴포넌트(데이터베이스, 인덱스, 검색 엔진, PHP 애플리케이션 프로그램 인터페이스(API))에 맞출 것이다.



  1. 오픈 소스 검색 엔진으로서 텍스트를 매우 빠르게 검색하도록 설계되었다. Sphinx는 무료라는 점과 PHP API를 제공한다는게 강점인것 같네요.
     홈페이지 : http://www.sphinxsearch.com [본문으로]
  2. 확인은 못했지만, 존 랜디스 감독의 Animal house라는 영화를 말하는것 같습니다. 존 랜디스 감독의 1978년작 Animal house는 대학가의 문제아들이 모인 델타라는 동호회 회원들의 이야기라고 합니다. 총장이 델타를 해체시키고 회원들을 퇴학시키려는 음모를 진행하는게 내용이라고 하는군요. [본문으로]
 가끔씩 쓰긴하는데, 기억이 잘 안나는 쿼리문입니다.
연속된 숫자를 발생시키는 쿼리입니다. 아래의 쿼리문은 연속된 숫자를 발생시키고 이를 DATE형으로 바꿔서 한해의 일자를 연속으로 만들어주는 쿼리입니다.


1. 특정숫자까지의 연속된 숫자를 발생시키는 쿼리입니다.
SELECT level
  FROM DUAL
CONNECT BY level<=특정숫자;

2. 응용해서 그해의 일자를 1월1일부터 12월 31일까지 발생 시켜주는 쿼리입니다.
SELECT TO_DATE(TO_CHAR(level, '000'), 'ddd')
  FROM DUAL
CONNECT BY level<=TO_NUMBER(TO_CHAR(TO_DATE('12-31', 'MM-DD'), 'DDD'));
 10월의 두번째 글을 작성합니다. 내일까지만 일하면 하루 쉽니다. :)
야호~

 이번에는 IBM DeveloperWorks에서 JAVA로 웹개발을 할때 도움이 될 만한 글을 찾았습니다. Cypal Studio for GWT라는 Eclipse에서 GWT[각주:1] 구현을 지원해주는 플러그인을 소개하는 글입니다. Cypal Studio for GWT의 설치 및 설정, 사용법을 알려주는 글입니다.
 Eclipse에서 GWT를 이용해보고 싶었던 분들이라면 편하게 이용하실 수 있을거같아서 소개합니다.

Cypal Studio for GWT를 사용하여 Ajax 개발 단순화 하기 (한글)

 원문의 내용대로 설치 및 설정까지를 따라해 봤는데, 본문에 나오는대로 GWT 1.4버전에서는 정상적으로 작동하지 않음을 확인했습니다. GWT 1.3버전을 설치하시길 바랍니다. 최신 버전인 GWT 1.4에서 작동하는 Cypal Studio가 빨리 나오면 좋겠네요.
최신 버전 설치하기... 이것도 병인데... :)

GWT는 JavaScript 없이 자바 프로그래밍 언어 내에서 동적인 웹 애플리케이션들을 완벽히 작성할 수 있도록 해주는 툴 세트이다. GWT 애플리케이션은 모든 주요 브라우저에서 실행되며, 사용자와의 상호 작동성도 뛰어나고, 자바 개발 환경 내에서 완벽히 테스트 및 디버깅 될 수 있다.

GWT 프레임웍은 네 개의 주요 컴포넌트를 갖고 있다. 자바 언어로 구현된 위젯 컬렉션은 Swing 보다 단순한 애플리케이션 프로그램 인터페이스(API)에서 기대하는 표준 사용자 인터페이스(UI) 기능을 제공한다. 원격 프로시저 메커니즘은 클라이언트와 서버 간 통신에 사용되며, GWT에서는 모든 파이프와 데이터 변환이 처리된다. 완전히 통합된 브라우저 시뮬레이터로 GWT가 개발 시 실행될 수 있으며, GWT 디버깅 세션 동안 에디터에서 중단점을 설정할 수 있다. 마지막으로, 컴파일러는 자바 코드를 클라이언트 브라우저에서 실제로 실행되는 크로스 브라우저 JavaScript 코드로 변환하며 브라우저 비호환성을 관리하기 때문에 여러분이 관리할 필요가 없다.

GWT가 Ajax 애플리케이션을 생성하는 프로세스를 단순화 하는 동안, 동기화 된 여러 부분들이 작동하도록 해야 한다. 이 글을 쓰고 있는 현재, GWT 고급 툴 지원은 주요 자바 개발 환경에 나타나기 시작했다.

Cypal Studio for GWT는 GWT 개발 시 수행되는 공통의 태스크들을 단순화 하는 Eclipse용 플러그인이다. 이 글에서는 GWT의 모든 부분을 설명하지 않는다. 참고자료 섹션에서 GWT 작동 방법과 애플리케이션을 생성하는 방법을 참조하기 바란다.



  1. Goole Web Toolkit(GWT)은 자바개발자들이 AJAX 어플리케이션을 개발하는데 사용할 수 있는 프레임워크입니다. Google Web Toolkit website [본문으로]

+ Recent posts