Christianity/Meditation2009/06/23 23:24

눅 11:14-28
예수께서 벙어리 귀신을 쫓아 내셨다. 어떤 사람들이 예수님이 바알세붑을 힘입어 귀신을 쫓아낸 것이라 하여 이에 대한 변론을 하신 후 23절에서 이와 같은 말씀을 하신다. 

(눅 11:23) 나와 함께 하지 아니하는 자는 나를 반대하는 자요 나와 함께 모으지 아니하는 자는 헤치는 자니라

예수님과 함께 하지 않는 사람은 예수님을 반대하는 것이고, 예수님과 함께 모으지 않는 (NLT에는 함께 일하지 않는이라고 표현되어 있다. who isn't working with me) 사람은 헤치는 (예수님을 반대하는, 또는 일을 방해하는) 사람이라고 말씀하신다. 그렇다. 귀신을 쫓아내어 상태가 더 좋아졌지만 그 이후에 예수님과 동행하지 않고 예수님과 함께 일하지 않는 사람에게는 어떤 일이 일어나는가? 예수님을 주님으로 모시고 살아가지 않고 자기 자신 중심으로 살아가며 예수님과 함께하는 삶에 대해서 예수님의 일을 하는 삶에 대해서 관심을 가지지 않는 사람에게 어떤 일이 일어나게 되는가? 그 사람에게는 전보다 더 큰 문제가 생겨 버린다. 

(눅 11:24-26) 더러운 귀신이 사람에게서 나갔을 때에 물 없는 곳으로 다니며 쉬기를 구하되 얻지 못하고 이에 이르되 내가 나온 내 집으로 돌아가리라 하고 가서 보니 그 집이 청소되고 수리되었거늘 이에 가서 저보다 더 악한 귀신 일곱을 데리고 들어가서 거하니 그 사람의 나중 형편이 전보다 더 심하게 되느니라

귀신이 상태가 좋아진 것을 보고 더 악한 귀신 일곱을 데리고 들어온다. 자기 자신을 주님께 드리지 않을 때 자기가 다스리게 되는 것이 아니라 오히려 죄와 악한 영의 다스림을 받는 사람이 되는 것이다. 이 말씀을 하실 때에 어떤 여인이 또 이야기 한다. 예수님을 낳은 어머니가 복이 있을 것이라고. 

(눅 11:27-28) 이 말씀을 하실 때에 무리 중에서 한 여자가 음성을 높여 이르되 당신을 밴 태와 당신을 먹인 젖이 복이 있나이다 하니 예수께서 이르시되 오히려 하나님의 말씀을 듣고 지키는 자가 복이 있느니라 하시니라

그러나 주께서는 말씀을 듣고 지키는 자가 복이 있다고 말씀하신다. 결국 가장 큰 복은 예수님의 말씀에 순종하는 삶에 있는 것이다. 혈통과 같은 외적인 조건이 아니다. 

저작자 표시 비영리 동일 조건 변경 허락
Posted by holycall

Koders.com 포럼을 살펴보다가 오픈 소스 소프트웨어 프로젝트들에서는 다른 오픈 소스 코드를 얼마나 사용하고 있는지 조사한 내용을 발견하였다.

http://forums.koders.com/viewtopic.php?f=7&t=23&sid=401efd9c9cf30ac46981c68197a6c25e
http://www.blackducksoftware.com/news/releases/2009-03-30

Koders.com 을 운영하고 있는 BlackDuck software에서
1311개의 오픈 소스 소프트웨어 프로젝트들에 대해서 
프로젝트의 각 파일이 다른 오픈 소스 소프트웨어에서 가져온 것인지 파일 단위로 비교하였다.

(어떤 방법을 썼는지는 궁금하지만 자기들의 자동화된 도구와 포렌식 전문가들이 있다고 이야기하는 것을 보면 내부적으로 관련된 연구가 계속 이루어지는 것으로 추측해 볼 수 있다.)

그 결과 총 365,000개의 재사용이 관찰되었다고 한다.

예를 들면 GNU Automake는 12,469회 사용되으며,  Apache Tomcat은 4,136회 사용되었다.
또, OS 프로젝트 중에서 “Google Web Toolkit SDK”를 사용한 것이 564개이다.

참 많이 쓰고 있다는 것을 알게 된다.
저작자 표시 비영리 동일 조건 변경 허락
Posted by holycall
Computer/Software2009/06/05 14:12


곡이 많아지다보니 미디어 라이브러리 기능이 가장 좋다고 여겨지는 foobar2000을 쓰게 된다.
라이브러리를 가장 잘 관리할 만한 Facets 컴포넌트를 다운 받아서 사용하면 더 편리하다.


Facets을 사용하여 위와 같은 custom layout을 만들었다.
View -> Layout -> Enable Layout Editing Mode 를 이용해 편집 기능을 활성화하고
우클릭 먼저 있는 것들을 다 지우고 나서 

Container 중에서 Splitter(left/right)를 이용해 좌우로 나누고
왼편을 Splitter(top/bottom)을 이용해 3개로 나누었다.
오른편도 Splitter(top/bottom)을 이용해 위 아래로 나눈다.

왼편에는 차례로 Album Art Viewer, Selection Properties, Spectrogram 을 넣고
오른편 위에는 Facets 을
아래편에는 다시 좌우로 나누어 왼편에 Playlist Manager를
오른편에는 Playlist Tabs를 만들고 그곳에 Playlist View를 넣는다.

그리고 Facets을 나누는데 Genre, Artist, Composer, Data & Album 순으로 추가해 준다.
Composer는 클래식 음악 들을 때 유용한 편이다.

Facets column 설정은 다음과 같이 했다.
%<genre>%와 같이 해 주면 없는 것이 ? 표시로 나오게 되어 편리하다.



여기에 quick tagger를 이용해 rating을 관리할 수도 있다.
keyboard shortcut에 Ctrl + 숫자로
각 곡에 대한 rating을 줄 수 있게 했다.



rating이 별표로 표시되게 하려면 다음과 같이 Custom Column을 추가해야 한다.

Name: Rating
Pattern: $pad($repeat(★,%rating%), 5,✩)
을 추가한다.

그리고 rating에 대한 조건을 활용하려면
Facets 위쪽에 있는 Facets 검색 창에 다음과 같이 넣어 준다.

rating MISSING OR rating GREATER 3

의미는 rating이 없거나 3보다 큰 것을 표시하라는 것이다.
앨범 단위로 사서 듣기 싫은 곡이나 MR 같은 것에 1이나 2를 주어서 빼고 들을 수 있다.

저작자 표시 비영리 동일 조건 변경 허락
Posted by holycall
Computer/Software2009/06/02 13:06
Windows 7에서 Windows Live Messenger를 실행하면 시스템 트레이로 가지 않고 태스크바에 나타난다.
환경 설정이나 메뉴 뒤져봐도 시스템 트레이로 가는 방법은 없다.
이것을 옮기려면 Vista 호환 모드로 실행해야 한다.
다음 그림과 같이 모든 프로그램에서 Windows Live 메신저 속성에 보면 호환 모드가 나온다.




그것을 Vista로 바꾸면 시스템 트레이로 옮겨지게 된다.

저작자 표시 비영리 동일 조건 변경 허락
Posted by holycall
Computer/Programming2009/05/21 20:35

An application programming interface (API) is a set of routines, data structures, object classes and/or protocols provided by libraries and/or operating system services in order to support the building of applications.

Service Provider Interface (SPI) is a software mechanism to support replaceable components.It is the implementer-side equivalent of an API; a set of hooks that can or must be overridden. In the Java Runtime Environment, SPIs are used in JDBC, JCE, JNDI, JAXP, JBI, Java Sound and Java Image I/O.

SPI라는 말을 쓰기는 하는데 무엇인지 정확히 찾아보았다. Wikipedia에 보면 위와 같이 차이를 알 수가 있다. 예를 들어 JDBC API는 이름은 API이지만 실제적으로는 SPI의 기능을 하고 있다. JDBC API를 application 상에서 사용하면 Oracle이나 SQLite와 같은 써드 파티에 의해 제공된 JDBC Driver를 통해서 SQL DBMS에 접근하게 된다. Sun에서는 인터페이스를 통해서 이런 이런 기능을 해 달라고만 한 것이고 실제로는 서비스 제공자에서 드라이버를 구현하여 제공하게 되는 것이다. JNDI나 JAXP에서도 마찬가지이다.

application 프로그래머 입장에서는 API나 SPI나 별 차이 없이 가져다 쓰면 되지만 service provider 입장에서는 SPI를 만족시키는 프로그램 (~ 플러그인)을 개발해야 하는 의무가 있는 것이다.



저작자 표시 비영리 동일 조건 변경 허락
Posted by holycall
TAG API, Java, SPI
Christianity/Meditation2009/05/19 23:41

(마 8:5-13, 우리말) 『[5] 예수께서 가버나움에 들어가셨을 때 한 백부장이 예수께 와서 도움을 청했습니다. [6] 백부장이 말했습니다. “주여, 제 종이 중풍병으로 집에 누워 몹시 괴로워하고 있습니다.” [7] 예수께서 그에게 말씀하셨습니다. “내가 가서 고쳐 주겠다.” [8] 그러자 백부장이 대답했습니다. “주여, 저는 주를 제 집안에 모실 자격이 없습니다. 그저 말씀만 하십시오. 그러면 제 종이 나을 것입니다. [9] 저도 위로는 상관이 있고 밑으로는 부하들이 있는 사람입니다. 제가 부하에게 ‘가라’ 하면 가고 ‘오라’ 하면 오며 하인에게 ‘이것을 하라’ 하면 그것을 합니다.” [10] 예수께서 이 말을 듣고 놀랍게 여겨 따라온 사람들에게 말씀하셨습니다. “내가 진실로 너희에게 말한다. 이스라엘에서도 아직까지 이렇게 큰 믿음을 본 적이 없다. [11] 내가 너희에게 말한다. 많은 사람들이 동쪽과 서쪽에서 모여들어 하늘나라에서 아브라함과 이삭과 야곱과 함께 앉을 것이다. [12] 그러나 그 나라의 아들들은 바깥 어두운 곳으로 쫓겨나 거기서 슬피 울며 이를 갈 것이다.” [13] 그리고 예수께서는 백부장에게 말씀하셨습니다. “가거라. 네가 믿은 대로 될 것이다.” 바로 그 시각에 그 종은 병이 나았습니다.』

예수께 나아온 한 백부장의 믿음은 예수 그리스도의 권위에 대한 믿음이다. 자기 부하가 말로 지시할 때 따르듯 하늘과 땅의 모든 권세를 가지신 예수 그리스도의 말씀에 따라서 백부장의 종이 낫게 될 것을 믿었다. 예수께서는 백부장의 믿음을 보시고 직접 가려던 계획을 바꾸시고 말씀으로 낫게 하셨다. 



(마 8:14-17, 우리말) 『[14] 예수께서 베드로의 집으로 들어가셔서 베드로의 장모가 열병으로 앓아 누워 있는 것을 보셨습니다. [15] 예수께서 그 장모의 손을 만지시자 열이 내렸고 장모는 곧 일어나 예수를 섬기기 시작했습니다. [16] 날이 저물자 사람들이 예수께 귀신 들린 사람들을 많이 데려왔습니다. 예수께서는 말씀으로 귀신을 쫓아내셨고 아픈 사람들을 모두 고쳐 주셨습니다. [17] 이는 예언자 이사야를 통해 하신 말씀을 이루시려는 것이었습니다. “그는 몸소 우리 연약함을 담당하셨고 우리의 질병을 짊어지셨다.” 사53:4』

때로는 당사자의 믿음의 표현과 상관 없이 그를 위하는 다른 사람의 믿음을 보고서 고쳐 주시기도 한다. 열병으로 앓아 누워 있었고 예수께 어떤 말씀도 드린 기록은 없지만 (아마 베드로가 데려왔을 것이다) 예수께서는 직접 가서 손을 만지시고 베드로의 장모를 고쳐 주셨다. 귀신 들린 사람들도 자기가 직접 예수께 나아온 것이 아니었지만 그들을 데려온 사람들의 믿음을 보고 그들을 고쳐 주셨다. 



(마 8:23-27, 우리말) 『[23] 그리고는 예수께서 배에 오르셨고 제자들도 뒤따랐습니다. [24] 갑자기 바다에 큰 폭풍이 일어 배 안으로 파도가 들이쳤습니다. 그러나 예수께서는 주무시고 계셨습니다. [25] 제자들이 가서 예수를 깨우며 말했습니다. “주님, 살려 주십시오. 우리가 빠져 죽게 생겼습니다!” [26] 예수께서 대답하셨습니다. “왜 그렇게 무서워하느냐? 믿음이 적은 사람들아!” 그리고는 일어나 바람과 파도를 꾸짖으셨습니다. 그러자 호수는 아주 잔잔해졌습니다. [27] 사람들은 놀라며 서로 수군거렸습니다. “도대체 저분이 누구시기에 바람과 파도까지도 저분께 복종하는가?”』

폭풍이 치는 가운데 배가 침몰할 위기에 처해 있었지만 예수께서 주무시고 계셨다. 제자들은 두려움 가운데 예수께요청한다. "우리가 빠져 죽게 생겼습니다." 예수께서는 제자들의 두려움에 찬 말을 보고 믿음이 적은 것에 대해서 책망하셨지만 제자들의 요구를 듣고 바람과 파도를 잔잔하게 하셨다. 제자들은 바람과 파도까지 다스리는 예수의 권세에 놀랐다. 

하나님의 역사는 반드시 믿음이 온전하여 두려움에서 벗어난 그런 높은 수준의 사람들을 통해서만 나타나는 것이 아니다. 비록 믿음이 적었지만 제자들은 믿음이 있었다. 그렇기 때문에 예수께 도와 달라고 부르짖었고 그 기도에 대한 응답을 받았다. 



(대상 4:9-10, 우리말) 『[9] 야베스는 다른 형제들보다 더 존경을 받았습니다. 그의 어머니가 야베스라는 이름을 붙여 주면서 “내가 아이를 고통 가운데 낳았다”라고 말했습니다. [10] 야베스는 이스라엘의 하나님께 부르짖었습니다. “여호와께서 제게 복에 복을 주시어 제 영역을 넓혀 주십시오! 하나님의 손이 저와 함께하셔서 저를 해로운 것으로부터 지켜주시고 고통을 당하지 않도록 해 주십시오.” 그러자 하나님께서 야베스가 구하는 것을 허락하셨습니다.』

야베스는 히브리어로 고통이라는 이름을 가지고 있었다. 그는 이스라엘의 하나님께 부르짖었다. 그의 조상의 하나님, 아브라함의 하나님, 이삭의 하나님, 이스라엘의 하나님, 그리고 그 자신의 하나님을 믿고 부르짖었다. 아브라함과 이삭과 이스라엘에게 주신 그 약속, 지금까지 믿음으로 그에게 전달된 복이 되리라는 그 약속 (창 12:1-3, 창 22:16-18, 창 26:3-5, 창 28:13-14)을 주장하며 하나님께 부르짖었다. 구체적으로는 그 복이 실현되어 영역을 넓혀 달라고, 하나님께서 함께 해 주셔서 해로운 것으로부터 지켜 달라고 고통에서 벗어나게 해 달라고 부르짖었을 때 하나님께서는 그가 구하는 것을 허락하셨다. 하나님께서는 야베스가 하나님의 축복 약속을 믿고 그 약속이 실현되어 구체적인 복을 구하는 기도에 대해서 응답하셨다
 

저작자 표시 비영리 동일 조건 변경 허락
Posted by holycall
Computer/Programming2009/05/14 11:50
버그가 너무 싫어.
http://jackpot.netbeans.org/
에서 따옴.

저작자 표시 비영리 동일 조건 변경 허락
Posted by holycall
Computer/Programming2009/05/12 00:38
Java API Documentation에서 보면 

먼저 Class에 있는 getResource를 보자. Class는 일단 instance가 있어야 부를 수가 있다.  

public URL getResource(String name)

Finds a resource with a given name. The rules for searching resources associated with a given class are implemented by the defining class loader of the class. This method delegates to this object's class loader. If this object was loaded by the bootstrap class loader, the method delegates to ClassLoader.getSystemResource(java.lang.String).

Before delegation, an absolute resource name is constructed from the given resource name using this algorithm:

  • If the name begins with a '/' ('\u002f'), then the absolute name of the resource is the portion of the name following the '/'.
  • Otherwise, the absolute name is of the following form:
       modified_package_name/name
     

    Where the modified_package_name is the package name of this object with '/' substituted for '.' ('\u002e').

설명을 살펴보면 ClassLoader에 있는 getSystemResource 메소드를 사용하는데 
resource를 나타내는 String이 '/'로 시작하면 absolute path로 하고
그렇지 않으면 this object가 포함되어 있는 package의 full path라고 한다. 

다음으로 ClassLoader를 살펴 보면 
public URL getResource(String name)
Finds the resource with the given name. A resource is some data (images, audio, text, etc) that can be accessed by class code in a way that is independent of the location of the code.

The name of a resource is a '/'-separated path name that identifies the resource.

This method will first search the parent class loader for the resource; if the parent is null the path of the class loader built-in to the virtual machine is searched. That failing, this method will invoke findResource(String) to find the resource.

absolute path를 사용하게 된다. 

따라서 일반적으로는 ClassLoader보다는 Class의 getResource를 사용하는 편이 낫다고들 한다. 
ClassLoader의 Security Permission 제약도 문제가 될 수 있다 하는 사람도 있다. 
getResourceAsStream도 같은 원칙으로 적용될 수 있다. 

보통 코드를 쓸 때 instance로부터 읽을 때는
this.class.getResource("def/g.xml");
this.getClass().getResource("/abc/def/g.xml") ;
라고 쓰면 된다. 

Class로부터 읽고 싶을 때도 있어서
MyClass.class.getRosource("a.xml");
이런 식으로 쓰면 될 것이다. 

저작자 표시 비영리 동일 조건 변경 허락
Posted by holycall
Christianity/Meditation2009/05/10 12:21
(2Kg 4:42-44 MSG) One day a man arrived from Baal Shalishah. He brought the man of God twenty loaves of fresh baked bread from the early harvest, along with a few apples from the orchard. Elisha said, "Pass it around to the people to eat. " His servant said, "For a hundred men? There's not nearly enough!" Elisha said, "Just go ahead and do it. GOD says there's plenty." And sure enough, there was. He passed around what he had--they not only ate, but had leftovers.

어떤 사람이 이십 덩어리의 빵과 약간의 곡식을 가져왔을 때 엘리사는 종들에게 그것을 나눠 주라고 말한다. 종들은 백 명이 먹기에는 턱없이 부족하다고 말하지만 엘리사는 "하나님께서 충분하다고 말씀하셨다" 라고 이야기하며 나눠 줄 것을 명령한다. 종들이 나누엇을 때 실제로 충분하였다. 

살아가면서 실제로 하나님께서는 나의 가진 것으로 다른 사람들을 섬기라고 말씀하신다. 내가 과연 나의 제한된 시간과 연약한 몸 그리고 이런 부족한 인격을 가지고도 다른 사람들을 섬기며 살 수 있을까? 말하면서 뒤로 물러가지만 하나님께서는 충분하다고 말씀하시며 자신을 드리라고 하신다. 어떻게 보면 뒤로 물러가는 것 자체가 교만이기도 하다. 내 힘으로 영적인 성취를 이루려는 태도이기도 하다. 좋은 결과만 바라고 있고 다른 사람에게 칭찬 받지 않는 일은 하지 않으려는 것이기도 하다. 때로는 자신을 드리는 것이 힘들어서 뒤로 물러가기도 한다. 하나님께서는 충분하다고 말씀하신다. 네가 가진 것으로 주를 위해 영혼들을 위해 섬기라 말씀하신다. 

복음서에서도 보리 떡 다섯 개와 물고기 두 마리를 가지고 훨씬 많은 사람을 섬기셨던 예수님의 이적이 기록되어 있다. 

(요 6:9, 개역) 『여기 한 아이가 있어 보리떡 다섯 개와 물고기 두 마리를 가졌나이다 그러나 그것이 이 많은 사람에게 얼마나 되겠삽나이까』

예수님의 제자들도 비슷한 이야기를 하지만 결국 오천 명이 먹고 남는 것을 보았다. 내가 가진 것 자체보다 하나님은 내 작은 헌신을 귀히 보시고 사용하실 것이다. 

저작자 표시 비영리 동일 조건 변경 허락
Posted by holycall
Christianity/Meditation2009/05/09 21:40

( 17:20-21, 우리말) [20] 바리새파 사람들이 하나님 나라가 언제 올 것인지 물어보자 예수께서 대답하셨습니다. “하나님 나라는 눈으로 볼 수 있는 모습으로 오지 않는다. [21] 또한보라. 여기에 있다’, ‘보라. 저기에 있다하고 말할 수도 없다. 하나님 나라는 너희 안에 있기 때문이다.”

 

주님께서 가르쳐 주신 기도에서 하나님의 나라가 이 땅에 임하옵소서말하고 있다. 실제적으로 하나님의 나라가 이 땅에 오는 것은 이중적인 의미를 가진다. 첫째는, 예수 그리스도의 재림을 통하여 현재 세계가 멸망하여 없어지고 새롭게 세워 질 그리스도가 통치하는 천년 왕국이 오는 것을 의미한다. 둘째는, 성도들의 안에 하나님의 나라가 임하는 것이다. 하나님의 나라의 정의를 하나님이 왕이 되시고, 하나님의 법으로 다스림을 받는 곳이라 할 때, 하나님께서 물리적으로도 다스리시는 하늘 나라 (heaven) 뿐 아니라 이 땅에서 예수를 주로 영접하고 살아가는 모든 믿는 자들의 마음도 하나님의 나라라고 볼 수 있다. 하나님의 나라가 마음에 임하도록 하는 것은 왕 되신 하나님께서 마음에 거하시며 다스리시도록 자신을 하나님께 내어드리는 것이다. 예수께서 말씀하시는 것도 외적으로 기독교가 정치 권력을 얻고 영향력을 발휘하는 것에 관심을 가지기보다 각 사람의 마음에 그리스도의 주재권을 인정하는 것에 관심을 두라는 것이다. 내 마음을 그리스도께서 다스리고 계신가

저작자 표시 비영리 동일 조건 변경 허락
Posted by holycall