'분류 전체보기'에 해당되는 글 144건

  1. 2011.08.21 잘못된 표현.. 수입산..
  2. 2011.08.21 ktx 싸게 타기?! 할인 카드 발급 ?!
  3. 2011.08.21 [C,C++] 포인터 변수에 왜 타입을 지정하는가?!
  4. 2011.08.21 사량도 2박 3일 여행~ (2)
  5. 2011.08.20 제주 우도 해수욕장에서 상어가?!
  6. 2011.08.20 미수거래와 반대 매매..
  7. 2011.08.20 사량도 2박 3일 여행~ (1)
  8. 2011.08.19 서킷 브레이커 와 사이드 카
  9. 2011.08.18 대구 세계 육상 대회 스타디움 방문...
  10. 2011.08.18 풋 옵션 거래....
  11. 2011.08.18 연금 복권이 알고 보니 사기?!
  12. 2011.08.17 [자료구조] 자료구조는 왜 필요한 것인가...
  13. 2011.08.17 [C,C++] C 포인터란 무엇인가..
  14. 2011.08.17 [openCV] openCV 영상 이진화 하기.. 1
  15. 2011.08.16 [openCV] OpenCV 웹캠 입력 검은 화면이나 회색 화면이 뜰 때...
  16. 2011.08.16 [openCV] OpenCV 웹캠 영상 입력 받기 5
  17. 2011.08.16 [openCV] OpenCV 2.1 버전 설치하기 ( VS 2008 )
  18. 2011.08.16 국산(한우), 국내산의 차이....
  19. 2011.08.16 소고기, 그 등급 판정의 미스테리...
  20. 2011.08.12 if문 내부의 조건식의 순서를 바꿔쓰자! 1
  21. 2011.08.12 C++ assert() 함수 사용하기..
  22. 2011.08.12 女 직장인 희망 남편 연봉 4045만원?! 1
  23. 2011.08.09 [API] 메세지 박스 만들기
  24. 2011.08.07 [API] 여러 가지 출력 들 ( 픽셀, 선, 사각형, 원 )
  25. 2011.08.07 [API] DC 를 이용한 문자열 출력
  26. 2011.08.07 고지전 보고 왔습니다. (약간 스포일러 있음)
  27. 2011.08.05 내 주민번호로 가입된 사이트를 알아보려면?!
  28. 2011.08.05 [API] 다양한 현재시간과 현재날짜 얻기 1
  29. 2011.08.04 게임 주들 줄줄이 상한가?!
  30. 2011.08.03 [API] DC ( Device Context ) 란..........

우리는 살다보며, 흔히 아무생각 없이.. 수입산.. 수입산 이렇게 얘기하곤 한다.

어미 -산 이란 의미는 그 곳에서 생산된 이라는 의미이다...

국내산 이라던지.. 머.. 통영산 굴.. 이런 식으로 어느 지역에서 난

이란 의미인데...

수입산..?!

수입에서 난 돼지고기??

머 흔히 외국산 이라는 의미로 보지만.. 수입산이라니??

생각해보면 이상하지 않는가?!

수입 자체의 네이버 어학 사전의 뜻이다..

수입 [ import , 輸入 , ゆにゅう ]

<유통> 외국산 물품을 사들여 옴.

외국산 물품을 사들여 옴 이라는 뜻인데...

수입 + -산 이면...

외국산 물품을 사들여 온 곳에서 생산된.. 이라고 생각해보면..

말이 안맞다....

정확히 잡자면..

프랑스산 돼지고기, 칠레산 돼지고기, 외국산 돼지고기..

처럼 써야 맞을 것이다...

아니면 -산을 빼고.. 수입 돼지고기.. 이렇게 사용하든지

하지만 머.. 이 글 쓴다고 검색해보니 1990년도에 이미

신문에 수입산이라는 단어가 등장할 정도이니...

흠.. 이런 어페가 있는 말은 사용을 가급적 안하려 해야 할

것이다...


Posted by 바람처럼..
|

ktx가.. 참 빠르고 편하다...

요즘 계속 타고 다니다가.. 한번씩 무궁화를 타보면..

좌석은 머.. 큰 차이가 없지만.. 시간 때문에... 훨씬 피곤하다....
(산천 좌석이.. 제일 나은 듯... )

하지만 ktx의 가격은 정말.. 후덜덜 하다..  조금만 더 보태면.. 비행기 탈 정도..

머 가끔 타시는 분들이야.. 머.. 빠르고 편하니깐.. 하시지만...

자주 타는 사람들에겐.. 영 부담이 아닐 수 없다...

얼마전에 사장님과 서울로 출장을 갔는데.. 영수금액이.. 응? 기본 동대구~서울

은 4만원대 였는데.. 3만원대 초반이였다....

아니 어떻게 이렇게 할인이 된거지? 하고.. 물어봤는데...

ktx 할인 카드가 있었다.. 자주 타는 사람들을 할인해주는...

이런.. 지금까지 거의 7~8개월 기차 타고 다녀도.. 제값 주고.. 포인트 적립이나

했는데 이런 방법이 있었다니...;;

물론.. 타인 양도는 안된다.. 이 경우는.. 사장님 카드로 같은 시간 동시에 발급

받았기 때문에.. 가능한 것이다..

어쩃든... 이제 방법을 알았으니.. 어떻게 가입하는지 알아보자..

먼저 코레일 홈페이지에 가입을 하던지, 아니면 역 창구로 가서 발매할 수 있다

코레일 바로가기

철도 회원이여야 발급 된다던지 하는 것은 확인 못했는데.. 나 같은 경우는..

현재 철도 회원이라.. 바로 발급이 되었다...

철도 회원도.. 홈페이지에서 가입할 수 있고 가입비 1만원이 들지만...

포인트 적립을 생각해보면..  자주 타시는 분들은 가입 꼭 하시길..

5%적립이 적은 금액은 아니다..

나 같은 경우는.. 홈페이지에서 가입했기 때문에

홈페이지 방법으로 설명한다..


홈페이지 상단의 나의 정보에서 할인 카드/쿠폰 항목에 들어간다..

그럼 옆의 메뉴에서 할인 카드 발급 란으로 들어간다.


그러면 할인카드의 설명에 대해 나온다....

각 항목에 따라 요금이 좀 차이나는데...

이 분류는 단순히 나이이다...

그러니.. 대학생정도 까지도.. 청소년을 끊을 수 있으니.. 가격 대비 이익을 따

져보고 가입해야한다..


이 것이 사용 안내인데..

머.. 그냥 본인만 쓴다면 아무 문제 없다...

자.. 앞으로는.... ktx 꼭 할인받고 싼가격에 타고 다니자~!!

아 할인률이 평일, 주말에 따라 다르니.. 자신의 패턴도 꼭 확인해 보시고..

6개월에 10번 20번 이상 안타시는 분들은.. 크게 의미가 없으니...

꼭.. 계산 해보시고 구입을 하세요~

'잡동사니' 카테고리의 다른 글

금값 폭락?!  (0) 2011.08.26
잘못된 표현.. 수입산..  (0) 2011.08.21
제주 우도 해수욕장에서 상어가?!  (0) 2011.08.20
미수거래와 반대 매매..  (0) 2011.08.20
서킷 브레이커 와 사이드 카  (0) 2011.08.19
Posted by 바람처럼..
|

포인터 변수는 다음과 같이 정의할 수 있다..

int *a ;
float *b ;
double *c ;
char *d ;

이렇게 말이다..

그런데 저 포인터 변수들의 크기는 얼마일까??

int 는 4바이트,, double은 8바이트, char는 1바이트 일까??

결론을 말하면.. 모두 4바이트 이다....

포인터 변수는.. 주소값을 저장하는 거지.. 변수의 값을 저장하는 것이

아니기 때문이다...

그렇다면.. 모두 4바이트라면.... 그냥 처음부터..

포인터 변수 자료형을 만들어서 선언하면 되는 것이 아닐까??

예를 들면

point * p ; 같이 말이다....

어차피 모두 4바이트고..

int *a 를 선언했다가.. double 변수의 주소를 받고싶으면...
double d = 1.0f ;
(double *) a = &d ;

처럼 형 변환을 거쳐야 하는 수고도 덜고..

point * p ;
double d = 1.0f ;
p = &d ;

이렇게 쓸 수 있지 않을까???

하지만.. 모든 일에는.. 다 의미가 있는 법..

사실.. 포인터 변수에 형이 필요한 것은.. 포인터 변수 때문이 아니라..

나중에 연산을 하려다 보면 필요한 것이다....

포인터 변수자체는 4바이트 이지만..

나중에 int형 포인터 변수에 int형 주소를 저장하고..

그 int형 포인터가 가리키는 주소의 값을 받아오면..

int형 포인터 변수기 때문에 주소값으로 부터 4바이트의 값을 받아온다...

하지만.. 이것을 하나로 통일해 버리면..

받아올 값이.. int라 4바이트, double이라 8바이트, 머 구조체라서 24바이트 처럼..

