'Adobe'에 해당되는 글 2건

  1. 2009/04/19 kineticroad 오랜만의 블로깅? AIR File.ApplicationDirectory 접근하기.
  2. 2008/12/01 kineticroad MasterCollection CS4 설치기
그동안 완전히 블로깅을 손놓고 있었다.
그도 그럴게 프로젝트다 뭐다 해서 좀 정신이 없었기 때문이기도 하고
시험준비를 하느라고(요새 대학교는 중간고사 시즌이란다;;; 덜덜) 새벽까지 수업듣고 자느라
정신을 챙길래야 챙길만한 여유가 없었기 때문인데 오늘은 AIR 에대한 내용으로 블로깅을 해볼까 한다.

AIR를 처음 만진게 1.0 처음 런칭했을 때였는데(코드명 아폴로로 불렸을 때는 존재를 잘 몰랐었다;;; 아 둔탱이)
그당시 개발을 EditPlus로 하느라 AIR가 어떤식으로 Compile하고 실행하는지 Developer Guide를
하나하나 해석해가며 눈물을 삼겼었던 적이 있었다.(흑.. 추억하고 싶지 않다는;;;)

그때 만들었던게 FXUG Lite였다. FXUG(Flex User Group)는 회사에서 만든 비영리 커뮤니케이션으로
Full Flex로 개발되어 MDI로 구성된 UI를 선보였었다.(개발하는데 무려 3개월이나 걸리긴 했지만;;)
아무튼 FXUG Lite의 기능중 극히 작은 기능이긴 하지만 사용자가 동적으로 화면의 구성을 바꿀 수 있게
마련한 옵션 메뉴가 있었다. 이것은 사용자가 사용자 정보 xml 파일을 읽어봐 수정하고 다시 쓰는 작업을
하게끔 되어있는데 그 때 크게 발생한 이슈가 사용자의 ApplicationDirectory에 있는 파일을 수정하거나
쓸 수가 없었다는 것이다.
보통 프로그램을 설치하게 되면 ApplicationDirectory가 Program Files 디렉토리로 설치가 되는데
그 부분을 Flie.ApplicationDirectory 속성으로 접근해 파일을 다시 쓰게 되면 Security Error를 띄우도록 AIR의 보안정책으로 명시 되어있다.
이를 어찌할까 하다 구글링으로 찾은 꽁수는 어느 중국인의 블로깅을 보고 힌트를 얻었었다.
(한자들 앞에서 무력했었던 끔찍한 기억 작렬 ㅠㅠ)

해결한 방법은 다음과 같다.

var tempFile:File = File.applicationDirectory.resolvePath("test.xml");
tempFile = new File(tempFile.nativePath);

일단 tempFile로 선언된 File 객체에 test.xml 파일에 접근한다. applicationDirectory에 있는 파일에 접근해 정보를 읽는건 보안정책에 어긋나는건 아니니 일단 접근을 하고 새로 File 객체를 생성한다. 물론 instance를 늘리지 않고 기존에 사용했던 tempFile를 다시 생성하는데 이때 아까 접근했던 test.xml 파일의 nativePath 경로를 인자로 넘겨준다.

이 방법을 이용하면 test.xml 파일을 찾아서 쓰거나 수정할 수가 있는데 이유인즉슨 이렇게 해석될 수 있다.
보안정책상 파일에 applicationDirectory에 속해있는 파일을 수정하거나 쓰는건 안된다. 다시 이야기하면 File 객체로 접근만 하지않으면 된다는 이야기.
그래서 잔머리를 굴린방법이 nativePath다.
applicationDirectory에 접근하긴 했으나 String으로 접근하게 되면 보안정책상 하자가 없다는 이야기다.
Adobe에서는 이런 정책을 수정해서 접근 할 수 없게 하겠다....라고 이야기 했다고는 하나(들리는 풍문에 의하면)
"Adobe가 귀찮아서 안하지 않을까?"라고 조심스럽게 추측하고 있다.(사실 믿고 있다. Adobe)

