분류

2019년 8월 17일 토요일

다섯번째 자전거 에이모션 ANM AE20R APEX

1. 구매이유 

별 핑계로 1개월 만에 자전거를 또 바꾸게 되었습니다. (포장 뜯는 일이 중독된 것 같습니다.)
이번에 구매한 것은 스램의 아펙스 변속기를 달고 있는 자전거 ANM AE20R APEX입니다.

ANM자전거는 이전에 접이식 자전거로 한번 접해봤고, 품질이 제법 괜찮은 편이었기에 기억하고 있었는데... 입문용 클라리스가 지겹기도 하고... 뭔가 색다른 것이 필요한 시점에 충동질을 억누를 수 없는 제품을 보게 되었습니다.

사실 처음 싸이클을 타기 시작하면서부터 시마노와 스램은 항상 구매 대상에는 있었지만 비쌌고, 저렴한 입문용 클라리스가 많이 보급되어있기에 변속기는 시마노부터 클라리스부터 시작하게 되었었습니다. 듀얼 컨트롤 레버가 달린 싸이클을 30만원 이내로 구매할 수 있는 매력은 치명적이었습니다.

스램은 웬만한 녀석은 100만원을 호가하는 고가의 녀석이었고, 늘 그림에 떡이었습니다. 그러던 어느 날 ANM이라는 회사에서 일본제품 불매운동의 기류를 읽고 스램 제품의 새로운 세기를 만들려는 것인지 현실적인 가격으로 다가온 것 입니다.

다나와 가격비교 
카본포크를 장착하였음에도 더군다나 16단도 아닌 20단임에도 불구하고, 386,900원 매력이 철철 넘치는 가격입니다. 동급의 다른 녀석들보다도 무려 20만원 이상 저렴한 것도 매력입니다. (시마노도 20단은 105제품 60만원대부터 시작입니다. )

2. 구매 및 배송 

완조립 상태로 주문하였습니다. 새로운 변속기를 세팅하는 일이 초보에게 여간 시간이 걸리는 일이 아니기 때문입니다. (수차례 해본 클라리스도 30분이 걸리는데 다른 변속기라면 얼마가 걸릴지...)


겉도, 안도 제법 단단하게 포장이 되어 온 것이 제법 든든하게 보입니다.

3. 상세스펙 및 이미지

종목 정보
사이즈 490mm
중량 9.7kg
프레임 알루미늄 트리플 버티드 프레임
포크 3k카본
크랭크 스램 아펙스
변속기 스램 아펙스 2x 10단 변속 시스템 
핸들바  400mm 오버사이즈 알로이 레이싱 드롭바
스템 알로이 90mm 스템 
림 알렉스 R450
허브 노바텍
브레이크 텍트로 R312
타이어 켄다 700C X 23C   
펌프 프레스타
시트포스트는 27.2구경이라고 합니다.

집에 있는 체중계로 무게를 재보니 9.6Kg입니다. 이전에 타던 알톤 벨록스 cc보다 2.2kg이나 가볍기 때문에 페달링이 훨씬 좋아질 것 같습니다. 최근 분노의 페달링을 위해 체중감량까지 하는 중인데 2kg덜 빼도 되니 감사할 따름입니다. 

색상은 검은색과 붉은색 (검은색은 무광과 유광의 조합) 으로 무난합니다. (17년도에 가장 유행했던 색이죠? 요즘은 데칼이 워낙 이쁘게 나와서 ㅎㅎ) 

외장형 BB를 적용했다고 해서 사진은 찍어봤지만 ㅎㅎ 전 이게 뭐가 좋은지 몰라유...;

저는 가장 마음에 드는 부분이 이 핸들의 듀얼 컨트롤 레버입니다. 듀얼 컨트롤 레버는 시마노의 제품과 달리 레버 하나로 변속이 되는데요. 전 그것보다 클라리스에서 옆으로 튀어나와있던 브레이크 라인이 사라진 덕에 핸들 그립도 편하고 좋아졌습니다. 

                  기어 올리기                                      기어 내리기
컨트롤 레버는 2단계로 움직이는데 이것 또한 편합니다. 기어를 올릴 때는 살짝 딸깍 할 때까지 누르면 되고, 내릴 때는 쭉 깊이 밀어 넣으면 되는데 쭉 아주 깊이 누를 경우 3,4단 정도가 한번에 내려갑니다. 이 덕에 업힐에서 변속하려고 여러 번 누를 필요 없이 한번에 변속 가능합니다. 

다른 분들 후기 보니까 적응에 시간이 걸린다고 하는데.. 저의 경우 컨트롤러 적응은 거의 즉시 한 것 같습니다. 변속기보다는 기존 2x8단을 사용하다가 2x10을 사용하려니 평소 주행하던 기어비와 속도나 저항 등이 달라 이 부분이 한번 타서는 적응이 안되네요.. 아! 그리고 변속기에 몇 단인지 표기하는 부분이 없어서 살짝 당황스럽습니다. 

