계단 다이어트 37주차, 15.5kg 감량 체중 관련해서 마지막 업로드가 26주차 였습니다. 벌써 11주가 지났내요. 그 때부터 지금까지 아직 다이어트한 체중은 잘 유지하고 있습니다. 급하게 많이 빼지 않기 위해서 노력을 하면서 조금씩 빠지고 있습니다. 그래서 운동을 아침에만 계단오르기 100층을 진행하고 아침과 저녁에는 근력운동을 같이 병행하면서 진행하고 있습니다. 근력을 키우기 위해서 단백질을 더 먹고 덤벨 무게나 운동량을 늘릴려고 노력합니다. 식단은 하루 2끼를 먹으며 아침에는 평소대로 먹고 (9시~9시반) 저녁에는 닭가슴살 200g~300g + 계란후라이 3개 (4시~5시) 위와 같이 아침과 저녁을 먹고 별도로 야식은 먹지 않습니다. 토-일 주말에는 그냥 친구와 술 먹고 평소 먹고 싶은 것을 먹고 쉽니다. (당연히 이러면 월요일에 2.5 ~ 3kg 정도 체중이 증가 합니다.) 다만 요즘은 목요일 즘 되면 목표 체중에 도달을 하는데(2kg 조금 넘게 빠집니다.) 그러면 저녁에는 그냥 밥을 먹는 일반 식단을 해서 (다이어트 식단을 하지 않고) 체중 감소가 너무 급격하게 되는걸 막으려고 하고 있습니다. 그래도 너무 빠지면 금요일에는 운동을 쉬는 경우도 있습니다. 최근에 공복 혈당 측정을 오랜만에 해봤는데 100에 더 가깝게 측정이 되어서 다이어트 효과를 좀 보고 있는것 같습니다. (공복혈당 : 102, 2024.11 건강검진에서는 114) 11월이 1주년인데 그 때까지 꾸준히 유지하도록 하겠습니다. 시작 : 2024.11.13 기간 : 2025.7.18 (37주차) 시작 체중 : 78.5 현재 체중 : 63.0 (체중은 아침에 일어나서 밥먹기 전에 측정, 해당 주에 가장 낮은 측정값) 운동방식 : 계단오르기 난이도 : 1회 100층 횟수 : 하루 2번, 아침과 저녁 (100층 x 2 = 하루 총 20...
안드로이드에서 데이타베이스 일부 컬럼을 복호화 하면서 만든 소스
복호화시 데이터가 너무 많으면 엄청 느려지는데
복호화를 병렬로 처리하고
모든 복호화 작업이 완료될 때까지 기다리고 (invokeAll 에서 대기함)
모든 작업이 완료가 되면 다음 처리를 하는 순서
팁으로 이 소스를 다시 ThreadPool 로 묶으면 ThreadPool 에서 병렬 처리가 되면서
각 쓰레드에서 복호화는 병렬처리로 처리를 하는 구조로 만들 수 있다. (꼭 병렬처리가 2중으로 되는 듯한)
모든 ThreadPool 이 완료되었는지 체크를 해줘야 할것 .
ThreadPool 의 최대 스레드 갯수를 적정수로 해줘야 안드로이드 기기에서 에러가 나지 않는다.
-- 소스에서 사용 --
-- Call 하는 class 생성 --
복호화시 데이터가 너무 많으면 엄청 느려지는데
복호화를 병렬로 처리하고
모든 복호화 작업이 완료될 때까지 기다리고 (invokeAll 에서 대기함)
모든 작업이 완료가 되면 다음 처리를 하는 순서
팁으로 이 소스를 다시 ThreadPool 로 묶으면 ThreadPool 에서 병렬 처리가 되면서
각 쓰레드에서 복호화는 병렬처리로 처리를 하는 구조로 만들 수 있다. (꼭 병렬처리가 2중으로 되는 듯한)
모든 ThreadPool 이 완료되었는지 체크를 해줘야 할것 .
ThreadPool 의 최대 스레드 갯수를 적정수로 해줘야 안드로이드 기기에서 에러가 나지 않는다.
-- 소스에서 사용 --
List<Callable_Decording> call_list = null;
List<Future<HashMap<String, String>>> futureList = null;
call_list = new ArrayList<Callable_Decording>();
call_list.add(new Callable_Decording(context, result_mformname, "mformname"));
call_list.add(new Callable_Decording(context, result_classname, "classname"));
call_list.add(new Callable_Decording(context, result_memo, "memo"));
call_list.add(new Callable_Decording(context, result_latitude, "latitude"));
call_list.add(new Callable_Decording(context, result_longitude, "longitude"));
call_list.add(new Callable_Decording(context, result_address, "address"));
call_list.add(new Callable_Decording(context, result_locname, "locname"));
futureList = executor.invokeAll(call_list);
for(Future future : futureList ) {
HashMap<String, String> map = (HashMap<String, String>)future.get();
}
-- Call 하는 class 생성 --
static private class Callable_Encording implements Callable<Object> {
private Context myContext = null;
private String origianlData = null;
HashMap<String, String> result = null;
public Callable_Encording(Context context, String data, String key){
myContext = context;
origianlData = data;
result = new HashMap<String, String>();
result.put("KEY", key);
}
public Object call() throws Exception {
// 작업 처리
-- 처리할 작업은 여기서 처리 --
return result;
}
}