'분류 전체보기'에 해당되는 글 33건

  1. 2012.01.15 자바 기반 오픈소스 서버
  2. 2012.01.15 폰갭 버젼1의 악몽
  3. 2012.01.11 PhoneGap
  4. 2012.01.11 사용자가 경험하는 모든 것을 디자인하라.
  5. 2012.01.06 PhoneGap 1.3 Released
  6. 2011.11.08 PhoneGap 1.2 is released
  7. 2011.11.02 EPUB3
  8. 2011.10.16 MySQL성능최적화
  9. 2011.10.16 큐브리드
  10. 2011.10.15 PhoneGap

예전 금융관계 전문을 처리하는 시스템을 개발할 때 일이다.

설계 시부터 개발까지 많은 어려움과 고난의 시간을 거쳐 시스템은 구축이 완료됐다.

그 때 통신 서버를 Java 개발인력 들이 개발을 했다. 무려 웹 개발 인력들이....

만일 내가 제안 단계부터 참여했다면, 아파치 미나, 또는 JBoss 네티를 언급했을 것이다.

아파치 미나, JBoss 네티를 알게 된 건 취미 생활 덕분이였다.

짬짬히 자바서비스넷okjsp의 게시판(강좌, Q&A)의 글들을 읽는 것이 취미가 있었다.

특히 자바서비스 넷에서 이희승씨 대란 글을 보았고. 이희승씨의 간단한 자신에 대한 설명에

이런 사람이 실제로 존재하는구나 라고 느겼었다.

그런 이희승씨가 오픈소스 프로젝트에 커미터가 됐다고 했다. 그게 apache mina였다.

(현재는 Netty에 참여하고 있다고 한다)

인터넷상에 검색되는 글에서 이미 금융권 서비스에도 적용했다는 글들도 볼 수 있는데

위치와 합류 시기로 인해, 언급밖에 할 수 현실이 좌절스러웟다.

그렇게 소켓통신 서버를 자바5 임에도 NIO가 아닌 IO로 블로킹 넌블로킹을 한땀한땀 구현해서 만들어졌다.

지금도 서비스 중이겠지만, 당시 개발 기간을 생각해봤을 때는 둘 중에 하나를 적용하면

크리스마스, 연말, 신년을 좀 더 편하게 보냈지 않았을까 싶다.


 






Posted by Zephyros74

PhoneGap 0.9.4로 출발해 PhoneGap 0.9.6 업그레이드까지는 행복했다. 

폰갭의 안정성도 좋아지고, 기능추가도 추가되고 그기다가 IOS버젼 업그레이드  빨라진 모바일 사파리로 인해
 
알 수 없는 자신감까지 생기며, 잘해 낼 수 있을꺼라 믿고, 폰갭 프러그인을 수정해서 네이티브 언어를 적극

사용하기 위해 여러가지 플러그인들을 다운받고 실행하고 분석해 보았다.

정말 행복했던 시기 같다. 다른 주변적 요인도 있었겠지만...

하지만 폰갭 0.9.6, 폰갭 1 플러그인 사용부분에서는 많은 부분이 바꿔버린다.

PhoneGapCommand라든지 PhoneGapDelegate를 사용하는 부분이 없어지고 'PGPlugin'란 것을 사용하게

됐으며, plist파일에 사용할 플러그인을 명시해야하는 것 등등 많은 것이 바뀌고 만다.

이런 변화는 적용하기 참 곤란했지만, 긍정적인 부분으로 판단된다. 실제로 한번 써보면 전보다 더 적용하기

쉬워졌기 때문이다.

하지만, IOS5 업그레이드와 겹치면서, 곤란함을 가중 시켰다.

베타버젼으로 조기부터 테스트했지만, 어디가 잘못됐는지 가끔 확신이 서지 않을때가 많았다.

거기다가, ARC의 등장, 컴파일러의 변경은 프로젝트를 제대로 만든게 맞는지 자신감 마져 없어졌었다.

맥북에어와 아이맥에서 각각 테스트 끝에 '아이튠스 스토어에 올라간 앱에는 큰 문제는 없다.'

( 장애는 아니지만 문제는 있다.)라는 결론을 얻었을 때의 기분은 ...

하지만, 포딩됐다던, 심지어 테스트 했던 플러그인들이 실행되지 않았다.