사용하는 새들백, MTB 클릿 페달, 물통 케이지를 달았더니 1kg이 증가했고.. 조금 더 증가할 예정 입니다. 

3. 운동성능 

운동 성능은.. 뭐 제 자신의 엔진 성능이 거의 그대로인 시점에서 별 차이가 없는 게 정상이지만, 알톤 벨록스 cc 최종기록과 ANM AE20R APEX의 기록을 비교해보겠습니다. 고수님들이 보시기엔 우습겠지만 공부한다고 2년간 쉰 자전거를 3개월 탄 기록이기에 감안하고 봐주시기 바랍니다. 

               
                               벨록스 최종기록            AE20R 최초기록 
두개 다 제가 다람쥐 바퀴처럼 도는 코스입니다. 
8월 9일 이후 자전거를 한동안 쉬다가....  (비로 인해 탈수가 없었습니다.) 일주일 만인 8월 16일에 자전거를 타게 되었습니다. 1주일 간 자전거도 못타고 헬스장에서 웨이트만 주구장창 한 만큼 기록이 떨어질 것으로 생각했는데... 반대로 올랐습니다. 

항목 2019.08.09 2019.08.16 차
주행 거리 19.4 19.6 0.2
시간 50.59 48.26 -2.33
평균 속도 22.84 24.34 1.5
소모 칼로리 556 416 -140
평균 심박 140 122 -18
최고 속도 39.04 42.67 3.63
최고 심박 167 159 -8
최고 강도 훈련 1 0 -1
고강도 훈련 28 3 -25
중강도 훈련 13 16 3
집중 훈련 5 20 15
워밍업 5 6 1
휴식 3 3 0

속도는 빨라졌고, 시간은 단축되었으며, 심박도 편안해졌습니다. 기존 자전거는 520사이즈로 173인 제게는 조금 큰 감이 있었고, 드롭바를 잡을 경우 허리가 너무 앞으로 쏠려 다리에 힘이 잘 들어가지 않았는데 490사이즈를 처음 사본 결과 지오메트리의 중요성을 깨닫게 되었습니다. 이전 520 사이즈만 탔는데 허리가 너무 앞으로 숙여져 다리에 힘이 들어가지 않았었지만 490 사이즈로 변경하면서 개선 되었습니다.

4. 개인적인 소견 

개인적으로는 가격과 성능 면에서 너무 이상적이고 완벽한 자전거여서.. 앞으로 제법 오래 타게 될 것 같습니다.

아쉬운 점을 꼽으라면 딱 하나 있는데요. 프레임의 마감이 스무스 웰딩이 아니라는 것 정도... 이지만 막상 타보면 눈에 들어오지도 않는 부분이라 개인의 취향이라 생각됩니다. 또한 동급의 다른 제품에 비해 20만원이나 저렴하게 구매했는데 사소한 부분까지 바란다면 날강두죠 ㅎㅎ;;


이상입니다. 읽어주셔서 감사합니다. 

2019년 8월 10일 토요일

SFO 모니터링중 Open Cursor Alert(count) 증상 처리

주변사람들의 필요에 의해 오라클 문제해결법을 종종 한글화 하고 있습니다.

오픈커서 문제 

오라클 데이터베이스는 Oracle Identity Manager를 통해 여러 SQL문을 실행합니다. 
Oracle Database에서 모든 SQL문은 실행을 위한 메모리를 특정 영역에 할당 받게 됩니다. Oracle PL/SQL을 사용하면 이 영역의 이름을 지정할 수 있습니다. 이 개인용 SQL영역을 컨텍스트 영역 또는 커서라고 합니다. 커서의 메모리는 공유풀에서 할당됩니다. 공유풀은 Oracle Database의 필수 메모리 구성요소로 특히 라이브러리 캐시에서 사용됩니다. 

Renegade 세션이 라이브러리 캐시를 채우거나 수백만개의 SQL구문 분석 요청으로 CPU를 점유하지 못하게 커서의 수를 제한하도록 데이터베이스에 OPEN_CURSORS 변수를 설정해야 합니다. (레니게이드 세션에 대한 적절한 표현을 찾지 못했습니다. 배신자라고 하는데 사용자의 요청을 응답하지 않았다고 배신자라는 표현은 좀...) 

OPEN_CURSORS 매개변수는 각 세션이 세션 당 열 수 있는 최대 커서 수를 설정합니다. 예를 들어 OPEN_CURSORS의 값이 1000으로 설정되면 각 세션은 한 번에 최대 1000개의 커서를 열 수 있습니다. 

때로는 데이터베이스의 커서 수가 최대 한계를 초과하여 다음과 같은 오류가 발생합니다.