하지만 이 방법으로도 어려운 난제가 있는데 Vista 이후의 Window는 위의 방법으로도 파일을 쓸 수가 없다.
그 이유는 AIR 의 보안정책에는 하자가 없지만 운영체제 상의 보안정책때문인데 이는 관리자 모드로 프로그램을 실행하게 되면 파일을 쓸 수가 있다.(AIR 자체로는 이를 해결할 방법이 없다;;;
운영체제가 막겠다는데 이겨낼 방법이 있을 수가 없지 않은가;;;
아 물론 XP 사용자는 해당사항이 없다.
2009/04/19 01:45 2009/04/19 01:45

올 하반기 Adobe에서 내놓은 CS4는 상당한 기능들을 안고 등장했는데
가장 쇼킹한 부분은 Flash의 변화다.
Astro라고 일컬어지는 Adobe Flash Player 10의 등장에서 3D 관련 API가 등장하면서
Sprite 에 z축이 기본적으로 탑제되었다.
이는 Flash에서 사용되는 거의 모든(?) DisplayObject들은 3D 기능을 갖고 있다는 이야기.
CS3 시절에 3D를 구현하려고 책이란 책을 다 뒤져서 보고 2차원 평면에 3차원을 표현하기 위한 노력으로
밤을 새곤 했는데 이젠 그럴 필요가 없어졌다는 이야기;;
대표적인 3D 오픈소스인 PaperVision3D 를 자주 애용하곤 했는데.. 앞으로 어찌 될는지.
Flash ActionScript에 상당한 파장을 불러일으킬 듯.

그리고 Flash Animation기능중 BoneTool 기능.
Flash를 5 시절부터 사용하면서 느낀건 BoneTool의 필요성이었다.
그 오랜 시간을 참은 보람일까.
Flash Animation에 상당한 파장이 있을 듯.

아무래도 RIA쪽 일을 하다보니 Flash 관련 기능들만 알게 되는건 어쩔수 없는듯...
어쨌든 이런 기능들을 얼른 사용해보고 싶어서 MasterCollection CS4를 어둠의 경로를 이용해 받아서 설치를 해보았는데;;

사용자 삽입 이미지

최초 설치시 시스템을 일단 검사한다. 이런건 뭐.. 늘상 있어왔던 일이니 넘어가기로 하고

사용자 삽입 이미지
시스템 프로파일의 검사가 끝나면 설치파일 목록들을 로드하기 시작한다.

사용자 삽입 이미지
물론 전체 설치를 선택하고 다음으로 넘어가면 이런 경고창이 뜬다. 이 덕택에 sp2에서 sp3로 부랴부랴 업그레이드를 했다. 자신의 OS 버젼을 잘 확인하고 설치하기 바란다.

사용자 삽입 이미지
Window XP sp3나 Vista sp1 을 설치하고 아까와같은 경고창에서 다음 버튼을 눌렀을 때 다음과 같은 화면이 나오면 정상이다. 여기서는 동의 버튼을 눌러줘라(Adobe사에는 정말 죄송)

사용자 삽입 이미지
설치가 시작되었다. 여기서부터는 손가락을 빨고 앉아있으면 된다.
물론 설치를 하기 위해서는 다른 Installation 프로그램을 사용해서도 안되고 Internet Explorer나 FireFox 같은 브라우져도 띄워져 있어서는 안된다.
아무것도 하지말고 대기하기란 정말 힘든일.. 나는 윈도우즈 카드놀이로 시간을 떼웠다;;;
 
사용자 삽입 이미지
설치가 완료된 모습.

CS4가 어떤 강점을 갖고 있는지 확인해봐야 할 시간만 남았다.
아무래도 직업이 직업이다 보니 Flash CS4가 구미가 당기긴 하지만..
그간 떠들었던 소문을 이제 두 눈으로 확인해봐야 겠다.
2008/12/01 23:14 2008/12/01 23:14