그립다

Posted at 2018/04/18 01:11 // in Essay // by Daniel

머리이신 예수님을 따른다는 것은 무엇일까? 소중한 사실의 두가지 예로 말하자면,

주기철 목사님이 마지막으로 석방되어 나오셨을 때 신사참배에 반대하여 신앙의 순결을 지켰던 사람들이 신사참배한 교단과 교회를 비판하며 새로운 교단을 세우자고 찾아왔단다. 그때 주기철목사님은 아직 그럴 만한 때가 아니며 그것은 우리의 소관이 아니라는 맥빠진 답을 주셨다고 한다.

손양원목사님께서 신사참배를 반대하여 감옥살이를 하시고 해방 후에 석방되셨을 때 신사참배에 반대했던 성도들이 모여 신사참배를 타협했던 교회들을 비판했을 때 손양원목사님은 이런 답을 주셨다고 한다. “우리는 몸은 수고스러웠으나 마음은 얼마나 평안했습니까? 하지만 그분들은 몸은 편했을 지언정 마음이 쉼없이 괴로웠을 테니 우리는 이를 살펴야 합니다.”

http://nomad2012.egloos.com/m/1169992

크리에이티브 커먼즈 라이센스
Creative Commons License

주님밖에

Posted at 2018/03/27 01:49 // in Essay // by Daniel

내가 이같이 우매무지하니 주 앞에 짐승이오나
내가 항상 주와 함께하므로 주께서 나의 오른손을 붙드셨나이다.
주의 교훈으로 나를 인도하시고
후에는 영광으로 나를 영접하시리니
하늘에서는 주 외에 누가 내게 있으리요
땅에서는 주 밖에 나의 사모할 자 없나이다
내 육신과 심장은 쇠잔하나
하나님은 나의 반석이시요
나의 영원한 분깃이시라
대저 주를 떠난 자는 망하리니
음녀같이 주를 떠난 자를 주께서 다 멸하셨나이다.
하나님을 가까이함이 내게 복이라
주 여호와를 나의 피난처로 삼아
주의 행사를 항상 전파하리이다

하나님을 가까이 함이 내게 복이라
하나님을 가까이 함이 내게 복이라

갈급한 요즘, 자주 생각나는 말씀입니다.

크리에이티브 커먼즈 라이센스
Creative Commons License

Apache POI의 엑셀 Formula에BIN2HEX HEX2BIN 지원 추가하기

Posted at 2018/01/10 15:04 // in Programming // by Daniel

POI의 엑셀 Formula 중에, BIN2HEX HEX2BIN 이 지원되지 않았습니다.
이를 커스텀으로 추가하려고 코드를 짜봤습니다.


package com.autron.odin.excel.core.ethercc.imports;

import org.apache.poi.ss.formula.OperationEvaluationContext;
import org.apache.poi.ss.formula.eval.ErrorEval;
import org.apache.poi.ss.formula.eval.EvaluationException;
import org.apache.poi.ss.formula.eval.OperandResolver;
import org.apache.poi.ss.formula.eval.StringEval;
import org.apache.poi.ss.formula.eval.ValueEval;
import org.apache.poi.ss.formula.functions.FreeRefFunction;