----------------------------------------------------------------
java.sql.SQLException: ORA-00604: error occurred at recursive SQL level 1
ORA-01000: maximum open cursors exceeded ORA-00604: error occurred at recursive SQL level 1

% SFO 에서는 Open Cursor Alert(count)  메시지가 발생합니다.
----------------------------------------------------------------


해결방법 

1. 데이터베이스의 SYS 스키마에 로그인하거나 DBA권한이 잇는 스키마로 로그인 하십시오. 
2. 다음 SQL을 사용하여 오류를 발생시키는 세션을 찾으십시오. 
----------------------------------------------------------------
select 
   a.value
   , s.username
   , s.sid
   , s.serial# 
from 
   v$sesstat a
   , v$statname b
   , v$session s 
where 
   a.statistic# = b.statistic#  
and s.sid=a.sid 
and b.name = 'opened cursors current' 
and s.username is not null;
-- 개인적으로 order by value desc 를 추가하고 싶습니다.
----------------------------------------------------------------
출력은 모든 세션의 세부 사항을 표시합니다. 최대 세션 ID를 볼 수 있습니다. 

3. 열린 커서를 최대로 만드는 쿼리를 표시하려면 다음 SQL문을 실행하십시오. 
----------------------------------------------------------------
select  
   sid 
   ,sql_text
   , count(*) as "OPEN CURSORS"
   , USER_NAME 
from 
   v$open_cursor 
where 
   sid in ($SID);

--$SID 부분을 첫번째에서 문제가 있다고 판단되는 SID를 대입하면 됩니다.
----------------------------------------------------------------
최대 커서를 열고 후속 커서를 정상적으로 닫지않은 상위 쿼리가 표시됩니다. 
일부 코드가 SQL 쿼리 위에서 실행중인 경우 코드에 액세스 할 수 있는 경우 Java 문, 결과 집합 또는 연결이 제대로 닫혔는지 확인하십시오. 코드가 연결을 닫지 않으면 열려있는 모든 연결을 올바르게 닫아 코드의 메모리 누수를 저장하고 데이터베이스 메모리를 저장하십시오. 
----------------------------------------------------------------

JAVA를 통해 호출한 경우 SESSION의 CLOSE를 하거나 PL_SQL의 경우 COMMIT을 통한 세션의 종료, 혹은 커서를 닫는 구문을 사용해야 하는 것 같습니다.

4. OPEN_CURSORS 매개변수의 값을 충분히 높게 설정했는지 확인하려면 다음과 같이 최대 커서에 대한 환경 설정을 v$sesstat를 조회해 확인하세요. 

----------------------------------------------------------------
SELECT  
   max(a.value) as highest_open_cur,
   p.value as max_open_cur
FROM 
   v$sesstat a
   , v$statname b
   , v$parameter p
WHERE  
   a.statistic# = b.statistic#
   and b.name = 'opened cursors current'
    and p.name= 'open_cursors'
group by p.value;
----------------------------------------------------------------
세션이 한계에 가깝게 실행중인 경우 OPEN_CURSORS 매개변수의 값을 늘리세요. 

오라클 트러블 슈팅 가이드에 나온 이야기는 이정도이지만, 실제 운영 시스템에 작성된 PL / SQL에 보면 대게 LOOP 문내에서 커서를 열기만 하고 닫지 않는 케이스가 가장 많습니다. 그리고 대게 암시적 커서를 사용하여 루프 되는 데이터의 총량을 확인하지 않고 사용하는 경우가 있습니다. 제가 사용하는 환경에서는 OPEN_CURSORS 매개변수가 대게 1000이기에 이 부분을 확인해 수정시키는 중 입니다. 

또한 JAVA에서 반복적으로 SQL 수행 하는 프로그램에서 COMMIT이나 세션에 대한 클로즈 처리가 없이 지속적으로 SQL을 전송하는 프로그램도 자주 있습니다. 이런 부분을 확인해보면 될 것 같습니다. (전자정부에서는 대게 기본값으로 자동 커밋처리됩니다. )

2019년 8월 8일 목요일

반값 이온음료 간편하게 만들기 (포카리스웨트 대체품)

1. 만든 이유 

자전거를 좋아하기에 여름에 야외활동을 자주 하는 편입니다. 일사병으로 인한 피해를 막고자 이온음료는 꾸준히 섭취하는 중인데. 2019년 여름은 일본제품 불매가 여기저기 퍼져나가고 있기도 하고. 개인적으로도 아배가 정말 싫은 관계로 동아오츠카에서 나오는 포카리의 불매운동에도 참여할 겸 쉽고 간단한 레시피를 만들어보았습니다.

주로 가루 형으로 되어있는 제품을 쓰는데, 이유는 회사나 집에서 작은 부피로 보관하기 편리하고, 개인 취향에 맞게 양을 조절하여 먹을 수 있어 편리하기 때문입니다.