컴퓨터가 알아서 가져 올 수 없기 때문에...

우리는 미리 형을 지정해 두어서.. 그 포인터 변수가 어떤 값을 가져올 때..

그 포인터 변수형의 바이트 수 만큼 그 주소에서 읽어 오는 것이다...

그러니 포인터 변수를 사용할 때는 꼭, 받아올 변수의 자료형으로 선언하자!

'프로그래밍 > C,C++' 카테고리의 다른 글

[C,C++] scanf 와 fgets  (0) 2011.08.27
[C,C++] sprintf 사용하기...  (2) 2011.08.23
[C,C++] 문자열에 대하여...  (0) 2011.08.23
[C,C++] 배열의 초기화..  (0) 2011.08.22
[C,C++] C 포인터란 무엇인가..  (0) 2011.08.17
Posted by 바람처럼..
|

신나게 놀다보니.. 어느덧... 집에 돌아갈 날이 되어버렸다....

머 그 사이에 낚시도 실컷하고,, 고기도 구워먹고,, 자고.. 잘 쉬었다..

사량도가.. 섬 자체가 크다보니.. 해안가를 따라 한바퀴 도는 코스가.. 괜찮다..

요즘은 도로도 새로 만들어 더욱 그렇단다...

또 옥녀봉 등.. 등산으로도 유명하단다.. 다음엔 등산에 도전해 봐야지..

지금 부터는 한바퀴 일주 하면서 찍은 사진들..


이런 마을들이 꽤 많았다...

 


섬인데도.. 그냥 해안가 마을 같은 느낌.

 

물이 정말~ 깨끗해용~


멀리 보이는 등대도 찍고..

 

아까 그 마을이 이만큼 멀어졌다..


이제 거의 다 돌았나 보다.. 이 사진은의 반대편 섬이 바로 사량도 하도..


반대편 섬이 조금 작지만.. 그래도 다른 섬들 보다 크다...

 

이 것이 바로 사량도 행 배.. 올 때는 정신이 없어서 뒷쪽에서만 찍었는데..

앞에서 찍으니 정말 크긴 컸다..


배 위에서 찍은 사량도.. 머 기회가 된다면.. 다음에 또다시 오고 싶은 섬..

 

 


캬... 이렇게 2박 3일동안.. 사량도에서 쉬고 왔다....

물론.. 완전한 휴가로 온 것이 아니고.. 주말에 연휴를 맞아서 온거라..

다음 날 바로 회사에 가야하지만.. 그래도...

이렇게라고 한번씩.. 일상을 벗어나야... 새로운 활력이 생기지 않을까?

내년에는 또 다른.. 새로운 일상 탈출을 기대한다...


'일상생활 > 여행' 카테고리의 다른 글

사량도 2박 3일 여행~ (1)  (0) 2011.08.20
Posted by 바람처럼..
|


기사 원문 보기 

요즘 주말만 되면.. 날씨가 나빠서 정말 놀로가기 힘든 날씨다...

그런데 여기서 이런 기사까지?!

 제주시 우도 서빈백사해수욕장에 상어 1마리가 출현해 해수욕을 즐기는 분들

과 해녀 분들에게 각별한 주의가 요구 되고 있단다 ;;

일단 최초에 발견하고 신고하신 분이 동영상 촬영을 해둬서 알아보니..

청새리 상어라고 확인됬다고 하는데.. 이거.. 무서워서 해수욕도 제대로 못

할 지경..

청새리상어는 온대 및 열대 해역에 분포하며, 공격적 성향이 강해 보트나 사람

을 공격하기도 하는 것으로 알려져있단다..  

해양 긴급 번호 '122'로 신고하면 해경이 출동해서 처리해 준다니...

상어가 아니라도 물놀이 하시는 분들.. '122' 번호는 기억하시고...

흠.. 점점 아열대 기후로 우리 나라가 바뀌어 가는 것 같아.. 걱정이다..

요즘은.. 소나기도.. 평범한 소나기가 아니라.. 몰아서 오는 스콜 같은 느낌..

아.. 옛날이여...

매년 달라지는 날씨에.... 점점 두려움이 커진다...


Posted by 바람처럼..
|

주식을 하다보면.. 주식 설명에 증거금 30% 20%.. 라는 등..

증거금 이라는 말이 있다...

그렇 다면 증거금이라는 의미는 무엇인가??

주식은 내 돈으로 그 만큼의 주식을 사는게 아니였던가??

결론만 보면 아니다..

여기서 나오는 것이 미수거래.. 이다...

미수 거래는 전체 주식매입대금의 30% 이상에 해당하는 증거금을 내고

주식을 외상으로 사는 제도이다. 이틀 뒤인
결제일까지 돈을 갚지 않으

면 증권사가 반대매매를 통해 계좌에 있는 주식을 판다. 자칫 실수로라

도 미수금이 발생하면 다른 주식 계좌도 동결돼 불이익을 받을 수 있

다.  앞으로 미수거래 잔금을 완납하지 않으면 30일간 모든 증권 계좌가
동결돼 증거금으로 현금 100%를 내야만 한다.

주식에서의 결제일은.. D+2일이다.. 현재 주식을 매수 주문을 내고,

주식을 보유는 하고 있어도.. 실제로 그 주식이 움직이는 것은...

3거래일 이후의 일이다.

(즉, D+2이라고 목요일에 산게 토요일에 정산되는 것이 아니고,
월요일에 정산이 된다. )

그리고 매도를 했을 적에도.. 수요일에 팔아도 그 돈을 실제로 인출할

수 있는 시기는 월요일이 되는 것이다..

자 그럼 반대매매를 자세히 알아보자.. 저 위의 설명에도 있지만,

만약 미수거래를.. 했는데.. 3거래일 이후에 계좌내에 그 주식을 살 돈이
없다면,.. 해당 증권사에서 자동으로 그 주식을 팔아 버리는 것이다..

현재 주가가 올랐든, 내렸든 전날 하한가로 팔아버린다...

그런데.. 그렇게 팔았을 때 주가가 올랐으면 상관없는데, 엄청 떨어지면

이제 문제가 되는 것이.. 다 털고도 실질잔고가 마이너스인 계좌의 잔여

미수금을 '무담보미수채권(속칭 깡통계좌)'이라 한다.

그리고 자신도 모르게 주식이 사진다고 미수 거래가 될 수있는데..

내가 이용하는 키움 증권의 hts 같은 경우는 자기 증거금율을 조정할 수

있다.. 그래서 항상 100% 맞춰놓고 주식하기 때문에..

최소한 빚 질 일은 없지만... 모두들.. 미수거래는..

정말.. 확신이 있을 때.. 그 때도.. 한번 더 고민하고 주식을 사야하겠다.

Posted by 바람처럼..
|

작년은 여름에 휴가도 못갔었는데..

올해는 광복절이 포함되어 3일 여유가 생겨서.. 가족 여행을 다녀 올 수 있었다.

통영의 가오치 선착장에서 출발할 수 있는 사량도 라는 섬에 다녀왔다...

이 곳은 차를 가지고 들어갈 수 있는 상도와 하도로 나눠 질 정도로 큰 섬이다..

배 시간은 가오치 선착장에서는 7시 부터 2시간 단위로 있고,

반대로 사량도에서는 8시 부터 2시간 단위로 있다...

(단, 사람이 많이 몰리는 성수기, 주말 등은 1시간 단위로도 있을 수 있으니..

선착장에 문의하면 가르쳐 준다.)

사람들이 몰릴 걸 예상하고 7시 배를 타기 위해, 집에서 5시쯤 출발하였다...

이미 차들이 많이 와있던데.. 다행히 표를 끊고, 배를 대기하다가 6시 반쯤..

승선을 시작하였다..


배에서 바라본 바다.. 광복절 때문인지.. 항상 달아 놓는 것인지.. 태극기가..


배 뒷편의 공간을 찍었다...


선착장 옆 배경..



새벽 구름을 뚫고.. 내려온 햇빛... 정말 장관이였다..

 


이제 도착하게된 민박집...

친절한 주인 아저씨와 주인 아주머니 덕분에 잘 쉬고 왔다..

다음은 민박집 전경이다...


이 것은 방 내부..


마지막 사진은 방문에서 밖을 보고 찍은 것이고.. 여기말고 방이 3개 더 있었다.

방도 정말 넓고 좋았다...


그리고는 바로 낚시~

머.. 잡어긴 했지만.. 나름 고기도 꽤 잡혔고....

다시 민박집으로 돌아와서..

점심부터 고기를 먹었다 ;;


역기 고기는 숯불에 구워야 제 맛... ;;

역시 휴가는.. 자고 먹고 놀고.. 이 맛인 것같다...

첫날은 이렇게.. 낚시하고, 낮잠자고,, 고기 먹고..


'일상생활 > 여행' 카테고리의 다른 글

사량도 2박 3일 여행~ (2)  (0) 2011.08.21
Posted by 바람처럼..
|



