Entries Tagged as 'ColdFusion'



Adobe ColdFusion Anthology - Clear and Concise Concepts from the Fusion Authority
Category : ColdFusion , Tech books Comments : 댓글쓰기 Posted by 장창학 at 2:05 AM

Adobe ColdFusion AnthologyAdobe ColdFusion Anthology -
Clear and Concise Concepts from the Fusion Authority

(위 책은 교보문고가 제일 저렴합니다.)

ColdFusion의 책이 최근 5년들어 점점 출간 횟수나 종류가 줄어들고 있는 와중에서도 간혹 이런 주옥같은 책들이 출간되는 이유는 나름대로 ColdFusion에 대한 애정과 가능성 그리고 미래에 대한 희망을 같고 있는 수많은 ColdFusion개발자들의 성원이 있지 않아서일까 생각해 봅니다.

Ben Forta의 Web Application Construction Kit 시리즈는 워낙 유명한 책인데다 매 ColdFusion의 버전이 업그레이드 될때마다 새로이 출간되어(내용은 각 버전별로 약간의 추가된 기능에 대해 설명이 늘어나고 대부분은 대동소이함)나오는 책입니다.

이 책은 Ben Forta의 책과는 달리 ColdFusion의 핵심만 간결하게 정리해 주고 있는 책입니다. 가까운 시일에서 ColdFusion관련하여 출간된 책이 ColdFusion 8 developer tutorial 이란 책이 있는데 이 책은 ColdFusion 8에서 추가된 핵심기능 위주의 교과서적인 서적이라면,  Adobe ColdFusion Anthology는 ColdFusion에서 핵심이 되는 Application.cfc 나 PDF/Image의 생성 및 조작, 다양한 프로토콜의 웹서비스(메일 등등)와의 연동, BlazeDS와의 연동, 객체지향적 ColdFusion프로그래밍, ColdFusion Frameworks, UI, 개발툴 등에 대한 핵심 내용을 요점 정리한 것이라고 할 수 있습니다.

저자 또한 화려한 필진이 한데 어울려 작성을 했는데 Ben Forta가 추천하고, Charlie Arehart, Peter Bell, Mike Brunt, Doug Boude, Raymond Camden, Sean Corfield, Pete Freitag, Hal Helms, Mike Henke, Doug Hughes, Kevin Jones, Wally Kolcz, Dave Konopka, Boyan Kostadinov, Brian Kotek, Mark Kruger, Mark Mandel, John Mason, Nathan Mische, Adrian J. Moreno, Jake Munson, Ben Nadel, Jim Pickering, Jim Priest, Joe Rinehart,
Jared Rypka-Hauer, Terry Ryan, Chris Scott, and Matt Woodward 등 ColdFusion 개발자들중 최고 고수 또는 Guru 등 이름만 대면 알만한 사람들이 각각의 챕터를 맡아서 집필하였고, 다시 검증하는 단계를 거쳤다고 합니다.

책의 두께는 그리 두껍지 않습니다. 이말은 요점만 간단히 정리된 책이므로 쉽게 익히고 빠르게 참조할 수 있다는 이야기지만 ColdFusion개발자나 어느정도 선행학습이 되어 있는 분들은 이해가 불가능정도의 내용이 아니므로 책상에 두고 참고할 만한 서적인거 같습니다.

주요한 내용에 대해서 가장 올바르고, 정확한 소스코드를 ColdFusion 최고 개발자들이 하나하나 정리하여 제공한다는 개념의 책이므로 정말 주옥같은 책이 아닐까 생각합니다. 대부분의 IT서적이 저자의 견해에서 벗어나지 못하고, 저자의 숙련도, 정성이 부족하여 그릇된 코드습관을 가진 개발자를 길러내기도 하는 상황에서 말이죠. Flash나 Flex관련서도 이런 식으로 유명한 고수들이 한데모여 가장 표준화되고 올바른 코드샘플을 제시하고 그 원리를 제공하는 것이 수천페이지의 저자의 지식을 열거하는 서적들보다 100만배는 낫지 않을까 싶습니다.