처음에는 ebay를 통해 게토레이나, 파워에이드의 직구를 하려 해봤으나. 가격이 2배 이상 형성(배송비 때문) 되고있습니다. 대량으로 구매하여 포카리스웨트와 비슷한 가격에 구매하려 해봤으나, 2년간 먹을 양을 수입하지 않는이상 대체가 불가능합니다. 하지만 해당 제품의 유통기한은 3~9개월이기에 결국 비싸게 수입하고 버려질 것입니다. 그래서 집에서 쉽게 만드는 법을 생각해보았습니다.

2. 구매 방법 및 성분

포카리스웨트에는 나트륨과 당류 이외에도 비타민C, 염화칼륨, 젓산칼슘, L-글루타민산, 탄산마그네슘 등이 들어갑니다. 이런 것들은 운동 시 배출되는 각종 영양 성분을 대체하는 것으로 보입니다. 자세한 성분은 이온음료별로 성분을 조합하신 블로거님이 계셔서 링크합니다.

이온음료 영양성분 비교 정리 [출처] 이온음료 영양성분 비교 정리|작성자 스캐너


대체로 4개 이상의 무기물이 존재합니다. 설탕과 소금만으로는 이온음료의 목적을 달성할 수 없고 약간의 무기물이 더 필요한 것 같습니다. 대게의 레시피를 보면 오이나 레몬을 사용하지만 그럴 경우 사무실에서 보관이 불가능합니다. 해결책으로 발포 비타민을 생각해보았습니다.

또한 포카리스웨트는 약 30리터를 만들어 먹을 수 있는 가루가 약 18,000원에 팔기에 비슷한 가격 혹은 더 저렴한 가격으로 비슷한 효능을 가진 제품을 만드는데 주력해보았습니다.


후보1. 센트륨 아쿠아비타  40회분 23,000원
후보2. 비타하임 발포비타민  120회분 18,000원
후보3. 썬라이프 발포비타민  120회분 18,000원
후보4. 덱스트로에너지 제로칼로리 발포 전해질 타블렛 정 20회분 10000원

두 제품 다 일일 필수 비타민을 포함하고 있습니다.

센트륨 쪽이 운동능력 향상에 도움이 되는
나이아신, 판토텐산, 마그네슘, 아연이 포함되어 있으며

비타하임의 경우 멀티비타민제품은
니이아신, 판토텐산, 엽산, 비오틴이 포함되어 있습니다.

썬라이프의 멀티비타민 제품은
나이아신, 판토텐산, 엽산, 비오틴, 마그네슘, 아연, 비타민K가 포함
---------------------------------------------------------------------------------------------
2019.09.10 추가 :  썬라이프 멀티비타민은 나중에 알게 되었지만 상위 비타민제의 성분을 모두 포함하고 있어 앞으로는 이걸 사용하게 될 것 같습니다. 그리고 코스트코에서 구매할 수 있다고 합니다.

2019.08.14 추가 : 덱스트로 에너지 정이라는 것을 알게 되었는데 운동 시 전해질을 충전해주는 독일 제품이고 가격이 제법 비쌉니다. 비타민은 일절 없이 나트륨, 칼슘, 마그네슘 만 추가해줍니다.  이 부분은 비타하임의 제품 중 하나와 유사합니다.

썬라이프 발포비타민에도 나트륨 마그네슘은 존재하지만 칼슘이 없고, 무엇보다 비타민도 과다 섭취할 경우 부작용이 있을 수 있기에 과다 섭취에 주의해야 합니다.

2019.10.8 c추가 : 덱스트로 제로칼로리 정은 https://www.bike24.com/ 을 통해 직구할 수 있습니다. 20개를 주문 할 경우 (개당 20정  400회분) 배송비 포함 75.79유로(약 10만원)으로 포카리스웨트보다 저렴한 가격에 편리함까지 얻을 수 있습니다. 배송은 정확히 1개월이 걸렸습니다. 

조사하면 조사할수록 무지함을 깨닫습니다. 

-------------------------------------------------------------------------------------------

3. 덱스트로 성분을 기준으로 한 레시피 

덱스트로 제품은 운동을 3단계로 구분하고 각 단계별로 에너지 공급 체계를 만들고 있습니다. 이것이 체계적이고 맞는 것이다. 라는 가정에서 각 체계의 성분과 썬라이프 비타민제의 성분을 비교해보았습니다.

