http://www.codeguru.com/Cpp/G-M/multimedia/video/article.php/c9551
'지식나누기'에 해당되는 글 1082건
- 2005.04.25 동영상 캡처(Direct Show)
- 2005.04.23 Signal-driven I/O와 asyncronous I/O
- 2005.04.22 Human Interface Guidelines
- 2005.04.22 Nonblocking, blocking 혼합
- 2005.04.21 [Windows]영문 Windows에서 한글(korean) 사용하기
- 2005.04.21 국제 전화 걸기
- 2005.04.20 무선 인터넷 사용
- 2005.04.19 [windows]SetTimer
- 2005.04.19 [windows]sendMessage와 PostMessage의 차이
- 2005.04.18 우편환(우편소액환) 부치기
Signal-driven I/O보다 asyncronous I/O가 빠른 이유
User Buffer를 Kernel이 직접 이용하기 때문에 buffer copy가 1번 적게 일어나서 수행시간이 절약된다.
Unix에서는 asyncronous I/O가 잘 구현되어있지 않고
Windows의 IOCP를 이용한 방법이 잘 되어 있다.
참고)
UNP chapter 6, 22
User Buffer를 Kernel이 직접 이용하기 때문에 buffer copy가 1번 적게 일어나서 수행시간이 절약된다.
Unix에서는 asyncronous I/O가 잘 구현되어있지 않고
Windows의 IOCP를 이용한 방법이 잘 되어 있다.
참고)
UNP chapter 6, 22
Apple Human Interface Guidelines
http://developer.apple.com/documentation/UserExperience/Conceptual/OSXHIGuidelines/index.html
Windows XP Visual Guidelines
http://users.ticino.com/usr/dgautschi/microsoft/default.htm
http://developer.apple.com/documentation/UserExperience/Conceptual/OSXHIGuidelines/index.html
Windows XP Visual Guidelines
http://users.ticino.com/usr/dgautschi/microsoft/default.htm
Spin-lock이 유용한 경우
Spin lock은 nonblocking이기 때문에 resource를 많이 잡아먹는 단점이
있지만 blocking보다 response time이 빠르다.
(Kernel-User mode 전환 같은 일을 하지 않아도 된다.)
Network I/O에서도 마찬가지.
따라서 nonblocking과 blocking의 장점을 모두 취하기 위해서
일정 횟수(시스템의 특성에 따른)만큼 nonblocking으로 polling한 후 blocking하게 짜면
잦은 I/O에 따른 response time 향상과 I/O가 적을 때 blocking을 통해
resource를 절약하는 장점을 모두 취할 수 있다.
예) spinlock를 n번 돌고 sleep.
polling n번하고 block.
또 다른 방법으로는 먼저 blocking을 한 후 I/O가 available함을 알았을 때,
nonblocking을 이용하여 loop를 돌아 buffer의 크기보다 더 큰 데이터를 한 번에 처리할 수도 있다.
예) select로 기다리다가 I/O가 가능해지면 loop를 돌아 가능한한 많이 nonblock read(), write() 한다.
물론 이런 tuning들은 시스템의 초기에 넣기 보다는
많은 경험이 쌓이고 예측이 가능할 때, 그리고 변화가 적은 안정한
상태에서 가능한 것들이다.
(이른 최적화는 코드를 복잡하게 하고, 이해하기 힘들어지고
버그를 늘리고 오히려 느리게 만들 수도 있다.)
Spin lock은 nonblocking이기 때문에 resource를 많이 잡아먹는 단점이
있지만 blocking보다 response time이 빠르다.
(Kernel-User mode 전환 같은 일을 하지 않아도 된다.)
Network I/O에서도 마찬가지.
따라서 nonblocking과 blocking의 장점을 모두 취하기 위해서
일정 횟수(시스템의 특성에 따른)만큼 nonblocking으로 polling한 후 blocking하게 짜면
잦은 I/O에 따른 response time 향상과 I/O가 적을 때 blocking을 통해
resource를 절약하는 장점을 모두 취할 수 있다.
예) spinlock를 n번 돌고 sleep.
polling n번하고 block.
또 다른 방법으로는 먼저 blocking을 한 후 I/O가 available함을 알았을 때,
nonblocking을 이용하여 loop를 돌아 buffer의 크기보다 더 큰 데이터를 한 번에 처리할 수도 있다.
예) select로 기다리다가 I/O가 가능해지면 loop를 돌아 가능한한 많이 nonblock read(), write() 한다.
물론 이런 tuning들은 시스템의 초기에 넣기 보다는
많은 경험이 쌓이고 예측이 가능할 때, 그리고 변화가 적은 안정한
상태에서 가능한 것들이다.
(이른 최적화는 코드를 복잡하게 하고, 이해하기 힘들어지고
버그를 늘리고 오히려 느리게 만들 수도 있다.)
시작(Start) -> 설정(Property) -> 제어판(Control Panel)
-> 국가 및 언어 옵션(Regional and Language options)
-> 국가별 옵션 -> 표준 및 형식 -> 한국어(Korean)
-> 언어 -> 텍스트 서비스 및 입력 언어
-> Install Files for East Asian language
-> 자세히 -> 설정 -> 한국어
(Microsoft Global Input Method Editors (IMEs))
http://www.microsoft.com/windows/ie/downloads/recommended/ime/default.mspx
한글 입력기 설치 파일
http://www.microsoft.com/windows/ie/downloads/recommended/ime/install.mspx
한글 입력 되는 사이트
http://myhome.naver.com/tricatch/
-------------------------------
http://www.prettynim.com/zboard/view.php?id=info&page=7&sn1=&divpage=1&sn=off&ss=on&sc=on&select_arrange=headnum&desc=asc&no=51
참고)Windows XP는 windows CD가 있어야 한글 입력기가 설치됨.
-> 국가 및 언어 옵션(Regional and Language options)
-> 국가별 옵션 -> 표준 및 형식 -> 한국어(Korean)
-> 언어 -> 텍스트 서비스 및 입력 언어
-> Install Files for East Asian language
-> 자세히 -> 설정 -> 한국어
(Microsoft Global Input Method Editors (IMEs))
http://www.microsoft.com/windows/ie/downloads/recommended/ime/default.mspx
한글 입력기 설치 파일
http://www.microsoft.com/windows/ie/downloads/recommended/ime/install.mspx
한글 입력 되는 사이트
http://myhome.naver.com/tricatch/
-------------------------------
http://www.prettynim.com/zboard/view.php?id=info&page=7&sn1=&divpage=1&sn=off&ss=on&sc=on&select_arrange=headnum&desc=asc&no=51
참고)Windows XP는 windows CD가 있어야 한글 입력기가 설치됨.
데이콤
http://www.isic.co.kr/dacom/sub_use.php3
https://card.dacom.net/auto/menu_prepaid02.html
접속번호안내
https://card.dacom.net/auto/menu_prepaid03.html
http://www.isic.co.kr/dacom/sub_use.php3
네덜란드 0800-022-8220
덴마크 8001-8082
독일 0800-080-0820
모나코 800-90-182
벨기에 0800-700-82
스위스 0800-563671
스페인(카나리제도) 900-990-822
슬로바키아 0800-00-8200
아일랜드 1800-55-0082
영국 0800-89-0820
오스트리아 0800-200-208
이태리(바티칸/산마리노) 800-172-226
체코 800-001-182
터키 00800-828282
폴란드 00800-821-2182
프랑스(프랑스령 안틸레스) 0800-99-0182
핀란드 0800-110828
헝가리 06-800-08212
스웨덴 020-79-2201
현대카드 폰 서비스
1. 한국통신 - 현대카드 폰서비스
국내 -> 해외 : 00720 + 카드번호 # + 비밀번호 # + 국가번호 + 지역번호 + 전화번호 #
해외 -> 국내 : 국가별 접속번호 + 3(신용카드 선택) + 카드번호 # + 비밀번호 #
국내 시외전화 이용시 : 00720 + 카드번호 # + 비밀번호 # + 국내지역번호 + 전화번호 $
2. 데이콤 - 현대카드 폰 서비스
국내 -> 해외 : 08215 + 카드번호 # + 비밀번호 # + 국가번호 + 지역번호 + 전화번호 #
해외 -> 국내 : 국가별 접속번호 + 카드번호 # + 비밀번호 #
국내 시외전화 이용시 : 08215 + 카드번호 # + 비밀번호 # + 국내지역번호 + 전화번호 $
3. 온세 - 현대카드 폰 서비스
국내 -> 해외 : 08314 + 카드번호 # + 비밀번호 # + 국가번호 + 지역번호 + 전화번호 #
해외 -> 국내 : 국가별 접속번호 + 3(신용카드 선택) + 카드번호 # + 비밀번호 # + 번호
국내 시외전화 이용시 : 08314 + 카드번호 # + 비밀번호 # + 국내지역번호(0을 누르지 않음) + 전화번호 $
http://www.isic.co.kr/dacom/sub_use.php3
https://card.dacom.net/auto/menu_prepaid02.html
접속번호안내
https://card.dacom.net/auto/menu_prepaid03.html
http://www.isic.co.kr/dacom/sub_use.php3
네덜란드 0800-022-8220
덴마크 8001-8082
독일 0800-080-0820
모나코 800-90-182
벨기에 0800-700-82
스위스 0800-563671
스페인(카나리제도) 900-990-822
슬로바키아 0800-00-8200
아일랜드 1800-55-0082
영국 0800-89-0820
오스트리아 0800-200-208
이태리(바티칸/산마리노) 800-172-226
체코 800-001-182
터키 00800-828282
폴란드 00800-821-2182
프랑스(프랑스령 안틸레스) 0800-99-0182
핀란드 0800-110828
헝가리 06-800-08212
스웨덴 020-79-2201
현대카드 폰 서비스
1. 한국통신 - 현대카드 폰서비스
국내 -> 해외 : 00720 + 카드번호 # + 비밀번호 # + 국가번호 + 지역번호 + 전화번호 #
해외 -> 국내 : 국가별 접속번호 + 3(신용카드 선택) + 카드번호 # + 비밀번호 #
국내 시외전화 이용시 : 00720 + 카드번호 # + 비밀번호 # + 국내지역번호 + 전화번호 $
2. 데이콤 - 현대카드 폰 서비스
국내 -> 해외 : 08215 + 카드번호 # + 비밀번호 # + 국가번호 + 지역번호 + 전화번호 #
해외 -> 국내 : 국가별 접속번호 + 카드번호 # + 비밀번호 #
국내 시외전화 이용시 : 08215 + 카드번호 # + 비밀번호 # + 국내지역번호 + 전화번호 $
3. 온세 - 현대카드 폰 서비스
국내 -> 해외 : 08314 + 카드번호 # + 비밀번호 # + 국가번호 + 지역번호 + 전화번호 #
해외 -> 국내 : 국가별 접속번호 + 3(신용카드 선택) + 카드번호 # + 비밀번호 # + 번호
국내 시외전화 이용시 : 08314 + 카드번호 # + 비밀번호 # + 국내지역번호(0을 누르지 않음) + 전화번호 $
. 무선랜카드 달린 컴퓨터를 산다.
802.11b인지, 802.11g인지 본다.
. 무선랜카드 드라이버를 설치한다.
. AP를 찾는 다.
. AP 설정법을 공부한다.
. 네트웍카드 설정을 본다.
시작 -> 제어판 -> 네트워크 연결
-> 무선 네트워크 연결 -> 속성
-> 일반 -> 인터넷 프로토콜(TCP/IP) -> 속성 혹은
-> 무선 네트워크
. IP를 찾는 지 확인한다.
ipconfig /all
. IP를 리셋해본다.
ipconfig /renew
. 네트웍 상황을 본다.
netstat -a
참고 페이지
http://www.nespot.com/
http://cafe.naver.com/iknowswing.cafe?iframe_url=/ArticleRead.nhn%3Farticleid=590
802.11b인지, 802.11g인지 본다.
. 무선랜카드 드라이버를 설치한다.
. AP를 찾는 다.
. AP 설정법을 공부한다.
. 네트웍카드 설정을 본다.
시작 -> 제어판 -> 네트워크 연결
-> 무선 네트워크 연결 -> 속성
-> 일반 -> 인터넷 프로토콜(TCP/IP) -> 속성 혹은
-> 무선 네트워크
. IP를 찾는 지 확인한다.
ipconfig /all
. IP를 리셋해본다.
ipconfig /renew
. 네트웍 상황을 본다.
netstat -a
참고 페이지
http://www.nespot.com/
http://cafe.naver.com/iknowswing.cafe?iframe_url=/ArticleRead.nhn%3Farticleid=590
Unix의 Setitimer와 비슷해 보이지만 사실은 다르다.
Unix의 경우 Signal을 이용하고
Windows는 Message를 이용한다.
Signal은 interrupt처럼 asyncronous해서 아무때나 불리는 반면
Message는 syncronous하다. (주로 messsage loop에서만 얻는 다.)
그리고 요즘 구현은 time 시그날 혹은 WM_TIMER가 불린 후에도
callback이 default로 돌아가지 않기 때문에 reestablish(재등록)할 필요가 없다.
반대로 한 번 call된 후로 다시 call되고 싶지 않으면 callback을 취소해야 한다.
참고) Advanced Programming in the Unix Environment Chapter. 10. Signals
Programming Windows Fifth Edition, Charlse Petzold, Chapter 8, The Timer
Unix의 경우 Signal을 이용하고
Windows는 Message를 이용한다.
Signal은 interrupt처럼 asyncronous해서 아무때나 불리는 반면
Message는 syncronous하다. (주로 messsage loop에서만 얻는 다.)
그리고 요즘 구현은 time 시그날 혹은 WM_TIMER가 불린 후에도
callback이 default로 돌아가지 않기 때문에 reestablish(재등록)할 필요가 없다.
반대로 한 번 call된 후로 다시 call되고 싶지 않으면 callback을 취소해야 한다.
참고) Advanced Programming in the Unix Environment Chapter. 10. Signals
Programming Windows Fifth Edition, Charlse Petzold, Chapter 8, The Timer
http://www.microsoft.com/msj/1197/win321197.aspx
같은 thread 내에서 메시지를 보낼 경우
sendMessage는 메시지를 queuing하지 않고 바로 callback함수를 불러 수행한 후 return하고
PostMessage는 메시지를 queuing해두고 바로 return한다.
같은 thread 내에서 메시지를 보낼 경우
sendMessage는 메시지를 queuing하지 않고 바로 callback함수를 불러 수행한 후 return하고
PostMessage는 메시지를 queuing해두고 바로 return한다.
0. 현금을 가지고 우체국으로 간다.
1. 금융서비스와 우편서비스 쪽 대기 발급표를 모두 받아 둔다.
(두 개의 queue가 따로 있고, 결국 둘 다 기다려야 하므로 concurrent하게 기다리는 게 시간을 아끼는 길이다.)
2. 금융서비스 코너에서 우편소액환 발급 서류를 작성한다.
보내는 사람 이름, 주민등록번호, 주소, 전화 번호를 적는 다.
받는 사람 정보는 안 적어도 된다.
3. 우편 소액환을 발급 받는 다. 수수료 500원
한장은 소액환이고 다른 한장은 영수증이니 잘 확인하도록 한다.
영수증은 그냥 가지고 소액환만 부친다.
4. 우편서비스 코너로 가서 소액환을 봉투에 넣고 보낸다.
빠른 등기우편으로 보내면 2천원 이내로 보낼 수 있다.
일반 우편은 몇 백원쯤 한다.
전체 대기, 처리 시간 합계 : 2005년 4월 18일 월요일 오후 2~3시경 강남우체국의 경우 30분 ~ 1시간 정도 소요됨.
국내등기/소포우편배달조회
http://cp-asw.epost.go.kr:4949/trace/Trace.jsp
1. 금융서비스와 우편서비스 쪽 대기 발급표를 모두 받아 둔다.
(두 개의 queue가 따로 있고, 결국 둘 다 기다려야 하므로 concurrent하게 기다리는 게 시간을 아끼는 길이다.)
2. 금융서비스 코너에서 우편소액환 발급 서류를 작성한다.
보내는 사람 이름, 주민등록번호, 주소, 전화 번호를 적는 다.
받는 사람 정보는 안 적어도 된다.
3. 우편 소액환을 발급 받는 다. 수수료 500원
한장은 소액환이고 다른 한장은 영수증이니 잘 확인하도록 한다.
영수증은 그냥 가지고 소액환만 부친다.
4. 우편서비스 코너로 가서 소액환을 봉투에 넣고 보낸다.
빠른 등기우편으로 보내면 2천원 이내로 보낼 수 있다.
일반 우편은 몇 백원쯤 한다.
전체 대기, 처리 시간 합계 : 2005년 4월 18일 월요일 오후 2~3시경 강남우체국의 경우 30분 ~ 1시간 정도 소요됨.
국내등기/소포우편배달조회
http://cp-asw.epost.go.kr:4949/trace/Trace.jsp