에러는 잡은 듯 보이지만, 폰갭 버젼, 그리고 IOS버젼의 문제인 듯 보였다.

길게 곤란했던 경험을 쓰는 이유는, 

확장성이 좋고, 네이티브 코드를 사용해 이것 저것 사용할 수 있다는 것이 큰 문제를 불러올 수 있다는 것이다.

폰갭 플래임웍만 바꿨다면, 쉽게 테스트 할 수 있었겠지만

이번 IOS5 업그레이드 처럼 기반 자체가 변경된다면 문제는 심각해 질 수도 있다.

OS업그레이드는 미리 미리 대비하는 수 밖에 없다. 특히 메이져 업그레이드는,..

Posted by Zephyros74
2012. 1. 11. 14:02

Appspresso와 PhoneGap을 저울질 할 때가 있었다.

당시에는 Appspresso가 처음 베타 버젼을 냈을 때 였다.

둘가지 HTML5/CSS3를 지원하고 다양한 플랫폼에 적용할 수 있는 

범용성을 자랑했다. 

폰갭을 사용한 이유는 이미 폰갭으로 개발되 있었기 때문이였다.

추론해 봤을 때는 폰갭이 일찍 시작했기 때문에 폰갭으로 결정한게 아닐까 생각된다.

폰갭과 앱스프레소의 저울질 끝에 폰갭으로 앱을 유지하기로 결심한 이유는

사용자들이 Plug-in 형태로 네이티브 앱의 기능을 사용할 수 있는 기능을 추가

하고 있다는 것이였다.

HTML5/CSS3의 범용성이 높다고 하지만, iPhone, iPad에서 웹브라우저로 앱을

벗어나 버리면, 홈키로 웹브라우저를 종료시키고, 앱을 다시 시작시켜야 한다는

문제로 인해 (iframe 같은 것을 고려해 볼 수도 있지만) 폰갭을 유지하기로 결정했다.

PhoneGap의 플러그인은 지원 플랫폼에 대응해 다양한 기능들이 만들어지고 있다.

영어이긴 하지만 유용한 플러그인들을 쉽게 찾을 수 있다.

아니면 응용해서 플러그인을 제작할 수 있다.


PhoneGap Plug-in

https://github.com/phonegap/phonegap-plugins


javascript library

http://wiki.phonegap.com/w/page/35501579/JavaScript-Libraries


tool

http://phonegap.com/tools/


PhoneGap wiki

http://wiki.phonegap.com/w/page/16494772/FrontPage

Posted by Zephyros74


소프트웨어 개발이란 일에 종사한지 어느정도 시간이 흘렀다.

고객, 사용자의 반응을 통해 UI란 것이 어떻게 구성되야 하고 어떤 흐름을 가져야 한다는 경험을

축적하고 있어다.

하지만, 이론적 기반이 부족해 늘 고민이였고, Interaction이 가미된 도서앱 개발이란 일을 하게되면서

사용자 경험(UX)에 대한 부족한 부분을 채워야 한다는 압박 같은 것이 느껴졌다.

처음 서점에서 읽고 구입을 결정할 때는 '어떤 키워드를 나열하고 그에 대한 설명을 해놓은 책이다.'라는 느낌

으로 구입했으나, 각 키워드들을 프로세스와 함께 잘 엮어 나간 책이라고 생각한다.

개인적으로 소프트웨어 개발 방법론에서 봐온 프로세스들에 어떤 절차로 UX를 적용시키는 지 흐름을 보여주는

좋은 책이라고 판단된다.

책에서 설명하는 프로세스는 소프트웨어에 한정되지 않는다고 생각한다. 제품이 됐건 어떤 것이 됐건, 책안에

서 설명하는 프로세스를 현재 자신이 소속된 업무의 프로세스에 풀어서 본다면 도움이 될 것 같다. 


 
Posted by Zephyros74

 

by Colene | Mon, Dec 19, 2011

The PhoneGap Community has done it again. We are happy to announce the release of PhoneGap 1.3! In this release, we’ve made great progress with BlackBerry and Windows Phone.

For BlackBerry, we’ve added OSX support so now you can develop for BlackBerry on a Mac!

For Windows Phone, users can now sink their teeth into the full PhoneGap API, Windows Phone Getting Started Guide, more documentation updates and tons of plugins.

PhoneGap 1.3.0 is also available on the PhoneGap Build web service – by default, all new apps will be built with 1.3.0. Any existing apps will remain on 1.1.0, and users can choose between 1.1.0, 1.2.0 and 1.3.0 for building apps for five different platforms.

Check out the release notes below to see all of the enhancements and fixes. Alternatively, you can view the commits on http://github.com/callback.

General PhoneGap Info

  • A vote was held and a motion carried to rename Apache Callback incubator project to Apache Cordova. Plans to transition Callback to Cordova will take place for the PhoneGap 1.4 release.
  • PhoneGap issue tracker moved to https://issues.apache.org/jira/browse/CB

Android

  • Added download method to filetransfer
  • made getEntry of FileUtils public in order to avoid duplicate code in FileTransfer
  • FileTransfer returns JSONObject with code, source and target for upload and download
  • Fix for CB-17: WebView caching resized pictures
  • Fix for issue #281 of phonegap/phonegap-android: Detect for localStorage if Java has disabled it
  • Fix for phonegap-android issue #261: Wrong application scale
  • Fix for Issue #33: onReceivedError incorrectly sets openExternal to true
  • Remove addWhiteList from public API
  • Remove WebViewReflect.java from Android
  • Fix for CB-104: Capture not returning an error code on cancel
  • Changed createCaptureFile to explicitly check for PNG and to throw an IllegalArgumentException if it is not a JPEG nor a PNG
  • Add support for future menu plugin
  • Remove PhoneGap.stringify, replace with JSON.stringify
  • Fixed: Don’t fire resume upon init – only when returning from background
  • Fixed: Backbutton should go back in appview history before going back in our history stack
  • Added onMessage(id, data) to the plugin API
  • Deprecated addService().
  • Refactored the backHistory() code so calling navigator.app.backHistory() has consistent behavior with the backbutton
  • Added onload attribute to plugin in plugins.xml to create the plugin at load time instead of lazy loading
  • Fixed bug with showing loadingDialog property
  • Fixed Issue #23 – Crash when using splash screen
  • Changed API to postMessage() to call a plugin’s onMessage() method
  • Optimized enumerations

Blackberry

  • Added OSX support. You can now develop for BlackBerry on a Mac.
  • Added download method to filetransfer
  • Updated PluginResult Exceptions to use latest naming scheme
  • Fixed a memory leak issue with WebWorks
  • Added Lifecycle changes and app.js functionalitly
  • Added activity and progress notification functionality

iOS

  • Added download method to filetransfer, interface is the same like on Android
  • When playing audio from remote URL, stop as soon as download fails and make loading cacheable
  • Fixed #197 errors on repeated getCurrentPosition calls. If the location services were off when getCurrentPosition was called, turn them off again after the position is received
  • Don’t force an orientation change unless the current orientation is unsupported
  • Fixed callback/callback-ios#15 – Xcode 3.2.6 Linker error when Build for Active Architecture Only = YES
  • Fixed callback/callback-ios#23 – on app resume, it always throws either an offline/online event even though the online state never changed
  • Fixed warning – implicit conversion of UIInterfaceOrientation to UIDeviceOrientation (which are equivalent, for the two Portraits and two Landscape orientations)
  • Fixed callback/callback-ios#22 – Removed unused DetectPhoneNumber and EnableAcceleration values in PhoneGap.plist
  • Fixed CB-96 PGWhitelist does not handle IPv4 host addresses with wild-cards
  • Added ‘resign’ and ‘active’ lifecycle events
  • Fixed CB-101 can’t access media in documents://subDir