성분단위덱스트로 발포 전해질리퀴드젤리커버리 에프터계썬라이프
나트륨mg2600  2600290
마그네슘mg112.6  112.6100
칼슘mg240  2400
아연mg   06
탄수화물g1.42.8130.634.810
당분g 2.3530.332.650
지방g 0.10.50.6 
포화지방g 0.1 0.1 
염분g 0.0050.0660.071 
단백질g 01010 
비타민 B1mg 0.2 0.21.1
비타민 B2mg 0.30.210.511.4
비타민 B6mg 0.40.210.611.4
비타민 B12ug  0.3750.3752.5
비타민Cmg  121280
비타민Emg  1.81.86
비타민kug   075
니아신 mg 3.72.46.116
비오틴ug  7.57.550
판토텐산mg  0.90.96

발포 전해질의 경우 운동단계에서 땀 배출로 인한 전해질 보충을 위해 주기적으로 마시는 것이고, 리퀴드젤의 경우도 45분에 1개씩 섭취하는 것을 권장하고 있습니다. 이것을 기준으로 3종 세트가 1시간 운동 시 필요한 영양소를 모두 갖췄다고 친다면 다음과 같은 레시피를 만들 수 있습니다.

썬라이프 비타민의 경우 나트륨, 탄수화물, 당, 지방, 단백질이 부족한 상태가 됩니다. 이중 나트륨과 칼슘은 천일염 (천일염 성분정보 위키 클릭)을 통해 보충할 수 있으며, 당과 탄수화물은 설탕을 통해 약간 흡수할 수 있습니다.

브라운 자일로스 설탕 성분 

결론은 일 1,2시간 이내 짧은 운동이라면 썬라이프 1정 + 소금 1티스픈(1그램) + 설탕 5그램 1포를 500ml 에서 1리터 가량의 음료를 만들어 먹는다면 지방, 탄수화물, 단백질을 제외한 대부분의 성분을 충족할 수 있습니다. 그 이상의 운동을 하면서 같은 레시피로 먹는다면 비타민 과다에 의한 증상이 나타날 수 있습니다.

여러회 드시려거든 알약커터 같은 것으로 4등분해서 드시거나, 비타하임의 제품을 종류별로 드시는 것이 나은 것 같습니다. 

비타히임으로 하면 설탕 5g, 소금 1g과 함께 
1. 아연 + 비타민c 
2. 마그네슘 + 칼슘 + 비타민D < 덱스트로와 유사하지만 맛이 끔찍합니다. 지우개 물탄맛. 그냥 덱스트로를 먹기로 결정했습니다. 
3. 멀티비타민 
3종을 각각 조합하여 일 3~6회분의 이온음료를 만들 수 있습니다. 
(6회분으로 만들경우 비타민을 반개씩만 투입) 
비타민이 적게 들었다고 무시했는데 이걸로 100km는 달리고 남을 것 같습니다.  


각 비타민 과다증상은 아래 블로그를 참조하시기 바랍니다.
현재까지 알려진 비타민 과다복용 증상, 어떤 부작용이 있는지 한번 알아봅시다. <- 클릭



사무실에서 제조해본 이온음료
설탕은 5g 단위 포장으로 판매하는 것을 사용하고, 소금의 경우 입자가 고운 구운소금을 양념통에 넣고 적당히 뿌리면 용량을 계량하지 않아도 편하게 만들 수 있습니다.  

조사를 하기 전에는 덱스트로 제품이 너무 과도하게 비싼 것이 아닌가 하는 생각을 했었는데... 체계적으로 필수 아미노산과 전해질 섭취를 도우면서 과도하지 않게 비타민을 섭취하는 시스템을 만든 것은 대단한 것 같습니다. 운동 중 먹는 젤의 경우 일일 권장치의 15%를 제공하여 조금 많이 먹더라도 문제가 생기지 않게 해 놓은 것이 무척 마음에 듭니다. 

주중에는 점심 1시간 운동이기에 선라이프 1정과 소금, 설탕이면 대부분 해결되며 
주말에 장시간 운동할때 덱스트로나 비타하임으로 레시피를 구성해서 먹으면 될 것 같습니다. (비타하임이 압도적으로 싸기에 비타하임으로 방향을 잡았습니다. ) 

기타 국산제품으로 일동 하이브리드워터와 코오롱 퍼펙트젤 등의 제품들이 있는데.. 이쪽은 아미노산 함량이 제대로 적혀있지 않아 사용이 어렵네요; 

이상입니다. 
더 조사하면 약국차려야 할 것 같아서 여기까지만 ㅎㅎ 
읽어주셔서 감사합니다. 

2019년 7월 8일 월요일

네번째 자전거 . 알톤 벨록스CC 구매후기

1. 구매이유 

작년 3월 여자 친구와 같이 자전거 여행을 하고자 기존에 타던 자전거를 모두 팔고 접이식 자전거 2대를 구매했었습니다. 그런데... 겁이 많은 여자 친구의 자전거 실력은 도무지 늘지를 않고, 평균시속 4km/h. 언덕이나 내리막에선 속도가 붙거나 미끄러지는 게 겁난다고 내려서 걷기... 이러다보니 자전거를 누군가와 함께 탄다는 일이 무척 힘겹게 느껴지고. 점점 자전거 자체를 타는 횟수가 줄어들더니 급기야 올해 자전거 포기선언을 합니다.

