본문 바로가기

ActionScript

Flash Platform에서 OAuth 사용하여 인증 요즘 OAuth 인증 때문에 고생좀 했습니다. 머리속에 있는 개념을 정리도 할겸 제가 사용해본 OAuth 라이브러리에 대해 소개 합니다. OAuth 란? OAuth가 사용되기 전에는 인증방식의 표준이 없었기 때문에 기존의 기본인증인 아이디과 비밀번호를 사용하였는데, 이는 보안상 취약한 구조이다. 기본인증이 아닐 경우는 각 애플리케이션들이 각자의 개발한 회사의 방법대로 사용자를 확인하였다. 예를 들면 구글의 AuthSub, AOL의 OpenAuth, 야후의 BBAuth, 아마존의 웹서비스 API 등이 있다. OAuth는 이렇게 제각각인 인증방식을 표준화한 인증방식이다. OAuth를 이용하면 이 인증을 공유하는 애플리케이션끼리는 별도의 인증이 필요없다. 따라서 여러 애플리케이션을 통합하여 사용하는 것이 가능.. 더보기
Google Analytics 사용하기 Google Analytics 서비스를 만들어 보면 페이지뷰가 얼마나 발생하나 실 사용자는 얼마나 되나 같은 분석이 필요 합니다. 하지만 이런 분석 시스템을 구축 하기란 여간 힘든 작업이 아닐수가 없지요. 이 문서에서 소개 해 드릴 서비스는 Google Analytics 입니다. 구글이 내놓은 분석 서비스 입니다. http://www.google.com/intl/ko/analytics/ 위 주소로 들어 가서 계정을 만들면 바로 사용 할 수 있습니다. 로그인을 완료 하게 되면 계정 홈으로 들어가지는데요. 오른쪽 상단에 위치한 설정 아이콘을 클릭해서 들어 가면 분석을 할 대상을 추가 할 수 있습니다. 계정을 만드는 절차를 진행하면 등록된 서비스의 고유한 ID를 부여 받게 되고, 웹 서비스에 추가 할 수 있는.. 더보기
[AS3] 외부에서 로드된 객체 복제(재사용) ApplicationDomain 에 대한 개념만 잘 이해 하고 있다면, 이 포스팅은 보지 않으셔도 됩니다. 최근까지 ApplicationDomain 에 대한 개념 자체를 다르게 이해 하고 있어서 어렵다고 생각했던 부분들은 정리 합니다. Flash/Flex 를 사용하면서 가장 많이 사용하는 클래스중 하나는 Loader 일 것 입니다. Loader 클래스는 SWF 나, 이미지 (JPG, PNG 등등) 을 로드 하는데 사용 합니다. 많은 분들이 이미지를 로드 하는데 자주 사용하고 있을거라 생각 합니다. 외부에서 이미지를 로드 하면 로드된 리소스는 Bitmap 으로 처리가 되어 BitmapData 의 clone 메소드를 통해서 해당 이미지를 재사용 할 수 있습니다. 코드는 아래와 같습니다. // 이미지 로드 p.. 더보기
[AIR] Adobe AIR 개발시 BrowserInvokeEvent 의 arguments 값 최근들어 Adobe AIR 기반으로 되어 있는 데스크톱 어플들이 하나 둘씩 나오고 있는데요. FlashPlayer 기반의 개발보다 자료가 없어서 개발하면서 검색하는 시간이 점점 늘어만 가네요. 그중 하나 BrowserInvokeEvent 사용시 arguments 값에 대한 이야기를 해 보려고 합니다. AIR 기반 어플리케이션은 일반적으로 아이콘 클릭으로 실행 시키는 방법과 함께 브라우져에서 사용자 이벤트 (마우스 또는 키보드)가 발생 했을때 실행 시킬수 있는 기능이 있습니다. 자세한 내용은 아래 링크에 있는 설명서를 참고하세요. 웹 페이지에서 AIR 응용 프로그램 설치 및 실행 이때 어플리케이션이 실행 되었을때 아이콘을 클릭해서 실행이 되면 InvokeEvent, 브라우저에 의해서 실행이 되면 Brows.. 더보기
Flash/Flex AS3 - Flash 에서의 객체 : DisplayObject 와 DisplayObjectContainer Part 5 지금까지 Flash 에서의 Timeline 에 대해 알아보았습니다. Timeline 에 대한 개념이 정리가 되셨는지요? 보통 사람들은 아래 그림 A와 같이 흰 도화지 안에 Timeline이 존재 하는 줄 알고 있습니다. 하지만 실제로는 반대입니다. 그림 A 그림 B 그림 B와 같이 Timeline 안에 희 도화지가 속해 있는 형식으로 구성되어 있습니다. Timeline의 한 프레임 당 하나의 흰 도화지를 가지고 있고, 코드를 입력 할 수 있는 공간을 가지고 있습니다. 그림 A와 B는 단순히 Timeline 이 흰 도화지 보다 크다 (Timeline > 흰 도화지) 라는 의미를 뜻하지만, Flash의 구조 안쪽으로 들어가면 Flash에서의 객체라는 것의 뿌리가 되는 개념입니다. 왜냐 하면 모든 객체들은 이.. 더보기
AS3 vs Javascript Performance Test 작년에 썼던 Javascript vs Actionscript 라는 글에서는 비교 관련 자료가 06년도의 Flash player 9 와 그때 당시의 브라우져를 대상으로 테스트한 것인데요. jacksondunstan.com 블로그에서 최근에 AS3 기반의 Flash player 10과 최근 브라우져의 Javascript 와 Performance 테스트를 한 포스팅이 있었네요. 아래는 테스트 한 결과 입니다. 참고 자료 : AS3 vs Javascript Performance Test AS3 vs Javascript Performance Test Followup 더보기
[AS3] TextField 에 한정된 라인에만 글짜 넣기 외부 데이터를 불러 와서 TextField 에 넣어 줄때, 외부 데이터 문자 길이를 UI 에 맞게 잘러서 나타내는 경우가 있습니다. 기본적으로 String 클래스에서 제공하는 substr 등을 이용하여 문자열을 보기 좋게 자르는데요. 여기서 소개 하는 방법은 substr 과 TextField 의 getLineOffset를 이용하여 한정된 라인에만 글짜를 출력 하는 방법 입니다. var field:TextField = new TextField(); field.width = 250; field.wordWrap = true; field.text = "안녕하세요.이것은 테스트 입니다.안녕하세요.이것은 테스트 입니다.안녕하세요.이것은 테스트 입니다."; addChild(field); 위의 코드를 출력하면 아래와 .. 더보기
Avoid ints in Actionscript 오랜만에 블로그를 둘러 보다 흥미로운 포스팅을 보았는데요. Actionscript 로 작업할시 숫자 타입의 int 를 사용을 자제 하라는 내용 입니다. 일반적으로 생각하면 int 가 Number 보다 크기가 작으니 int 로 처리 하면 더 빠르다고 생각하는 분들이 많으실텐데요. 이 포스팅에서는 여러 이유를 통해 부정 하고 있습니다. 이유 1. Number 를 사용하는게 int를 사용하는 것 보다 빠르다. 아래 코드를 실행 시키면 어떤 결과가 나올까요? public function timingTest() : void { var intTime : Number; var numberTime : Number; var i : int; var j : int = 0; intTime = (new Date()).time.. 더보기
액션 스크립트로 개발하기 - 2 발행한지 얼마 되지 않았지만, 언제나 일요일 저녁에 오픈캐스트를 발행하는것 같습니다. 포스팅해야지 해야지 생각만 하고 하지 않는 일상이 반복 되고 있네요. 하고 싶어도 못한다는 말은 그냥 핑계 인것 같습니다. 세번째 캐스트를 발행하였습니다. 이번에도 마찬가지로 액션스크립트를 처음 접하거나 초보자를 위한 캐스트 이고요. 어떤 방법을 알려주는 링크라기 보단 초심자가 한번쯤을 읽어 봐야 하는 내용들로 모아 보았습니다. 몇주째, 캐스트만 홍보 하는 블로그가 되고 있네요. ㅜㅜ 캐스트 : http://opencast.naver.com/DO718 더보기
Actionscript3.0의 DisplayList 목차 DiplayList 란? - DisplayList의 3가지 요소 - DisplayList의 구조 - DisplayList 구조의 장점 - Index 개념 - Shape, Sprite, MovieClip - DisplayList의 부모 자식 노드 관계 탐색이 간편해짐 DisplayObject 클래스 - DisplayObject를 상속받는 클래스 - 속성 메소드 및 이벤트 - root , parent, stage 에 접근하기 - Loader 를 사용해 불러온 외부 swf 의 root 와 stage DisplayObjectContainer 클래스 - DisplayObjectContainer 의 상속 - 속성 및 메소드 DisplayList 란? DisplayList 란 SWF안에 존재 하는 객체들 중에 .. 더보기
Flash / Flex 로 만든건 느리다? 이런 말을 많이 듣습니다. Flash로 만들면 느리지 않아요? Flash 로 만드면 유지 보수가 힘들지 않아요? Flash 로 만들면 오래 걸리지 않아요?? 예전에는 Flash를 맹신하여 위의 말들에 "욱" 했었지만, 지금은 반반 입니다. 하지만 확실한건 Flash 로 만든 컨텐츠는 느리지 않다 입니다. 그러면 왜 느린가?? 왜 느리다고 생각하는 건가요? 느리게 만들기 때문에 느린 것이다. 느리게 만들게 의도 하기 때문에 느린 것이다. 저는 이 두가지 이유 때문이라 생각 합니다. 첫번째 이유는 생각 없이 심볼 생성하고, 퍼포먼스 고려 없이 트윈 남발하고 어느덧 라이브러리에는 쓸데 없는 심볼이 쌓여서 SWF 자체로 무거워 지고, 여러 가지 Flash player 과부화 요소를 생각하지 않고 빨리 빨리 작업.. 더보기
AS2.0에서 AS3.0으로의 달라진 점은 무엇인가? 문서 원본 : Adobe 기술문서 작성된 날짜 : 2009-05 저자 : 강동혁(동강) 저자 소개 : Daum communications 에서 UI 개발 업무를 하고 있으며, Flash 커뮤니티에서 ‘동강’ 이라는 닉네임으로 활동하고 있다. 뭐든지 사용하기 편해야 한다는 생각을 가지고 개발을 하고 있으며, 최근엔 새로산 자전거를 자주 못타고 다녀 아쉬워 하고 있다. -Display 객체들의 다양화 -Display List구조의 변화 -객체의 심도 관리 향상(Depth에서 index로) -Depth방식에 비해 Index방식이 효율적인 점 -이벤트 모델의 변화 Flash를 하던 많은 사람들이 AS3.0이 나오고 나서 혼란스러웠던 이유는 두 가지이다. 첫 번째로 Flash에서 핵심이라고 할 수 있는 Displ.. 더보기
Actionscript3.0 학습법 커뮤니티의 질문들 중에서 단연 1위를 달리고 있는 "Actionscript 학습법" 에 대해, 오직 제 견해와 경험을 통해 작성해 보려고 합니다. - Flash MX , Flash 8, Flash CS3, Flash CS4 먼놈의 버젼이 이렇게 많은 건지 많이 혼동 됩니다. 시중에 나와 있는 책들을 보면 벌써 CS4가 출시 되었음에도 불구 하고, MX 버젼과 그 이하 버젼의 책들을 종종 보게 됩니다. 당연히 Flash를 처음 시작 해야 겠다고, 다짐하고 서점에 간 분들은 혼동 될 수 밖에 없지요. 보통 액션 스크립트 책은 Flash 라는 제목을 작게 표기 하고 Actionscript를 크게 표기 하기 때문에(?) Flash 8 이라 크게 적혀 있는 책을 고르게 됩니다. 그리고 카페에 와서 물어 봅니다. .. 더보기