Windows Phone

  • Added Full PhoneGap API support
  • Bug-fixes for XMLHttpRequest calls to local file system, especially important for jQuery Mobile apps
  • Updates to the Visual Studio templates, now you can create a quick app that references the PhoneGap library via a dll. Or you can start with a bare-bones project and only add the functionality you need
  • [Upcoming] wiki docs on how the App Hub static analyzer sees your code, and determines required permissions
  • [Upcoming] getting started screen-casts
  • GapView is a usercontrol, so you can use it in your existing Windows Phone app, you don’t have to start over to use PhoneGap
  • Addressed issues with File API persistence + local storage
  • Getting started guides, documentation updates, wiki updates
  • Improvements for plugin architecture, plugins can come from any assembly
  • New plugins!
    • FaceBook connect – supports the full graph API available to your phonegap app, consistent with the Android+iOS versions of the plugin
    • ChildBrowser – display external web content without leaving your app
    • PGSocialShare – share status updates and links to LinkedIn, Twitter, Windows Live + Facebook, all at the same time, and via accounts managed on the phone
    • PGMapLauncher – get directions to or from a location, or search near a location using BingMaps. Locations can be specified as lat/lon as well as text like “Steam Clock”, or the users current location
    • LiveTiles – update your app tile on the Metro home screen with relevant info and pictures

    Jesse MacFadyen, a core developer for PhoneGap, recently blogged about his experience with bringing PhoneGap to Windows Phone. Read the full journey here.
    You can also read the Microsoft announcement here.

If you wish to follow or join in the development of this project, send an email to callback-dev-subscribe@incubator.apache.org to subscribe to the developer mailing list.

Posted by Zephyros74

PhoneGap1.2

-------------------
ANDROID
-------------------
Anis Kadri (5):
      cleaner way for handling splashscreens
      whitelist support
      adding isUrlWhiteListed in shouldOverrideUrlLoading
      forgot to resolve conflict
      improved whitelisting

Bryce Curtis (17):
      Formalize logging with printf-type optimization.  Wrap Android log facilities instead of using System.out.println().
      Correct log level comparison.
      Add comments and rename loadWhiteList() to loadConfiguration().
      Use endActivity() for consistency.  Improve error handling.
      Don't override history.back since jQuery also does it.
      Fix Issue #258 - navigator.app.exitApp() and navigator.app.backHistory() not working in PhoneGap 1.1.0 on Android
      Load multi-page apps in same webview and update pause/resume for consistency.
      Set activity state correctly when ending activity.
      Run error dialog on UI thread.
      Set activity state correctly when ending activity.
      Use LOG instead of System.out.println for logging.
      Don't fire resume at app startup.
      Update version to 1.2.0.
      This is an informative message, not an error message.  It is normal to get this when leaving a page.
      Update to download and run callback-test repository.
      Update for 1.2.0.
      Updated readme.

Fil Maj (1):
      JSPrompt "Security check" should whitelist all file URIs too

Joe Bowser (7):
      Fixing the jsConfirm so it doesn't break the back button
      Adding handling of Search Button for the jsPrompt
      Upgrading to Ice Cream Sandwich
      HTC Fix
      Making Alert cancellable so that it does not break the back button
      Removing the Camera permission, since it is not required by PhoneGap by default
      Fix for Console.log, didn't call the super of the method needed

macdonst (6):
      Fix for Issue #257: File Transfer with file:/// URIs
      Return MediaError object instead of value
      Normalize MediaError's with iOS
      Updating to use Android 4.0 build environment
      Fixing Project Properties file
      Fixing compilation error in DroidGap

nisc (1):
      Fixes to make example project build and compile

-------------------
iOS
-------------------
Becky Gibson (2):
      Update for iOS5
      fixes #313 - return MediaError in error callback

Brian Samson (1):
      add documentation for correctOrientation and saveToAlbum options of camera.getPicture

Dave Johnson (1):
      This is messing people up who want to create the installer themselves.

David H (1):
      Make connection plugin work with iOS <4.0.

Todd Stellanova (1):
      Add OpenAllWhitelistURLsInWebView policy setting to determine whether ALL whitelisted URLs are opened within the embedded web view (as is sometimes desired).

shazron (12):
      Fixed #303 Add OS check in makefile, Lion minimum (for packaging installer only)
      Fixed #302 Compiler warnings in PGMotion
      Fixed #296 iFrames open in Mobile Safari
      Fixed callback/callback-ios#3 - UniversalFramework target of PhoneGapLib does not compile under Xcode 4.2
      Fixed callback/callback-ios#2 - Convert SBJson library use to JSONKit use
      Fixed problem where deploying to device using PhoneGap.framework, the armv7 slice is missing from the fat binary.
      Connection plugin (Reachability) - stop/start notifier on pause/resume of app.
      Fixed callback/callback-ios#5 - Optimization: If white-list contains "*" (wildcard), do not do URL processing
      Updated release notes for 1.2.0
      Updated VERSION to 1.2.0
      Updated hints in sample index.html
      Added OpenAllWhitelistURLsInWebView to 1.2.0 release notes.

-------------------
BlackBerry
-------------------
Drew Walters (4):
      Spawn a thread when calling executeScript.
      Modify lifecycle to match Android/iOS.
      Specify viewport width and height in sample.
      Update to version 1.2.0

-------------------
WP7
-------------------
Jesse MacFadyen (17):
      Local storage implementation
      updated and passed all but 2 tests ( dot notation not supported for getting/setting non-existent keys )
      Added more interesting Accel example.
      Initial ChildBrowser work
      Back|Forward|Close
      More test cases
      Plugins can be defined in the Lib namespace
      Cleanup before pull request
      cleanup or meta-tags + RootVisual Grid name for plugin use
      Added build-time script to generate GapSourceDictionary
      Removed t4 templating
      Cleanup for project template
      More Cleanup, removed ChildBrowser as it is a plugin and not part of the core
      Added orientation events
      The implementation file
      changed refs to 1.1 to 1.2
      more changes for 1.2

sgrebnov (5):
      support of pause/resume events
      added onresume and onpause methods to BaseCommand
      removed dublicate device object instance initialization
      updated phonegap js file in unit tests
      added support of custom plugins

Posted by Zephyros74
2011. 11. 2. 00:34
위키백과상 정의
EPUB(electronic publication)은 국제 디지털 출판 포럼(IDPF, International Digital Publishing Forum)에서 제정한 개방형 자유 전자서적 표준이다.EPUB은 자동공간조정(reflowable)이 가능하게 끔 디자인 되었다.
이는 EPUB으로 만들어진 내용을 볼 때 디스플레이하는 기계의 형식, 크기에 자동으로 최적화되어 보여줄 수 있다는 뜻이다.
EPUB는 2007년 9월 이전에 있던 오픈 eBook표준을 대체하기 위해 국제 디지털 출판 포럼에서
공식 표준으로 채택되었다.[위키백과]
IDPF : international Digital Publishing Forum

EPUB : 전자 출판의 약자 Electronic Publication 

EPUB의 표준은 계속 변경되 왔고, 이번에 HTML5, CSS3 스펙등이 추가 된 새로운 포멧

(EPUB3.0)이 최근 확정됐다. EPUB3 OVERVIEW


'HTML5를 도입 전자책에서 다양한 콘텐츠를 보여준다.' 가 도입 취지라고 생각한다.

거의 매일 읽는 IT전문 언론사 사이트에도 EPUB3.0에 대한 기대와, 대형 출판사의 전자출판 시장 참여와 

새로운 포멧이 주는 많은 가능성에 대한 기사를 볼 수 있다.

하지만 아직, EPUB3.0 스펙을 적용 시킨 (일부 인것으로 보인다) 뷰어들 약간이 보일 뿐이여서 아쉽다.

오히려 어떤 포멧을 지원하고 있는지 확인하고 있지 않지만, 최근 아이폰, 아이패드의 iBooks에서 

동영상 재생, 터치로 전자책 콘텐츠에서 반응을 얻을 수 있는 책들을 볼 수 있었다.

지난달까지 파악한 EPUB3 viewer( PC용 ) - 

AZARDI

EAST EPUB Reader (japen)

* 각 EPUB3가 표준이라곤 하지만, 지금까지 찾아본 상황으론 Viewer에 종속적이며 optional한 스펙이 있기

때문에 EPUB3의 표준 준수여부를 체크하는 validation을 통과하더라도, Viewer에서 콘텐츠를 이상하게 보여

주거나 오류 창을 띄우거나, 어플리케이션이 종료되거나 등등의 일을 당할 수 있다. 

Posted by Zephyros74
2011. 10. 16. 22:13



당장 구입할 일이 없지만, DB를 사용해야한다면 MySQL을 사용해야하는 상황인지라


이 책의 도움이 필요할 것 같다. 특히 최적화 부분…


다만 지금 써야하는데 책을 넋놓고 읽어야 한다는 제약상황이 생길 수 있을 것 같다.


책의 구성, 폰트, 레이아웃이 맘에 들었다.