자전거가 탈 수 있게 되기까지의 3년간의 노력은 모두 물거품이 되었습니다. 그래서 갖고 있던 자전거 2대를 모두 처분하고, 다시 로드로 돌아가려고 이런 저런 자전거를 알아보던 중 그간 갖고 싶었지만 가질 수 없었던 디스크브레이크가 눈에 아른거렸죠.

로드에는 디스크 브레이크가 달려있지 않지만 그렇다고 로드를 포기 할 수는 없었습니다. 허리를 곧게 펴고 자전거를 타는 게 익숙하지 않은 건지.. 1시간 이상 운행할 경우 허리 이하가 욱신거리는 현상이 있었습니다.

이런 저런 검색끝에 알게 된 디스크브레이크가 달린 로드 자전거가 존재한다는 사실을 알게 되었습니다. 싸이클 크로스라는 종류인데요 약어로 CC가 사용됩니다.

2. 크로스 사이클 가격 및 스펙

국내에서 가장 저렴한 제품은 알톤 벨록스 CC가 21.6만에서 26만정도에 팔리고 있습니다. (완조립 26 배송비 포함)

이 가격이면 구세대 클라리스 그룹셋을 모두 장착하고 포크마저 카본인데 가격이 25만원대인  '알톤 자이로바 R cf200" 제품을 살 수 있기에 망설임이 많았습니다. 16년도만 클라리스 그룹셋을 풀로 장착한 경우 50만원 언저리였는데 가격이 제법 착해져서 좋습니다.

21.7만과 25만의 차이는 조립여부 입니다.

그간 자전거 조립을 수없이 했더니 비전문가인 제가 하면 3,4시간이 걸리는 것을 알기에 시간을 아낄겸 완조립으로 주문했습니다. 100% 완조립의 경우 3.5만이 추가됩니다.

스펙 

