Pale Blue Dot - Carl Sagan Insight





지구를 떠나 태양계의 행성들을 탐사한 보이져호가 태양계를 벗어날때 쯤 찍은 한장의 사진에 나타난 푸른점...

바로 우리가 살고 있는 지구의 모습이었으며 동시에 지금껏 우리가 보지못했던 관점에서의 지구의 모습이었다....


우리가 밤하늘에 볼 수 있는 가장 작은 별 보다도 보잘것없어 보이는 지구의 모습에서....

인간 중심적인 세계관 혹은 인식은 그 설자리를 잃는다....

동시에 그 위태로운 작은 점은 우리의 존재를 가능하게 해주는 유일한 공간이며....

동시에 우리의 수많은 역사적 사건의 현장이었다....그곳에서 우리가 그동안 이루어왔던 모든 성취와 승리의 순간뿐만아니라...

전쟁과 같이 어리석음에 의해 초래된 사건들까지도 그 작은 하나의 푸른점에서 함께 해왔다......

광활한 우주공간속에서 우리가 설 유일한 공간인 저 작은 푸른점의 운명을....

우리는 과연 우리의 어리석음으로 부터 구원할 수 있을까.....


이 영상이 널리 보여지기를 바라는 마음에서 여러사람들에 의해 자유롭게 전파되기를 희망한다.... 

삽질 노트-Android:: Activity에서 dialog에 대한 객체의 반환시점 Android

오늘 작업을 하다가 재미 있는 현상을 발견하였다....

지금까지 몰랐던게 어찌보면 신기하기도 하다는 생각이 드는데....

하나의 Activity내에서 호출되었던 Dialog 자원이 반환되지 않고 유지된다...

아마 Map과 같은 형태의 자료구조에 넣어졌다가 재 호출될때 Id에 의해 반환되는것으로 유추가 된다....

발생되었던 케이스는....현재 과제에서 특정 dialog의 호출시에 Orientation을 강제 설정하는 부분이

포함된 경우가 있었다...그런데 이 Orientation에 대한 강제 설정이 OnCreateDialog 메써드에 있었다...

따라서 재 호출될때의 dialog layout이 Portrait에 맞추어진 상태로 생성되었었다....

로그를 남겨보니...Activity에서 최초 dialog가 호출될때 OnCreateDialog 메서드가 호출되고...

이후에는 OnPrepare...만 호출되는것을 확인하였다....

'요약'
-> 하나의  Activity 특정 ID를 갖는 dialog의 생성은 한번만 이루어진다...Activity가 스택에서 사라질때 
    캐싱된 dialog도 반환이된다..따라서 가급적 dialog specific 한 부분은 onPrepare 메서드로 배치하도록 하자...




처음엔 왜 두개의 메써드로 쪼개놓았을까 하는 생각이 들었던 때가 있다....

이제야 알게된것이지만 캐싱을 하여서 재호출될때 응답성을 좋게 하려는 의도로 생각된다...



Tomcat 6.0에 JSP/Servlet Project의 Deployment 방법 JSP/Servlet

프로젝트를 생성하고 알맞은 기능의 JSP 혹은 Servlet을 구현하였다...
그렇다면 이를 web Container에 위치 시켜야 할 차례이다...

먼저 Eclipse 기준으로 순차적으로 설명하면 다음과 같다.
1. Project Explorer -> Deployment Descriptor에서 우클릭 -> Export -> WAR File 선택















2. Tomcat이 설치되어 있는 Folder의 webapps Folder를 선택하고 Finish 클릭
3. Tomcat Manager를 열어 Deploy 버튼 클릭
-끝-

Android::ClickableSpan의 사용시 주의 사항 Android

ClickableSpan을 구현한 Spannable Object가 삽입된 문구에 클릭이 정상적으로 동작하게 하기 위해서는
반드시 TextView(혹은 EditText)의  setMovementMethod()가 적절하게 호출되어야 한다.

이 메서드의 인수로 올수 있는 객체는 MovementMethod의 구현 클래스 객체(서브클래스)들로써
그 종류로는 ArrowKeyMovementMethod, LinkMovementMethod,ScrollingMoveMethod 등이 있다.

이들 클래스는 키, 트랙볼, 터치 입력에 대한 TextView의 Handling 방법을 정의하고 있다.
그중 LinkMovementMethod의 경우 Texview의 Text Buffer의 Link 객체들을 순회하며
(ClickableSpan이나 URLSpan도 이에 포함) 입력 이벤트에 반응하도록 한다.
따라서 ClickableSpan이 적절하게 반응하도록 하기 위해서는 다음과 같이 메써드가 호출되어야 한다.

TextView.setMovementMethod(new LinkMovementMethod());

이것때문에 TextView의 Focus 설정에다 이것저것 만지면서 삽질을 했던걸 생각하면...;;

Android API 2.3.3

삽질 노트-Android :: bitmap의 storage 저장 및 복원 Android

Image to file 변환 및 역변환 

- Image를 데이터로 저장하는 방식은 크게보면 두가지로 나눌 수 있겠다....
  • 하나는 그냥 raw pixel data로 추출하는 방법...
  • 다른 하나는 표준 형식(jpg, png 등)의 이미지 file로 추출하는 방법이다...

전자에 해당하는 함수는 "copyPixelToBuffer(? extends Buffer)"가 되겠고...
후자에 해당되는 함수는 "compress(OutputStream)"가 되겠다...

 이번에 했던 삽질은 copyPixelToBuffer 메서드에 의해 이미지를 bytearray로 저장하고 이를 storage에
 저장하였다가 이를 다시 이미지로 복원할때 BitmapFactory의 메서드를 통해서 복원하였을때 생길 수 있는
 문제점이다..


 BitmapFactory의 static 메서드를 일반적으로 Bitmap을 생성하는데 사용한다...헌데 이 함수들은
 소스 데이터가  일정한 포맷을 가진 이미지 파일임을 가정한다....따라서 그냥 raw data를 넘겨줬다가는...
 "null"을 반환하게 된다.. 어찌 보면 당연한 결과이다...사실 byte stream의 raw 데이터만 가지고 이미지를
 복원한다는것 자체가 말이 안되는것이다..;;  이미지의 데이터 포맷이 rgb인지 argb인지..부터 width는
 얼마인지 아무런 정보가 없기때문이다...

 따라서 어떤 이미지 데이터를 스토리지에 저장하였다가...다시 이미지 객체로 생성하는데에는 후자의 방법이 훨씬 용이하다...
 그렇다고 전자의 방법이 쓸모가 없는것은 아니다...color filter같은 걸 적용할때는 전자의 메서드가 유용하게 쓰일 수도 있지
 않겠나...여튼 여기까지...


1 2


통계 위젯 (블랙)

00
1
9136