내용을 살짝 본봐로는 게시판 정도 이상, 그리고 외부에 서비스를 제공할 생각이면


읽어보고 시작해야할 책인 것 같다.


데이타가 쌓이고 쌓여서 결국 옵션하나 차이, 쿼리 하나차이로 엄청난 성능 차이를


보일 수 있기 때문에, 봐두면 나쁘지 않을 것 같다.

PS 키워드 정도는 알아야, 검색도 효과적으로 할 수 있다. 

Posted by Zephyros74
2011. 10. 16. 03:31
국산 데이타베이스에 대한 소개를 처음 본건 상당히 오래전 일이였다.

그리고 당시 MS SQL Server와 Oracle만으로도 충분히 힘든 나에게, 만나기도 힘든 국산 데이타베이스는

먼나라 이야기였다. 

그렇게 개발을 해가면서, MS SQL Server와도 안녕하고, Oracle의 쿼리만 쓰는 기술자로 지내왔다.

NHN의 위상이 높아지고, 어느 국내 데이타베이스 업체를 인수했다는 기사를 들었다.

예전에 들었던 업체는 아니였으나, 호기심이 생겨 한번 설치해 보곤

"Client 툴이 너무 이쁘지 않아!" 라고 생각했다. 그리고 한글로 충분한 문서들도 제공하고,

'언젠가 사용해 보겠어.'라는 마음을 먹었다.

하지만 나는 자바를 이용하는 웹개발자에서 맥을 사용하는 개발자로 변신했고, 큐브리드는 맥을

지원하지 않는다. 회사에 서버는 맥미니 서버, 굳이 소스를 받아서 컴파일을 할 정도로 열의는 나에게 없다.

이렇게 관심에서 멀어진다.

부연

'언젠가 사용해 보겠어' 라는 생각을 가지게된 결정적인 요인은

일단 google, 네이버에서 검색했을때 어느 정도의 검색 결과가 나왔기 때문이다.

삼성에서 영어로만 된 개발자 지원사이트를 운영하는 것을 알게된 후, 좀 화가 났다.

적어도 한국에 본사가 있으면, 같은 모국어를 쓰는 사람에게 약간의 메리트를 줄 법도 한데

일본어도 없는 딱 영문 페이지다.

삼성 개발자 사이트     
삼성 스마트티비  포럼


Posted by Zephyros74
2011. 10. 15. 22:58

폰갭 : http://www.phonegap.com

니트로비 블로그http://planet.nitobi.com/

작년부터 폰갭을 적용한 하이브리드 앱을 개발했고, 제한적인 부분 때문에 네이티브 앱으로 변경을 많이

고려했었다. 하지만 오픈소스 형태로 공개된 플러그인의 확대로 제약들이 많이 줄어들었다.

다만, 새로운 플러그 인을 개발하기 위해서는 어느정도 IOS네이티브 개발에 대한 감이 있어야 한다.

작년가 올해 사이 Android, IOS모두 메이져 버젼의 업데이트가 있었고, 폰갭의 경우 베타 버젼에 ver 1로 올라

섰다.

앱 개발 시 주의 할 점은 폰갭 웹 브라우져에 표시되는 버젼에도 차이가 있는 것 같다.

한개 버젼을 다운 받아 개발팀 내부에서 배포하는 형태로 진행되지 않는다면, 미세한 부분에서

차이가 발생할 수 있을 것 같다(보통 이런 문제는 결정적인 순간 갑자기 튀어나오기 마련이다)


그리고 Nitrobi는 adobe에 인수된다. PhoneGap, PhoneGap Build와 함께

오라클이 인수한 것이 아니기 때문에 PhoneGap이 유료로 바뀔 가능성은 별로 없을 것 같다.

adobe 퍼블리싱 서버를 이용한 디지탈 북 앱 발간이 워낙 비싼 관계로 다른 방법을 찾고 있는 것인지

아니면 플래시 -> html5 -> PhoneGap wrapping -> app!!

이런 상용 프로세스를 만들려는지는 지켜보야할 것 같다.

그래도 폰갭만은 무료일 것 같다. Adobe가 바보가 아니라면 Eclipse를 생각할 것이다.
[키워드는 IBM, WSAD, SWT]

 
Posted by Zephyros74
이전버튼 1 2 3 4 이전버튼