분류 내용
차체 700C X 520 알루미늄 (인터널 케이블, 스무스 웰빙)
포크 알루미늄 리지드(포스트 마운트)
앞 변속기 시마노 클라리스
뒷 변속기 시마노 클라리스
변속 레버 시마노 클라리스 2x8 듀얼 컨트롤 레버
크랭크SET 프로휠 34/50T, 알루미늄 크랭크 암
브레이크 시마노 디스크 브레이크
림 알루미늄 림 
타이어/튜브 캔다 K-1047 700C X 35C, F/V타입
핸들바 알루미늄 드롭바(510-430mm/80mm/125mm/31.8mm)
스탬 알루미늄 어헤드 (90mm/7"/31.8mm)
시트포스트 알루미늄(27.2x300mm)
안장  저스텍
무게 11.8kg

크랭크와 비비, QR허브를 제외하면 클라리스 풀셋이라 해도 과언이 아닙니다.
QR허브의 경우 클라리스 허브에는 디스크 브레이크를 장착할 수 없기에 변경된 것 같습니다.


조립이 다 된 녀석은 이런 모양인데. 페달은 원래 갖고 있던 투어링 클릿페달로 변경하였습니다. 나중에 안장도 smp 안장으로 변경할 예정입니다. 무게를 실측해봐야 하는데... 받자마자 개인용품을 달아서... 측정 할 수가 없네요; 약 12kg근처입니다. 페달 교체하는데 일회용 공구가 너무 쉽게 부서져서 근처 자전거가게에 다녀왔습니다.

3. 기초정비 

자전거는 완조립으로 받아도 운송 중에 림이 살짝 틀어지거나, 변속기가 무게를 받아 밀려있거나 하는 경우가 종종 있고, 뭐 기타 여러 사항으로 약간의 조정이 필요합니다.

변속기 조절 

앞드레일러 텐션 나사
사진에 은색 부분이 앞드레일러의 텐션나사 입니다. 저걸 조이고 푸는 걸로 앞드레일러의 변속기를 조절할 수 있습니다. 변속기를 많이 깊게 눌렀을 때 변속되거나 하면 손으로 조이거나 풀어서 조절합니다.
시마노 클라리스의 2단 앞드레일러는 4액션을 통해 체인이 닿지 않게 조절합니다. 간혹 앞변속기 세팅이 잘못되어 왔다 하시는 분들이 종종 있는데.. 클라리스 2단 앞레버/드레일러는 원래 그렇습니다. 고단 주행 시 앞드레일러가 닿는다면 앞 변속기로 단을 높이는 듯이 밀면 체인 걸림이 없어지며, 저단에서 소리가 난다면 반대로 앞 변속기를 살짝 낮추면 됩니다.


가운데 나사 부분이 앞드레일러의 바깥쪽과 안쪽 최대 폭을 지정해주는 나사입니다. 변속기를 높였을 때 체인이 탈출한다면 바깥쪽 나사를 조이고, 혹은 최대 변속 시 체인이 닿는다면 바깥쪽 드레일러 나사를 풀어주면 됩니다. 안쪽도 마찬가지입니다.

클라리스 뒷 드레일러 텐션 나사는 손가락 끝부분에 있는 저것입니다. 뒷측 정면에서 기어의 위치와 드레일러의 위치가 정확히 일치하게 맞추면 됩니다.

이러한 조절기가 있는 이유는 온도차에 의해서 체인이나 와이어가 늘거나 줄어서 발생하는 미세 조정을 쉽게 하게 하는 것이니 이런 부분이 잘 안 맞는다고 수리하러 갈 이유는 거의 없습니다. 간혹 뒷드레일러가 배송 중 너무 눌려서 각도가 틀어지는 부분이 있는데 이럴 때 가야합니다. 대충 자전거를 세워놓고 뒤 정면에서 봤을 때 드레일러가 수직으로 서있지 않다면 병원행입니다.

3. 운동성능

운동성능은 기존에 타던 것과 큰 차이가 없습니다. 자전거를 산 후 비가내려 3일 만에 주행을 해보았는데 이전 자전거 (24인치 접이식) 보다 약 10% 최대속도가 상승하였습니다.

anm zf 24 기록 

알톤 벨록스 cc 기록


 일단 두 자전거의 차이는 최고속도 3km/h 정도 상승했고, 승차감이 조금 더 편안해서 열심히 달리면 금새 속도가 붙을 것 같습니다. 최근 3년간 자전거를 열심히 타지 않았던 관계로 최대 시속이 느리네요. 자전거도 새로 샀으니 올해는 열심히 타서 시속 50을 다시 넘겨봐야겠습니다.

기타사항으로 싸이클 크로스는 대부분의 대회에 참가는 가능하나 시상에서 제외된다고 합니다. 연습해서 대회 나가실거라면 다른기종을 사셔야 합니다.

2019.08 1개월 사용
1개월간 사용해본 결과 익숙해지니 역시 싸이클은 싸이클입니다. 픽시 계열의 접이식 자전거로는 어떻게 해도 나오지 않던 40km/h대의 속도가 어렵지 않게 나게 되었습니다. 30km/h 정도는 별로 힘들이지 않게 나옵니다. 상체를 세운체로 타는것과 거의 엎드려 타는 자세가 되는 것이 근육 사용에 차이를 만드는 것 같습니다.

이상입니다.


2019년 6월 21일 금요일

대용량 데이터 처리 4. DBMS_JOB

1. DBMS_JOB 언제 씁니까? 

통계 위주의 시스템을 구축하다보면 자주 발생하는 것이 대량의 데이터에 대한 일괄처리입니다. 배치잡은 주로 PROCEDURE로 이루어져 있고, 이런것들을 실행 시키는데는 많은 시간이 들어갑니다. 하지만 WEB에서 수행하는 환경에서 프로시저의 종료시간을 기다리는 것은 쉽지 않습니다.

사용자들이 실행 후 브라우저를 닫으면 결과값을 받지 못하므로 모니터링 프로그램에 오류로 남기도 하고, 모니터링 프로그램의 종류에 따라서는 30분이 지난 프로세스를 일괄적으로 삭제해버리는 기능이 있는 것들도 있기에 웹 환경에서 장시간이 걸리는 데이터 프로시저를 수행시킬 때 사용하게 됩니다.

또한 주기적으로 수행되는 작업을 관리할때에도 사용합니다.

예를들자면
BEGIN 프로시저(변수) END; 와 같은 구문을 웹에서 실행시킬 경우 해당 THREAD가 아닌 일반적인 WEB CONTROLLER에서는 프로시저의 수행 종료를 대기합니다. 하지만 JOB으로 실행시킬 경우 구문 수행후 대기 없이 종료되며 프로시저나 패키지는 DBMS에 의해 수행됩니다.

2. 오라클 DBMS_JOB 명령어 

DBMS_JOB을 실행할 수 없다면 DB관리자에게 DBMS_JOB 패키지에 대한 사용 권한을 요청해야 합니다.

가. JOB 목록 확인

SELECT * FROM USER_JOBS

나. 작업등록

작업 등록 명령어의 각 속성들은 아래와 같습니다. 
DBMS_JOB.SUBMIT(
               JOB ID    작업번호 - 숫자 타입의 빈 변수를 할당해주면 자동으로 적용 자동
              , WHAT   파라미터를 포함한 작업대상 저장 프로시저, 임의 프로시저를 문자열 형태로 입력할 수 있습니다. VARCHAR 4000
              , NEXT_DATE 다음 수행일시 : 기본값은 SYSDATE로 작업의 최초 수행시간 DATE
              , INVERVAL  반복 작업 수행시 다음 작업이 수행될 시간을 계산하는 함수  VARCAHR 200
              , NO_PARSE 구문검사와 작업대상 객체의 상태검사를 수행하지 않게 하는 옵션으로 기본값은 false이며 true로 변경할 경우 예약 하는 패키지나 작업대상 테이블이 없더라도 예약이 가능합니다.  boolean
              , INSTANCE 작업 수행에 사용할 인스턴스를 입력합니다. (다중 인스턴스인 경우 수행 인스턴스를 특정하기 위한 옵션인것 같습니다.) 인스턴스 번호 
              , FORCE   기본값은 false이며, true로 할 경우 인스턴스의 상태와 관계 없이 모든 인스턴스를 번호를 입력할 수 있습니다. False일경우 실행중인 인스턴스만 입력할 수 있습니다. boolean
  );

사용예
ㄱ) 1회성 작업의 즉시 실행 예약
DECLARE
    JOB_NO NUMBER;
    JOB_NAME VARCHAR2(4000);
