2월, 2012의 게시물 표시

Android, MediaPlayer IllegalStateException 상황

이미지
참고 :  http://developer.android.com/reference/android/media/MediaPlayer.html TF에서 MediaPlayer를 Override할 일이 생겨 테스트하는데 Play/Stop을 하면 연신 IllegalStateException를 일으킨다. MediaPlayer문서를 보니 답이 있다. 잊기전에 주요한 내용들 정리해보자. 아래 State Diagram는 MediaPlayer가 사용자 액션을 받아 취해지는 상태(State)를 의미 객체가 생성되면 Idle상태에서 사용자 이벤트(메소드호출)에 따라 상태가 변함, (편의를 위해 만든 create는 Initialized상태로 됨.) 촉이 한개인 화살표는 Sync, 쌍촉? 화살표는 Async로 이벤트가 처리되는 것을 의미 [중요]  상태(State)흐름이 Stopped가 되면 그 상태에서 Paused, Started, PlaybackCompleted로 이동하지 못한다. 즉, stop()메소드가 불러지면 start(), seekTo(), pause() 메소드를 다시 부를 수 없다는 의미이다. 내가 혼돈했던것이 이부분이다. 보통 Start/Stop을 할 수 있다고 생각하지 않나? 그건 내생각이고 그 원하는 바로 되려면 Start/Pause이다. Stop된 객체를 다시 Start하고 싶으면 Prepare()해야한다. 이렇게 State이동을 잘못하면 IllegalStateException이 발생한다. MediaPlayer를 이용한 작업을 마치면 반드시 release()를 해서 리소스 반환 MediaPlayer 객체를 생성하는 방법 create()와 new, create()를 사용하면 바로 Initialized상태로 진입, new를 사용하면 Idle상태로 진입. 당연한것이 create()를 할때 datasource를 넣어 객체를 한다. 

CAP theorem

이미지
분산환경에서의 CAP theorem 자료 출처 : http://blog.nahurst.com/visual-guide-to-nosql-systems 번역 : http://blog.outsider.ne.kr/519 C (Consistency) : 모든 노드가 같은 시간에 같은 데이터를 보여줘야 한다. A (Availability) : 몇몇 노드가 다운되어도 다른 노드들에게 영향을 주지 않아야 한다. P (Partition Tolerance) : 몇몇 메시지가 손실되어도 시스템은 정상 동작을 해야 한다. [1]  http://sjlee.egloos.com/5447532 [2]  http://freesearch.pe.kr/archives/1831

근황

#. blogger.com 으로 옮기고 이놈의 블로그는 에디터가 정말 후지다라고 투덜 투덜댔었는데 역시 구글;; 오랜만에 죽어가는 블로그를 들어와 이것저것 누르다 새로운 UI에 빠져 감탄. #. 언제부턴가 오픈되는게 부담이 되더라. 뭔가 나와의 약속을 공표하는것 같고. 요샌 이런 저런 정보들을 왠만해서는 Evernote에 정리를 하는데 여기 남겨보는것도 나쁘지 않을것 같아. #. 새로운 파트를 맡고 뭔가 새로운 재미에 푹 빠져살고 있다. 내것을 만드는것, 그게 꼭 제품이 아니여도 사람과의 관계...? 뭐 그런거? 만든다는것에 푹 빠져든다. #. 지난주에는 JCO에서 nGrinder  발표를 했는데 많은 사람들이 관심있더라. 비싼 사용툴 보다야 약하지만 무료로 사용할 수 있으니 좋은 소식인것 같아. 회사분과 쿡북을 하나 쓰자고 했다. 늦은감이 없지 않아 있지만, 사내 교육용으로도 필요하니 바쁘더라도 신경좀 쓸까한다. #. 주말에는 거의 스키장에 살다가 최근 2주동안 못갔네... 아 좀 쉬고 싶고마이~

JCO - nGrinder 발표 공유

자바개발자컨퍼런스에서 nGrinder에 대해 소개한 자료 공유 합니다. 생각보다 많은 분들이 관심을 주셨고, 질문도 많았습니다. 얼른 쿡북만들어야겠다는 생각이드네요. ^^ http://www.nhnopensource.org/ngrinder_forum/1407 일시 : 2012년 02월 18일 (토) 장소 : 삼성동 코엑스 그랜드볼륨 발표자료 : http://prezi.com/crownidrjkgp/ngrinder-jco-20120218/

ehcache SimplePageCachingFilter 적용 방법

ehcache - SimplePageCachingFilter [1] 1. maven dependency <dependency> <groupId>net.sf.ehcache</groupId> <artifactId>ehcache-core</artifactId> <version>2.5.1</version> </dependency> <dependency> <groupId>net.sf.ehcache</groupId> <artifactId>ehcache-web</artifactId> <version>2.0.4</version> </dependency> 2. web.xml에 filter추가 <filter> <filter-name>SimplePageCachingFilter</filter-name> <filter-class>net.sf.ehcache.constructs.web.filter.SimplePageCachingFilter</filter-class> </filter> <filter-mapping> <filter-name>SimplePageCachingFilter</filter-name> <url-pattern>/client/*</url-pattern> </filter-mapping> 3. ehcache.xml에 cache 등록 <?xml version="1.0" encoding="UTF-8"?> <ehcache xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance