Entries Tagged as 'ColdFusion'



RIA 맥잡기 세번째 세미나 - ColdFusion Session 발표자료 및 예제
Category : ColdFusion , Flash/RIA , Miscellaneous Comments : 2 Comments Posted by 장창학 at 1:12 AM

지난 7월 3일(토) 강남교보타워에서 있었던 RIA 맥잡기 세번째 세미나 - ColdFusion Session 발표자료 및 예제입니다. 열이아빠 이준하님의 도움으로 부족한 제가 ColdFusion에 대한 발표를 했는데요. 시간을 너무 소비해서 준비해간 자료의 대부분의 예제를 자세히 소개를 못했습니다. 욕심이 너무 앞섰나 봅니다. ^^; 이후 열이아빠님 세션은 그냥 시간부족이 아니셨는지...

초창기 이후 끊어지다시피한 ColdFusion에대한 명맥을 잇는것 같아 나름 보람도 있었고, 당시 드리지 못한 예제나 작동원리 등을 직접 경험해보시라고 부랴부랴 서버설치하고, 예제를 담았습니다. 한시적으로 운영되겠지만 소스를 받아서 로컬에서 테스트 바라며, 대부분이 이미 제 블로그에서 소개된 자료이니 관련된 설명은 블로그를 참조하시면 도움되리라 봅니다. 기초적 질문이던, 다양한 관심과 궁금증은 제 블로그나, 이메일, 또는 Open ColdFusion Cafe(http://cafe.naver.com/opencfml.cafe)로 문의해주시면 도움드리겠습니다.

발표자료 : PDF다운로드

발표예제 및 소스코드 다운로드


Adobe ColdFusion에서 내장 웹서버의 ROOT 디렉토리 변경
Category : ColdFusion Comments : 댓글쓰기 Posted by 장창학 at 1:21 AM

오랜만의 포스트입니다. ^^ 요새 개인적인 변화, 회사업무 등등으로 인해 포스트는 커녕 CF공부도 못하고 있습니다. ^^

오늘은 Adobe ColdFusion을 설치할 일이 있었습니다. 대부분 프로덕션환경에서는 Adobe ColdFusion외에 JDK나, 웹서버 등을 미리 설치한 후 최종적으로 ColdFusion을 설치를 하는데 개발용으로 Local에서 설치할 필요가 있었는데요. 혹시나 도움되는 Tip이 될까 몇자 적습니다.

 Adobe ColdFusion을 설치할때 반드시 자신의 PC에 웹서버가 깔려 있을 필요는 없습니다. Adobe ColdFusion은 내장 웹서버(Built-in Web Server)가 있어서 개발하는데 전혀 불편함이 없도록 도와주고 있습니다. 다만, 이 웹서버는 성능이 좋지 않거니와 Apache나 IIS처럼 사용자가 맘대로 설정할 수 있는 것이 아닙니다만, 혹시 PC사양이나, 기타 문제로 Apache등의 웹서버를 따로 설치하지 않고 가볍게 ColdFusion 내장 웹서버로 개발하시고자 하는 분들중에 저처럼 웹 루트디렉토리가 항상 ColdFusion설치 디렉토리내의 wwwroot로 고정되는 것을 변경하고자 하는 분들이 있으리라 봅니다.

기본적으로 Windows환경에서 ColdFusion을 설치하면 C:\ColdFusion9에 설치되며, 웹루트 디렉토리는 C:\ColdFusion9\wwwroot 가 됩니다. 매번 저 경로에 파일을 업로드 하는것이 귀찮거나, 또는 다른 디렉토리를 웹루트 디렉토리를 지정하려면 다음과 같이 할 수 있습니다.

기본설치 디렉토리의 다음의 경로로 찾아들어갑니다.

C:\ColdFusion9\wwwroot\WEB-INF

해당 디렉토리의 jrun-web.xml을 열어 다음의 노드를 추가해 줍니다.

<virtual-mapping>
<resource-path>/*</resource-path>
<system-path>D:/wwwroot/</system-path>
</virtual-mapping>

여기서 system-path는 본인이 지정할 웹루트 디렉토리입니다. 절대경로로 지정해 주세요.(리눅스의 경우 /home/nooree/wwwroot 등) 저장한 다음 원래 경로였던  C:\ColdFusion9\wwwroot안의 CFIDE와 crossdomain.xml을 본인이 지정하고자 하는 디렉토리로 이동시켜 주세요.(복사가 아니라 이동입니다.) 그러면 여기의 경우 D:/wwwroot/CFIDE란게 존재하겠죠?(단, 주의해야 할 점은 WEB-INF디렉토리는 그대로 두어야 합니다. 이동하거나 복사하면 안됩니다.)

자, ColdFusion Application Server를 재시작해주고 브라우저에서 http://127.0.0.1:8500 하면 이제 본인이 지정한 디렉토리의 index.cfm파일을 찾게 됩니다.

만약 8500이란 포트를 사용하지 않고 일반 웹서버의 80을 쓰고자 한다면, 기본설치디렉토리의 다음의 경로에서

C:\ColdFusion9\runtime\servers\coldfusion\SERVER-INF

jrun.xml 파일을 열어 <attribute name="port">8500</attribute> 부분을 <attribute name="port">80</attribute> 으로 변경하시고, ColdFusion Application Server를 재시작해 주세요. 이제 http://127.0.0.1/이렇게 접속이 가능해집니다.

 


Ubuntu 10.04 64bit에서 ColdFusion 9를 설치할때 libstdc++5.so가 필요하다면?
Category : ColdFusion , Ubuntu & Linux/Unix Comments : 댓글쓰기 Posted by 장창학 at 2:32 PM

Ubuntu 10.04 64bit에서는 libstdc++5.so를 sudo apt-get install libstdc++5로 설치할 수 없습니다. 구글링을 해서 얻은 정보입니다. 다음과 같이 설치하시면 됩니다. libstdc++5.so는 ColdFusion 9에서 <cfimage>태그를 처리하는데 필요한 라이브러리입니다. 물론 없어도 설치는 되지만 대신 <cfimage>태그를 사용이 제한적으로 ColdFusion 설치전에 미리 설치하시길 바랍니다.


1. libstdc++5_3.3.6-17ubuntu1_amd64.deb 다운로드 및 설치


wget http://mirrors.kernel.org/ubuntu/pool/universe/g/gcc-3.3/libstdc++5_3.3.6-17ubuntu1_amd64.deb
sudo dpkg -i libstdc++5_3.3.6-17ubuntu1_amd64.deb

2. ia32-libs/ia32-libs_2.7ubuntu6.1_amd64.deb 다운로드 및 압축해제, 공유객체 복사, 소프트 링크걸기

wget http://security.ubuntu.com/ubuntu/pool/universe/i/ia32-libs/ia32-libs_2.7ubuntu6.1_amd64.deb
dpkg-deb -x ia32-libs_2.7ubuntu6.1_amd64.deb ia32-libs
sudo cp ia32-libs/usr/lib32/libstdc++.so.5.0.7 /usr/lib32/
cd /usr/lib32
sudo ln -s libstdc++.so.5.0.7 libstdc++.so.5

위와 같이 설치한 다음 ColdFusion 리눅스 64bit 설치파일(ColdFusion_9_WWE_linux64.bin)을 설치합니다. 혹시 추후 위 deb파일의 경로가 없어질것을 대비하여 아래에 직접 첨부하였으니 제 블로그 경로를 쓰셔도 됩니다.

다운로드 :
libstdc++5_3.3.6-17ubuntu1_amd64.deb
ia32-libs_2.7ubuntu6.1_amd64.deb


ColdFusion WordArt
Category : ColdFusion Comments : 댓글쓰기 Posted by 장창학 at 1:41 AM

ColdFusion은 동적으로 Font를 읽어와 텍스트를 이미지로 출력할 수 있는 기능을 제공합니다. 여러가지 방법이 있겠지만, 일반적으로는 Java를 확장해서 하는 방법과 ColdFusion 8이상버전에 제공하는 <cfimage>태그와 ImageDrawText()함수를 이용할 수 도 있습니다. 다음의 제 글을 참조해 주세요.

참조 :
Image와 ColdFusion
Coldfusion에서 이미지에 Watermark 동적 삽입하기

오늘은 다양한 이미지텍스트를 쉽게 만들 수 있는 ColdFusion WordArt에 대해 소개할까 합니다.

ColdFusion개발자인 Sameer Gupta가 만든 이 CFC(http://www.codecurry.com/2009/12/introducing-wordart-for-coldfusion.html)는 BSD라이센스로 배포되고 있는데 이 CFC를 이용해서 다음과 같은 예제를 만들 수 있습니다. 쉽게 말해 ColdFusion 코드만으로 다양한 서체의 텍스트이미지를 색상, 크기, 효과 등을 주어 생성할 수 있는데요. 우선 제가 만든 간단한 예제를 살펴보세요.

예제 : ColdFusion WordArt 예제보기
예제소스코드 : 다운로드

중간의 코드는 wordart.cfc를 호출하는 ColdFusion 소스로서,

wordart.getArt(text='이 텍스트는 ColdFusion 코드로 동적으로 작성되었습니다',
options={style="stroked", font="PNH숲의향", fontSize=20, fontStyle="bold",
top=5, left=10, right=10, bottom=5, fgColor="##FFFFFFFF", strokeColor="##685978", reflection=true})

위와 같이 wordart.getArt()와 같이 사용자정의함수로 생성할 수 있습니다. 함수내의 text는 기본문자열(즉, 이미지로 만들 문자열을 말함) options는 글자에 대한 크기, 색상, 서체지정 등의 옵션을 정의할 수 있습니다. 예제를 보시고, Sameer Gupta의 Blog에서 소개된 예제도 살펴보세요.

소스코드 첨부파일을 보시면 cfwordart 폴더안의 fonts의 폴더에 본인의 TTF폰트를 넣어 두고 사용하면 됩니다. 서체의 파일명으로 참조하기 때문에 PNH숲의향.TTF 처럼 실제 폰트파일명만 기재하면 됩니다. (모든 한글 폰트가 지원되지는 않습니다. 이는 Font제작사마다 제작기법이 다르거나 규격이 다른 경우는 사용할 수 없습니다. 경험상으로 Yoon폰트는 거의 되지 않는 것으로 알고 있습니다.) wordart폴더안에 생성된 이미지텍스트가 저장됩니다. 


ColdFusion에서의 얼굴인식(Facial Recognition)
Category : ColdFusion Comments : 댓글쓰기 Posted by 장창학 at 6:07 PM

Java의 강력함에 늘 놀랍기도 하지만 가끔은 Java의 강력함이 웹으로 확장될때 정말이지 Java를 본격적으로 파보고싶다는 욕구를 느끼게 합니다. ColdFusion개발자인 Todd Sharp의 Blog에서 본 ColdFusion에서의 얼굴인식 예제를 보면 Java에 기반한 ColdFusion의 확장이 참으로 재밌습니다. 물론 얼굴인식은 Flash와 같은 Actionscript에서도 구현된바 있습니다. 또한 실제 웹캠에서 영상을 전달받아 실시간으로 처리하는 기능은 확실히 Flash가 좋습니다.

하지만, 가령 인명사전을 운영중인 웹사이트나, 중요한 역사적 사진, 그림자료를 가지고 있는 막대한 아카이브 웹사이트에서 특정인물의 이름을 입력하면 해당 인물이 포함된 사진을 찾아준다거나 하는 웹사이트를 구축한다고 하면 이미 저장중인 수십만장의 이미지에서 사람얼굴을 인식해서 인물을 분류하기가 수작업으로 어렵겠지만 얼굴인식기능을 이용하면 쉽게 구현할 수 있지 않을까요?

Todd의 예제를 보시면 Java의 Faint라는 프로젝트(OpenCV를 응용한 것임)를 이용하여 이미지에서 얼굴을 찾아 인식하는 과정을 보여주는 예제인데요. Faint는 실행가능한 자바파일이므로 이 프로젝트의 웹사이트에서 다운로드 받아서 더블클릭으로 실행해 보면 쉽게 어떤 원리로 구동되는지 알 수 있습니다. 이 jar파일을 ColdFusion이나 Railo, OpenBD에 추가해주면 ColdFusion에서도 이용이 가능해 집니다.다만, 이 Faint가 Windows운영체제만을 지원하는지 Linux에서는 오류가 나더군요.

Facial Recognition사실 Todd의 예제를 확장하여 ColdFusion Component로 공개한 프로젝트도 있습니다. 바로 cfcFaint인데요. 이 cfcFaint를 다운로드받아 실행해보면 이미지를 업로드해서 바로 분석할 수 있도록 예제가 꾸며져 있습니다. CFC는 공개되어 있으므로 본인의 프로젝트에 가져다 쓸 수 있습니다.

옆의 사진처럼 간단하게 Todd의 예제를 구현해 봅시다. 아까도 말씀드렸다시피 Windows만 지원하므로 본인의 PC에 깔려있는 Adobe ColdFsuion이나, Railo 등에서 테스트해보시길 바랍니다.

예제 : FacialRecognition.zip (Original source code는 Todd Sharp의 Code입니다.)

먼저 Faintl.jar파일을 faint.sourceforge.net에서 다운로드 받아 본인 PC의 Adobe ColdFusion의 웹디렉토리 WEB-INF안의 lib(Railo의 경우는 웹디렉토리안의 WEB-INF/railo/lib)에 복사해줍니다. 그런다음 ColdFusion을 재시작해 줍니다. 그리고 예제를 다운로드 받아 브라우저에서 FacialRecognition.cfm 를 호출해보세요. 예제 이미지는 무한도전 멤버의 이미지를 사용했습니다.ㅋ

확실히 F5를 눌러 새로고침할때마다 가장 사람얼굴(?)에 가까운 수치를 보이는 순서대로 순번이 매겨지는데 노홍철의 얼굴이 강렬하긴 하나봅니다. ㅎㅎ


About me

Categories

Monthly Archives

Links

Recent Posts

Recent Comments