BEGIN
   JOB_NAME := 'TESTPROC('''||#변수#||''');';
   DBMS_JOB.SUBMIT(JOB_NO, JOB_NAME);
  /*대부분의 속성이 기본값을 갖고 있기에 생략할 수 있습니다. 이렇게 잡을 수행시킬 경우 1회 수행 후 목록에서 사라집니다. */
END;

ㄴ) 반복예약
DECLARE
    JOB_NO NUMBER;
    JOB_NAME VARCHAR2(4000);
BEGIN
   JOB_NAME := 'TESTPROC('''||#변수#||''');';
   DBMS_JOB.SUBMIT(
                             JOB_NO
                           , JOB_NAME
                           , SYSDATE
                           , 'SYSDATE + 1'
                           );
END;

반복 예약의 경우 interval 이 중요합니다. INTERVAL 세팅에 대한 자세한 정보는 다른 블로그를 참조하시면 될 것 같습니다.  원하는 시간에만 DB 작업 실행하기

다. 작업변경 

작업 변경의 경우 no_parse 옵션이 없는 것을 제외하면 나머지가 작업 예약과 동일합니다. 
MS_JOB.CHANGE(    

JOB ID USER_JOBS테이블에서 확인할 수 있는 작업번호숫자
   , WHAT 파라미터를 포함한 작업대상 저장 프로시저, 임의 프로시저를 VARCHAR 4000
문자열 형태로 입력할 수 있습니다.
 , NEXT_DATE 다음 수행일시 : 기본값은 SYSDATE, 작업 시작시간                 DATE
 , INVERVAL  반복 작업 수행시 다음 작업이 수행될 시간을 계산하는 함수  VARCAHR 200
 , INSTANCE 작업 수행에 사용할 인스턴스를 입력합니다. (다중 인스턴스인 인스턴스 번호 
 경우 수행 인스턴스를 특정하기 위한 옵션인것 같습니다.)
  , FORCE 기본값은 false이며, true로 할 경우 인스턴스의 상태와 관계 없이 모든 인스턴스를 번호를 입력할 수 있습니다. False일경우 실행중인 인스턴스만 입력할 수 있습니다. boolean
    );      

라. 기타명령 

작업 중지
DBMS_JOB.BROKEN(  
 JOB IDUSER_JOBS테이블에서 확인할 수 있는 작업번호숫자
 BROKENtreu일경우 작업의 수행을 정지시킴 (수행되고 있는 작업이 있을경우 완료된 후 ) false일 경우 수행 정지를 해제 BOOLEAN
 ,NEXT_DATE작업 수행 시작일시 DATE
   );   

작업삭제 
DBMS_JOB.REMOVE(  
 JOB IDUSER_JOBS테이블에서 확인할 수 있는 작업번호숫자
   );   

보통 이정도만 알고있으면 대게 사용하는데 지장이 없습니다. 그 외에도 INSTANCE 변경,INTERVAL 변경, NEXT_DATE 변경 등 다양한 옵션이 있습니다. 그렇지만 CHANGE 하나만 알면 개별적인 것들은 중요하지 않기에 기술하지 않겠습니다.

10G 이후에는 SCHEDULER 를 통해서도 비슷한 작업을 수행할 수 있습니다. 더 발전된 형태이고 쓰기도 편하긴 합니다. 

이상입니다. 수정이나 의견이 있으신 분은 댓글 달아주시면 고맙겠습니다.


연관된 문서가 있습니다.
대용량 데이터 처리 1. java 다중쓰레드 활용
대용량 데이터 처리 2. 오라클 병렬처리 parallel
대용량 데이터 처리 3. 테이블 파티셔닝
대용량 데이터 처리 4. DBMS_JOB