요즘들어.. 주식 시장이 요동치고 있다... 어느날은 상한가.. 다음날 하한가..

상한가.. 하한가.. 이거 머.. 어느쪽을 바라봐야할지 모르는 상황이다..

이러다 보니.. 풋옵션 대박 같은 소위 로또 당첨도 나오고...

흠.. 아무튼.. 떨어지는 주가앞에.. 가슴이 아프다.... ㅠ,ㅠ

그리고 요즘 들어 다시 회자 되고 있는 용어들이 있다..

바로 서킷 브레이커와 사이드 카 이다...

서킷 브레이커라는 용어의 유래는  전기 회로에서 회로의 과열을 차단해 주는

장치가 바로 서킷 브레이커라는 장치인데, 주식시자에서 주가가 갑자기 급락하

는 경우 시장에 미치는 충격을 완화하기 위하여 주식매매를 일시 정지하는 제

도로 '주식거래 중단제도'라고도 한다.

발동 조건은, 종합주가지수가 전일에 비해 10% 이상 하락한 상태가 1분 이상

지속되는 경우 모든 주식거래를 20분간 중단시킨다. 서킷브레이커가 발동되면

30분 경과 후에 매매가 재개되는데 처음 20분 동안은 모든 종목의 호가접수 및

매매거래가 중단되고, 나머지 10분 동안은 새로 호가를 접수하여 단일가격으로
처리한다.

주식시장 개장 5분 후부터 장이 끝나기 40분 전인 오후 2시 20분까지 발동할 수
있고, 하루에 한 번만 발동할 수 있다. 한 번 발동한 후에는 요건이 충족되어도

다시 발동할 수 없다.

그럼 사이드 카에 대해 알아보자..

사이드 카는 선물시장이 급변할 경우 현물시장에 대한 영향을 최소화함으로써

현물시장을 안정적으로 운용하기 위해 도입한 프로그램 매매호가 관리제도이

다.

선물가격이 전일 종가대비 5% 이상(코스닥은 6% 이상) 상승 또는 하락해 1분

간 지속될 때 발동하며, 일단 발동되면 발동시부터 주식시장 프로그램 매매호

가의 효력이 5분간 정지된다.

 5분이 지나면 자동적으로 해제되어 매매 체결이 재개되고, 주식시장 후장 매매

종료 40분 전(14시 20분) 이후에는 발동할 수 없으며, 또 1일 1회에 한해서만 발

동할 수 있도록 되어 있는 점은 서킷 브레이커와 비슷하다고 생각된다..

쉽게 생각해서.. 사람들이 지금 마구마구 떨어지는 주가를 보고.. 내용을 보는

게 아니라.. 심리적 압박으로 마구마구 주식을 팔아버리면..

떨어지는 주가는 계속 떨어지니.. 약간의 숨 고르기를 하고 가는 것 정도로

보면된다.. 하지만.. 정말 상황이 안좋아서 떨어지는 것이면..

회복이 불가능 하겠지만 말이다..

정말 이런 시기일 수록.. 저가 매수의 기회로 잡을지.. 관망하고 있어야 할지..

헷갈리는 시기인데..

모두들 성투 하시길...


 
Posted by 바람처럼..
|

 머 회사일도 있고해서 세계 육상 선수권이 열리는 대구 스타디움에 다녀왔다....

날씨도 흐리고.. 그래도 날은 덥고.. 가야할 곳을 방향을 잘못 잡아서.. 스타디움을 한바퀴 돌았지만..

나름 괜찮았다...  폰으로 찍은 사진이라.. 화질이 좀.. 그렇지만.. 볼만은 한 듯.

 



위 사진이 스타디움에서 바라본.. 매표소 사진이다.. 처음에 멀리서 보고는.. 굴뚝인가.. 했는데 매표소 였다 ;;


 



현재 위치가.. 스타디움의 남쪽 에서 스타디움을 바라본 곳이라고 보면 된다..


정면에서 바라본 스타디움이다.. 안까지 들어갈 수는 있지만.. 다른 볼일이 있으니 패스.

 


그리고 여기가.. 이제 주 목적이 될.. 흠.. 건물이름을 까먹었네 -_  -;; 하이튼 그곳인데..

아직은.. 마감 공사가 덜 되서 조금은 어수선하다...


 그 곳을 돌아서 가던 방향으로 가다보니.. 벌써 중계기 설치를 시작했나보다...


( 스타디움을 아까 작은 지도가 있는 곳이 남쪽이라고 봤을 때.. 동쪽에서 스타디움을 찍은 사진 )


조금 더 올라오니.. 저런 홍보관도 있고.. 그 주변에 분수도 있고.. 터도 넓었다.. 그리고 이 옆으로  vip 출입구가 있었는데..

정확히 그 vip들이 누구를 말하는 건지 모르겠다...


스타디움 뒷편으로 오니.. 이런 등산로?  산책로? 도 있다.. 흠.. 이거 생각보다 한바퀴 도는 것만으로 운동이 된다 ;;

땀나기 시작 ;;

 


아 이제 목적으로 삼고 찾았던 체험 홍보관에 도착했다 - _-;;

알고보니 내린 주차장에서 제일 가까운 건물이였지만, 나무에 가려져 있어서..

한바퀴 다 돌고야 도착했다 ;;


 내부에 전시되어 있는 체험 부스들이다.. 100m 달리기도 해볼 수 있고, 창던지기도 있다..


또 다른 체험 부스.. 키넥트 스포츠 게임인데.. 저렇게 붙어 있어서 인식이 되려나 ㅎㅎ;; 개인적으로 저 게임을 해봐서..

저렇게 붙어 있으면 문제가 좀 생긴다..

그리고 이 뒤로 더 들어가면 다른 전시된 관이 하나 더 있는데.. 사진을 못 찍었다 ;;

일단 홍보관은.. 어제부터도 이미.. 열어 놓고, 도우미도 다 배치되어 있으니.. 한번 미리 들러서 보시는 것도 괜찮을 것 같다..

실제 세계 육상 선수권 기간은 8월 27일~ 9월 4일 까지이니.. 그 때는 도로 통제도 심할 것이고..

지금 한산할 때 다들 구경한번 쯤 가보시길..

 

Posted by 바람처럼..
|


흔히 우리가 생각하는 주식거래는.. 실제 주식을 가지고 하는 거래이다...

하지만 주식시장에는 주식을 제외하고도 여러가지 파생상품이 있다.....

그 중에 하나가 옵션 거래이다...

방금 풋 옵션으로 대박을 터트린 기사가 났다....

기사 원문 보기

흠.. 머랄까.. 위의 기사는 사람들에게 옵션 거래라는 대박 환상을 줄 우려가 있다...

댓글에도 있지만, 옵션거래라는 것은 정말 위험하다..

예전에 소액이긴 하지만.. 몇십만원을.. 옵션에 투자했다가 한달만에 깡통이 됬다.....

그 이후로는 옵션을 쳐다도 안보는데.. 그 사람은 1700만원 투자해서 거의 76배, 13억 정도가 되었다고 한다....

물론... 가능한 말이다.. 투자 방향만 확실히 했고,, 급락이나 급등만 있다면...

아 여기서 풋 옵션에 대해 좀 설명을 하자면..

옵션 거래는.. 현재의 가치가 아니라 앞으로의 가치에 투자를 하는 것이다...

콜과 풋 2종류가 있는데 콜은 앞으로 주가나 지수가 상승 할 것 같을 때... 나중에 만기일에 현재 배팅된 지수 가격으로 살 수

있는 권리를 사는 것이다...

예를 들면.. 현재 코스피200 지수가 240 이다.. 하지만 1달뒤에 250에 갈 것 같다...

그렇다면 코스피 200 240 콜을 사면된다.. 그럼 1달뒤에 250에 가더라도 나는 240의 가격으로 살 수 있는 권리를 샀기 때문이다

반대의 경우가 콜이다.. 현재 240 인데.. 1달뒤에 230이 될 것 같다..

그럼 240 풋을 사면된다.. 그럼 1달뒤에 230에 가더라도 나는 240의 가치로 판매를 할 수 있는 권리를 가진다...

이게 옵션인데..

솔직히 이분은 무모해서.. 로또 맞은거라고 보면된다..

기사 본문에도 있지만, 조언해준 선배는 조언은 했지만 사지는 않았단다.. 그만큼 전문가라면.. 솔직히 하기 힘든 배팅이다...

특히 1700만원의 고액은...

이 분은.. 옵션은 잘 몰랐고, 지인에 대한 신뢰가 깊으며, 현재 여유돈이 1700이 있었기 때문에..

이 여러가지가 합쳐져서 이루어진 결과이다..

이 기사만 보고.. 옵션이라는게 좋은건가 보다.. 하고 잘 못들어가다간.. 깡통을 면하지 못하니..

옵션 거래.. 가급적 지양해야 될 것이다...

아니면... 신내림 급의 찍기 실력이 있다면 또 몰라도 ;;..

Posted by 바람처럼..
|



 흠.. 제목은 좀.. 과격하게 적긴했는데..

사기 라기 보다는.. 원금을 가지고 이자만 지급하는 방식이라는 말들이 많다....

그 사람들의 논리는 이렇다..

흠.. 쉽게 생각해 보면 500만원씩 20년이면, 총 12억이다...

요즘 은행이자는 이런 고액일 경우 대략 4% 정도로 잡을 수 있다.. 그렇다면..

1200000000 * 0.04 = 4800만원 이다....

그리고 세금을 제하고 받는 돈이 대략 390만원대 라고 한다..

그렇다면, 약 400으로 잡고 12를 곱하면 딱 4800만원이 떨어진다 ;; ㅎㅎ

대충 보면 이자만 가지고도 총 지급이 가능하다...

하지만 여기서 생각안한 것이 지급금은 세금을 제하였고, 일시불에는 12억 그대로 계산하였다..

12억원이면 33%의 제세공과금을 낸다면, 약 8억 400만원이 된다... 한 8억으로 보고.

800000000* 0.04 = 3200만원이다...

그렇다면 계산상으로 한 1600만원정도의 돈이 남는데..
 
그거야 원금은 복권위원회에서 관리하니 그 돈의 수익으로 충분하지 않냐는 말이다...

이런 논란이 거세지니까 연금복권 측에서도 반대 논리를 제시했다...

그리고 솔직히 나도 이쪽이 더 맞는 얘기인 것 같다...

일단 연금복권의 총 발행금액은 64억 정도란다... 로또는 무한정 판매할 수 있지만,

연금복권은 한주에 발행양이 정해진다는 말이다...

그래서 사행성 조장은 아니라는 의견이다.. 머.. 복권의 사행성이야 로또도 있으니..

괜히 덤탱이 쓰는 느낌이라 피했다고 치고,

복권을 판매한 이익금으로 수익을 창출하기 위해서 전액 국채를 산다고 한다...

채권이 다른 수단보다야 당연히 이득이 적어지는 것은 사실이지만 안전은 하다..

이 사람들도 20년동안 보장해야되기 때문에 위험은 가져갈 수 없는 것이다...

그리고 이게 가장 중요한 것 같다...

저 위에 논리는 가장 큰 대 명제가 틀렸다....

500만원을 20년동안 받으면 12억이니.. 일시불로 받으면 훨씬 이익인데 이자만 지급한다..에서...

12억을 받으면.. 이라는 명제 자체가 잘못되었다...

이 복권의 어차피 원 목적은.. 500만원을 20년 동안 줄께.. 라는 목적이였지...

그걸 한번에 다 받을 생각은 애초에.. 없었던 계획이다.. 근데 그 계획이 잘못 되었니.. 이자만 지급하고 원금은

받아가니 하는 논쟁은.. 애초에 생기면 안되는 거였다...

거기다가.. 물가상승률이 어쩌고 하는데... 그 것도 위의 얘기와 비슷하다.. 애초에 500만원을 20년동안 줄께였지..

그걸 물가 상승률을 대입할 이유가 없는것이다.....

생각해보면.. 일단 복권에 당첨된다면, 안된 것 보다는 좋은 것이고, 또 안되더라도 그 기대감으로 한 1주일 2주일

사는 것이 자그마한 재미인데..

이런 만약 이렇다면 이라는 수학적 잣대로 보게 된다면.. 그런 벼락맞을 확률보다 적은 로또는 왜 할 것이며,

돈 번 사람보다 못 번 사람이 많은 주식은 왜 다들 하는 것인지를 어떻게 설명할 것인가....

하기 싫은 사람은 안하면 되고, 그냥 한주동안 혹시 하는 기대감으로 복권을 구입하는 많은 사람들을...

이런 당첨되지도 않은 돈에 신경쓸 필요가 없다고 말하고 싶다...

일단 그런 얘기를 하고 싶다면.. 당첨부터 되고 국가를 상대로 소송을 하든 하시길....
Posted by 바람처럼..
|


컴퓨터 알고리즘을 공부하다 보면 자료구조 라는 이야기가.. 항상 같이 나온다...

그렇다면 자료구조는 무엇인가??

쉽게 예를 들어보면, 문구점에 가서 볼펜을 사려 할 때, 빨강, 파랑, 검정, 모두 어지럽게

한 공간에 꽂혀 있다면, 우리는 한 눈에 바로 내가 원하는 물건인지 확인을 하기 위해 하나씩 꺼내 봐야 할 지도 모른다...

하지만, 각 칸을 나눠서 여기는 빨강, 파랑, 검정, 그 중에서도 굵은 펜, 가는 펜 이렇게 분류가 되어있다면,

우리가 의사결정을 하는데 더 쉽고 수월할 것이다...

이것이 바로 자료구조인 셈이다...

이 것을 프로그램의 입장에서 바꿔보면, 데이터들이 중구난방으로 펼쳐져 있다면, 쉽게 접근하기도 어려울 뿐더러..

혹시 사용하게 되더라도 검증을 하거나, 처음부터 하나씩 빼서 확인하는 수 밖에 없다..

하지만 구역 별로 데이터들이 나눠져 있다면, 필요한 조건이 아닌 부분은 제외하고 검색을 하거나 할 수 있다..

이것은 바로 프로그램의 속도의 향상을 가져온다...

이렇게 같은 동작을 하는 프로그램이더라도, 얼마나 설계를 잘 했느냐, 꼭 필요한 자료구조를 사용하였나에 따라서

내부적으로 (혹은 외부적으로도) 더 빠르고, 버그가 없는 프로그램이 될 수 있을 것이다.

자료구조는 이론적인 부분과 효율적인 부분을 모두 다뤄야한다.

이론적으로 그래프 이론, 집합이론 등의 이론을 바탕으로 알고리즘을 분석하여 검색, 정렬 방법을 결정하고

효율적인 부분에서는 최상의 상태를 분석하여 결정해야한다..

이렇게 다양한 자료구조에 대해 이해하고, 논리적이고 수학적인 분석을 통해 최적의 알고리즘을 개발할 수 있는

이론적인 능력을 갖춰야지만 실제 시스템을 개발할 수 있는 고급 개발자가 될 수 있을 것이다..

자료구조는 크게 3가지로 나눌 수 있다..

선형구조, 비선형 구조, 파일 구조 이다...

선형 구조는 자료들간의 앞뒤 관계가 일대일로 고정되어 있는 구조로서, 리스트, 연결리스트, 스택, 큐, 덱 등이 있다.

비 선형 구조는 자료들간의 계층 구조나 망 구조를 갖는 자료구조로 트리와 그래프가 있다..

파일 구조는 서로 관련 있는 필드들로 구성된 레코드의 집합인 파일에 대한 자료구조로서, 보조기억장치에 데이터가

실제로 기록되는 자료구조다. 파일의 구성 방식에 따라 순차 파일과 색인 파일, 직접 파일 등이 있다...
Posted by 바람처럼..
|


포인터,, 언뜻 알고 쓰고 있는 것 같지만, 실제로 사용하다 보면 메모리 릭 문제나, 프로그램을 죽이는 가장 큰 원인이 되는

아주 프로그래머들의 천국과 지옥을 동시에 느낄 수 있게 하는 녀석이다....

편리하지만, 잘못 쓰면 독이 되는 아주 어려운 녀석이다..

오늘은 이 포인터에 대해서 정리를 해볼까 한다...

그렇다면 먼저 포인터란 무엇인가에 대해서 생각해 봐야겠다...

포인터는 한마디로 정의하자면, 메모리의 위치를 표현한 기호라고 생각하면 된다..

int a; 라는 변수를 선언 하였다고 생각해 보자..

a라는 변수가 할당되면서 메모리 주소에는 4바이트 공간이 할당되고, 그 공간의 시작 위치부터 메모리의 주소(번지)를 가지게

된다..

우리가 흔히 a = 4 ; 이런 대입식을 쓰면 a라는 변수에 기록된 메모리 주소에 4를 입력하게된다.. 이런 처리들이 컴파일러와 프

로그램 내에서 알아서 동작을 한다..

이 때 변수 a의 주소값을 가리킬 수 있도록 해주는 것이 바로 포인터 변수이다...

선언할 때 int *a ; 처럼 쓰는 아이들은 포인터 변수이다.. 이것이 중요하다...

*a 와 a 는 다르다..

a가 어떤 내용이 담기는 번지수가 가르키는 공간이라면, *a는 그 번지의 시작점을 가리키는 포인터 변수다....

이렇게 글로 적으면 좀 이해가 안되지만... 계속 머리속에 그려보거나 공책에 그려보면 이해가 될 것이다...

그리고 또 한가지 명심해야 할 것은 포인터 변수에는 주소값만 들어갈 수 있다는 것이다..

int a ;
int *b ;

라고 선언을 했을 때.. 선언 당시에는 int *b를 했지만 그 이후 사용할 때 *b를 쓰면 또 전혀 의도하지 않은 값이 된다..

이때 *는 연산자의 역할을 하기 때문이다...