이 책은 분명 유료로 판매되는 서적이지만 Scribd와 같은 온라인 퍼블리싱 웹사이트에서 열람할 수 있습니다.(http://www.scribd.com/adobe-coldfusion-anthology-2010/d/33422907) ColdFusion 개발이나 관련직종에 계시는 분들의 필독서입니다. 단, 새로이 처음부터 시작하는 분들은 이해가 어려습니다.(개념정리 및 기초부터 차근차근의 서적이 아니므로) 입문자에게는 Ben Forta의 Web Application Construction Kit 시리즈를 추천합니다.

 

 


문자열에 대한 몇가지 ColdFusion 팁
Category : ColdFusion Comments : 4 Comments Posted by 장창학 at 1:04 AM

사실 팁이라고 하기엔 뭐하지만.. 저 역시 종종 함수를 까먹을때가 있답니다.  다음의 경우엔 특히나 급한데..ㅋㅋ 생각이 안나면 기술문서에서 찾기도 귀찮죠.

연속된 주민등록번호의 구분자(-)를 자동으로 입력하고자 하는 경우

가령, 9910121234567이란 가상의 주민등록번호가 문자열로 있다고 가정하고, 7번째 자리에 -기호를 넣고 싶은 경우라면 어떻게 해야 할까요? 물론 애초에 DB에 문자열을 넣을때 991012-1234567 와 같이 14자리로 입력해 두면 이딴일을 할일이 없어지지만, 생년월일 등을 따로 보관하는 경우 등 상황에 따라 -없이 한줄로 있는 경우라면 말이죠. 다음과 같이 해 볼 수 있습니다.

 

<cfset juminNo = "9910121234567">
<cfoutput>#Insert("-", juminNo, 6)#</cfoutput>

 

자, 이렇게 Insert()함수를 써서 문자열의 특정 위치에 특정 문자열을 삽입할 수 있습니다. 참 쉽죠잉~ㅋ 상황에 따라 전화번호등에서도 응용할 수 있겠죠잉~ㅋ

 

주민등록번호 뒷자리를 숨겨야 하는 경우

이 경우는 REReplace()함수 등으로 일정 자리수를 다른 문자열로 치환해 버리는 수도 있겠지만, 간단하게 다음과 같이 할 수도 있습니다. 어떻게 하느냐? RemoveChars()함수를 써서 문자열의 특정 위치부터를 아예 잘라버릴 수 있겠죠.

 

<cfset juminNo = "9910121234567">
<cfoutput>#RemoveChars(juminNo, 7, 7)#</cfoutput>-*******

 

이렇게, 7번째 자리수의 문자열은 잘라버리고, 강제로 **표시를 해줄 수도 있겠죠잉~ㅋ 참쉽죠잉~ㅋ

 

금액 등의 표시에서 매 3자리마다 ,기호를 넣고자 하는 경우

금액을 표기할때 DB에 넣어진 문자열이 가령 230052000원이란것이 있다고 합시다. 단순히 출력하면 그대로 나와버리죠. 좀더 세련되게.. 매 3자리마다 ,(콤마)기호를 넣으려면 어떻게 해야 할까요? 다음과 같이 해 볼 수 있습니다.

 

<cfset totalMoney = "230052000">
<cfoutput>#NumberFormat(totalMoney, ",")#</cfoutput>원

 

자 이렇게 NumberFormat()함수를 써서 매 3자리마다 기호를 넣을 수 있습니다. 자 어때요? 참 쉽죠잉~ㅋ ColdFusion 참 쉽죠잉~~ㅋㅋ


Retrieving resetting ColdFusion admin password - 관리자 패스워드를 분실했을때
Category : ColdFusion , Open Bluedragon , Railo Comments : 댓글쓰기 Posted by 장창학 at 12:44 AM

OpenBD를 사용중인 환경에서 OpenBD 관리자의 패스워드를 분실했을 경우엔 어떻게 찾을 수 있을까요? 우선, FTP나 SFTP 또는 SSH가 가능해야 합니다. 다음의 경로에서 bluedragon.xml 파일을 다운로드하여 수정하거나, 또는 VI등으로 열어보면 패스워드를 알 수 있습니다. 일반적으로 자신의 웹루트에서의 WEB-INF디렉토리에서 다음의 위치를 찾습니다.

OpenBlueDragon Admin : {HOST WEB ROOT}/WEB-INF/bluedragon/bluedragon.xml

위 파일의 Server - System의 노드에서 보면 Password항목이 있는데 이 부분이 관리자 패스워드 입니다. 암호화되어 있지 않기 때문에 바로 보거나 수정할 수 있습니다. 그렇다면 Railo의 경우는 어떨까요? Railo와 Adobe ColdFusion의 경우는 암호화되어 기록되기 때문에 분실한 패스워드를 알 수 없지만 다시 설정은 가능합니다. Railo의 경우 Server Admin과 Web Admin의 각각의 다른 관리자모드를 제공하므로 각각의 패스워드를 저장한 위치가 다릅니다.

Railo Server Admin : {railo installation}/railo-server/context/railo-server.xml
Railo Web Admin : {host root}/WEB-INF/railo/railo-web.xml.cfm

위 파일을 각각 열어(Web Admin만 하는 경우 Server Admin파일은 수정할 필요없음) 관리자 패스워드 부분을 삭제하고 공란으로 수정한 뒤 Railo를 재시작하면 관리자 패스워드를 재설정 할 수 있습니다. 그럼 Adobe ColdFusion의 경우는 어떨까요? ColdFusionMX버전 이후의 모든 버전에서는 먼저 ColdFusion데몬(프로세스)를 중지한 후 다음의 파일을 열어 수정한뒤 데몬(프로세스)를 재시작하면 관리자 패스워드를 재설정할 수 있습니다.

Adobe ColdFusion : {Adobe ColdFusion Installation directory}/lib/neo-security.xml

위 파일을 열고 <var name='admin.security.enabled'><boolean value='true'/></var> 부분의 False부분을 True 바꾼뒤 ColdFusion을 재시작하면 관리자 패스워드를 재설정할 수 있습니다.


Ubuntu, CentOS에 ColdFusionMX버전을 설치 후 구동실패
Category : ColdFusion , Ubuntu & Linux/Unix Comments : 댓글쓰기 Posted by 장창학 at 5:48 PM

ColdFusion MX버전은 2002년에 출시된 구버전의 ColdFusion입니다만, 가끔 예전에 만들어진 시스템의 유지보수 등의 이유로 설치가 필요한 경우가 있습니다. 대부분 당시의 운영체제, DB서버 등을 그대로 셋팅하길 권장하지만 사실 이제와서 Solaris 8이나, Redhat 9와 같은 구형 리눅스를 구하기도 힘들 뿐 더러 하드웨어 지원드라이버의 부재등으로 사실상 설치 시 부터 머리가 아파옵니다.

얼마전 ColdFusion MX 6.01 Linux버전을 설치할 일이 있었는데요. 실행OS는 Ubuntu 8.04를 택했습니다. 결과적으로 Ubuntu는 올바른 선택이 아님을 알았죠. 권한문제 및 ColdFusionMX와 Apache2와의 연동문제 등 실제 설치 및 구동에 문제가 있었습니다. 우선 설치 후 libc.so.6 의 링크를 찾을 수 없어 구동할 수 없다는 오류는 ColdFusion 실행스크립트의 다음 부분을 주석처리하여 구동할 수 있습니다.

가령 리눅스에서 기본 설치경로로 설치했다면 /opt/coldfusionmx/bin 에 구동스크립트인 coldfusion이 있습니다. 일반적으로 우분투에서는 sudo ./coldfusion start와 같이 실행합니다. 실행이 libc.so.6의 문제로 안된다면 sudo vi coldfusion 하시어 xport LD_ASSUME_KERNEL 라는 문자열을 찾아 주석처리하시고 저장한 후 다시 실행해 보시면 됩니다.

그런데 문제는 wsconfig와 같은 웹서버 연동 기능에 문제가 있는건지 우분투의 httpd.conf에 jrun모듈을 로드하는 스크립트를 정상적으로 기입하지 못하여 Apache에서 cfm파일을 호출하면 전부 바이너리파일로 다운로드 시켜버리는 문제가 있습니다.

 결론은 Radhat 9을 하나쯤 장만하여 갖고 있어야 한다는것.. ㅠㅠ  우분투 등 ColdFusionMX 당시에는 없던 리눅스 배포판은 사용에 주의할것이란점.. 그리고 최신 JDK나 JRE에서도 문제가 있다는 것 등등..가벼움을 위해 구버전 쓰신다면.. Railo를 대신 사용하실 것을 추천해 드립니다.


OpenCFML 위원회에서의 Adobe의 탈퇴? 그리고 붉어지는 CFML엔진들의 갈등
Category : ColdFusion , Open Bluedragon , Railo Comments : 댓글쓰기 Posted by 장창학 at 4:44 PM

OpenCFML(http://www.opencfml.org)위원회는 ColdFusion Markup Language의 표준을 정하는 비공식 단체입니다만, 사실 ColdFusion의 모든 특허, 저작권은 Adobe Systems에게 있기 때문에 사실상 위원회의 위원들이 Adobe사와 직간접적을 관련이 있는 사람들이여서 결론적으론 Adobe의 영향력이 가장 많이 미치는 단체이기도 합니다.

이런 단체를 만든 이유는 사실 Adobe사외에 BlueDragon과 같은 경쟁 엔진들 그리고 Railo나 Open BlueDragon과 같은 공개용 엔진들이  등장하면서 서로 다른 태그 및 함수, 그리고 기능을 하나로 규격해 보고자 함이 가장 큰 목적입니다. 여러 엔진을 대표하는 위원들이 모여서 다음번 버저에서 이 태그는 서로 공동으로 채택하자 등등의 일들을 벤더에게 조언하는것이죠. 여기에는 Ben Forta나 Ray Camden, Rob brooks Bilson과 같은 친 Adobe개발자도 있고, Sean Corfield 과 같은 Railo진영, Matt Woodward와 같은 친 OpenBD진영의 사람도 있죠.

그런데 어제 저도 놀라는 포스트를 보고 말았는데 Adobe가 이 위원회에서 손을 뗀다는 것이였습니다. Adam Lehman의 블로그(http://www.adrocknaphobia.com/post.cfm/adobe-no-longer-part-of-opencfml)에서 해당 내용이 처음 언급된거 같은데요. 사실 실제 Adobe가 위원회에서 탈퇴한다는 말이 아니라.. Adobe진영의 위원들이 이 조직에서 손을 뗀다는 말이 맞겠네요.

요약하자면 위원회의 노력에도 불구하고 표준으로 정한 ColdFusion의 스펙이 각각의 엔진별로 따로 구현되고 있고, 태그나 함수도 각각 다른 길로 가는것도 문제고, 더욱이 표준으로 정해서 복제엔진들(Adobe의 입장에서는 Railo나 OpenBD는 그저 자사의 제품을 복제한 복제품에 불과합니다.)로 고객이 이탈하는 것을 조장하는 꼴이 되는것이 아니냐.. 그래서 결론은 Adobe가 피해를 보는것이 아닌가? 뭐 이런 이야기 같습니다. 결국 이는 많은 ColdFusion 커뮤니티나 개발자에게 피해가 고스란히 간다..뭐 이런 이야기죠.

특히 Adobe ColdFusion의 스팩을 충실히 따르는 Railo와는 달리 BlueDragon진영은 거의 따로 놀고 있어 표준 CFML로 만들어도 작동이 안되거나 어떤 함수와 태그는 서로 호환도 안되어서 문제가 발생한다는 겁니다. 그런데 문제를 바라보는 시각은 각각 다른가 봅니다.

표준엔진인 Adobe엔진이 있는데 왜 복제엔진들이 나와서 설치느냐 하는 부류와 너네껀 너무 비싸고 비효율적이야 하는 부류.. 두 부류의 감정싸움이 서서히 나타나고 있는 것 같습니다. 대부분은 복제엔진의 등장에 원인이 있고 문제가 있으니 너네가 잘못이다.. 이런 시선이 강한것도 사실인거 같습니다만, 그러나 사실.. Java나 다른 언어를 보더라도 표준과 제정은 Sun이 하지만 Java를 하는 업체는 많다는 것을 보면 Adobe진영의 주장도 그리 논리적이질 못합니다. 즉, 스스로 ColdFusion의 주인으로서 보다 저렴하고 강력한 제품을 출시하고, 업계 및 개발자의 지원에 보다 적극적이였다면 복제엔진의 등장이 없었을 지도 모르겠습니다. 대부분의 복제엔진들의 등장의 이면에는 가격적인 측면, 새로운 태그와함수의 추가를 원하는 커뮤니티의 의견이 제때 반영되지 않는 느린 출시속도.. 등등 Adobe가 해결해 주지 않으니까 우리가 직접 한다는 식의 주장도 있는 걸 보면 이런 표준기관의 등장도 참으로 안타까울 뿐인데 더욱이 이번 소식은 이런 조직의 갈등?이라니..

암튼 각각의 엔진별로 따로 함수나 태그를 지원하기 시작한다면, 결국은 아이폰이나 안드로이드냐의 문제보다 더 복잡한 같은 언어인데 서로 다른 비극이 생기지 않을까 걱정입니다. 좋은 언어임에는 분명한데 제 개인적인 생각으로는 주인들을 잘못 만나 성장하지 못함이 아쉽기만 합니다. Railo나 OpenBD가 등장할때 적극적으로 가격인하, 성능개선 등등의 무기로 적극적인 대응을 하거나, 아니면 이들 엔진을 인수합병하거나 하는 방법도 있을 텐데 말입니다.

점점 OpenBD와 Railo 그리고 Adobe ColdFusion이 달라지기 시작해서 걱정입니다.  


About me

Categories

Monthly Archives

Links

Recent Posts

Recent Comments