Entries for month: April 2010



Ubuntu 10.04 LTS
Category : Ubuntu & Linux/Unix Comments : 댓글쓰기 Posted by 장창학 at 6:13 PM

Ubuntu 10.04 LTS가 나왔습니다. 매우 아름다운 모습으로 나왔습니다. 이번 버전은 지난 2008년에 나온 LTS(장기기술지원버전) 입니다. 이번 버전의 가장 큰 특징은 바탕화면 데스크탑테마인 그놈 테마가 다소 고급스러워지고, 창의 확대/축소/닫기 등의 버튼이 Mac OSX와 같이 오른쪽에서 왼쪽으로 이동했습니다. (따라서 너무 어색합니다.)

제가 우분투를 본격적으로 사용한것이 2007년인데 이후 저의 PC한대는 늘 우분투였습니다. 그런데 이번 버전은 그간의 버전보다 정말 눈이 즐겁습니다. 우분투의 똥색(황토색) 기본 테마를 벗어던지고 Dust테마를 고급스레 변경한 새로운 테마가 정말 좋습니다. ㅎㅎ

Ubuntu 10.04 Download

또 한가지 특징은, 그래픽 소프트웨어인 Gimp가 기본적으로 빠져 있습니다. 물론 우분투 소프트웨어 추가삭제에서 추가하시면 됩니다. 또한 Pidgin메신저 클라이언트가 빠지고, 소셜메시지라는 새로운 클라이언트가 추가(기본적으로 트위터 등 대부분의 소셜서비스를 이용할 수 있습니다.)되어 있습니다.

전체적인 설치시간은 대략 10분~15분사이이고, 특별히 추가되는 소프트웨어까지 설치한다면 30분이내에 모든 설정을 끝내고 사용할 수 있을 것 같습니다.

저는 64bit버전을 설치했는데 Flash Player는 아직 정식으로 Linux용 64bit Flash Player는 없습니다.(정말이지 Adobe 너무 게으릅니다. 단 32bit용은 Ubuntu 9.04 deb파일을 받아 설치하면 됩니다.) 물론 Flash Player는 사용할 수 있습니다. 작년에서야 Adobe Labs에 해당 프로젝트가 개설되어 베타버전을 다운로드 받을 수 있습니다.

Ubuntu 10.04 64bit Flash Player :
http://labs.adobe.com/downloads/flashplayer10_64bit.htm

Flash Player를 다운로드 한다음 압축을 풀어서 libflashplayer.so 파일을 /usr/lib/mozilla/plugins/ 에 sudo 권한으로 넣어줍니다. Nautilus를 사용하여 넣어주어도 됩니다. 그런 다음 Firefox를 재시작해 주면 Flash Player 10을 사용할 수 있습니다.

저는 개인적으로 Adobe AIR로 작성된 Teetdeck를 그동안 Ubuntu에서 사용해 왔는데요. 우분투10.04에서 제공하는 기본 소셜메시지클라이언트가 더 맘에 드네요. ^^ Dusty테마를 한층 고급스럽게 마감하여 Mac OSX와 같은 느낌을 주는 우분투로 더 나은 Computing하시길 바랍니다.

Ubuntu 10.04 Screenshot


Railo 3.1.2.001 final - Security update available for BlazeDS
Category : Railo , Securities Comments : 댓글쓰기 Posted by 장창학 at 11:46 AM