선언 이외에  *b ; 를 쓰게 되면, *b는 포인터 변수 b가 가리키고 있는 주소의 내용.. 이 된다..

즉,

int *b ;
b = 4 ; << 이 것은 b에 4라는 주소값을 가리키라는 의미이고,

*b = 4 ; << 이것은 현재 어디인지는 모르지만 b가 가리키고있는 공간에 4라는 값을 대입해라.. 라는 뜻이 된다...

일단 이 부분은 넘어가고,

선언된 a, b를 생각했을 때..

b = a ; 라고 적으면 당연히 의도하지 않은 값이 들어간다... 위의 b = 4 와 같은 의미가 되기 때문이다..

이때는

b = &a ; 이렇게 b에 a의 주소값.. 을 넣어줘야 제대로 동작한다...

이렇게 만들게 되면,

a = 4 ; 이렇게 a 에 값을 넣었을 때, *b를 출력해보면 4가 나온다.. 왜냐하면 b가 현재 가리키고 있는 주소는..

a 이기 때문이다..


이렇게 적고 보니, 굳이 왜 쓰는지 이해가 안될 수도 있지만,

참조의 개념에서 보면 정말 꼭 필요한 기능이다..

포인터 헷갈리지 말고 잘 써야할 녀석이다...


Posted by 바람처럼..
|

입력 받은 화면으로 무언가 처리를 하기 앞서서.. 가장 필요한 것이 이진화 인 것 같다...

물론 이진화 없이 바로 처리를 하여도 되지만, 이진화를 하지않고 바로 처리를 하게 된다면,

예상되는 조건들이 너무 많아진다...

이 모든 것들이 이진화를 함으로 해서 흑이냐 백이냐만 판단하면 된다...

(물론, 이진화를 하면서 잃는 부분도 있겠지만, 장점이 더 큰 듯하다. )

일단 기본적인 셋팅은 웹캠 입력과 동일하고 이진화 함수만 추가하였다...

이전 포스팅 보기.

이진화 함수는..

cvThreshold(const CvArr*  src, CvArr*  dst, double  threshold, double  max_value, int threshold_type) 라는 함수이다..

파라미터의 순서대로 이진화를 시킬 영상, 이진화가 된 후 저장될 영상, 경계가 되는 수치값, 그 것을 넘은 수치를 설정하는 값,

그리고 마지막으로 이진화 방식을 설정한다...

이진화 방식은 CV_THRESH_OTSU 으로 많이 하는데.. 그 외에도

#define CV_THRESH_BINARY      0  /* value = value > threshold ? max_value : 0       */
#define CV_THRESH_BINARY_INV  1  /* value = value > threshold ? 0 : max_value       */
#define CV_THRESH_TRUNC       2  /* value = value > threshold ? threshold : value   */
#define CV_THRESH_TOZERO      3  /* value = value > threshold ? value : 0           */
#define CV_THRESH_TOZERO_INV  4  /* value = value > threshold ? 0 : value           */
#define CV_THRESH_MASK        7

이런 정의가 더 있다...

그리고, 이진화를 하려면 단일 채널을 만든 후, gray 변환을 해야한다...

지금처럼 RGB를 모두 추가하여 실행을 하면, 프로그램이 죽는다 ;;;

그래서 간단히 gray라는 이미지 공간을 하나 더 만들고,

gray =  cvCreateImage( cvSize(640,480), 8 , 1) ; 로 이미지를 만든다..

여기서 사이즈는 받아올 이미지와 같아야 하고, 뒤의 1은 채널 수 인데 1로 설정한 건 단일 채널이란 뜻이다. 그다음.

cvCvtColor( const CvArr* src, CvArr* dst, int code ); 이 함수를 통하여, 색 공간을 변형 시켜 주면된다...

마지막 code는 F12로 따라가 보면, 많은 종류가 있는데 오늘은 이진화기 때문에, CV_BGR2GRAY 를 이용한다.

그렇게 해서 컴파일하면...


이런 화면이 나온다... 왼쪽이 원본 화면, 오른쪽이 이진화 화면이다.. 조명의 영향에 따라서..

또 색이 쉽게 바뀌는데 이것은 전혀 처리를 안한 것이기 때문에 또 여러가지 처리를 통해서 노이즈 제거라든지, 이런게 필요하다..

아래의 사진이 오늘 추가된 소스의 전부이다...



자세한 설명은 본문에 있기 때문에, 생략하고, 사진이 안보이면 클릭하면 크게 보인다...


Posted by 바람처럼..
|

흠.. 작업환경이 윈도우 7이고, 2010을 쓰며 OpenCV 2.2를 사용하여 작업을 하려 했는데...

큰 걸림돌이 발생했다...............

기본 적인 웹캠 입력 소스를 작성하였는데, 웹캠이 전혀 아무 동작을 안하는 것이다..

웹캠은 ms hd-3000을 이용했었는데,

드라이버 설정이 잘못 된 것인지, 아예 값도 안들어 오는 것이였다....

한참을 붙잡고 있다가, 불현듯 스치는 생각이 혹시 윈도우 7 때문이였을까 하여, 같은 소스를 릴리즈로 뽑아...

xp를 쓰고 있는 다른 회사 사람 컴퓨터에서 실행했더니... 된다 - _-;;;;;;

흠.. 그래서 openCV 카페부터 구글 까지 쭉 검색해 봤더니..

의외로.. 이런 경우가 많단다 ;;;

이유는 정확히 모르지만, 윈도우의 종류나, 웹캠의 종류나, 쓰는 소스의 방식 등의 문제들로 호환이 잘 안된다고

한다..

어쩃든 웹캠은 입력 받아야 하니... 부랴부랴 directshow를 이용해서 입력받았다...

그 이유도 카페의 한 글에서 경력자이신 듯한 분께서, openCV를 통한 입력은 여러가지 호환 문제가 있으니,

기본적인 입력은 directshow를 이용하면 좋다... 고 하는 글을 보았다...

혹시 이 문제가 생기신 분들은 안정성을 위해서라도 directshow로 입력받고 후처리에서 openCV를 쓰시는 방법을 추천한다..

directshow로 입력 받는 방법은

다른 포스팅 글에서 클래스를 추가해뒀으니, 그것만 받고 기본 예제만 실행해 보시면 금방 할 수 있을 듯 하다....
Posted by 바람처럼..
|


설치 방법 및 셋팅은 이전 포스트 참고.

이제 설치도 끝났고, 셋팅도 끝났으면 openCV를 이용하여 영상을 입력 받으면 된다...

#include <cv.h>
#include <highgui.h>

void main()
{
         IplImage* image = 0; //openCV에서 사용되는 자료형이다.
 
         CvCapture* capture = cvCaptureFromCAM(0); //현재 인식된 웹캠을 찾고,
         cvNamedWindow( "OpenCvCamtest", 0 ); // 화면을 그려줄 윈도우를 생성한다.

         cvResizeWindow( "OpenCvCamtest", 640, 480 ); // 사이즈를 조절한다.(lpIImage를 할당하면서도 조절가능)

         while(1) {
         cvGrabFrame( capture );
         image = cvRetrieveFrame( capture ); // 현재 인식된 장면을 받아오고image에 넣는다.

         cvShowImage( "OpenCvCamtest", image ); // image에 있는 장면을 윈도우에 그린다.

         if( cvWaitKey(10) >= 0 ) // 이게 가장 중요한데 이 WaitKey 함수가 없으면 아무 것도 안그린다.
                break;
         }

         cvReleaseCapture( &capture ); // 할당받았던 웹캠을 해제하고,
         cvDestroyWindow( "OpenCvCamtest" ); // 윈도우를 종료한다.
}

이게 기본적인 소스이다..

위의 소스를 입력하면 바로,


위와 같은 화면이 나온다...

일단 아무 처리도 하지 않은 상태의 캡쳐된 화면이 나온다...

소스는 대충 주석이 달린 의미대로 생각하면 되고,

위에 중요하다고 적은 cvWaitKey()에 대해서 알아보면,

파라미터로 들어가는 숫자는 밀리세컨드 시간으로 10 이면 0.01초를 말한다.

이 시간동안 키 입력 값이 없으면 진행된다는 의미로 보면된다..

그 시간 내에 키가 입력되면 true가 되면서 break 문을 만나 프로그램이 종료된다...

이제 openCV 걸음마 수준인데.. 점점 한가지씩 영상처리 기법들을 알아가며, 최종적으로는..

크로마키 배경 없이 배경 제거를 하는 정도를 목표로 꾸준히 공부해 가야겠다...

Posted by 바람처럼..
|

얼마전부터 영상처리쪽 관련하여 작업을 좀 하다보니,

흠.. 조금이라도 깊이 파고 들어 공부를 해볼 필요성이 있다고 생각이 되었다...

회사에서는 2010에 2.2 버전을 사용했지만,

머 딱히 집에서 공부용이라, 2008에 2.1 버전으로 설치하였다...

