태터데스크 관리자

도움말
닫기
적용하기   첫페이지 만들기

태터데스크 메시지

저장하였습니다.

'RIA/AIR'에 해당되는 글 28건

  1. 2013.02.04 숭실대 시간표를 빠르고 쉽게! 유세윤 1.5 (5)
  2. 2010.05.19 Flash, Flex로 안드로이드 앱 개발이 가능해진다. (17)
  3. 2009.10.06 Adobe AIR 2.0 발표
  4. 2009.09.20 MSPReader 1.0 (1)
  5. 2009.09.19 MLB, AIR 애플리케이션 공개
  6. 2009.09.10 AIR와 Snow Leopard (4)
  7. 2009.09.09 AIR 애플리케이션 패키징이 안될 경우
  8. 2009.08.26 [AIR] 대량의 INSERT문 효율적으로 처리하기 (2)
  9. 2009.08.21 AIR 개발자를 위한 애플리케이션 (3)
  10. 2009.08.19 AIR 한글삭제 문제가 해결되었습니다. (4)

숭실대 시간표를 빠르고 쉽게! 유세윤 1.5

안녕하세요.

이제 개강이 약 한달여 앞으로 다가왔네요.
모두 다음학기 준비는 잘 되어 가시나요?

수강신청이 이제 3주여 앞으로 다가온 관계로, 1월에 약 2주텀을 두고 시간표를 업데이트 했는데요.
이제는 1주일에 한번씩, 매주 화~수요일 경에 시간표를 업데이트 하고 알려드릴 예정입니다.

그리고, 전공과목의 경제학과, 글로벌 통상학과가 시간이 잘못 표기된점, 수학과와 의생명시스템학부의 시간표가 잘못 표기된점, 교양필수의 PRW 고급 과목이 추가되지 않은 점을 바로 잡았습니다. 

특히 이번 시간표 업데이트에서 거의 대부분 학과의 시간표들이 올라왔습니다.

이젼버전을 사용하고 계시는 분이라면 아래의 가이드 대로 시간표를 업데이트 하여 주시면 감사하겠습니다.





기존에 유세윤을 설치하셨던 분이라면,
설정으로 들어가신 뒤, 업데이트 버튼을 눌러주시면 자동으로 최신 버전으로 업데이트 하게 됩니다.

그리고 아직 업데이트 하지 않은 분들이라면 아래의 install now를 눌러주세요.

벌써 13학번 후배님들이 보이기 시작하는군요.
제가 09학번일때 여기서 활동하던게 엇그제 같은데, 후배님들도 많이 보이시고 해서 반갑습니다.

아마 유세윤이라는 프로그램은 11학번 이후 후배님들분들한테는 많이 낫설거같아요.
10학번 후배님들까지는 업데이트를 해 드렸는데, 제가 학교를 떠나있는동안에는 업데이트를 하지 못해서..

별다른 공지없이 서비스를 못하게 되어서 죄송하게 생각하고 있습니다.
유세윤은 숭실대학교 학사편람을 기준으로 시간표를 쉽고 빠르게 만들 수 있는 프로그램입니다.



위는 유세윤의 사진입니다.
오른쪽 화면에 보이는 시간표는 유세윤을 통해서 만든 13학번 물리학과 기준 시간표에요
주5일동안 공강없이 열심히 다닐 후배님들 생각에 눈물이 ... ㅜㅜ

여하튼 유세윤을 이용해서 본인의 수업을 조회한 다음에.


강의 위에 마우스를 올려두면



오른쪽 강의 시간표에 잠시 해당 강의시간이 나온답니다.
마우스를 다시 떼면 시간표가 이전 상태로 돌아가는데요.
내 시간표에 추가하고 싶다면 초록색 버튼을 누르면 시간표에 추가 됩니다.



이렇게 추가된 강의들을 목록으로도 볼 수 있구요.

던지기 기능을 이용해서 내가 만든 시간표를 네이트온이나 스카이프 등의 메신저로 바로 보낼수도 있어요.


그리고 오른쪽 시간표에서는
내가 임의로 시간표에 추가를 하거나, 해당 시간대에 맞는 시간을 찾거나, 해당 시간에는 강의를 추가하지 못하게 할 수 있어요.


예를들어서 내가 월요일 4교시에는 수업을 듣고싶지 않다면 빨간 깃발을 눌러주면
해당 시간표에는 시간을 추가할 수 없도록 됩니다.
그리고 내가 주4파를 만들고 싶다면, 원하는 요일 글씨를 더블클릭하게되면
해당 일에는 시간을 넣을수가 없게 됩니다.
다시 풀려면 더블클릭 하면 됩니다.

자 유세윤을 설치해보고 싶으시다면,
아래에 있는 Install now 버튼을 눌러주세요.



현재 시간표는 숭실대 시간표를 기준으로 만들어 져있습니다.

지금 대부분의 전공은 아직 시간표가 확정되지 않았고, 교양, 일반선택만 나와있네요.
또한 지금은 아직 강의 시간이 유동족이기 때문에 참고용으로만 사용해 주시고,

앞으로 수강신청 기간 전까지 1주일에 한번씩 업데이트 할 예정인데요.
시간표를 업데이트 하는 요일은 화요일로 정했습니다.

매주 화요일에 설정으로 들어가시면, 시간표 업데이트 하기 버튼이 나옵니다.
이 버튼을 클릭해주시면 최신 시간표로 업데이트 할 수 있습니다.

유세윤은 윈도우 XP이상(XP, Vista, 7, 8), 맥 OS 스노우 레오퍼드 이상, 우분투 리눅스, iOS 5.0이상, Android 2.3이상에서 사용하실 수 있고
iOS와 Android 앱은 현재 심사가 진행중입니다.

또한 수강신청 1주전 부터 종료시까지 웹 버전도 운영하여,
웹에서도 쉽게 시간표를 작성할 수 있도록 지원할 예정입니다.

그럼 많은 사용, 피드백 부탁드립니다.
감사합니다. 꾸벅(__)

신고
트랙백 0 Comment 5

Flash, Flex로 안드로이드 앱 개발이 가능해진다.

