scaleform.minarto.com

[강좌] 태그 클라우드 만들기 1 본문

ActionScript

[강좌] 태그 클라우드 만들기 1

미나토 2008. 1. 4. 14:50
네이버 블로그 페이지에 있는 태그 클라우드(최근 인기 태그)를 AS 3.0으로 만들어보도록 하겠습니다.


이걸 만드는 이유는 제가 모 회사의 면접에서 실기 테스트로 만들었었기 때문입니다.(제가 만들 내용은 시험문제로 나온 것과는 약간 다릅니다) 그리고 아르바이트로 이걸 제작해달라고 들어온 적도 있지만 단가가 맞지 않아 안하게 된 적도 있고요.


그러니 입사을 원하시는 신입개발자들에게 뭐 이런 것이 나온다 정도의 내용도 될 수 있을 것 같기도 하고...알바를 어떤 식으로 한다도 알 수 있을 거고요.
시험문제야 당연히 언제든 바뀌는 것이니 이거 달달 외우고 가면 붙을 거라고 생각하시는 바보같은 분들이 없기를 바라며 시작하겠습니다.



어플리케이션의 기능은 다음과 같이 정의하겠습니다.

1. 태그내용 표시
2. 당연히 태그는 겹치거나 하지 말아야 한다
3. 태그의 유저 인기도를 시각적으로 표시해야 한다 (컨텐츠로서의 기능)
4. 노출의 중요도를 (태그를 기업 광고의 연장으로 생각할 수도 있다) 시각적으로 표시해야 한다 (상업적으로서의 기능)
5. 사용자 이벤트는 태그 클릭시 페이지 이동으로 한다

여기까지가 클라이언트의 요청일 것입니다.

자, 클라이언트와 기간과 페이 협의를 끝내고 계약서를 쓴 후 디자인을 받았다면 이제 진짜 작업에 들어가야합니다.


///////////////////////////////////////



어플리케이션을 만들기 위해 프로그램 흐름도를 대충 생각해보겠습니다. (사실 짬빱 먹고 나니 이런건 잘 안하게 됩니다. 귀찮고 어차피 그냥 머릿속에서 바로 그려지니깐... 하지만 강좌니깐 나열해보겠습니다)


플래시 로드 > 로딩화면 구성 > 서버의 data.xml 페이지 로드 > xml 을 배열로 파싱 > 로딩 화면 삭제 > 화면 생성

실제 프로그램 흐름도를 그리려니 포토샵 열기가 귀찮아 그냥 화살표로 썼습니다.

자, 그럼 이 흐름이 적당한 것인지 생각해봐야 할 때입니다.


1. 배열 대신에 DataProvider class 로 만들고 DataChangeEvent 를 발생시킬 수도 있겠지만 클라이언트가 원하지 않은 오버스펙으로 작은 어플리케이션을 괜히 무겁게 할 필요는 없다고 생각합니다. (이 말이 무슨 말인지 모르는 분들은 그냥 무시해도 상관 없습니다)

2. xml 이 로드된 후 파싱 이전에 로딩 화면 삭제가 들어가야 할 것 같기도 합니다만 큰 차이가 없기도 하거니와 큰 양이라면 시간이 걸릴 수도 있는 것이니 파싱 이후로 뒀습니다.

3. 다시 생각해보니 data.xml 의 크기가 작을테니 로딩화면은 필요가 없을 것 같습니다


그럼 다시 써보죠.

플래시 로드 > 서버의 data.xml 페이지 로드 > xml 을 배열로 파싱 >화면 생성

자, 그럼 다음 글에서 실제 코딩에 들어가도록 하겠습니다. 물론 언제 쓴다는 기약은 없습니다 :)




p.s. 잘못 만들었기 때문인지 이력서의 내용이 문제인지 면접에서의 태도가 문제인지 연봉이 문제인지는 모르겠지만 참고로 저는 그 회사를 낙방했습니다. :) 제가 누누히 말하잖습니까, 저는 하수라고요... ㅎㅎㅎ