머 일단은 웹캠이 필요하니, 인터넷으로 저가형 웹캠을 하나 구입하였다...

먼저 설치 방법은,

다른 분들은 컴파일을 하고 파일을 복사하고, 이런 방법을 쓰던데..

나는 그냥 편하게 설치 파일을 가지고 설치하였다..


설치 파일 링크

위의 경로로 가면 바로 설치 파일 다운이 된다....

먼저 받은 실행파일을 실행하고, 다음 다음 해서 설치를 끝내면 기본 경로는 c:\ 에 openCV 2.1 폴더에 설치가 된다...

이 것을 기준으로 설명하면..

먼저 프로젝트를 생성한다.

콘솔로 생성하고 빈 프로젝트로 만든다...

그리고 사진이 안보이면 클릭하면 크게 보임.



위와 같이 옵션 창에서 포함 파일에 경로를 추가하고,


라이브러리도 똑같이 추가한다.

 


그리고 프로젝트 -> 속성 -> 링커 -> 입력 -> 추가 종속성에 

cv210d.lib highgui210d.lib 2개의 라이브러리를 추가한다. 

뒤에 d 가 붙은 lib 파일은 디버그용 릴리즈용은 d를 제거하면 된다...

그리고 프로젝트의 폴더 안에 cv210d.dll highgui210d.dll cxcore210d.dll 를 추가한다. 혹은 system32 폴더에 추가하면 된다..

이렇게 하면 기본적인 셋팅은 끝난다.

이제 소스만 추가하면 영상처리의 첫 발을 내딛을 수 있다...


Posted by 바람처럼..
|


 소고기 등급 포스팅에 이어...

 또 소비자들을 헷갈리게 하는 용어가 있다....

 한우와 국내산 육우.. 무슨 차이일까??

 


머 엄밀히 따지면, 한우도 국내산은 맞다...

하지만 한우는 따로 한우라고 얘기한다.. 그 이유는.. 바로.. 품종이 틀리기 때문이다...

한우는 한우라고 부를 수 있는 우리 고유의 품종이다..

그렇기에 한우라고 따로 부를 수 잇다..

하지만 국내산의 기준은 그냥 국내에서 기른 소라고 생각하면 된다..

여기에 가장 큰 맹점은.. 이 포괄적인 범위안에 너무 많은 소가 들어간다는 사실이다...

흔히 말하는 젖소는 젖소 암소만 얘기한다.(새끼를 낳았을 경우이고, 그 이전 어린 암 젖소는 육우의 기준에 포함된다고도 한다.)

젖소 숫소는 국내산 육우에 들어간다.

쉽게 말해서 국내산(한우) 라고 하면 한우만을 얘기하는거고, 국내산(육우) 라고 하면, 외국 품종의 소, 젖소 중 숫소, 또 송아

지를 데려와서 국내에서 키운 소 를 말하는 것이고, 젖소는 새끼를 낳은 암 젖소를 얘기한다고 생각하면 된다..

앞으로는 한우인가요? 라고 물어봣을 때 국내산입니다. 라던지, 국산입니다. 라고 하는 경우는 거의 99% 육우를 말하고,

네 한우입니다. 라고 말을 한다면 진짜 한우라고 생각하면 된다.

머 국내산 육우라고 나쁜건 아니지만, 정확히 알고 먹는게 중요하겠다...
Posted by 바람처럼..
|



흔히 우리는 소고기를 먹으로 가면, 1등급이네.. 투플(1++)이네 이런말을 한다....

근데.. 보통 고기집에 있는 1등급 소만 판매한다는 말이 있다...

쉽게 생각해보면.. 음.. 이 집은 자신있게 1등급 소만 판다고 얘기하니 믿고 먹을만 하군, 이라고 생각할 수 있다..

하지만.. 1등급.. 과연 좋은 것일까??

결론 부터 얘기하자면,, 1등급이면 5등급 중에.. 3번째.. 즉 중간정도라는 말이다. ( 등외는 제외하고..)

그런데 사람들이 보기에는 1등급이면 좋은거 겠지 라고 생각하는 경향이 있다...

이게 참 소비자를 우롱하는 것이다...

물론 아는 사람이야, 속지 않겠지만.. 모르는 사람이 보면 헷갈리기 쉬운 등급 판정이다...

그럼 소고기의 등급은 어떻게 정해지는지 알아보자..


현재 내용은 축산물 등급 판정소 에서 가져왔다...


 

 위의 소도체 등급표시를 보면.. 1++~ 3등급까지 5등급과, A~C 까지 3등급으로 나눠져 있다.. (등외는 제외)

 그렇다면 또 A~C는 무엇인지가 중요하다..

 식당들을 보면 개중에는... A등급 소고기 사용이라던지 하는 문구를 넣는 것도 있다...

이 A~C 같은 경우는 사실 엄밀히 따지자면 육량 등급인 것이지, 소고기의 맛에 크게 영향을 주는 등급은 아니다...

육량 등급이란, 같은 무게의 소고기를 기준으로 고기의 비율이 얼마인지를 나타네는 것이다.



 즉, 위와 같은 계산식에 의해서 나오는 것이라.. 딱히 저 등급이 높다고 좋은 소 일수도, 아닐 수도 있다는 것이다....

 이제 육량 등급 A,B,C는 넘어가도록 하고 그럼 육질을 판단하는 기준에 대해서 알아보자...

 
위의 근내 지방도 사진이 흔히 우리가 말하는 마블링인데, 지방이 얼마나 촘촘한지에 따라 등급이 정해진다...

그리고..


위의 육색과 지방색, 조직감, 성숙도, 이런 것들이 정상에 나와야.. 위의 등급이 적용된다...

영화 식객을 보면, 근내 출혈로 인한 등급외 판정이 나오는데.. 아무리 다른 것들이 정상이라도 등급외의 상황이 있다면,

무조건 등급외 판정을 받는다...



머 이정도만 알아도, 최소한 소고기 등급에 대해서는 어느정도 안다고 생각 할 수 있다....

요즘 같이 속는 사람만 손해 보는 상황에서, 똑똑한 소비자가 되어서 알고 먹을 수 있도록 노력해야 겠다...
Posted by 바람처럼..
|


얼마전에 분명히 문제 없으리라 생각하고 넣은 코드가...

분명히 조건도 다 맞는데 오작동을 하였다.....

흠.. 환장하겠네.. 라고 하는 순간.. 응?? if 문의 조건에.. == 이 아니라.. = 만 있었다....

허허.. 이 것참.. 내 실수이니 뭐라 할 수는 없지만.. 정말 짜증나는 상황이다...

그래서 이럴 경우를 대비해 조건문의 순서를 바꿔쓰면된다...

예전에 어느 블로그에서 본 글이였는데..

예를들어서 a == 0 이라는 조건이 있었는데..

실수로 a = 0 이라고 쓴다면, 머.. 간단한 코드 사이에 껴있다면 금방찾지만, 복잡한 코드속에 묻혀 있다면

정말 찾기 어려울 것이다.. 이럴 때.. 0 == a 라고 쓰는 습관을 들인다면,

0 == a 는 제대로 동작하지만 0 = a 는 에러를 발생 시킨다.. 0이라는 상수에 a를 대입할 수는 없으니 말이다...

이런 식으로 순서를 바꾼다면, 이런 간단한 실수에 시간을 잡아 먹지는 않을 것이다...

물론 처음에 익숙치 않으면 익숙해 지는데 시간이 걸리고, 혹 다른 사람과 같이 소스를 공유하며 작업하는

프로젝트에서는 소스의 가독성이 떨어질 지도 모른다..

하지만 이런 습관들이 디버깅에 드는 시간을 줄여 줄 수 있다면, 작성할 때 한번 쯤 고려해 보는 것도 나쁘지 않을 것이다.
Posted by 바람처럼..
|


 간단한 프로그램을 만든다면, 솔직히 디버깅 모드로 몇번만 코드를 훓으면, 버그를 찾아내기는 어렵지 않다.

하지만 점점 더 프로그램이 커져 나갈 수록, 우리는 간단하다고 생각했던 부분의 치명적인 실수로 프로그램이 연산도중

죽어버리는 상황에 맞닥드리게 된다....

머.. 운이 좋아서 한번에 디버깅 모드로 찾아 갈 수도 있지만, 매번 그렇게 되리라는 보장은 없다...

그럴 때 만약 절때 계산에서 들어가지 말아야 할 조건이 있다면 쓸 수있는 assert() 함수를 이용해 보자...

기본적으로 assert() 함수는 디버그 모드에서 동작하는 디버깅용 함수라고 생각하면 되는데...

assert(a == 0 ) 처럼.. 뒤에 조건을 넣으면 된다...

assert를 사용하기 위해서는 #include <assert.h> 헤더를 추가하고 필요한 부분에서 사용하면 된다..

이 assert가 유용하게 쓰이는 경우가 바로 위의 예 처럼, 0이 절때 들어가서는 안되는 경우나 또 절때 2개의 값이 같을 수 없는