어도비는 샌프란시스코에서 개최되는 구글 개발자 컨퍼런스인 I/O 10에서 안드로이드 OS에서의 플래시 플랫폼 지원과 관련된 두 가지 중대한 발표를 할 예정입니다.

io-logo

한가지는 익히 알려진 것처럼, 안드로이드 차기 OS인 Froyo에서 Flash Player 10.1의 지원 인데요. 그간 여러 Feature Phone에서 지원되던 Flash Lite와는 달리 Desktop에서 지원되는 Native API를 모두 지원하는 스마트폰 플레이어 탑재 소식을 발표할 예정입니다.

 

osp_logo_dc72b00c-bff0-4e75-8b3f-f1efdcea087c

 

어도비는 Flash Player의 저변 확대를 위해, Open Screen Project(http://openscreeproject.org)를 운영하며 수년 전부터 많은 협력사들과 노력해오고 있었는데요. 특히 이번에 Froyo에서 탑재되는 Flash Player 10.1에서는 퍼포먼스 비롯하여, 베터리, ARM DSP 이슈들을 해결하기 위해 많은 공을 들였다고 합니다.

 

이와는 별도로 어도비에서 재밌는 소식을 발표하였는데요. 바로 Android OS의 AIR Runtime도 함께 발표하였습니다. AIR Runtime에 대해서는 이후에 자세히 설명할 예정인데요.
즉, Flash나 Flex를 이용해서 안드로이드 애플리케이션을 제작할 수 있고, 안드로이드 마켓 플레이스나, T store와 같은 오픈마켓에 자신의 애플리케이션을 판매할 수 있게 되었습니다.

 

 

Adobe AIR가 무엇인가요?

200px-Adobe_AIR_icon_svg

Adobe AIR는 2008년 Flex 3 릴리즈와 함께 발표된, 어도비의 새로운 플래시 플레이어 런타임 기술입니다. 이전까지는 코드네임 Apollo로 흔히 알려졌었는데요. AIR는 플래시 플랫폼을 기반으로(Flash, Flex, HTML, Ajax) 애플리케이션을 저작하여 다양한 플랫폼을 지원할 수 있는 런타임 환경 기술입니다.

Adobe AIR는 현재 공식적으로 윈도우 OS, Mac OS, Linux 등을 지원하고 있는데요. AIR의 가장 큰 장점은, 이처럼 웹 애플리케이션을 그대로 데스크탑 애플리케이션으로 이식 할 수 있을 뿐만 아니라, 다양한 OS에도 대응하여 돌아갈 수 잇는 런타임 환경을 지원한다는 점입니다. 또한, 데스크탑 애플리케이션에 걸맡게 네이티브 드래그앤 드롭, 파일 시스템, Local DB(Sqlite)등도 지원하고 있습니다.

현재 Adobe에서 공식적으로 제공하고 있는 런타임의 버전은 1.5.3이며, Mass Storage 지원이나, 멀티 터치를 지원하는 2.0 버전은 어도비 랩스(http://labs.adobe.com)에 베타2까지 공개 되어 있습니다.

이처럼 어도비에서는 플래시 플랫폼의 다양한 저변 확대를 위해 Flash Player, Flash Lite, AIR로 런타임 환경을 세분화 하여 제공하고 있으며, 이들 런타임 환경은 모두 별도의 게런티 없이 전세계 사용자들에게 무료로 제공되고 있습니다.

그리고 이번에 구글 I/O에서는 Android OS용 AIR Runtime가 발표되었습니다. Android OS용 AIR Runtime는 Android OS 2.1 이상 환경을 지원할 예정인데요.

K-20 
사실 최근 어도비와 애플의 미적지근(?)한 관계 때문에 이번 발표가 급조된 것이 아니냐 라고 말씀하실 수 있으시겠지만, 어도비에서는 2008년 부터 AIR Runtime의 Android 지원 계획을 코드네임 “Zephyr”로 명시하고 있었습니다. 또한 작년에는 Windows Mobile을 지원하는 별도의 런타임 환경인 adobe distributable player을 공개했었는데요. 현재는 Adobe AIR 프로젝트와 통합되어 개발이 진행되고 있습니다.

안드로이드에서 어도비 AIR 애플리케이션이 돌아가는 모습은 위의 동영상으로 보실 수 있습니다. 아울러 안드로이드 AIR 런타임은 현재 내부에서 많은 개발자들과 함께 테스트를 진행하고 있는데요. AIR 기반으로 제작된 안드로이드 애플리케이션들은 링크를 참고하시면 좋을 것 같습니다.

(AIR 기반 안드로이드 애플리케이션)

 

아울러 어도비에서는 안드로이드 OS를 비롯하여, 윈도우 폰7, Palm OS등을 지원하는 AIR Runtime을 개발 하고 있으며, 이들 런타임은 내년 1분기 경에 정식적으로 공개될 예정입니다.

 

 

Flash, Flex로 어떻게 안드로이드 앱을 개발 할 수 있나요?

 

Adobe AIR는 현재 Flash, Flex에서 개발 환경을 모두 지원하고 있는데요. Android 애플리케이션도, 플래시 플랫폼을 저작하던 환경이라면 어디든지 개발 할 수 있습니다. 위의 그림을 보면 쉽게 이해 하실 수 있으실텐데요. AIR 애플리케이션은 플래시 형태로 제작된 swf 파일과 애플리케이션의 실행 정보를 담은 디스크립션 파일을 함께 묶어 패키징을 하게 되면, 단일 설치파일 형태로 제공되게 됩니다.

재밌는 점은 Adobe AIR는 Flash, Flex를 전혀 경험해보지 않은, AJAX 개발자를 위한 개발 환경을 지원하고 있습니다. 즉, 자바스크립트와 HTML로도 AIR 애플리케이션을 개발 할 수 있습니다. 이와 관련된 국내 참고서적은 오창훈님의 오픈 API를 이용한 매쉬업 가이드를 참고해보시면 많은 도움이 되실 것 같습니다. 아울러 AIR for Android에서도 HTML 개발 환경을 마찬가지로 지원하고 있는데요. 즉, 자바스크립트와 HTML 기반으로 안드로이드 애픒리케이션을 저작 할 수 있습니다.

그럼, Flash Pro를 이용해서 간단히 안드로이드 애플리케이션을 저작하는 방법에 대해 살펴보겠습니다.

K-17

Flash Pro CS5에서 AIR 프로젝트를 생성 하였습니다. Android용 AIR 애플리케이션은 AIR 2.5 이상부터 지원하므로, SDK 폴더에 AIR 2.5를 덮어씌워야 합니다. 현재는 간단히 리뷰할 용도로 생성한 프로젝트 이므로, 별도의 코딩이나 작업 없이 간단히 “Hello Adobe AIR, Android!” 정도만 Stage에 생성해 넣었습니다.

 

K-18

 

그리고 애플리케이션 개발이 완료되었다면, 간단히 swf 파일만 export 해준 다음에 Flash Pro를 빠져나옵니다. 현재는 내부 테스트를 진행중인 관계로 별도의 패키징 인터페이스 없이 Console에서 직접 ADT를 실행하여 패키징을 하여야 합니다. 사이닝에 필요한 인증서 파일과, 생성될 APK 파일, 디스크립터 파일, SWF 파일을 입력한 후 엔터를 눌러 패키징을 진행합니다.

 

K-19

패키징 이후 에뮬레이터에 돌아가는 모습입니다. 실제 디바이스에서도 현재 잘 지원되고 있습니다. 만약 디버깅이 필요하시다면 trace()를 적절히 활용하시어, Logcat을 살펴 보시면 됩니다.

 

아울러, AIR 2.0 이상에서는 GPS, 멀티터치 등 디바이스 제어와 관련된 API들도 제공하고 있는데요. 이들 API를 이용하여, LBS 애플리케이션이나, 증강현실 애플리케이션도 개발 할 수 있습니다.

 

 

제약사항은?

현재 안드로이드의 AIR 런타임이 개발중인 단계라 제약사항은 변화 할 수 있습니다.
다만 현재까지의 제약사항은 Android OS 2.1 이상이어야 하고, Eclair MR2이 지원되는 디바이스라면 모두 지원이 가능합니다.

아울러, 얼마 전 까지는 ARM DSP 이슈로 인해 마이크와, 카메라가 지원되지 않는 이슈가 있었는데요. 현재는 이러한 이슈들이 모두 해결되어, 마이크와 카메라를 지원하는 애플리케이션을 모두 사용하실 수 있습니다.

현재까지는 아쉽게도, Push Notification이나, 근접 알림과 같은 API는 지원하고 있지 않은데요. 아직 AIR “Zephyr”가 릴리즈 되기 까지 많은 시일이 남은 만큼, 정식 릴리즈 될 때 쯤이면 정식적으로 지원하지 않을까 생각하고 있습니다.

그리고 마지막으로 개발하시면서 주의하셔야 할 점이 있는데요. 안드로이드 AIR 애플리케이션을 제작 하실 때에는, 데스크탑 AIR 애플리케이션과 달리 런타임의 샌드박스는 철저히 Android Platform에 맞춰서 따른다는 점 입니다. 즉, 파일을 접근할 수 있는 Storage에는 제한이 있으며, 이러한 제한에서 벗어날 경우 샌드박스 에러가 발생하게 됨으로, 유의하셔야 합니다.

 

 

지금까지 AIR 런타임의 안드로이드 지원 소식을 알려드렸는데요. 현재 내부에서 테스트가 활발히 진행중이고, 정식으로 릴리즈 될 시기는 내년 1분기로 예정되어 있습니다.
(다만, 현재 애플과의 껄떡지근한 관계로 릴리즈 시기가 다소 앞당겨 질 수도 있을 것 같습니다.)

아울러, 안드로이드 OS를 비롯하여, 윈도우폰, 팜OS등 다양한 Device를 지원하는 AIR 런타임의 소식 또한 속속 발표될 예정이라고 합니다.

구글과 어도비의 긴밀한 협력이 안드로이드 플랫폼에 어떤 영향을 미칠지 사뭇 기대됩니다.

 

marquee_792x200

신고
트랙백 1 Comment 17

Adobe AIR 2.0 발표

어도비는 플래시 플랫폼의 주요 핵심 런타임 기술 중 하나인 AIR 런타임의 후속 버전인 AIR 2.0(코드네임 Athena)에 대해 발표하였습니다.

Adobe_AIR_icon_3_3

Adobe AIR는 크로스 플랫폼을 지원하는 데스크탑 런타임으로 2008년 처음으로 배포되었습니다. 그리고 현재 2억대의 컴퓨터에 두루 배포되어 있으며, 수 많은 애플리케이션이 AIR 기반으로 개발되어 배포되고 있습니다.

현재 eBay, MLB.COM, New York Times 등의 서드파티사들이 AIR 기술을 도입 하였고, 현재 까지 배포된 애플리케이션 수가 3000만건에 이를 정도로, AIR는 배포 1년 반 만에 많은 분야에서 자리매김 하고 있습니다.

AIR의 마일스톤이 1.5.2에서 2.0으로 향상 된 만큼 변화사항도 많은 편인데요.
AIR 2.0의 주요 변화 사항들은 아래와 같습니다.

  • New version of WebKit
  • Microphone Access API
  • Open with default application
  • Mass storage device detection
  • New networking support
  • Database transaction savepoints
  • Creating native installers
  • Launching and interacting with native processes
  • Screen reader support (Windows only)
  • Mac vector printing support
  • Idle time-out settings (Win/Mac only)
  • Mac PowerPC no longer supported
  • Linux installer available as native .deb and .rpm installer
  • AIR-Linux comes with installers for 64 bit systems
  • IPv6 Support
  • Increased maximum size of NativeWindow
  • File Promises
  • Multitouch events


    세세한 변화 사항에 대해서는 이어서 다루도록 하겠습니다.
    AIR 2.0의 베타 릴리즈는 여러 플래시 플랫폼의 핵심 기술들과 같이 내년 1분기로 예정되어 있습니다.

  • 신고
    트랙백 1 댓글 0

    MSPReader 1.0

    안녕하세요.
    희희덕덕입니다 : )

    대학생이라고 하면 무엇이 떠오르나요?

    저는 대학이면 노는 곳, 마시는 곳, 토하는 곳 이라고 생각했는데,
    사실 이 작은 대학이라는 공간에서도 무한한 경쟁이 휘몰아 치고 있었지요..
    (아아 내 학점 orz)

    요즘은 특히 천만원 등록금이다, 이태백이 백수다…
    대학이라는 곳이 점점 팍팍해지고 있어요.. 후후

    이렇게 팍팍해진 대학생활 속에서,
    오로지 ‘열정’이라는 키워드로 뭉친 멋진 친구들이 있어 소개하고자 합니다.

    바로 Microsoft Student Partner 인데요.
    전국 각지의 대학에서 선정된 45명의 열정, 개성이 넘치는 능력자 친구들이랍니다 : )

    MSP의 멋진 활동은 이곳 저곳에서 볼 수 있지만,
    블로그를 통해서도 정말 많은 정보들을 공유하고 있는데요.

    3기 MSP의 글들을 쉽게 살펴 볼 수 있는 프로그램을 공개합니다. 

    바로 이름하여, MSP 리더!

    info

    MSP 리더는, MSP 분들의 블로그를 돌아다니면서
    최근에 올라온 글을 알려주고, 예전에 올라온 글들도 쉽게 읽을 수 있는 프로그램 이랍니다 : )

    위의 화면이 메인 화면인데
    몬가 깔쌈하고 좋죠? ㅎㅎ

    1

    이.. 이렇게 각 MSP 별로 글을 볼 수 있구요.
    글타래 태그를 통해서 해당 MSP의 관심 분야를 쉽게 살펴 볼 수 있어요 : )

    6

    그리고 메인 화면에서
    태그 클라우드를 통해, MSP 분들이 관심 있어하는 트랜드를 쉽게 볼 수 있구요.
    (가장 많은 관심을 받은 주제가, 제일 크게 보인답니다.)

    태그 클라우드에서 태그를 클릭하면!

    7

    요렇고롬
    클릭한 태그에 해당하는 글만 따로 볼 수 있어요

    그럼 태그 클라우드에 없는 트랜드는 볼 수 없는건가 ㅜㅜ
    라고 슬퍼하실 분들을 위해 ㄷㄷ

    4

    글 찾기 기능도 있습니다.
    글 찾기에서 찾고자 하는 내용을 입력하시고 검색 버튼을 누르면

    5

    이렇게, 해당하는 검색어에 맞는 글도
    잘 찾아 줍니다!!

    2

    그리고, 검색한 글을
    최근 30개 올라온 글만 볼것인지, 오늘, 어제, 일주일간 올라온 글만 볼것인지를 설정 할 수도 있구요.

    8

    "앜ㅋㅋㅋㅋㅋㅋㅋㅋ 이분이 쓴글 몬가 나의 신경을 자극시키는 것가태"
    라는 글을 따로 모아 볼 수 있는 스크랩 기능도 있습니다.

    글의 오른쪽 하단의 스크랩버튼을 누르면 해당 글이 스크랩 되구요.

    9

    스크랩 버튼을 통해서 내가 스크랩 한 글들만 모아서 볼 수도 있어요 : )

    3

    마지막으로 ,새로 글을 작성한 MSP 분들이 있다면,
    MSP 리더에서도 뾰옹 하고, 새 글 알림창을 띄운답니다 : )

    새로운 트랜드, 그리고 내가 관심있어하는 MSP 분의 일거수 일투족*-_-*을 감시할 수 있어서
    정말 유용하겠죠?

    MSP리더는 아래의 Install Now를 눌러 설치 할 수 있습니다 : )

    MSP, Microsoft Student Partner은 Microsoft의 등록상표이며, 모든 권한은 Microsoft에게 있습니다. MSPReader 에서 제공하는 컨텐츠의 저작권은 각 게시자에게 있습니다.

    MSP 리더를 쓰시면서 발생한 버그, 그외의 의견이 있으시면
    댓글 부탁 드리겠습니다.

    신고
    트랙백 0 댓글 1

    MLB, AIR 애플리케이션 공개

    AIR는 어도비에서 개발한 크로스플랫폼 런타임으로, 릴리즈한 지 약 1년 반 만에 클라이언트 누적 설치수가 2억건에 돌파할 만큼, 뜨거운 이슈로 부상하고 있습니다.

    Adobe_AIR_icon_3_3

    특히, ebay, nike등의 대형 서드파티사에서 Adobe RIA 기술을 도입하여, AIR 애플리케이션을 공개하였고, 사용자에게 많은 호응을 얻고 있습니다.

    국내에서도 픽짜, GS이숍, 현대카드 등의 회사의 자사 서비스에서 AIR 애플리케이션을 도입한 사례가 점차 늘어나고 있는데요.

    이처럼, AIR는 국내외적으로 종횡무진 하고 있는 하나의 플랫폼으로 자리매김 하고 있는데요. 미국 최대의 야구리그인 MLB에서 Adobe AIR 애플리케이션을 공개하였습니다.

    K-136 
    이 프로그램의 이름은 MLB.COM OnBase 인데요. 사용자가 관심 있는 구단이나 선수를 추가하여, 해당 구단이나 선수의 최신소식이나 전적 등을 살펴 볼 수 있습니다.

    특히 새로운 소식이 올라오면, 사용자에게 알림창을 통해 안내하는 기능도 있어서, 야구 팬들에게 많은 호응을 받고 있습니다.

    외국 스포츠 소식은 국내 언론매체를 통해 신속하게 전달받기가 힘든 편인데요. MLB에 관심이 많은 국내 야구팬들에게 많은 도움이 될 애플리케이션인 것 같습니다.

    MLB.COM OnBase는 아래의 경로에서 다운로드 할 수 있습니다.
    MLB.COM OnBase

    신고
    트랙백 0 댓글 0

    AIR와 Snow Leopard

    이번 글은 지난번 제 블로그에서 다룬 Snow Leopard 사용자를 위한 CS4 FAQ에 이어 작성하는 글입니다. 이번 글도 호환성 관련된 이슈에 대해서 알아보고자 합니다.

    K-95

    Snow Leopard는 경쟁사인 MS보다 두 달여 앞선 지난달에 출시되었습니다. 지난 버전에 비해 큰 변화는 없지만, 사용자 인터페이스를 비롯해 여러 기능들이 개선되었다고 합니다.

    지난번 글에서도 다룬 것처럼, 새로운 운영체제가 출시하게 될 경우 항상 호환성 이슈에 직면하게 됩니다. 다행히 요즘엔 운영체제 개발사에서 이러한 이슈들을 최대한 줄이기 위해 사전 테스트를 비롯해 다방면으로 노력하고 있는데요.

    Adobe_AIR_icon_3_3

    Adobe AIR는 플래시플랫폼의 일부로, 크로스 플랫폼을 지원하는 런타임입니다. 스노우레오파드에서 앞선 레오파드에서도 정식적으로 지원되었고, 이외에 윈도우, 리눅스 등에서도 공식적으로 지원하고 있습니다.

    그리고 다행히도, 어도비 AIR 팀에서는 현재 AIR 1.5.2 런타임이 스노우레오파드에서 정상적으로 구동된다고 밝혔습니다.

    다만 개발자들이 AIR 애플리케이션 개발 과정 중 디버깅을 위해 사용했던 ADL에서 약간의 이슈가 발생하고 있는데, 이러한 이슈는 ADL의 위치를 옮겨주는 작업으로 해결 할 수 있으며, 어도비에서도 근본적으로 이러한 이슈가 곧 해결될 수 있도록 노력하겠다고 합니다.
    Adobe AIR Support for Mac OS X Snow Leopard ]

    아울러, Snow Leopard 기반의 OS와 AIR 런타임에서 문제가 발생할 경우 아래의 경로로 리포팅 할 것을 권장하고 있습니다.
    http://www.adobe.com/go/wish

    신고
    트랙백 0 Comment 4

    AIR 애플리케이션 패키징이 안될 경우

    Adobe AIR는 크로스플랫폼을 지원하는 런타임으로, 기존 플래시의 유연한 인터렉티브 구현과 더불어, 윈도우 및 파일 제어와 같은 Native API 지원으로, 그간 플래시플랫폼을 이용해온 서드파티사로 부터 많은 주목을 받고 있습니다.

    Adobe_AIR_icon_3_3

    특히, AIR 애플리케이션은 Flash, Flex 개발자 뿐만 아니라, ActionScript 개발 경험이 없는 AJAX 개발자도 개발 할 수 있고, 개발자들은 AIR SDK를 이용해 그간 작업해오던 개발 환경에서 그대로 작업 할 수 있다는 장점이 있습니다.

    AIR 애플리케이션은 플래시 애플리케이션과는 달리, 데스크탑에서 실행되는 애플리케이션으로, 개발 과정 중 테스트 하려면 ADL(Air Debug Launcher)가 필요합니다.

    adladt

    개발 과정을 모두 마친 AIR 애플리케이션은 단일 설치 파일인 .air 파일을 생성하는 패키징이라는 절차를 거쳐야 하는데, 이 과정은 ADT(AIR Developer Tool)에서 진행 할 수 있습니다.

    ADL, ADT는 AIR SDK내에 포함되어 있고, 특이한 점은 AIR 런타임이 설치되지 않은 환경이라도 두 도구를 이용하여 개발을 진행할 수 있습니다. 아울러, 개발자에게 도움이 되는 여러 옵션들이 존재하는데 해당 옵션에 대해서는 차후에 자세히 다루도록 하겠습니다.

    K-99

    일반적으로, Flex Builder나 Flash IDE, Dreamweaver에서 AIR 애플리케이션을 실행 할 때에는 ADL이 프로세스에 실행되고, Break-point를 걸어 디버깅을 하거나, Console, Bug을 통해 발생한 이슈를 확인 할 수 있습니다.

    AIR 애플리케이션을 패키징 하는 도구인 ADT는 ADL에 비해 활용 방법이 다소 복잡한데, 우선 패키징 과정 전, 해당 프로젝트를 먼저 swf 파일로 export 해야 합니다.

    그리고, AIR 애플리케이션에 사용된 여러 리소스 파일들도 함께 첨부하여야 하며, AIR 애플리케이션 전반의 설정을 담고 있는 디스크립터 파일과, CA 기관으로 부터 발급받은 인증서로 서명 하여야 합니다.

    다만, 드림위버, 플래시, 플렉스빌더와 같은 개발 IDE에서는 패키징 과정이 실행되는 동시에, 해당 프로젝트가 swf 파일로 export 되고, 리소스 에셋들도 함께 담기기 때문에, 디스크립터 파일과 인증서 파일 이외에는 별다른 작업을 해 줄 필요는 없습니다.

    이렇게 패키징 과정을 모두 마치면, 단일 설치파일인 .air 파일이 생성되며 이 파일을 사용자에게 배포하여 AIR 애플리케이션을 활용하게끔 할 수 있습니다.

    그런데, AIR 애플리케이션을 개발 하다 보면 종종 부딪히는 이슈가 한가지 있는데, ADL에서는 정상적으로 실행되는 AIR 애플리케이션이, ADT에서 패키징 되지 않는 문제가 발생하곤 합니다.

    이러한 문제점은, 애플리케이션의 소스 코드의 문제점이라기 보단, 패키징 과정 자체의 문제점으로 IDE상에서 별도로 디버깅을 한다거나 에러창을 통해 확인할 수 없어서 난감한 문제이기도 합니다.

    하지만, 이 문제점은 개발 상의 실수라기 보단, 패키징 과정 중에서만 발생하는 별도의 문제점으로 앞서 설명한 ADT의 실행 구조를 이해하면 보다 손쉽게 문제점을 찾아낼 수 있습니다.

    K-98

    우선 가장 흔히 발생하는 문제로, ADT에서는 AIR 애플리케이션의 전반적인 설정을 담는 디스크립터 파일을 패키징 과정 중에 함께 첨부하는데, 개발자가 디스크립터 파일의 엘리멘트를 잘못 작성하여 패키징이 정상적으로 진행되지 않는 경우입니다.

    일반적으론, SystemChrome와 같이 입력사항에 제한이 있는 엘리멘트에서 흔히 발생하며, 다소 예외인 경우지만, AIR 애플리케이션의 아이콘에서도 문제가 발생하기도 합니다.

    예를 들어, AIR 애플리케이션의 아이콘은, 엘리멘트에 정의된 크기를 반드시 유지하여야 하고, 확장자도 PNG 파일만 사용할 수 있습니다. 만약, 16x16 아이콘 엘리멘트에 정의된 이미지 파일의 크기가 16x15일 경우 패키징 과정중에서 에러가 발생하게 됩니다.

    그리고, ADL과 ADT의 버전이 일치하지 않을 경우에도 이런 문제가 발생하게 되는데, 가령 1.5.2 ADL에서 테스트한 AIR 애플리케이션을, 1.5.1 ADT에서 패키징 할 경우, 디스크립터 파일의 설정이나, 새로운 API 사용등의 상황으로 패키징이 진행되지 않을 수 있습니다.

    또한, AIR 애플리케이션을 패키징 할 때 사용한 인증서의 유효기간이나 키 체인 문제로, 패키징 과정은 모두 마쳤으나 사이닝 과정을 거치지 못해, 최종적으로 .air 파일이 생성되지 않는 경우도 있습니다. 이 경우엔, 다시 ADT에서 AIRI 파일을 생성하여, 인증서의 문제인지 확인 할 수 있습니다.

    이번 글을 통해 살펴본 문제점은, 주로 AIR 애플리케이션 개발을 처음으로 경험하는 개발자들이 ADT의 실행원리를 이해하지 못하거나, 실수로 여러 설정을 변경해서 발생한 문제점으로, 그렇게 심각한 문제점은 아닙니다. ^^;; 또한, AIR 애플리케이션 개발을 여러 번 하다 보면 이러한 실수는 점차 줄어들게 되니, 너무 걱정하시지는 않는 편이 좋겠습니다.

    신고
    트랙백 0 댓글 0

    [AIR] 대량의 INSERT문 효율적으로 처리하기

    Adobe AIR는 DBMS엔진인 Sqlite를 내장하여 로컬에서도 데이터들을 DB화 시켜 읽고, 쓰기와 같은 데이터 관리를 효율적으로 할 수 있는 장점이 있습니다.

    보통, 플래시플랫폼과 같이 Front-End 개발을 주로 하셨던 분의 경우엔, DB와 같이 Back-End단의 작업 수행 방법을 이해하기 어렵기 때문에, AIR 애플리케이션을 개발할 때 어려움이 있는 것 같습니다.

    이번 글에서 다뤄볼 내용도, 저에게 메일이나 블로그를 통해 자주 질문하시는 내용 중 하나인데, AIR 애플리케이션에서 대량의 INSERT 문을 수행할 때, 효율적으로 수행할 수 있는 방법과, 런타임에 응답 없음과 같은 오류가 발생하는 원인에 대해 알아 봅시다.

    위의 애플리케이션은 트랜잭션을 적용하고, 적용하지 않은 200개의 INSERT문을 실행하고, 수행에 걸리는 시간을 검사하는 애플리케이션 입니다.

     

    실행결과 재미있게도, 200개의 INSERT문을 실행했을 뿐인데, 트랜잭션을 적용한 것과, 적용하지 않은 것의 수행시간 차이는 무려 200배 넘게 차이가 나네요.

    수행시간에서 차이가 있는 이유는 간단한데, 트랜잭션을 적용한 예제의 경우, 트랜잭션을 시작한 후, 실행하는 쿼리는 모두 메모리에서 수행하게 되고, 커밋을 함과 동시에 하나의 쿼리 문만 날리게 되며, 하드에 영향을 미치는 작업은 단 한번만 이루어 지게 됩니다.

    반면, 트랜잭션을 적용하지 않은 예제의 경우, 매 번 쿼리문을 날리게 되고, 쿼리문을 날릴 때 마다 하드를 탐색하게 되기 때문에, 실행 속도에 차이가 있는 것입니다.

    디스크에 데이터를 쓰고 지우는 것과 같은 작업은, 디스크의 성능에 따라 크게 달라지고, 일반적인 작업에 비해 상당히 오랜 시간이 소요되기 때문에, 두 경우에서 같은 데이터를 DB에 추가하였다고 하더라도, 어마어마한 수행 시간 차이가 발생하게 되는 것입니다.

     

    두 경우의 프로파일링을 수행 하였을 때에도, 실행시간에서는 200배 넘는 차이를 보이지만 메모리 점유면에서는 거의 차이가 없는데, 이는 메모리 문제가 아니라 하드와 관련된 문제임을 알 수 있습니다.

    다만 트랜잭션을 사용할 경우 주의해야 할 점은, 커밋하기 전에 전원이 제거 될 경우 데이터베이스가 손상 될 수 있기때문에, 적절한 시점에서 커밋을 해 주는 것이 중요합니다.

    실제로, Sqlite 개발자도 INSERT 문과 같은 DB에 실질적으로 영향을 주는 쿼리문은 하드를 직접 읽고 쓰기 때문에, 트랜젝션을 적절히 사용할 것을 추천하고 있습니다.


    Actually, SQLite will easily do 50,000 or more INSERT statements per second on an average desktop computer. But it will only do a few dozen transactions per second. Transaction speed is limited by the rotational speed of your disk drive. A transaction normally requires two complete rotations of the disk platter, which on a 7200RPM disk drive limits you to about 60 transactions per second.

    Transaction speed is limited by disk drive speed because (by default) SQLite actually waits until the data really is safely stored on the disk service before the transaction is complete. That way, if you suddenly lose power or if your OS crashes, your data is still safe. For details, read about atomic commit in SQLite..

    By default, each INSERT statement is its own transaction. But if you surround multiple INSERT statements with BEGIN...COMMIT then all the inserts are grouped into a single transaction. The time needed to commit the transaction is amortized over all the enclosed insert statements and so the time per insert statement is greatly reduced.

    Another option is to run PRAGMA synchronous=OFF. This command will cause SQLite to not wait on data to reach the disk surface, which will make write operations appear to be much faster. But if you lose power in the middle of a transaction, your database file might go corrupt.

    특히, AIR의 Sqlite는 런타임 위에서 실행되기 때문에, 대용량 INSERT와 같이 하드를 많이 제어할 경우엔, AIR 런타임 자체에 메모리 점유가 상당히 높아지게 되어, AIR 런타임이 응답이 없거나 강제종료 되는 상태가 발생 할 수도 있습니다.

    따라서, AIR 애플리케이션에서 대용량 INSERT 문을 AIR에서 수행해야 할 경우엔, 트랜잭션을 적절히 활용하는 것이 좋습니다.

    신고
    트랙백 0 Comment 2

    AIR 개발자를 위한 애플리케이션

    Adobe AIR는 기존 Flash Platform에서 더 확장되어 클라이언트의 파일을 쓰고 지우거나, 윈도우 등 여러 설정을 할 수 있는 Native API를 제공합니다.

    그리고, Webkit, Sqlite 엔진 등을 탑재하여, 로컬에 데이터베이스 관리를 하거나, AJAX 개발자들도 AIR 애플리케이션을 개발 할 수 있는데 따라서, 기존 Flash Platform 개발자들이 경험하지 못한, 다양한 기능들을 개발 할 수 있는 장점이 있습니다.

    Adobe_AIR_icon_3_3
    그렇다 보니, AIR를 처음 접하는 개발자 분들의 고충이 이만저만 아닌 것 같습니다. AIR의 여러 API들을 익히는데도 시간이 걸리지만, AIR의 여러 장점을 잘 활용하고 관리하는 일도 만만치 않죠.

    하지만, 동변상련의 심정일까요? 
    이 글을 읽을 여러분 보다, 먼저 이런 고민을 하고, AIR 개발자들에게 도움을 주기 위한 애플리케이션이 여럿 있는데, 오늘 이 글에서는, AIR 개발자를 위해 개발된 몇몇 애플리케이션에 대해 소개하겠습니다.

     

    애플리케이션 디스크립터 관리 프로그램 – ADM

    AIR 애플리케이션을 배포하기 위한 단계인 패키징 단계에서, 애플리케이션의 정보를 담는 디스크립터 파일이 반드시 포함되어야 하는데, 이 파일은 XML 구조로 작성 되어있습니다.

    플렉스 빌더에서 AIR 애플리케이션을 패키징 할 때에는 프로젝트의 소스 폴더에, 디스크립터 파일이 생성되며 애플리케이션의 설정을 변경 시, 이 파일에서 직접 변경 하시면 됩니다.

    그리고, 플래시 드림위버에서 AIR 애플리케이션을 패키징 할 때에는, 환경에 따라 다르지만, 별도의 JRE를 비롯한 Extension을 필요로 하며, 패키징 과정 중 디스크립터 파일을 첨부하거나, 패키징 인터페이스에서 애플리케이션 설정을 할 수 있습니다.

    그런데 문제는, 디스크립터 파일이 xml 구조로 이루어 져 있고, 각 엘리멘트의 설정 값을 모르는 경우 작성하기가 어렵습니다. 또, 일부 엘리멘트의 경우엔 지정할 수 있는 값이 한정되어 있고, 값을 비워둘 경우 정상적으로 패키징이 되지 않는 엘리멘트들도 있습니다.

    특히, 플렉스빌더에서는 패키징 인터페이스 중에서 이러한 애플리케이션의 설정을 할 수 있는 부분이 없고, 반드시 디스크립터 파일을 열어서 수정하여야 하는데, AIR 개발을 처음 접하는 개발자들에게는 다소 어려운 일이 될 수 있습니다.

    K-29

    David Deraedt는 디스크립터 파일을 쉽게 관리할 수 있는 애플리케이션인 ADM을 개발하였는데, 이 애플리케이션은 AIR 기반으로 개발 되었습니다.

    ADM은 애플리케이션의 디스크립터 파일을 연 다음, 각 항목별(필요항목, 옵션항목, 윈도우 등) 엘리멘트를 설정 할 수 있고, 또 엘리멘트에 대한 자세한 설명도 참조 할 수 있습니다.

    설정을 마친 파일은 Save 버튼을 누르면, 디스크립터 파일이 작성 되며, File Preview에서 저장될 디스크립터 파일을 미리 볼 수 있습니다.

    이처럼, ADM을 잘 활용하면, AIR 개발을 처음 접하는 개발자라도, 필수 작성엘리멘트와, 선택 작성엘리멘트를 구분 할 수 있고, 각 엘리멘트 별 속성 설정도 ADM에 포함된 도움말을 통해 쉽게 파악 할 수 있습니다.

    ADM은 아래의 경로에서 내려 받을 수 있습니다.
    http://www.dehats.com/drupal/?q=node/55

     

    SQLite 관리 프로그램 – Lita

    Adobe AIR는 데이터베이스 엔진인 SQLite를 탑재하여, 기존 Flash 애플리케이션과는 달리 사용자의 로컬에 데이터베이스를 직접 관리 할 수 있습니다.

    하지만, 대부분의 플래시플랫폼 개발자 분들은 Front-end 개발을 주로 하셨기 때문에, 백앤드에서 빈번히 일어나는 DB와의 통신을 이해하기가 어렵습니다.

    그리고, AIR에서 로컬 데이터베이스 관리를 위해 별도의 API와 더불어, SQLite의 쿼리 방식도 익혀야 하는데, DB를 처음 다루어 보는 Flash Platform 개발자라면 다소 힘든 일이 될 수 있습니다.

    특히, 애플리케이션을 테스트 하는 과정 중에서 DB의 필드를 추가한다거나, 데이터를 몇 개 더 추가하는 작업을 할 때마다 AIR에서 SQL을 날리는 건, 다소 비 효율 적인 일이겠죠.

    K-30

    SQLite는, 여러 플랫폼에서 사용되는 DB엔진으로, 데이터베이스 관리와 관련되어 우수한 애플리케이션이 많습니다.
    그리고, 앞서 소개한 David Deraedt 라는 분께서도 SQLite 관리 프로그램인 Lita를 Adobe AIR로 개발 하셨네요.. ^^
    (정말 열정이 뛰어나신 분인 것 같습니다.)

    Lita는 SQLite DB 파일을 열어, 테이블을 만들거나, 필드를 추가하거나 지우고, 데이터베이스를 암호화 하는 작업들을 쉽게 할 수 있는 애플리케이션으로, 아래의 경로에서 내려 받을 수 있습니다.
    http://www.dehats.com/drupal/?q=node/58

     

    AIR 배지 생성 프로그램 – ApollocationBadge

    AIR 애플리케이션은 Flash Player 기반의 애플리케이션과는 달리, .air라는 단일 파일로 내보내는 패키징이라는 절차를 거쳐야 하며, .air 파일은 AIR 런타임이 설치된 사용자의 경우에만 실행 할 수 있습니다.

    어도비에서는 이러한 불편을 줄이기 위해, AIR 런타임이 설치되지 않은 사용자의 경우에도, 플래시 상에서 AIR 런타임을 설치 할 수 있는 브라우저 API를 지원하고 있는데, 이를 기반으로 어도비에서는 AIR배지를 SDK에 함께 포함하여 배포하고 있습니다.

    AIR 배지는, swf 파일로, 브라우저 API를 로드 하여 AIR 런타임 설치 여부를 감지한 후 Install 버튼을 누르면, AIR 애플리케이션이 설치 될 수 있도록 만든 도구로, 이를 활용하여 AIR 런타임이 설치되지 않은 사용자에게도 손 쉽게 AIR 애플리케이션을 배포 할 수 있습니다.

    다만, AIR 배지 역시 웹 상에 embed 되는 파일이고, AIR SDK내에 제공된 AIR 배지에는 필수 파라미터를 갖춰야 하기 때문에, AIR 애플리케이션을 처음 배포하시는 분들은 많이 당황스러울 수도 있겠네요. ^^;;

    K-34

    이러한 불편을 해소하기 위해, 원영국님께서 AIR 파일을 분석해서 AIR 배지를 자동으로 생성해주는 애플리케이션인 ApollocationBadge를 개발 하여, 배포 하고 있습니다.

    ApollocationBadge 애플리케이션은 배경이미지를 비롯한 여러 설정들을 하면 AIR 배지를 생성해 주는 Studio와, AIR 파일을 자동으로 분석해서 AIR 배지를 생성해주는 AVM 으로 두 가지 종류로 나뉘는데, AVM을 통해 AIR 배지 파일을 생성 할 경우엔, 생성 폴더에서 AIR 배지에 보여질 이미지 파일인 BadgeBgImage 파일을 수정 해 주시면 됩니다.

    ApollocationBadge 애플리케이션도, AIR로 개발된 애플리케이션 입니다.
    설치는 아래의 경로에서 할 수 있습니다.

    http://labs.apollocation.co.kr/applications/apollocationBadge/apollocationBadge.php?menu=1

    신고
    트랙백 0 Comment 3

    AIR 한글삭제 문제가 해결되었습니다.

    안녕하세요. 한글팀 희희덕덕입니다.
    플렉스 한글 입력 지연문제 해결에 이어, 기쁜 소식을 전해드립니다.

    Adobe_AIR_icon_3_3 오늘 Adobe AIR QE팀의 수석 개발자로 부터 AIR 1.1 부터 발견되었던 한글 삭제 문제가 해결되었다고 알려왔고, 한글팀에서도 AIR 2.0(코드명 Athena)에서 해당 문제가 더 이상 발생하지 않는 것을 확인 했습니다.

    이 문제는 한글 문자열 삭제 시 제일 마지막 문자의 자음이 남는 문제로, AIR 1.0과 아폴로 베타버전 에는 발생하지 않다가, 작년 6월경 릴리즈 된 AIR 1.1에서 최초로 발견되었고, 최근 제로데이 이슈를 비롯한 여러 이슈들을 해결한 AIR 1.5.2에서도 이 문제가 계속되는 것을 확인하였습니다.

    29696_air

    아울러, 플렉스의 halo Textinput를 비롯하여, TextFiled 클래스 등 전반적인 입력 컴포넌트 등에서 문제가 발견 되었으며, 이례적으로 webkit 엔진에서 구현되는 입력폼에서는 해당 문제가 발생하지 않았습니다.

    AIR의 한글문자열 삭제 문제가 처음 발견된 후, 한글팀의 희희덕덕, 에이레네님을 비롯해 우야꼬님께서 별도의 해결방법을 제시하였으나, 한글 문자열 삭제 이외에 텍스트 블록이 노란색으로 표시되는 문제에 대한 해결방법은 존재하지 않았습니다.

    이 문제는 한글팀에서 올 2월경 어도비 이슈트래킹시스템(http://bugs.adobe.com)에 보고하였으며, AIR 런타임의 문제로 보고 지난 7월 경 종결 되었습니다. 해당 이슈가 종결될 때 까지 총 35분께서 투표해 주셨습니다.
    http://bugs.adobe.com/jira/browse/SDK-19158

    그리고 이슈트래킹 시스템에 해당 문제의 중요성을 피력해 주신 원동일님과 한글팀 이준하 님께 깊은 감사의 말씀을 드리며, 귀중한 표를 행사 해 주신 한국의 35분의 개발자 분들께도 감사의 말씀을 드리고 싶습니다.

    아울러, 한글팀은 금주부터, Flash Player, AIR 차기 버전의 알파 테스트 프로그램과, 어도비 내부 버그트래킹시스템에도 참여 중 이며, 앞으로 어도비 QA,QE팀과 적극적으로 협력하여, 한글 문제가 빠른 시일 이내에 해결될 수 있도록 노력하겠습니다.

    한글 문제가 어느 정도 해결 선상에 든 것 같아 한국의 플래시플랫폼 개발자로써 상당히 기쁩니다. 하지만, 아직 남아있는 한글 문제가 많은 만큼, 많은 분들의 관심과 지지를 부탁 드립니다.

    감사합니다.

    Flash Platform 한글문제 공동대응팀
    검쉰/블루메탈/열이아빠/옥고수/에이레네/지돌스타/희희덕덕

    신고
    트랙백 1 Comment 4
    prev 1 2 3 next