Railo 3.1.2.001 final 버전을 사용하는 분들은 BlazeDS의 보안 업데이트(Security Updates for Railo's BlazeDS)를 반드시 하시길 바랍니다. Railo 내장 BlazeDS의 버전이 3.2버전인데 이 버전에서 보안 취약점이 발견되었다는 소식은 예전 2월에 알려드린바 있습니다.(http://www.coldfusionfunnylog.com/blog/post.cfm/adobe-coldfusion-blazeds-lcds-fds) 당시의 Railo버전에서는 문제가 있었으나 Railo 3.1.2.001 final 버전에서는 정상적으로 패치가 되는 것을 확인했습니다. Adobe에서는 BlazeDS의 이 보안문제를 "매우 심각"로 보고하고 있습니다.

먼저, Railo를 Stop시킨 후, Railo의 설치경로로 이동하여 lib디렉토리안의 다음 2개의 파일을 백업합니다.(반드시 백업하시길 바랍니다. 업데이트 적용 후 Railo가 정성적으로 구동되지 않으면 다시 복원하기 위하여 반드시 필요합니다.) JSP/Servlet 호스팅을 이용하신분들 중 Railo를 적용한 분은 자신의 웹루트디렉토리의 WEB-INF안의 railo/lib에 존재하며, Server에 설치하신 분은 설치하신 경로로 이동하시면 됩니다. 예를 들면 /opt/railo/lib 와 같습니다.

flex-messaging-common.jar
flex-messaging-core.jar

위 2개의 파일을 Backup한 후  http://www.adobe.com/support/security/bulletins/apsb10-05.html 에서 Download the patch zip file for BlazeDS 3.2를 다운로드 합니다. 다운로드한 업데이트 파일을 압축을 풀면 방금전에 백업했던 파일과 동일한 파일 2개와 설명서 텍스트파일이 있습니다. 백업한 파일과 동일한 파일을 Railo의 lib 디렉토리에 복사해 줍니다.(또는 덮어 써 줍니다.) 그런 다음 Railo를 시작(Start)하시면 되겠습니다.

본인의 Railo의 BlazeDS의 취약점이 있는 버전인지 확인하려면  HackMyCF(http://hackmycf.com)에서 웹사이트의 URL을 넣고 테스트하면 됩니다. 아래의 그림과 같은 심각단계의 메시지가 뜬다면 일단 취약점이 보고된 버전이니 반드시 업데이트해야 합니다.

BlazeDS Security Update Report on HackMyCF

단, HackMyCF는 개인정보보호를 위해 웹사이트 URL의 도메인과 동일한 이메일 계정을 입력해야 하고 해당 이메일로 결과를 전송해 줍니다. 따라서 사이트 도메인과 이메일주소의 도메인이 다르면 검사나 결과를 받아볼 수 없습니다. 이는 타인이 자신의 웹사이트의 취약점을 알 수 없게 하기 위한 방지책입니다.

하지만 대부분의 Railo의 버전에서는 위와 같이 업데이트하면 될 것 입니다. 아직 Railo에서 정식으로 내장 BlazeDS에 대한 업데이트 패치를 배포하고 있지 않기 때문입니다.


Open BlueDragon 1.3 Released.
Category : Open Bluedragon Comments : 댓글쓰기 Posted by 장창학 at 7:59 PM

Open BlueDragon LogoOpen BlueDragon이 지난해 가을 이후 그동안의 Nightly build를 이어오다 오늘 날짜로 1.3버전이 릴리즈 되었습니다.

이번 버전의 특징은 http://wiki.openbluedragon.org/wiki/index.php?title=ReleaseNotes_1-3 에서 확인할 수 있습니다.

Open BlueDragon은 BlazeDS를 내장하고 있고, Adobe ColdFusion과 유사한 코드환경을 제공하므로 Flex, Flash 뿐만 아니라 표준 J2EE환경에서 Deploy하여 사용할 수 있고, J2EE환경의 Session을 공유할 수 있으므로 기존의 JSP/Servlet환경에서 ColdFusion을 확장할 수 있는 오픈소스 콜드퓨전 환경입니다.(물론 Railo라는 엔진도 오픈소스로 배포되고 있습니다.) Railo가 Adobe ColdFusion의 Tags/Function을 충실히 따르고 있는 반면 Open BlueDragon은 그들만의 확장 태그와 함수가 다소 있습니다만, 문서화가 잘 되어 있고 또 Adobe나 Railo의 그것에 비해 성능을 개선한 것이 많으므로 엔진이 달라서 개발의 어려움을 없으리라 봅니다.

Open BlueDragon은 http://www.openbluedragon.org/download.cfm에서  다운로드 할 수 있습니다. J2EE Standard WAR버전은 .war파일로서 기존의 J2EE WAS에 Deploy하여 사용하는 버전이고, Ready2Run Jetty+OpenBD버전은 Jetty 웹서버에 적용한 것으로 다운로드 받아 설치없이 실행해 볼 수 있는 버전이며, Windows/Linux용 설치파일은 비공식적으로 배포되는 버전으로서J2EE Standard WAR를 tomcat, apache, mysql, JDK에 적용하여 함께 설치되도록 만든 배포본입니다. 간단하게 설치없이 테스트할 목적은 Ready2Run Jetty+OpenBD버전을 사용하세요.

그외의 궁금한 점은 Open BlueDragon의 WIKI를 참조하십시오. http://wiki.openbluedragon.org/wiki/index.php/Main_Page


HTML5를 위한 2D그래픽 - Canvas
Category : HTML5 Comments : 댓글쓰기 Posted by 장창학 at 9:08 PM

웹페이지에서 그래픽을 표현하는 방법은 크게, 브라우저 자체의 그래픽 Rendering기능을 이용하는 SVG, VML 그리고 HTML5에서 지원하는 Canvas와 브라우저의 비브라우저 벤더들에 의해서 제공되는 Plug-in으로 구현되는 Flash, Java, Silverlight와 같은 기술이 있습니다. (SVG도 엄밀히 말하면 Plug-in이라고 할 수 있지만 브라우저가 자체적으로 지원한다는 점에서 Flash등과는 조금 다릅니다.)

Plug-in 방식의 경우 3D, 영상/음성 등 보다 풍부한 기능을 제공하긴 하지만 간단한 차트나, 이미지를 표현하기 위해 Actionscript나 Java, Xaml/C#등과 같은 서로 규격이 다르거나 다소 배우기 어려운 언어를 별도로 배워야 하고, 또 각각의 벤더에서 제공하는 Compiler로(유상이던 무상이던) 컴파일해서 웹페이지에 삽입해야 하는 불편이 따릅니다. 더욱이 브라우저의 다른 요소 예를 들면 Javascript와 같은 것과 통신하기 위한 매우 저수준의 API만을 제공하는 것도 약간은 불편한 요소이기도 합니다.

SVG나 VML은 Microsoft의 IE에서 주로 지원하던 것들로서 현재는 거의 쓰이지 않고 있고, 또 앞으로도 MSIE에서만 지원할 가능이 매우 높기 때문에 표준이라고 말하긴 어렵습니다. 남은 것은 Canvas 하나인데, 사실 이 Canvas태그를 맨 먼저 브라우저에 확장한 것은 Apple이였습니다. Apple은 Safari에서 특정 Plug-in에 의해 구동되지 않는 2D이미지 렌더링용 HTML태그가 필요했고, 그러한 태그로 Canvas를 Safari에서 거의 독단적으로(?) 확장해 버렸습니다.(유명한 MacBook을 구매하여 처음 전원을 넣었을때 환영메시지 영상이 바로 HTML5로 구동된 VIDEO태그인 것 처럼 말이죠)

대신 2D그래픽의 드로잉 메소드는 Javascript의 것을 이용할 수 있게 했는데, Canvas태그는 Javascript에서 그려진 이미지를 화면에 뿌려주는 역할을 하는 것입니다. 즉, Canvas태그자체로 Vactor이미지를 표현할 수 는 없는 것이죠.

하지만 이후 FireFox와 Opera가 이 Canvas태그지원에 동참하면서 이 태그를 자사의 브라우저에 확장해 주었고(순전히 Javascript를 이용한 렌더링이기 때문에 동참하지 않았나 생각합니다. 애플이 또다른 플러그인을 썼다면 동참하지 않았겠죠.), Google의 Chrome도 이를 지원해주고 있습니다. 남은 것은 MSIE입니다만, IE9에서 지원예정입니다만 자사 Silverlight때문에 어떻게 될지 아직 단언할 수 는 없습니다.(하지만 혼자 도태되지 않으려면 지원하겠죠.)

가령 간단한 곡선과 원을 그리려면 다음과 같이 HTML5문서를 코딩하면 FireFox, Safari, Opera, Chrome에서 렌더링된 이미지를 볼 수 있습니다.

Sample View : canvas.html

 

<!DOCTYPE html>
<html>
<meta charset="UTF-8"/>
<body>

<h3>Curve - 커브곡선</h3>
<canvas id="canvas1"></canvas> 
<script type="text/javascript">
	var canvas = document.getElementById("canvas1");
	var cx = canvas.getContext("2d");

	cx.beginPath();
	cx.moveTo(0,0);
	cx.quadraticCurveTo(100,200,200,0);
	cx.stroke();
</script>

<h3>Circle - 원</h3>
<canvas id="canvas2"></canvas> 
<script type="text/javascript">
	var canvas = document.getElementById("canvas2");
	var cx = canvas.getContext("2d");

	cx.beginPath();
	cx.arc(50,50,50,0,2*Math.PI,true);
	cx.stroke();
</script>

</body>
</html>

 

위 코드는 HTML5&API入門 - キャンバス,VideoからWeb Socketsまで 次世代Web標準の全容에서 인용한 코드입니다.

canvas.getContext("2d"); 는 2D그래픽을 쓴다고 명시적으로 선언하는 부분인데, 앞으로는 3D도 지원할 계획이라고 합니다. quadraticCurveTo()나 arc()함수를 이용하여 Javascript가 그린 그림을 Canvas에서 표현하는 것입니다. 사실 이런 그래픽이 일반적으로 많이 쓰인다고 볼 수 없지만 버튼이미지, 또는 Round로 각이진 사작형을 그린다고 했을때 외부 IDE(또는 이미지에디터)로 이미지나 플러그인 실행 파일을 만들어 웹 페이지에 삽입하는 것 보다는 직접 HTML코드내에 동적으로 기술하는 것이 더 효율적 일 것입니다. 간단한 이미지의 표현에서는 Canvas로 많은 이용을 하지 않을까 생각합니다.

다만,  아직까지는 "모든 브라우저에서 지원한다"고 장담할 수 없는 것이 좀 아쉽지만 IE9가 나오게 되면 Canvas태그는 모든 브라우저에서 지원 가능하리라 생각합니다. Daum의 Street View와 같은 지도서비스, 또는 지도 위에서 구동되는 AR(증강현실) 등의 서비스도 Canvas태그로 가능하기 때문에 좀 더 다양하고도 멋진 어플리케이션이 쏟아져 나올 것 입니다.

HTML5!!! Flash나 Silverlight보다 강력하다고 볼 수 없습니다. 하지만 적어도 그것 들이 하는 것은 HTML5로도 가능해 지리라 봅니다. 그 가까운 미래를 미리보기 위한 예제는 널려있습니다만, http://www.kesiev.com/akihabara/ 에서 처럼 HTML5코드로 작성된 아케이드 게임을 보신다면 그리 먼 미래는 아니리라 봅니다.(아이팟/아이폰에서 게임을 구동해 보시길 바랍니다. 이렇게 왼쪽엄지와  기능키로 좀 더 실감?나는 아케이드를 즐길 수 있습니다.)

그렇다면 저는 뭘 해야 할까요? HTML5 공부도 중요하지만 무엇보다 Javascript를 완벽히 공부해야 겠죠. 애플의 아이폰과 아이패드를 제외한다면야 딱히 할말은 없지만 이들 제품까지 커버하려면 역시나 HTML5+Javascript 의 조합이 더 우선시 되어야 하지 않을까 생각합니다. 더욱이 장애인에 대한 차별없는 웹과 누구나 개발툴을 사지 않아도 되는 돈 한푼 들이지 않고 개발과 배포할 수 있도록 말이죠.


MoSync - Eclipse기반의 Mobile Development IDE for C/C++
Category : Mobile Comments : 댓글쓰기 Posted by 장창학 at 10:37 PM

MoSync

최근 Apple이 Flash(Actionscript)에서 개발되어 IPA로 컴파일된 어플리케이션을 거부하면서 오리지널 개발환경이 아닌 중간단계의 여러 개발도구들이 모두 된서리를 맞았습니다. 이유야 어쨌든 C기반의코드가 아닌것은 안된다고 하던데.. MoSync는 이클립스에서 Java가 아닌 C/C++로 모바일 어플리케이션을 만든다는 것이 흥미로운 오픈소스 모바일 개발도구입니다. C/C++를 하셨던 분은 이 도구를 이용하여 Windows Mobile을 비롯하여, Android, JavaME 등을 개발할 수 있다고 하는데, iPhone과 Blackberry 등은 추가 예정이라네요. 이젠 모바일 안하면 시대에 뒤떨어진 것이 확실한가 봅니다. 전 모바일에는 그다지 재능이 없거니와 어려운 언어공부에는 자신없는데.. Application 뿐만아니라 Mobile Web도 이런 관심과 대박이 나오면 좋겠습니다.


About me

Categories

Monthly Archives

Links

Recent Posts

Recent Comments