경우(배열의 크기는 10인데 10이 들어간다든지 하는..) 그럴때 유용하다.

assert의 조건문에 걸릴 경우 메세지 박스가 뜨며 어떤 파일, 몇번쨰 줄에서 떳는지 바로 기록해 주기 때문에..

유용하게 사용할 수 있다.
Posted by 바람처럼..
|


오늘 정말 우울한 기사를 하나 보았다.....

희망 남편 연봉이 4045만원이라니.....

기사 원문 보기

물론 희망이니, 높을 수록 좋은 거는 알고 있지만, 요즘 이런 기사를 보면 정말 힘빠지는 일이 아닐 수 없다...

수도권이 아닌 지방에서, 연봉 4천 이상을 받으려면 정말 잘나가는 기업이거나, 아니면 최소 서른 중반 정도의 연차가 되어야

가능하지 않을까 하는 예측이 된다..

그나마 인기있는 업종에 IT/정보통신이 2위에 올라 약간 위안이 되지만, 사실 IT 쪽에서 고소득을 올리는 분야는 몇가지 없다..

(물론 모두 다 그런건 아니고 예외는 항상 존재한다.)

거기다가 요즘 분위기로는 못해도 집이라도 있어야한다면, 연봉을 떠나서 그 전에 돈부터 모으려면 휴...

선 봐서는 결혼하기도 힘들겠다...

물론 연얘결혼이라면 조금의 부족한 조건은 커버 되겠지만은...

괜히 요즘 삼포세대라는 이야기가 나오는게 아닌거 같다...

흔히 하는 말로 '다 먹고 살자고 하는 짓인데..' 라는 이야기를 하는데..

사람이 사는 건 먹고 사는 것만이 아닌데.. 요즘은 그 먹고 사는 것 마져도 힘든 것 같아 씁쓸할 뿐이다...

물론 사회 경험이 별로 없지만, 이런 내가 이렇게 느끼는데 몇년 더 선배들은 더 심하게 느낄 것이다...

제발 우리나라 경제가 좀 좋아져서,, 누구나 돈 안따지고 좋은 사람과 결혼하고 애 많이 낳고, 행복하게 살 수 있는

그런 나라가 됬으면 좋겠다....
Posted by 바람처럼..
|


메세지 박스 만들기.

윈도우 프로그램에서 간단한 메세지 박스를 띄우는 것은 참 쉽다..

함수 하나만 호출하면 되는데 함수 원형은..

int MessageBox(HWND hWnd, LPCTSTR lpText, LPCTSTR lpCaption, UINT uType) ;

첫 파라미터 hWnd는 현재 윈도우의 핸들을 넣으면 되고,

lpText에는 메세지 박스에 출력할 문자열,

lpCaption 에는 메세지 박스 타이틀 바에 제목 문자열,

그리고 마지막 파라미터는 메세지 박스에 어떤 종류의 버튼이 나타날 것인가를 지정하는 플래그가 들어간다.

그 각 플래그 값들은..

MB_ABORTRETRYIGNORE : Abort, Retry, Ignore 세 개의 버튼이 나타난다.

MB_OK : OK 버튼 하나만 나타난다.

MB_OKCANCEL : OK버튼 과 CANCEL 버튼이 나타난다.

MB_RETRYCANCEL : Retry, Cancle 두 개의 버튼이 나타난다.

MB_YESNO : Yes, NO 두 개의 버튼이 나타난다.

MB_YESNOCANCEL : YES, NO, CANCEL 세 개의 버튼이 나타난다.

또 각 메세지 박스의 버튼이 클릭 되면 클릭된 상태에 따라 여러가지 리턴 값이 날라오는데,

그 값을 확인하고 처리를 해 주면 된다..

IDABORT : Abort 버튼을 눌렀을 때.

IDCANCEL : Cancel 버튼을 눌렀을 때.

IDIGNORE : Ignore 버튼을 눌렀을 때.

IDNO : No 버튼을 눌렀다.

IDOK : OK 버튼을 눌렀다.

IDRETRY : Retry 버튼을 눌렀다.

IDYES : Yes 버튼을 눌렀다.

Posted by 바람처럼..
|

앞선 문자와 마찬가지로 여러 가지 출력들에 대하여 알아보자...

먼저 픽셀 출력 법이다..

함수의 원형은

COLORREF SetPixel( hdc, nXPos, nYPos, clrref )

이다.

일단 지금부터 보는 출력용 함수들의 첫번째 인자는 모두 hdc를 필요로 한다.

hdc를 얻는 방법은 바로 앞 포스트를 참조한다.

위의 SetPixel 함수는 x,y 좌표에 마지막 인수로 받은 색정보를 가지고 픽셀을 찍는다..

보통 찍을 때 마다 색 정보가 다르므로 이런 방식을 쓰지만 윈도우 프로그래밍에서는 잘 쓰지 않는다.

선을 긋고 싶으면,

DWORD MoveToEx(hdc, x, y, lpPoint )
BOOL LineTo(hdc, xEnd, yEnd )

를 사용한다.

이 2가지 함수는 먼저 선의 시작점으로 MoveToEx 함수를 이용하여 점을 이동 시킨 후

끝점의 좌표를 LineTo 함수의 x, y 에 넣어주면된다.

즉, MoveToEx(hdc, 100, 100, NULL) ;
LineTo(hdc, 150, 100 ) ;

이런 함수를 만든다면, 이것은 100, 100 에서 150, 100 을 잇는 선을 긋는다.

사각형과 원을 그리는 것은 함수의 형태는 동일하다..
함수의 원형은

BOOL Rectangle(hdc, nLeftRect, nTopRect, nRightRect, nBottomRect )
BOOL Ellipse(hdc, nLeftRect, nTopRect, nRightRect, nBottomRect )

이런 형태이다.

2가지 모두 4점의 좌표를 입력 받는데 사각형은 그 첫번째 x, y (Left, Top) 값과 두번째 x1, y1 ( Right, Bottom) 값을

가지고 사각형을 그리며, 원은 그 사각형에 내접하는 타원을 그린다.
Posted by 바람처럼..
|


DC를 이용해서 문자열 출력을 알아보자...

먼저 문자열을 출력 하기 위해서는

HDC hdc ;
hdc =  GetDC(hWnd) ; //  여기서 hWnd는 처음 윈도우를 만들면서 받아놓은 현재윈도우의 핸들이다.

TextOut(hdc, 100, 100, TEXT("Test"), 4) ;
// TextOut함수는 먼저 hdc를 적고, x, y 좌표, 텍스트 내용, 그리고 텍스트의 길이 순으로 입력한다.

ReleaseCD(hWnd, hdc) ;
//그리고 다 했으면 해제를 해준다...

이것은.. 가장 간단한 문자열 출력 방법이다...

하지만 이 코드로 글자를 찍으면, 윈도우가 다른 윈도우에 가려졌거나, 윈도우의 크기 변경 등이 있다면,

바로 다시 사라져 버린다...

그걸 방지하기 위해서는 항상 새로 그려 줘야 하므로, 루프 내부에 코드를 삽입하거나, WM_PAINT 메세지

안에 코드를 삽입하면 항상 글자가 출력되도록 할 수 있다.
(문자열 출력 방법)

Posted by 바람처럼..
|



오늘 오랜만에 가족들과 고지전 이라는 영화를 보고 왔습니다.

요즘 블록버스터 급 영화가 많이 개봉하였지만, 날도 덥고 보로 갈 시간도 없어 미루고 있다가 오늘 기회가 되어서

가족들과 함께 CGV를 찾았습니다.

처음부터 고지전을 예매를 해 놓고 간터라, 다른 영화엔 눈길도 않주고 바로 팝콘, 콜라만 사고 상영관으로 갔습니다.

 원래 영화를 볼 때 가급적 그 영화의 내용은 모르고 가자는 주의 라서 주연이 신하균, 고수, 김옥빈 정도라는 것과 고지 전투를

배경으로 하고 있다는 정도만 알고 영화를 보게 되었습니다..

장르를 전혀 신경 안쓰고 있었기 때문에, 초반에 흐름은 추리물 인줄 알았습니다....

간단히 요약하면, 전선과 멀리 떨어져있던 신하균이 말 실수에 좌천되어 특명을 받고, 동부 전선으로 넘어갔고, 그 곳에서 예전

에 죽었는지 살았는지 생사를 모르던 고수를 다시 만나면서 이야기는 시작됩니다.
 
처음 가고 나서 애록 고지를 점령하기 위한 국군과 인민군의 뻇었다 뻇기는 전투가 사실 영화의 주된 스토리입니다.

그리고 그 속에서 전쟁이 사람에게 어떤 영향을 미치는 것인지... 전쟁이 사람을 얼마나 정신적으로 피폐하게 만드는 것인지에

대한 감독의 생각이 많이 녹아 있는 느낌을 받았습니다.

 처음 추리물로 생각하고, 과연 진실이 무엇인가 하는 생각이, 차츰 아 이 영화는 반전(전쟁을 반대한다는 의미입니다.) 영화이