/** *

 * com.autron.odin.excel.core.ethercc.imports
 *   |_ Hex2Bin.java
 * 
 * Description:    to support formula HEX2BIN
 * Howto Use : AnalysisToolPak.registerFunction("HEX2BIN", Hex2Bin.instance);
 * 
* Company: Hyundai Autron * Author: JSSONG * Date: 2018. 1. 10. * * version *
 * Revision History:  
 * Version No:  Date of update:    Updated by:  Changes
 * 1.0.0   		2018. 1. 10.        JSSONG       refs #10669 #11020 to support formula HEX2BIN
 * 
*/
class Hex2Bin implements FreeRefFunction { public static final FreeRefFunction instance = new Hex2Bin(); /* (non-Javadoc) * see org.apache.poi.ss.formula.functions.FreeRefFunction#evaluate(org.apache.poi.ss.formula.eval.ValueEval[], org.apache.poi.ss.formula.OperationEvaluationContext) */ Override public ValueEval evaluate(ValueEval[] paramArrayOfValueEval, OperationEvaluationContext paramOperationEvaluationContext) { return evaluateHex2Bin(paramArrayOfValueEval); }

/** * Desc : evaluate HEX2BIN * HEX2BIN * 16진수를 2진수로 변환합니다. * – number 필수 요소입니다. 변환할 16진수입니다. * number는 최대 10자까지 사용할 수 있습니다. * number의 최상위 비트는 부호 비트(오른쪽에서 40번째 비트)이고, 나머지 9비트는 값을 나타내는 비트입니다. * 음수는 2의 보수 표기법으로 표시됩니다. * – places 선택 요소입니다. * 사용할 자릿수입니다. * places를 생략하면 HEX2BIN에서는 필요한 최소 자릿수가 사용됩니다. * places를 지정하면 반환 값의 앞부분을 0으로 채울 수 있습니다. * * Method Name : evaluateHex2Bin * param paramArrayOfValueEval * @return evaluated StringEval(BIN value) or ErrorEval.VALUE_INVALID */ private ValueEval evaluateHex2Bin(ValueEval[] paramArrayOfValueEval) { String strHex = “”; int places = -1; if (paramArrayOfValueEval.length==1) { strHex = OperandResolver.coerceValueToString(paramArrayOfValueEval0); } if (paramArrayOfValueEval.length==2) { strHex = OperandResolver.coerceValueToString(paramArrayOfValueEval0); try { places = OperandResolver.coerceValueToInt(paramArrayOfValueEval1); } catch (EvaluationException e) { e.printStackTrace(); } } try { String binStr = Integer.toString(Integer.parseInt(strHex, 16),2); if (places>0) { if (places > binStr.length()) { int num0 = places – binStr.length(); String str0 = “”; for (;num0>0;num0—) { str0 += “0”; } binStr = str0 + binStr; } } // System.out.println(strHex + “ “ + places + “ -> “ + binStr); return new StringEval(binStr); } catch (Exception e) { return ErrorEval.VALUE_INVALID; } }
}


package com.autron.odin.excel.core.ethercc.imports;

import org.apache.poi.ss.formula.OperationEvaluationContext;
import org.apache.poi.ss.formula.eval.ErrorEval;
import org.apache.poi.ss.formula.eval.EvaluationException;
import org.apache.poi.ss.formula.eval.OperandResolver;
import org.apache.poi.ss.formula.eval.StringEval;
import org.apache.poi.ss.formula.eval.ValueEval;
import org.apache.poi.ss.formula.functions.FreeRefFunction;

/** *

 * com.autron.odin.excel.core.ethercc.imports
 *   |_ Bin2Hex.java
 * 
 * Description:    to support formula BIN2HEX.
 * Howto Use : AnalysisToolPak.registerFunction("BIN2HEX", Bin2Hex.instance);
 * 
* Company: Hyundai Autron * Author: JSSONG * Date: 2018. 1. 10. * * version *
 * Revision History:  
 * Version No:  Date of update:    Updated by:  Changes
 * 1.0.0   		2018. 1. 10.        JSSONG       refs #10669 #11020 to support formula BIN2HEX
 * 
*/
class Bin2Hex implements FreeRefFunction { public static final FreeRefFunction instance = new Bin2Hex(); /** * Desc : Private Constructor of Bin2Hex.java class */ private Bin2Hex() { // make it private } /** * Desc : * Method Name : evaluate * param paramArrayOfValueEval * param paramOperationEvaluationContext * return */ @Override public ValueEval evaluate(ValueEval[] paramArrayOfValueEval, OperationEvaluationContext paramOperationEvaluationContext) {
// System.out.println(“BIN2HEX “ + paramArrayOfValueEval + paramOperationEvaluationContext); return evaluateBin2Hex(paramArrayOfValueEval); }

/** * Desc : evaluate BIN2HEX * Method Name : evaluateBin2Hex * BIN2HEX(number, [places]) * - number 필수 요소입니다. 변환할 2진수입니다. * number는 최대 10자(10비트)까지 사용할 수 있습니다. 최상위 비트는 부호 비트이고 나머지 9비트는 값을 * 나타내는 비트입니다. 음수는 2의 보수 표기법으로 표시됩니다. * - places 선택 요소입니다. 사용할 자릿수입니다. * places를 생략하면 필요한 최소 자릿수가 사용됩니다. places를 지정하면 반환 값의 앞부분을 0으로 채울 수 * 있습니다. * param paramArrayOfValueEval * @return evaluated StringEval(HEX value) or ErrorEval.VALUE_INVALID */ private ValueEval evaluateBin2Hex(ValueEval[] paramArrayOfValueEval) { String strBin = “”; int places = -1; if (paramArrayOfValueEval.length==1) { strBin = OperandResolver.coerceValueToString(paramArrayOfValueEval0); } if (paramArrayOfValueEval.length==2) { strBin = OperandResolver.coerceValueToString(paramArrayOfValueEval0); try { places = OperandResolver.coerceValueToInt(paramArrayOfValueEval1); } catch (EvaluationException e) { e.printStackTrace(); } } try { String hexStr = Integer.toString(Integer.parseInt(strBin, 2),16); if (places>0) { if (places > hexStr.length()) { int num0 = places – hexStr.length(); String str0 = “”; for (;num0>0;num0—) { str0 += “0”; } hexStr = str0 + hexStr; } } // System.out.println(strBin + “ “ + places + “ -> “ + hexStr); return new StringEval(hexStr); } catch (Exception e) { return ErrorEval.VALUE_INVALID; } } }

사용법은 위 클래스를 추가하고 런타임에

AnalysisToolPak.registerFunction("BIN2HEX", Bin2Hex.instance);
AnalysisToolPak.registerFunction("HEX2BIN", Hex2Bin.instance);

코드를 호출하면 됩니다.
이외에도 지원안되는 함수가 많이 있습니다.

제 사용 예는 아래와 같습니다.


// Register BIN2HEX Formula
AnalysisToolPak.registerFunction(“BIN2HEX”, Bin2Hex.instance);

// Register HEX2BIN formula
AnalysisToolPak.registerFunction(“HEX2BIN”, Hex2Bin.instance);

evaluator = wb.getCreationHelper().createFormulaEvaluator();
evaluator.evaluateAll();

wb는 org.apache.poi.ss.usermodel.Workbook 타입입니다.

크리에이티브 커먼즈 라이센스
Creative Commons License

믿음 소망 사랑. 소망

Posted at 2017/07/14 12:58 // in Essay // by Daniel

소망.

(잠 23:18) 정녕히 네 장래가 있겠고 네 소망이 끊어지지 아니하리라
(잠 24:14) 지혜가 네 영혼에게 이와 같은 줄을 알라 이것을 얻으면 정녕히 네 장래가 있겠고 네 소망이 끊어지지 아니하리라

(롬 15:12~13) 또 이사야가 이르되 이새의 뿌리 곧 열방을 다스리기 위하여 일어나시는 이가 있으리니 열방이 그에게 소망을 두리라 하였느니라
소망의 하나님이 모든 기쁨과 평강을 믿음 안에서 너희에게 충만하게 하사 성령의 능력으로 소망이 넘치게 하시기를 원하노라

(엡 1:18) 너희 마음의 눈을 밝히사 그의 부르심의 소망이 무엇이며 성도 안에서 그 기업의 영광의 풍성함이 무엇이며

(살전 2:19) 우리의 소망이나 기쁨이나 자랑의 면류관이 무엇이냐 그가 강림하실 때 우리 주 예수 앞에 너희가 아니냐

(살전 5:8) 우리는 낮에 속하였으니 정신을 차리고 믿음과 사랑의 호심경을 붙이고 구원의 소망의 투구를 쓰자

(딤전 4:10) 이를 위하여 우리가 수고하고 힘쓰는 것은 우리 소망을 살아 계신 하나님께 둠이니 곧 모든 사람 특히 믿는 자들의 구주시라

(롬 5:4) 인내는 연단을, 연단은 소망을 이루는 줄 앎이로다

(롬 8:24) 우리가 소망으로 구원을 얻었으매 보이는 소망이 소망이 아니니 보는 것을 누가 바라리요

(롬 12:12) 소망 중에 즐거워하며 환난 중에 참으며 기도에 항상 힘쓰며

(롬 15:4) 무엇이든지 전에 기록된 바는 우리의 교훈을 위하여 기록된 것이니 우리로 하여금 인내로 또는 성경의 위로로 소망을 가지게 함이니라

소망을 가지려면...
성경의 위로가 필요하다.

그 소망은 결국 우리의 구원에 대한 소망인가보다.
연단이 소망을 이루게 한다.. 고로 많은 참음과 고난이 있겠구나...
그리고 그 소망은 하나님이 주신다. 성령의 능력으로 기쁨과 평안 -> 소망

크리에이티브 커먼즈 라이센스
Creative Commons License