구나 라고 생각이 들었습니다.
 
 과연 전쟁터에서 무엇이 선과 악이며, 법과 질서, 인정과 자비란 통용되지 않는 하나의 지옥이다 라는 느낌을 강조하는 전쟁의

참상에 대해서 적나라 하게 드러내는 영화였습니다.

 하지만 2시간 10분정도의 러닝 타임은 좀 긴 듯한 느낌이였고, 마지막에 어떤 결말을 향해 끌고 가는 느낌이 아니라, 관객들

스스로 각자 다른 감동이든 생각을 하도록 하는 그런 느낌이였습니다...

 오랜만에 본 영화라 더 그런감도 있었지만, 전체적인 스토리, 화면, 모두 만족스러웠지만, 약간 긴 듯한 러닝 타임, 그리고 15

세로 어떻게 통과했는지 잘 감이 오지 않는, 욕설과 잔인함들이 조금 아쉬웠습니다. ( 물론 성인들 선에서는 이해될 수준입니

다. ) 

ps. 김옥빈의 역할이 초반에 전혀 강조되지 않아서 까메오 정도로 알았는데, 나중에는 큰 역할을 보여주며, 왜 김옥빈의 별명이 '이초'인지.. 극장에서 확인하세요 ㅎ

Posted by 바람처럼..
|



요즘 네이트 해킹으로 다들 불안해 하고 있는 시점입니다...

머 대부분의 사람들은 어차피 이전에도 자신의 정보가 돌아다니니.. 이제서야 무슨 소용이냐고 하지만.. 그래도 사람 마음이

찝찝한게 남아있으면 없애고 싶으신 분들은 아래의 경로로 가시면..

자신의 주민등록 번호로 가입된 사이트 내역을 보실 수 있습니다.

한국 인터넷 진흥원


지금 트래픽이 너무 많은지 접속이 조금 지연되네요.....;;

아... 이제 인터넷에 퍼지는 자신의 신상 정보마저 두려워 하며 살아야 하는 군요..

Posted by 바람처럼..
|


스샷을 저장할 일이 생겨서, 스샷을 저장하려다 보니.. 각 찍힌 시간을 파일 명으로 만들고 싶어졌다....

생각보다 api 함수를 이용하면 시간을 얻기는 간단하다.

일단..

<time.h> 를 선언한다. 아래의 함수들은 각 시간을 얻는 함수들 이다.

_strtime : 현재 시간을 문자열로 만들어주는 함수이다. 함수원형은..

char* _strtime( char *time );

이다.

char time[9];

_strtime( time );
// 11:23:24 (시:분:초)형식이며, 24시간으로 표시된다.

_strdate : 오늘 날짜를 문자열로 만들어 주는 함수이다. 함수 원형은..

char* _strdate( char *date );

이다..

char data [9];

_strdate( data );
// 08/05/11 (월/일/년)형식으로 표시된다.

strftime : 이 함수는 사용자가 지정한 형식대로 현재시간을 문자열로 출력하는 함수이다. 함수 원형은..

size_t strftime( char *strDest, size_t maxsize, const char *format, const struct tm *timeptr );

이다..

time_t cur;
struct tm* ptm;
char buf[100] = {0};

cur = time(NULL);
ptm = localtime(&cur);

strftime(buf, sizeof(buf), "%c", ptm);
//08/05/11 11:30:05
strftime(buf, sizeof(buf), "%m/%d/%y %H:%M:%S", ptm);
//08/05/11 11:30:05
strftime(buf, sizeof(buf), "%Y년 %#m월 %#d일 %#I시 %#M분 %#S초", ptm);
//2011년 08월 05일 11시 30분 5초
strftime(buf, sizeof(buf), "%I:%M %p", ptm);
//11:30 AM

// 위 함수를 사용하기 위해서는 localtime(...); 함수로 시간을 우선 얻어와야 한다.

Posted by 바람처럼..
|


흠.. 경제가 돌아가는 것을 가장 잘 알 수 있는 부분이 주식시장인 것 같아서, 군대를 전역하고 나서... 취미라기 보단...

공부 겸 해서 약간의 소액으로 주식 투자를 시작했다....

처음에는 머 반토막도 내보고, 조금 이익도 내보고 널뛰기를 하고있는데...

요즘은 단타보다는 중, 장기로 보유했더니.. 크게 이익은 없지만 크게 손해도 없는 상황이였다...

작년쯤 이스트소프트에 들어가서 요근래 zoom 이슈 때문에 한 30% 먹고 나왔고,,

또 작년쯤 들어가있던 엠게임을 추가 매수 하고 관망하고 있었는데... 요근래 자꾸 떨어지길래.. 올 연말까지는.. 계속 지켜볼랬더니...

갑자기 오늘 게임주들.... 줄줄이 상한가를 가고있넹 - _-  흠....

네오위즈, 웹젠, 액토즈, 엠게임... 흠....

무언가.. 큰 손들이 작업을 시작한 것인가???
Posted by 바람처럼..
|

윈도우 화면에 무엇인가를 출력하려면, 항상 꼭 필요한 것이 이 DC이다.

보통 처음 프로그래밍을 배울 때는 항상 그냥 DC가 필요하니 GetDC를 해서 쓰고, 릴리즈 하고.. 머 이런식으로 DC 자체에 대

해서는 쉽게 그냥 지나치기 쉽다.

하지만 무언가를 사용하기 위해서는, 그 것의 원리를 이해해야 머리속에 오래 남아있는 법이니.. DC에 대해서 알아보자..

 일단 윈도우는 크게 세 가지 동적 라이브러리로 구성되어 있는데, 메모리를 관리하고 프로그램을 실행시키는 KERNEL, 유저

인터페이스와 윈도우를 관리하는 USER, 화면 처리와 그래픽을 담당하는 GDI가 있다... API 함수들의 대부분은 이 세 가지

DLL에 의해 제공 된다.
 
 이 중에 출력을 하려면 우리는 GDI(Graphic Device Interface ) 모듈을 이용해야 한다.

 DC(Device Context ) 란 출력에 필요한 모든 정보를 가지는 데이터 구조체이며, GDI 모듈에 의해 관리된다.

그렇다면 DC는 왜 필요한 것일까??

상황을 가지고 생각하면, 쉽게 정리가 된다.... 선을 하나 그릴려고 하면.. 점 2개가 있으면 선을 그을 수 있다... 하지만... 잘 생

각해보면, 좌표값 2개도 중요하지만, 선의 색, 굵기,모양, 혹은 점선이라던지 여러가지 방법 등등, 속성 값을 넣자면, 하나둘이

아니다.. 이럴 때 DC를 이용하면, 기본적으로 DC에 default값이 저장되어 있기 떄문에, DC와 좌표 2개면 충분해진다. 혹시 바

꾸고 싶은 속성이 있다면 얻어온 DC에서 바꾸고 싶은 부분만 바꾸면 충분하다.

또 DC에는 현재 윈도우의 값도 가지고 있다... 이것이 제일 중요한 부분인데.. 아까 라인을 예로 들었는데, 좌표 2개를 줬다고

치면, 0,50 에서 100, 150 까지 가는 선을 그리고 싶었는데 그것이 화면 좌표를 기준으로 0,50 부터 100, 150인지 현재 윈도우의

클라이언트 영역의 0,0을 기준으로 하는지를 모르면, 잘못된 값이 나올 수 있다. 하지만 DC는 현재 윈도우의 DC를 보통 Get

해오기 때문에 자동으로 현재 윈도우를 기준으로 좌표를 설정하여 그려준다.

 또 클리핑 영역(윈도우가 2개이상 겹쳤을 때 상위에 가려진 하위 부분은 그릴 필요가 없다. 그 영역을 말함 ) 을 자동으로 계산

해 주어, 뒷 영역의 윈도우의 그림이 앞 윈도우를 침범하지 못하도록 해 준다....

 흔히 에이 윈도우는 당연히 뒤에 그림이 가려지지 라고 생각한다면... 그것은 다 윈도우를 프로그램한 프로그래머가 그렇게 만

들어 두었기 때문이지.. 원래 그렇지는 않다. 화면에 찍히는 랜더링 장면들은 순서에 영향을 받기 때문에 이런 처리가 없다면,

당황스러운 결과가 나올 수 도 있다..

어쨌든 정리해보면,, DC는 위와 같은 역할들을 하고 또 위와 같은 정보들을 가지기 때문에, 선을 그린다던지 도형을 그린다던

지 하는 함수의 제일 첫 인자는 항상 DC를 받아와서 쓴다....

'프로그래밍 > API' 카테고리의 다른 글

[API] DC 를 이용한 문자열 출력  (0) 2011.08.07
[API] 다양한 현재시간과 현재날짜 얻기  (1) 2011.08.05
[API] 커서 바꾸기..  (0) 2011.08.03
[API] 메시지 루프  (0) 2011.08.02
[API] 윈도우 생성..  (0) 2011.08.02
Posted by 바람처럼..
|