블로그 이미지
초딩입맛제주아재
하고 싶은 것만 하며 살고 싶다

calendar

1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30
2006. 7. 23. 19:38 영화/애니


원제 : 雲のむこう、約束の場所
영제 : Place Promised in Our Early Days, The
제작 : 2004년 코믹스 웨이브
감독 : 신카이 마코토
원작 : 신카이 마코토
각본 : 신카이 마코토
음악 : 톈몬
공식사이트 : http://www.kumonomukou.com/

어째 보면서 '별의 목소리'가 생각이 난다 했더니
감독이 '별의 목소리'를 만든 신카이 마코토였다.
전작과 마찬가지로 과거와 현재를 오락가락 하게 만드는 구성이
참으로 괴로웠다...
하지만 보고 있으니 웬지 편안해 지기도 하고 센치해지기도 하는
감정의 변화는 전작에서도 느꼈던 좋은 현상이다.

개인적으로 배경음악이 참 좋았다.
특히 사와타리(여주인공)가 히로키와 타쿠야 앞에서 쑥스러워 하며 바이올린으로 연주했고
후에 잠든 사와타리를 뒤로 하고 히로키가 타쿠야 앞에서 연주했던 곡이
웬지 귀에 익었다.

그리고 애니메이션 볼때마다 느끼는 거지만
일본애니메이션은 캐릭터의 목소리가 참 좋다.
사와타리의 목소리는 어찌나 귀엽던지,
히로키와 타쿠야는 캐릭터와 절묘하게도 잘 어울린다.

지난 번 본 '사무라이 참프루'가 단지 코믹스에 지나지 않아 아쉬웠으나
이 영화로 위안이 된다.

'영화/애니' 카테고리의 다른 글

식스틴 블럭 (16 Blocks, 2006)  (0) 2006.10.08
달콤살벌한연인  (0) 2006.08.17
비열한거리  (0) 2006.07.24
손님은 왕이다  (0) 2006.05.21
홀리데이(Holiday)  (0) 2006.05.07
posted by 초딩입맛제주아재
2006. 7. 19. 21:25 삶은달걀

현재 진행형인 나만의 소규모 프로젝트의 수는 대략 7~8개...

테터용 가계부만들기,
야후 위젯기반으로 만들어질 ASERP의 부분부분 조각의 기능들,
스몰토크로 만들 윈도우 기반의 즐겨찾기 실시간 관리 프로그램.
기타 잡다한 것들이 게획만 잡혀 있고 코딩은 전무인 상태다 ㅡㅡ;

도대체 이노무 귀차니즘은 내게서 떠날줄을 모른다.

그만큼 내 시간을 갉아먹었으면 이제 좀 떠날때도 됐으련만....

다른건 못해도 가계부는 좀 빨리 만들자...

생활이 안되잖니...-.ㅜ

문득문득 아이디어는 떠오르는데 도무지 아이디어를 실현을 못하겠다.

집에오면 온갖 게임들이 날 유혹하고

집에 늦는 날엔 술집들이 날 유혹하니

아~ 그러고 보니 정작 나의 가장 큰 적은 자제 할 줄 모르는

바로 나 아니었던가...오호 통제라...

젝1슨...

오늘은 웬지 싸이코 삘 난다...

관두자~

- The End -

'삶은달걀' 카테고리의 다른 글

블로그 첨부파일이 날라갔다 ㅡ.ㅜ  (2) 2006.10.07
이렇게 절묘할 수가...  (3) 2006.08.17
일일 가이드 체험(?)  (0) 2006.07.03
팝페라 뮤지컬 '카르멘'을 보고  (0) 2006.06.30
시간을 도둑 맞다...  (0) 2006.06.22
posted by 초딩입맛제주아재
2006. 7. 18. 18:46 재테크

#.26세의 회사원 A씨(여)는 월 100만원의 여유자금을 어떻게 저축해야할지 고민스럽다. 세금 공제후 실수령액이 170만원 정도인 월급에서 용돈과 보험료 등을 제하고 나면 남는 금액이 약 100만원. 적지도 많지도 않은 돈을 2년간 잘 모아서 부모님께 손을 벌리지 않고 결혼하겠다는 생각을 갖고 있지만 그 정도의 돈이면 부족하지는 않은지 갑자기 돈을 쓸일이 생기지는 않을지 궁금한 점이 많다. 장기주택마련저축과 적립식 펀드, 청약부금, CMA, 상해보험 등 남들이 좋다고 하는 상품은 모두 하나씩 가입은 했지만 회사를 다닌지 얼마되지 않았고 월급도 많지 않아 저축액이 크지는 않다.

A씨의 질문에 재테크 전문가들이 입을 모아 이야기한 것은 ‘저축의 목적이 무엇이냐’를 확실히 해야한다는 것. 목돈 마련과 자금 운용에 있어서 자금의 목적이 정확하지 않으면 애써 모은 몫돈도 흐지부지 흩어지기 쉽고 도중에 해지할 가능성도 높다는 설명이다.

결혼자금이 저축의 1차 목적이라면 결혼준비자금으로 예산을 우선 설정하는 것이 중요하다. 요즘 평균 수준인 2000만원∼3000만원을 생각한다면 2년간 월 100만원의 저축을 통해 이 돈을 마련해야 한다. 여유자금 100만원중 월 10만원은 적립식 펀드에 2년간 납입할 것을 추천하고 40만원은 적금에 가입하되 은행의 특판 상품이나 상호저축은행 등 다소 금리가 높을 것을 택하라고 조언했다. 30만원은 결혼자금 외에 본인의 교육이나 혹은 노후 여유자금으로도 활용할 수 있는 장기 상품에 가입하도록 조언했다. 나머지 20만원은 장기주택마련저축과 청약부금에 각각 나눠 넣도록 했다.

매월 100만원 정도를 저축하려는 직장인들에게 재테크 전문가들이 우선적으로 이야기하는 것은 ‘저축계획을 먼저 세우라’는 거이다. 요즘 유명하다는 시중의 상품으로 포트폴리오 짜는데만 치중하면 막상 돈이 필요할때 낭패를 볼 수 있다고 강조했다. ‘저축을 왜’ 하는지의 저축 목적을 정하고 이에 따라 저축기간을 고려한 포트폴리오를 구성할 것을 제안했다.

몫돈이 필요한 장기·단기 목표에 따라 상품을 선택하고 무조건 금리만 생각하지 말고 절세 부분도 고려해야 한다는 점도 강조했다.

예를 들어 100만원의 포트폴리오 구성시 청약부금과 절세상품인 장기주택마련저축으로 안정성을 기하고 인플레이션 헷지 및 수익률을 높이기 위해 적립식 펀드에 분산투자하고 저축기간도중 만기된 금액은 ELS펀드 등에 재투자하는 식이다.

신한은행 재테크 팀의 김은정 차장은 “매월 100만원씩을 장기간으로 마냥 저축하면 지루해서 끝까지 가져갈 수 없다”면서 “장·단기를 나누어 도중에 만기되는 상품이 있어야 지루하지 않고 몫돈 모으는 재미도 누릴 수 있다”고 귀띔했다.

단기 목표로는 100만원∼500만원 정도의 소액을 정해 저축 습관을 들이고 중도 해지의 손실을 줄이는 것이 좋다. 1년제 적금으로 매달 20만원씩 1년간 저금하면 세후 약 244만원 정도를 손에 쥘 수 있다.

중기 목표는 종자돈을 마련하는 것으로 5000만원 정도의 금액이나 3년이라는 기간을 정한다. 안정적인 적금과 고수익을 기대할 수 있는 적립식 펀드로 분산해서 투자하면 기대 수익율을 어느 정도 맞출 수 있다. 적립식 펀드로 매달 소액을 적립하게 되면 분할매수효과로 매입단가를 낮추고 분산투자로 투자의 위험을 낮출 수 있다. 현재 주식매매차익은 비과세고 배당소득은 세금우대 되어 절세효과도 있다. 적립식 펀드는 단기투자 보다는 적어도 3년 이상 장기투자가 적당하다. 단 주식시장이 계속 하락만 한다면 원금손실이 발생하는 경우도 있으므로 주의해야 한다.

장기목표는 부동산 구입자금 등을 마련키 위한 것으로 절세혜택과 고수익을 추구해야 한다. 추천 상품은 장기주택마련저축·펀드와 적립식 신탁이다. 특히 장기주택마련저축·펀드의 경우 7년 이상 가입시 비과세고 근로자라면 한 해 동안 불입한 금액의 40%내에서 최고 300만원까지 소득공제도 받을 수 있다. 또 가입기간이 최고 50년이므로 저축과 펀드로 나누어 가입하면 보다 높은 수익을 올릴 수도 있다.

외환은행의 정연호 PB팀장은 연말정산용 상품을 우선적으로 가입할 것을 제시했다. 급여생활자니까 계속적인 불입이 가능하므로 소득공제를 받을 수 있는 금액을 감안해서 공제 가능 상품에 우선적으로 가입하고 노후와 유사시를 대비한 변액보험에 일부, 중·단기 목돈 마련용으로 적립식 펀드에 가입하도록 했다.

장기주택마련저축에 월 25만원을 납입함으로써 연간 300만원의 소득공제 효과를 얻을 수 있는데다 비과세이고 변액연금보험에 월 35만원을 납입, 노후 보장 및 투자효과를 기대할 수 있다. 적립식 펀드에는 비교적 많은 부분인 월 50만원을 투자해서 고수익을 얻을 수 있도록 했다.

모든 재테크 전문가들은 장기주택마련저축이나 청약부금과 같은 ‘필수 상품’에 가입한 이후에는 펀드를 시도해볼 것을 적극 추천했다.

국민은행 PB센터는 월 10만원을 청약부금에, 월 20만원은 장기주택마련저축에 가입한 후 나머지 70만원은 국내 펀드와 해외 펀드에 각각 나눠 납입하도록 했다. 국내 펀드는 가치주펀드에 월 15만원, 배당주 펀드에 월 15만원, 해외펀드는 PCA뉴실크로드펀드에 월 20만원, 브릭스펀드에 월 20만원씩 분산 투자의 윈칙을 지키도록 했다.


그래 버는거야~~~

'재테크' 카테고리의 다른 글

[경제야놀자]1. 통장쪼개기  (0) 2006.10.30
채권  (0) 2006.07.30
코스톨라니의 달걀을 인용한 '시골의사' 달걀  (0) 2006.07.24
코스톨라니의 달걀  (0) 2006.07.24
코스톨라니의 10대 권고와 10대 금지  (0) 2006.07.24
posted by 초딩입맛제주아재
2006. 7. 18. 14:08 Programing/HTML/JavaScript/CSS

xmlhttprequest 객체를 사용하면 참 편리하다.
이른바 AJAX의 핵심이 바로 이 객체가 아닌가 한다.

xmlhttprequest 객체를 사용하여 데이터를 PHP파일로 송신하면
데이터는 utf-8로 인코딩되어 전송된다.

var url = some url;
var param = 'id=myid&password=mypass&name=유시형';


xmlHttpPost(url,param,result function);

위 처럼 인자값에 한글이 들어갈 경우에는
제대로 전송이 되지 않는다.

var param = 'id=myid&password=mypass&name=' + escape(encodeURIComponent('이름'));

encodeURIComponent,escape 두 함수를 이용해서 가공을 한번 해줘야 제대로 전달이 된다.


다음으로 PHP에서 위 인자값을 받을때는

$id = $_POST['myid'];
$pass = $_POST['password'];
$name = iconv('UTF-8','EUC-KR',urldecode($_POST['name']));

자바스크립트에서 함수를 적용한 역순으로 decoding을 먼저 해주고
문자셋을 euc-kr로 변경해주면 된다.

물론,
서버셋팅이 UTF-8로 되어 있다면 위처럼 귀찮은 짓은 하지 않아도 된다.
역시 대세는 UTF-8이다....


posted by 초딩입맛제주아재
2006. 7. 17. 00:58 Programing/PHP
출저 : 네이버 검색(작성자가 불분명하여 정확한 출처를 기재하지 못함을 양해바랍니다)



시스템 모니터링이라고 하면 뭔가 복잡하고 어려운 것부터 생각되고 실제로 귀찮은 작업이기도 합니다. 이유있는 문제도 있지만 그렇지 않은 경우도 많습니다. 시스템 에러의 원인을 알 수 없을 때는 참 답답합니다. 그렇다면 그 해결책을 무엇일까요? 스스로 간단한 시스템 모니터링 툴을 만들어 보는 것입니다. SNMP에 대한 기본 지식이 있다면 PHP를 이용해 간단하게 만들 수 있습니다. 리눅스에서 PHP와 SNMP를 이용한 간단한 시스템 모니터링에 대해 알아보겠습니다.

프로그래밍하다 보면 이유 없이 시스템이 다운되는 경우가 있습니다. 물론 이유가 없다는 말은 이유를 알 수 없는 경우입니다. 그렇다고 24시간 서버만 붙잡고 있을 수도 없을 것입니다. 그래서 나온 것이 시스템 모니터링 툴일 것입니다. 시스템 모니터링의 영역은 넓고 방대하지만 여기서 만들어보고자 하는 것은 SNMP를 가지고 직접 시스템의 필요한 부분을 모니터링해 보는 것입니다. 직접 만들어보면 필요한 부분을 원하는 방식으로 모니터링할 수 있습니다. 물론 직접 만드는 것이 복잡하다는 생각이 들 수도 있습니다. 그런 것을 어떻게 만들까 하는 생각이 들 수도 있습니다. 그러나 의외로 쉬운 방법이 있는데, 바로 SNMP의 값을 활용하는 것입니다. SNMP를 이용하면 매우 간단하게 시스템 모니터링에 필요한 값을 가져올 수 있습니다.

그렇다면 어떤 값을 가져올 수 있는지 먼저 알아야 합니다. SNMP로 쉽게 값을 가져올 수 있지만 그렇다고 해서 SNMP가 그리 만만한 것은 아닙니다. 왜냐하면 SNMP로 가져올 수 있는 시스템 모니터링 값 또한 매우 방대하기 때문입니다. 그러나 간단한 모니터링 프로그램을 만들어 보기 위해서 SNMP의 모든 부분을 알 필요는 없을 것입니다. 지금 필요한 부분만 익혀서 사용하면 되고 나중에 필요한 부분이 있으면 차근차근 알아가면 됩니다.

그렇다면 시스템 모니터링에 있어서 가장 필요한 값에는 어떤 것들이 있을까요? 그것은 바로 cpu와 메모리일 것입니다. 그리고 현재 시스템에 어떤 프로세스들이 있는지도 알아야할 것입니다. 이 정도 값만 알 수 있어도 간단하게 원격으로 서버를 모니터링할 수 있습니다. 그렇다면 이런 값들을 가져오기 위해서는 기본적인 프로그램이 설치되어 있어야 합니다. 여기서는 프로그램의 설치되어 있다는 가정 아래 실제로 SNMP 값을 가져오는 부분과 SNMP의 간단한 명령어를 익히게 됩니다. 그리고 PHP에서 SNMP 값을 가져오는 방법과 PHP에서 가져오는 값을 활용해서 모니터링 프로그램을 어떻게 만들어야 하는지도 알아보겠습니다.

SNMP 모니터링을 하기 위해서 필요한 것들
실제로 모니터링 프로그램을 만들기 위해서 필요한 것에는 어떤 것이 있는지 알아보겠습니다. 먼저 모니터링할 서버에 SNMP가 설치되어 있어야 합니다. 윈도우 서버와 리눅스 서버의 SNMP 값은 각각 다릅니다. 여기서 사용하는 것은 리눅스입니다. 리눅스에 일단 net-snmp(http://net-snmp.sourceforge.net/)가 설치되어 있어야 합니다. 설치되어 있지 않다면 이 사이트에서 받아서 설치할 수 있습니다. 그리고 PHP에서 SNMP 함수를 사용할 수 있어야 합니다. 일반적인 웹사이트 서비스를 위해서 PHP가 설치되어 있다면 SNMP 관련 함수를 사용할 수 있도록 설치해 주면 됩니다.

이 두 가지만 갖추어져 있다면 이제 필요한 것은 SNMP 값을 가져오는 것입니다. 그리고 어떤 값을 가져올 지를 미리 정하는 것입니다. 그리고 가장 중요한 것은 SNMP에 대한 기본 지식이 있어야 합니다. 무조건 SNMP 값을 가져다 쓰는 것보다는 SNMP에 대한 기본 지식을 알고 있으면 더 좋을 것입니다. 여기서는 한 대의 서버를 모니터링하는 것이 아니라 여러 대의 서버를 모니터링할 수 있기 때문에 모니터링하는 서버 또한 SNMP가 설치되어 있어야 합니다. SNMP 또한 환경 설정을 따로 할 수 있기 때문에 값을 가져오는 방식이 조금 다를 수 있겠지만 여기서는 기본적인 SNMP 방식으로 설명하겠습니다.

SNMP 기본 명령어 익히기
서버에서 SNMP 값을 가져오는 방법은 SNMP를 설치할 때 같이 설치되는 SNMP 관련 프로그램을 이용해서 가능합니다. 먼저 해당 서버에 SNMP가 설치되어 있는지 확인해야 합니다. 리눅스에서는 해당 서버에 SNMP 데몬이 실행되는 ps 명령으로 먼저 확인해 봅니다.


◆ 리눅스에서 SNMP 데몬이 있는지 확인하기  
- ps -aux | grep snmpd

그리고 SNMP 값을 가져오는 데 주로 사용하는 명령어는 snmpwalk입니다. 물론 이 명령어 이외에도 몇 가지가 더 있습니다. 그러나 snmpwalk 명령어로 웬만한 값을 거의 다 가져올 수 있습니다. snmpwalk는 한 가지 값만 가져올 수도 있고 관련된 값을 모두 가져올 수도 있습니다.


◆ SNMP system 관련 값 가져오기
- snmpwalk localhost public system
- snmpwalk ****.com  public system

이 명령은 localhost의 system 관련 값을 가져오는 것입니다. 그리고 해당 서버를 지정하면 그 서버의 값도 가져올 수 있습니다. 물론 다른 서버의 값을 가져오고자 할 경우 그 서버에 SNMP가 설치되어 있어야 합니다. 그렇다면 SNMP가 설치되어 있는 서버는 무조건 모니터링할 수 있을까요? 일단 그 서버에 접근 권한이 있어야 합니다. 그리고 SNMP 환경 설정에서 지정한 값만을 모니터링할 수 있습니다. 보안상 SNMP 값을 모두 모니터링하도록 허용한 것이 아니라 일부 값만 모니터링할 수 있도록 허용했을 수도 있습니다.


◆ SNMP system 관련 값의 일부
- system.sysDescr.0 = Linux localhost ...
- system.sysObjectID.0 = OID:
- enterprises.ucdavis.ucdSnmpAgent.linux
- system.sysUpTime.0 = Timeticks: (3526547) 15:33:12.22
- system.sysContact.0 = admin@****.com
- system.sysName.0 = ****.com
- system.sysLocation.0 = Unknown
= system.sysORLastChange.0 = Timeticks: (9) 0:00:00.09

system 관련 값의 일부입니다. 시스템에 관련된 값을 구할 수 있습니다. 그렇다면 이렇게 전부가 아닌 하나의 값만 구하려면 어떻게 할까요?


◆ 하나의 값만 구하기
- snmpwalk ****.com  public system.sysDescr.0
- snmpwalk ****.com  public sysDescr.0

하나의 값만 구하고자 할 경우에는 이렇게 해당 값을 지정해 주면 됩니다. 그리고 SNMP는 값을 구하는 것만이 아니라 해당 값을 설정할 수도 있습니다. 값을 구하는 것은 단순히 해당 서버의 값을 구하는 것이기 때문에 별다른 영향을 미치지 않습니다. 그러나 값을 설정하는 것은 해당 서버에 영향을 미칠 수도 있습니다. 여기서는 간단한 모니터링을 위한 SNMP 값을 이용하기 때문에 SNMP 값을 설정하는 부분은 다루지 않습니다.

CPU, 메모리 값 가져오기
모니터링하기 위해서 주로 사용되는 값인 cpu, 메모리 그리고 Load Averages 값을 가져오는 부분을 알아보겠습니다. cpu 값을 가져오기 위해서는 해당 MIB를 입력해 주면 됩니다. 여기서 사용되는 MIB 값은 공통적으로 사용되는 것입니다. MIB는 OID라는 숫자로도 표기될 수 있으며 정확하게 ssCpuUser의 계층구조까지 다 적는다면 nterprises.ucdavis.systemStats.ssCpuUser 표현될 수도 있습니다. OID 값으로 표현하면 1.3.6.1.4.1.2021.11.9.0이 됩니다. 모두 같은 의미입니다.


◆ cpu 관련 값 가져오기
- snmpwalk ****.com  public ssCpuUser
- snmpwalk ****.com  public ssCpuSystem
- snmpwalk ****.com  public ssCpuIdle

이렇게 하면 각각 cpu 사용 퍼센트를 가져올 수 있습니다. 이 값은 리눅스에서 top 명령어를 실행했을 때 cpu user, system, idle 값과 같은 값을 가져오게 됩니다. 해당 서버에 접속하지 않고도 SNMP를 이용하면 한 줄읱 명령으로 cpu 값을 가져올 수가 있습니다. 그렇다면 메모리 관련 값들에는 어떤 것이 있을까요?


◆ 메모리 관련 값 가져오기
- snmpwalk ****.com  public memTotalReal
- snmpwalk ****.com  public memTotalFree
- snmpwalk ****.com  public memShared
- snmpwalk ****.com  public memBuffer
- snmpwalk ****.com  public memCached

이렇게 하면 메모리 관련 SNMP 값을 가져올 수 있습니다. 이 값 또한 top 명령을 실행했을 때 출력되는 메모리 관련 값들과 같습니다.


◆ Load Averages 값 가져오기
- snmpwalk ****.com  public  laLoad.1
- snmpwalk ****.com  public  laLoad.2
- snmpwalk ****.com  public  laLoad.3

각각 1, 5, 10분의 Load Averages 값을 가져옵니다. 이렇듯 SNMP를 이용하면 쉽고도 간단하게 다른 서버의 모니터링에 필요한 값을 가져올 수 있습니다. 이렇게 SNMP 값을 모니터링 값에 사용하려면 MIB 또는 OID를 알고 있어야 합니다. 그렇다면 MIB는 어떻게 알 수 있을까요? 여러 사이트와 문서가 있겠지만 net-snmp 사이트에서 제공하는 문서를 볼 수 있습니다. cpu, 메모리, Load Averages MIB가 포함되어 있는 문서는 http://net-snmp.sourceforge.net/mibs/UCD-SNMP-MIB.txt에서 볼 수 있습니다. 이 문서에 있는 MIB 값을 참고한다면 좀 더 다양한 값을 모니터링할 수 있을 것입니다.

MIB, OID는 같다
ssCpuUser, memTotalFree, laLoad.1 등 이런 값들을 MIB라고 부릅니다. MIB는 간단하게 설명하면 SNMP의 값들을 분류해 놓은 것입니다. 그리고 MIB에 해당하는 OID 값이 있습니다. ssCpuUser는 축약한 것으로 enterprises.ucdavis.systemStats.ssCpuUser라고 써주면 됩니다. 그리고 이것의 OID 값은 1.3.6.1.4.1.2021.11.9가 됩니다.


◆ MIB와 OID 예
- MIB : enterprises.ucdavis.systemStats.ssCpuUser
(OID : 1.3.6.1.4.1.2021.11.9)
- MIB : enterprises.ucdavis.memory.memTotalFree
(OID : 1.3.6.1.4.1.2021.4.11)
- MIB : enterprises.ucdavis.laTable.laEntry.laLoad
(OID : 1.3.6.1.4.1.2021.10.1.3)

◆ MIB, OID로 값 얻기
- snmpwalk ****.com  public  ssCpuUser
- snmpwalk ****.com  public  enterprises.ucdavis.systemStats.ssCpuUser
- snmpwalk ****.com  public  .1.3.6.1.4.1.2021.11.9

각각 MIB, OID로 값을 가져오는 것입니다. MIB와 OID 값은 같습니다. MIB는 계층구조로 이뤄져 있습니다. 최상위 계층을 보면 System, Interface, IP, ICMP, TCP, UDP, EGP, Transmission, SNMP 그룹들로 이뤄져 있고 하위 그룹은 트리구조를 이루고 있습니다.

SNMP는 어떻게 PHP 안에 들어갔을까?
일반적으로 PHP는 웹 사이트를 제작하는데 주로 사용되고 있습니다. 물론 다른 곳에도 사용되고 있습니다. 웹 사이트를 만드는 데만 주로 사용하다 보면 다른 곳에 사용할 생각을 잊어버리는 경우가 있습니다. ‘시스템 모니터링하는 프로그램을 만들어야 하는데 어떤 언어를 이용해서 만들 수 있을까?’는 질문에서 PHP를 떠올리기는 쉽지 않을 것입니다. 그러나 데이터베이스를 연동한 프로그램 이외에도 PHP로 할 수 있는 것은 많이 있습니다.

좀 더 자세히 살펴보면 의외로 PHP에는 많은 함수들이 존재하고 있다는 것을 알 게 될 것입니다. 꼭 필요하지 않는 함수라면 굳이 사용할 필요가 없겠지요. PHP를 오래 사용한 사람이라도 ‘이런 함수가 있었나?’고 할 정도로 다양한 함수군이 존재합니다. 그 중에서도 SNMP 관련 함수들이 있습니다.

그렇다면 어떻게 PHP에서 SNMP 함수를 사용할 수 있는 것일까요? 그것은 바로 PHP의 확장성입니다. 확장성이란 필요한 함수를 추가해서 사용할 수 있는 것입니다. SNMP 함수는 이미 누군가 개발을 해서 PHP에서 사용할 수 있도록 추가해 놓았기 때문에 우리는 함수를 호출해서 사용하기만 하면 되는 것입니다. 그렇다면 직접 SNMP 함수를 PHP에서 사용할 수 있도록 만들려면 어떻게 하면 될까요? PHP는 C언어로 만들어졌기 때문에 확장을 하려면 C언어로 확장할 수 있습니다. 물론 C, C++를 알아야 합니다. 그리고 C, C++로 PHP Extensions을 만들어서 추가할 수가 있습니다. SNMP 또한 PHP Extensions으로 만들어서 추가된 것입니다.

PHP에서 사용할 수 있는 SNMP 함수들
PHP에서는 SNMP 값을 어떻게 가져올 수 있을까요? 그것은 간단하게 SNMP 함수를 호출함으로서 가능합니다. 몇 가지의 함수들이 있는데 다음은 PHP에서 사용할 수 있는 SNMP 함수 입니다.


◆ PHP의 SNMP 함수
- snmp_get_quick_print
- snmp_get_valueretrieval
- snmp_read_mib
- snmp_set_enum_print
- snmp_set_oid_numeric_print
- snmp_set_quick_print
- snmp_set_valueretrieval
- snmpget
- snmpgetnext
- snmprealwalk
- snmpset
- snmpwalk
- snmpwalkoid

이 함수들 중에서 유용하게 사용할 수 있는 것은 snmpget, snmpwalkoid입니다. snmpget은 하나의 값을 가져 올 수 있으며 snmpwalkoid는 관련된 값들을 모두 가져올 수 있습니다. <리스트 1>을 보면 snmpget 함수의 사용 예가 있습니다. 먼저 snmp로 cpu 사용량을 가져오기 위해서는 값을 가져올 서버를 지정해야 합니다. 그리고 cpu idle 값에 해당하는 oid를 알고 있어야 합니다.


◆ cpu idle 에 해당하는 snmp oid
- .1.3.6.1.4.1.2021.11.11.0

그리고 snmp 설정에 따라서 다르겠지만 커뮤니티에 해당하는 값은 ‘public’으로 해주면 됩니다. 이 세 가지 값을 지정하면 snmpget 함수는 해당 서버의 cpu idle의 값을 가져오게 됩니다. 값을 가져오지 못했을 경우 false를 리턴하게 됩니다. 그리고 값을 정상적으로 가져왔을 경우에는 10, 20 등 이런 식으로 cpu idle 퍼센트 값이 들어 있게 됩니다.



















<리스트 1> CPU 사용량 가져오기






출력은 10%, 20% 등으로 해주면 됩니다. 그러나 여기서 구하고자 했던 값은 현재 cpu 사용량이었습니다. 그런데 왜 cpu 사용량을 구하지 않은 것일까요? 그 이유를 알기 위해서는 먼저 snmp에서 가져올 수 있는 cpu 관련 값을 알아야 합니다.


◆ snmp cpu 관련 값  
- ssCpuUser
cpu user 값을 가져옵니다.
- ssCpuSystem
cpu system 값을 가져옵니다.
- ssCpuIdle
cput idle 값을 가져옵니다.

ssCpuUser + ssCpuSystem + ssCpuIdle = 100(%)

◆ 현재 cpu 사용량
ssCpuUser + ssCpuSystem  

cpu 사용량 값을 퍼센트로 가져오게 됩니다. 세 가지 값을 합하면 100이 됩니다. 그래서 cpu idle 값을 가져온 후에 ‘100-idle’ 해주면 현재 cpu 사용량이 나오게 됩니다. 이 값은 cpu 사용의 퍼센트를 의미하므로 %를 붙여서 출력해 주면 됩니다.


echo $ssCpuUser . "%";

snmpget 함수를 이용해서 cpu 관련 값들을 가져오는 방법을 알아봤습니다.

메모리 관련 값 가져오기
snmpget 함수를 이용해서 메모리 관련 값을 가져오는 방법 또한 cpu의 값을 가져오는 것과 비슷합니다. 여기서 먼저 알아야할 것은 메모리 값을 가져오는데 필요한 SNMP OID 값입니다. <리스트 2>를 보면 메모리 관련 값을 가져오는 예가 있습니다. 먼저 값을 가져올 서버와 메모리 관련 OID 값을 지정합니다.


◆ 메모리 Free 구하기
// enterprises.ucdavis.memory.memTotalFree.0
$memTotalFree = @snmpget($host, "public", $oid, $timeout);

메모리 Free량을 구하는 것입니다. 값을 구했을 경우에는 12444, 45442 이렇게 남은 메모리 량을 리턴하게 됩니다. 이 값은 KB 단위이므로 출력하고자 할 경우에는 K를 붙여서 12444K 이런 식으로 출력해 주면 됩니다.


◆ 전체 메모리 크기 구하기
// enterprises.ucdavis.memory.memTotalReal.0
$memTotalReal = @snmpget($host, "public", $oid, $timeout);

SNMP에서 구하는 값은 실제 메모리 크기와는 차이가 있습니다. 메모리는 두 가지 값을 구했습니다. 그 이유는 무엇일까요? 그것은 남은 메모리의 크기를 퍼센트로 표현하기 위해서는 전체 메모리의 크기를 알아야 하기 때문입니다. cpu는 퍼센트 값을 리턴하기 때문에 상관이 없지만 메모리는 크기를 리턴하기 때문에 전체 메모리 크기와 Free 메모리 크기를 구해서 퍼센트를 계산해 주면 됩니다.



















<리스트 2> SNMP 함수로 메모리 관련 값 가져오기






SNMP는 시스템 리소스를 사용한다
SNMP 값을 가져오려면 일단 명령을 실행하는 서버와 값을 가져오려고 하는 서버에 모두 SNMP가 설치되어 있어야 합니다. 두 서버에 모두 설치가 되어 있으면 원하는 값을 가져올 수 있게 됩니다. 그렇다면 SNMP 값을 가져오는데 어느 정도의 시스템 리소스를 사용하게 될까요? 그것은 어떤 SNMP 값을 가져오는가에 따라서 다르게 됩니다. 그리고 시스템의 사양에 따라서도 조금씩 차이가 있습니다.

SNMP 값을 가져오는 데 해당 시스템의 리소스를 너무 많이 차지하게 된다면 서버에 영향을 미칠 수 있으므로 먼저 테스트해 보는 것이 좋습니다. SNMP 값을 가져오는 데는 주로 cpu system 리소스가 사용됩니다. 앞에서 테스트했던 cpu, Load Averages 값을 가져오는 것은 1% 미만의 cpu system을 사용하게 됩니다. 그러나 메모리의 값을 가져오는 것은 10% 정도까지 cpu system 리소스를 사용할 수도 있습니다. 물론 서버마다 차이가 있으니 테스트해 보면 됩니다.

그렇다면 1초에 한번씩 cpu 값을 가져오는 것은 큰 문제가 없어 보입니다. 해당 시스템을 모니터링하려면 1초에 한 번씩 값을 가져와서 출력해 주기 위해서입니다. 그러나 메모리의 값을 1초에 한 번씩 가져오는 것은 뭔가 문제가 있어 보입니다. 왜일까요? 1초에 한 번씩 해당 서버의 cpu system 리소스를 사용하게 되면 10% 정도의 cpu system 리소스를 사용하게 되기 때문에 뭔가 문제가 있어 보입니다. 그리고 프로그램을 하나만 실행시키는 것이 아니라 여러 사람이 모니터링 프로그램을 실행시켜서 사용하고 있다면 1초에 한 번씩 메모리 값을 가져오는 것은 문제가 있습니다. 그럴 경우에는 적당히 간격을 조정하면 됩니다. 한 5초 정도의 주기로 값을 가져오면 될 것입니다. 1초, 5초에 한 번씩 값을 가져오는 이유는 실시간 모니터링을 위해서입니다.

여러 서버의 Load Averages 구하기
서버가 여러 대 있을 때 현재 서버의 Load Averages를 보고자 할 경우 일반적으로는 리눅스에서는 서버에 접속해서 top 명령어를 실행해서 봐야 합니다. 물론 서버가 몇 대 없다면 충분히 가능한 일이겠지만 서버가 몇 십 대가 있을 경우 어떻게 해야 할까요? 일일이 서버에 접속해서 top 명령을 실행해서 결과를 보려고 해도 한참 걸릴 것입니다. 그러나 PHP에서 SNMP 함수를 이용한다면 간단하게 모든 서버의 Load Averages 값을 구할 수 있습니다. 그리고 더 중요한 것은 Load Averages 값이 큰 순서대로 정렬하는 것도 가능하다는 것입니다. Load Averages 값이 크다는 것은 해당 서버의 부하가 높다는 것입니다. 어떤 서버의 Load Averages 값이 높은지 쉽게 파악이 가능하다는 것입니다.



















<리스트 3> 여러 서버의 Load Averages 구하기






<리스트 3>을 보면 여러 서버의 Load Averages를 구하는 소스가 있습니다. 먼저 $hostList 배열에는 서버의 목록이 있습니다. cpu, 메모리 값을 구할 때는 한 대의 서버 값만 구했기 때문에 한 서버만 있었지만 Load Averages는 한 번에 여러 대의 서버에서 값을 구해야 하기 때문에 배열에 서버의 목록이 있습니다. 그리고 Load Averages의 OID 값도 있어야 합니다. $sort 값은 Desc 정렬을 할지 Asc 정렬을 할 지 지정해 주면 됩니다. 그리고 for 문을 이용해서 모든 서버의 값을 구합니다. 그 결과는 $valList 배열에 넣습니다.

그렇다면 for 문에서 값을 구해서 바로 출력해 버려도 되는데 굳이 배열에 값을 저장한 이유는 무엇일까요? 그것은 정렬을 하기 위해서입니다. 그냥 서버의 Load Averages 값을 순서대로 출력해도 되겠지만 Load Averages 값이 높거나 낮은 순으로 정렬해서 보여준다면 더 좋을 것입니다. 그래서 일단 값을 배열에 넣었습니다. 그리고 배열을 정렬하는 함수를 이용해서 정렬해 주면 됩니다. Asc 정렬은 asort() 함수를 Desc 정렬은 arsort() 함수를 호출해 주면 됩니다. 이렇게 정렬한 다음에 foreach 문을 이용해서 해당 값을 출력해 주면 됩니다. 그러면 Load Averages 값의 크기에 따라서 출력됩니다. 간단하게 웹 브라우저에서 여러 대의 서버의 Load Averages를 모니터링할 수 있는 것입니다. 서버의 대수가 많을수록 일일이 서버에 접속해서 top 명령을 실행해서 보는 것보다는 몇 배의 효과를 볼 수 있을 것입니다.

그렇다면 cpu, 메모리도 이와 같은 방법으로 볼 수 있지 않을까 하는 생각이 들 것입니다. 그러나 cpu 값은 수시로 변하는 것이기 때문에 한 서버의 값을 계속 모니터링하는 것은 의미가 있겠지만 이런 식으로 여러 대의 서버를 보는 것은 별 의미가 없습니다. 메모리 값은 충분히 해볼만 합니다. 다만 메모리 값을 구하는 데는 시간이 조금 걸리기 때문에 서버의 대수가 많을수록 값을 구하는 속도가 느릴 것입니다.

TCP 연결 상태 구하기
현재 서버의 어떤 포트에 tcp 연결이 있는지 확인하기 위해서는 리눅스에서는 netstat  명령으로 확인할 수가 있습니다. 그리고 이 값을 SNMP에서도 가져올 수 있습니다. SNMP는 MIB로 분류가 되어 있다고 했었는데 tcp 그룹에 해당되는 값을 가져오면 됩니다.


◆ tcp 값 가져오기
snmpwalk ****.net public tcp.tcpConnTable.tcpConnEntry.tcpConnState

이렇게 명령을 내리면 해당 서버의 tcp 연결 값들이 보일 것입니다. 한 가지 예를 들면 다음과 같이 연결된 값이 보이게 됩니다.


◆ tcp 값의 예
tcp.tcpConnTable.tcpConnEntry.tcpConnState.211.***.***.***.80.210.***.***.
***.12454 = established(5)

이것은 하나의 예를 든 것이고 연결된 실제로는 모든 값이 보이게 됩니다. 211.***.***.***은 해당 서버를 의미합니다. 그리고 80은 해당 서버의 포트를 의미합니다. 210.***.***.***은 해당 서버에 연결된 IP입니다. 12454는 해당 서버의 프로세스 아이디입니다. 결과적으로 210.***.***.*** IP가 211.***.***.*** 서버의 80포트에 12454 프로세스 아이디로 연결되어 있다는 의미입니다. 해당 서버의 tcp 연결 개수가 작다면 별 문제가 되지 않겠지만 연결이 많고 시스템 리소스가 부족한 경우에는 timeout으로 인해서 값을 가져오지 못하는 경우도 있습니다. 그리고 tcp 연결 개수에 따라서 cpu system 리소스 사용량도 달라집니다.

예를 들어서 200~300 정도 연결되어 있다면 약 10% 이내의 cpu system 리소스를 사용하겠지만 1000개 이상의 연결되어 있을 경우에는 약 40% 정도의 리소스를 사용할 수도 있으며 timeout으로 값을 가져오지 못할 수도 있습니다. 물론 이것은 서버 사양에 따라서 다를 수 있습니다. timeout 값을 크게 주면 tcp 값을 못 가져오는 경우는 없겠지만 해당 서버의 리소스를 너무 많이 사용하게 되는 문제가 발생할 수도 있습니다. 그래서 SNMP 값을 가져오는데 timeout 시간 지정 또한 중요합니다.

PHP에서 TCP 연결 상태 구하기
<리스트 4>에 PHP에서 SNMP로 tcp 연결 상태를 가져오는 소스가 있습니다. PHP에서 해당 서버의 tcp 연결 상태를 볼 수 있다는 것은 뭔가 새로울 것입니다. 물론 SNMP를 통해서 가져오는 것이지만요. 그리고 한 가지 더 연결 상태별로 카운트를 셀 수도 있습니다. 먼저 $tcpConnStateCount에는 tcp의 연결 종류가 있습니다.



















<리스트 4> tcp 연결 상태 구하기






SNMP에서 분류하는 tcp의 연결 종류입니다. 그리고 다른 값을 가져올 때와 마찬가지로 서버, OID 값이 있습니다. cpu, 메모리 값을 가져올 때는 snmpget() 함수를 사용했었지만 여기서는 snmpwalkoid() 함수를 사용합니다. snmpwalkoid() 함수를 이용해야 tcp에 연결된 모든 목록을 가져올 수 있기 때문입니다. SNMP 값을 정상적으로 가져왔다면 $tcpConn 변수에 배열로 값이 리턴돼 있을 것입니다. 그렇다면 여기서 tcp 연결 상태별로 카운트를 세기 위해서 foreach 문으로 가공하면 됩니다. 여기서 연결 상태별로 카운트를 하고 $tcpList 배열에 상태를 저장해 주면 됩니다. 그리고 그 다음 foreach 문에서 값을 출력해 주면 됩니다. 이렇게 함으로써 tcp 연결 상태별로 개수를 파악할 수 있습니다. 그리고 어떤 포트에 어느 서버가 연결되어 있는지도 파악할 수가 있게 됩니다.

이 소스코드는 간단하게 연결 개수와 상태를 출력해 주는 것입니다. 그러나 더 기능을 추가해 보자면 어떤 것이 있을까요? 연결된 서버의 IP가 출력되도록 했는데, IP보다는 hostname으로 출력한다면 보기 쉬울 것입니다. 예를 들면 210.***.***.***를 hostname 으로 출력한다면 *****.net 이런식으로 해당 서버의 hostname이 출력 되므로 좀 더 명확하게 파악할 수 있을 것입니다. 그리고 모든 포트가 같이 출력되는데 특정 포트만 검색해서 출력할 수도 있습니다. 그것은 배열을 좀 더 가공해서 출력해 주면 됩니다.


◆ PHP에서 ip로 hostname 구하기
- gethostbyaddr("210.***.***.***");

좀 더 깊이 생각해보고 배열을 가공해 본다면 더 보기 쉽게 tcp 연결 상태를 출력할 수 있을 것입니다. 여기서는 tcp 연결 값을 구했지만 udp 연결 값 또한 SNMP에서 구할 수 있습니다.

그래프로 모니터링 툴 업그레이드
지금까지 SNMP의 기본 개념과 PHP로 SNMP 값을 가져오는 부분을 설명했습니다. 그러나 간단하게 웹 브라우저 상에서 값을 출력하는 정도에 그쳤습니다. cpu, 메모리, Load Averages 값을 그래프로 출력해서 볼 수도 있습니다. PHP에서 이런 값들을 가지고 그래프를 그리고자 한다면 쉽지는 않을 것입니다. 더군다나 cpu 모니터링 결과를 실시간으로 그려야 한다면 아마도 답이 보이지 않을 수도 있습니다. 여기서 만들어 보고자 했던 것은 간단한 모니터링 툴입니다.

로그를 남기고 <화면 1>처럼 그래프로 그리고 방대한 량의 정보를 수집하고 그래야 하는 툴이라면 다른 GUI 툴을 이용해서 만드는 것이 효과적일 것입니다. 아니면 이미 만들어져 있는 툴을 사용해도 될 것입니다. 굳이 PHP에서 그래프로 그려보는 이유는 스스로 만들다보면 다른 툴에서 지원되지 않는 기능 또한 간단하고 쉽게 추가해 볼 수 있기 때문입니다. 그것이 PHP의 장점이기도 합니다.








<화면 1> 원도우의 cpu, 메모리 사용량

그렇다면 여기서 지금까지 SNMP로 가져온 cpu, 메모리,  Load Averages 값을 실시간으로 모니터링할 수 있는 방법은 무엇일까요? 제일 간단한 방법은 자바스크립트를 이용하는 것입니다. 자바스크립트로 공개된 그래프 소스들이 많으니 그걸 이용해서 그려보면 됩니다. PHP에서 SNMP로 구한 값을 iframe에서 자바스크립트 그래프로 값을 계속해서 공급해 주면 되는 것입니다. 그러면 <화면 1>과 같은 그래프가 나올 수 있을 것입니다.

새로운 것과의 만남
새로운 것과의 만남은 항상 사람의 마음을 설레게 합니다. 프로그래머 또한 새로운 것과의 만남은 즐거움일 수 있습니다. SNMP는 여러 가지 언어에서 지원하고 있습니다. 굳이 PHP가 아니더라도 다른 언어로 시스템 모니터링하는 프로그램을 만들어 봐도 좋을 것입니다. 중요한 것은 시스템 모니터링 프로그램을 만들면서 시스템을 이해하고 배워간다는 것입니다. 시스템을 이해하고 프로그램을 만든다면 그 프로그램은 이전의 것과 다를 것입니다. 그것이 바로 프로그래머의 즐거움이기도 합니다.

'Programing > PHP' 카테고리의 다른 글

[OSX] Eclipse에서 PHP 로컬 개발/테스트 환경 구축하기  (4) 2008.08.30
Enabling PHP and Apache in Leopard  (2) 2008.08.19
WAV파일 분석  (0) 2006.11.10
간단한 소켓통신  (0) 2006.10.13
간단한 대화식 프로그램  (0) 2006.07.24
posted by 초딩입맛제주아재
2006. 7. 16. 23:57 게임
출처 : 게임동아

"스타일 가이드"



DMC3의 주인공 단테는 총6개의 스타일을 사용할 수 있는데 각 스타일마다 가진 특징이 제각각이다. 그래서 이 페이지에서는 스타일에 대해 조금 알아보고자 한다. (스타일 공격은 공통적으로 동그라미버튼으로 발동된다.)

그림을 클릭하시면 확대된 그림을 보실수 있습니다.

트릭스터

단테의 회피능력을 극대화시킨 스타일. 지상에서 액션을 누르면 빠르게 대쉬를 하는데 이 때 전신무적판정을 가진다. 그리고 벽을 향해서 발동시키면 멋진 곡예를 보이는등. 현란한 회피를 가능하게 해주는 스타일. 적의 공격에 자주 당한다면 이 스타일을 사용해 적의 공격을 피하여 전투를 유리하게 이끌어가자.  

그림을 클릭하시면 확대된 그림을 보실수 있습니다.

스워드마스터

DEVIL ARM의 능력을 극대화시킨 스타일. 근접무기의 특수능력을 이끌어 낼 수 있다. 강력한 힘으로 적을 정면돌파해가는 스타일이라면 스워드마스터가 제격이다.

그림을 클릭하시면 확대된 그림을 보실수 있습니다.

건슬링거

GUN의 능력을 극대화시킨 스타일. 원거리무기의 특수능력을 이끌어 낼 수 있다. 에보니&아이보리의 경우 전작의 투섬타임을 사용할 수도 있고 무기에 따라 발사버튼을 누르고 있으면 차지샷을 발사하는등 총기를 사용한 플레이를 선호한다면 건슬링거!

그림을 클릭하시면 확대된 그림을 보실수 있습니다.

로얄가드

DMC시리즈에 없었던 가드를 등장시킨 스타일. 적의 공격을 가드할 수 있다. 트릭스터와 달리 데미지를 받지만 약간의 데미지일 뿐이다. 게다가 져스트가드라고 해서 적이 공격하는 순간에 가드를 하면 데미지를 입지 않고 적에겐 큰 빈틈을 만들수도 있다. 로얄가드의 최대매력은 적의 공격을 가드하면 그공격을 축적시켜놓았다가 한꺼번에 방출시켜 공격할 수 있다는 점이다.

그림을 클릭하시면 확대된 그림을 보실수 있습니다.

퀵실버

시간을 조종할 수 있게 하는 스타일. 적의 움직임은 느려지지만 플레이어의 움직임은 그대로다. 그렇게 되면 당연히 전투를 유리하게 이끌어갈 수 있다. 하지만 데빌트리거게이지를 사용하기 때문에 남발해서는 안된다.

그림을 클릭하시면 확대된 그림을 보실수 있습니다.

도플갱어

그림자를 조종할 수 있게 하는 스타일. 자신의 분신을 만들어 적을 공격한다. 본체인 단테와 분체인 그림자단테가 동시에 싸우는 만큼 화력이 두배. 데빌게이지의 소비가 상당해서 주력으로 쓰기엔 무리가 있다.

* 퀵실버와 도플갱어를 제외한 스타일은 레벨3까지 업그레이드가 가능하다. 그리고 업그레이드 될 때마다 새로운 능력이 생긴다. 그것이 무엇일지는 자신의 눈으로 확인해보자.

'게임' 카테고리의 다른 글

스트레스 주는 게임....  (2) 2007.01.12
데빌메이크라이3 공략 - 무기편  (0) 2006.07.16
posted by 초딩입맛제주아재
2006. 7. 16. 23:56 게임
출처 :  게임동아

"무기 가이드"


그림을 클릭하시면 확대된 그림을 보실수 있습니다.

에보니&아이보리

단테가 기본장비하고 있는 원거리 무기로 장점은 빠른 연사력이다. 플레이어가 얼마나 빠르게 연타하는가에 따라서 위력이 달라지는 무기다. 공중에서 연사를 하면 공중에 꽤 떠있을수도 있다.

그림을 클릭하시면 확대된 그림을 보실수 있습니다.

샷건

연사력이 떨어지는 산탄총. 원거리에 있는 적에게는 총의 특성상 큰 데미지를 입히지 못하지만 근접해 있는 적이라면 꽤 큰 타격을 줄 수 있다. 한 발쏘고 난뒤에 빈틈이 많아서 회피나 다른무기로 교체함으로써 딜레이를 줄일 수 있다.(이것은 딜레이가 큰 무기에 공통적으로 적용되는 사항)

그림을 클릭하시면 확대된 그림을 보실수 있습니다.

아르테미스

레이저계열의 무기로 다수의 적을 상대할 수 있다. 공격버튼을 누르고 있으면 적을 록온하고 떼는 순간에 록온한 적에게 레이져가 꽂힌다. 다수의 적과 상대하고 있다면 사용해 볼 만한 무기

그림을 클릭하시면 확대된 그림을 보실수 있습니다.

스파이럴

무엇보다 총알의 스피드가 빠르고 사정거리가 꽤나 길다. 하지만 움직임이 빠른 적에게는 히트시키기 어렵다. 원거리에서 가만히 있으며 공격하는 아니그마와 같은 적이 공격을 하지 못하도록 방해하는데 적합하다. 주력으로 쓰기엔 무리가 있다.

그림을 클릭하시면 확대된 그림을 보실수 있습니다.

카리나 안

최고의 대미지와 판정을 자랑하는 무기. 적에게 히트할 때 생기는 폭발에 판정이 있어서 적이 몰려있다면 상당한 효과를 발휘한다. 발사후 딜레이가 걸리긴 하지만 확실히 강력한 무기이기 때문에 높은 난이도에서 큰 역할을 한다.

그림을 클릭하시면 확대된 그림을 보실수 있습니다.

리베리온

게임초반부터 지니고 있는 단테의 무기. 판정이 전방에 집중되는 공격이 많다. 공격속도와 파워는 노멀.

그림을 클릭하시면 확대된 그림을 보실수 있습니다.

켈베로스

얼음의 속성을 지닌 쌍절곤과 비슷한 무기. 공격시에 단테 후방에 공격판정이 생기는 기술이 꽤 많고 공격속도가 상당히 빠르다. 적을 얼리는 속성이 있다. 연속공격을 빠르게 많이 먹이는 타입이라 한 대 한 대의 파워는 무기 중에 제일 약한듯.

그림을 클릭하시면 확대된 그림을 보실수 있습니다.

아그니&루드라

불과 바람의 속성을 지닌 두개의 검. 공격시에 이동범위가 넓고 회전하는 공격이 많아서 다수의 적과 싸울때 효과적. 공격속도가 빠르다.

그림을 클릭하시면 확대된 그림을 보실수 있습니다.

네반

전기속성을 지닌 기타형 무기. 전기박쥐를 소환하여 적에게 공격한다. 다른 무기들과 달리 록온(R1)의 활용이 중요한 무기. 원거리 공격에 특화되어 있는듯 하지만 전격을 활용한 공격은 근접전에서도 상당히 활약한다.

그림을 클릭하시면 확대된 그림을 보실수 있습니다.

베어울프

빛속성을 지닌 손목토시와 다리보호대로 근접격투술 무기. 등장하는 DEVIL ARM중에서 가장 강력한 파워를 지니고 있다. 그런 만큼 공격스피드는 느린편. 다수의 적과 싸울때 보단 소수의 적과 싸울 때 사용하는게 좋다.

*무기는 업그레이드 되면 파워나 딜레이 연사속도 스킬의 추가등 변화가 생긴다. 위에 적은 내용은 무기의 기본성능이고 스타일에 따라 다른 공격수단도 생기고 레벨업하면 각 무기의 특수능력을 사용할 수 있으니 자신에게 가장 잘 맞는 무기의 조합은 무엇인지 찾아보자!

'게임' 카테고리의 다른 글

스트레스 주는 게임....  (2) 2007.01.12
데빌메이크라이3 공략 - 스타일 가이드  (0) 2006.07.16
posted by 초딩입맛제주아재
2006. 7. 3. 13:47 음악




snow is falling from the sky
하늘에서 눈이 내리고 있어

In the middle of July
7월 중순에 말이야

Sun was shining in my eyes again last night
어젯밤엔 내 눈에 빛나는 태양이 보였지

Alarm goes off without a sound
알람은 소리도 없이 꺼져버리고

The silence is so loud,
침묵이라는게 오히려 더 시끄럽고,

something isn't right
뭔가가 잘못된거야

Footsteps echo down the hall
복도를 따라 발자국소리가 들려

No one's there at all
복도엔 아무도 없는데 말이야

Dial your number but your voice says
너에게 전화를 하지만

"I'm not home"
네 목소리는 "난 집에 없어요"라고만 말하고.

Everything is inside out
모든 것이 뒤집어졌어

I don't know what it's about
도대체 무슨 일인지 모르겠어.

It keeps getting stranger by the day,
날이 가면 갈수록

yeah Stranger by the day, yeah
점점 이상해져가고 있어.

It keeps getting stranger by the day
시간이 갈수록 점점 더 이상해져.

Stranger by the day
이상해진다구. 점점 이상해지고 있어.


2.  Going for a walk outside
밖으로 산책을 나갔지

To see what I can find
뭣좀 알아낼 것이 있을까 싶어서

No reflection in the windows I pass by
내가 지나가는데도 창문엔 아무 것도 비치는게 없어.

It feels hotter in the shade
그늘속에 있는게 오히려 더 더운 것같고

Water's running up the drain
하수구에서 물이 뿜어져나오고 있어

Something's going on
무슨 일인가가 일어나고 있는 거야.

Conversations with a mime
마임하는 사람과 이야기를 나누고,

Stared at by the blind
눈이 먼 사람이 빤히 쳐다보고.

Imagination must be working overtime
상상력이라는게 넘쳐나는게 틀림없어

The world is upside down
세상이 거꾸로 된거야

Everything is turned around
모든 것이 뒤집어졌어

It keeps getting stranger by the day,
점점 이상해져만 가고 있어

yeah Stranger by the day, yeah
시간이 갈수록 점점 더 이상해져

It keeps getting stranger by the day
날이가면 갈수록 점점 더 이상해진다구

Stranger by the day
점점 더 이상해지고 있어

By the time I reach your door
너의 집 문앞에 도착했을때 쯤엔

I can't take anymore
더 이상 참을 수가 없었지

I just happened to be in your neighborhood
그냥 어쩌다보니 너의 집 근처에 있게 되었어

I'm the one who gets surprised
근데 놀란 사람은 오히려 나였지

I don't believe my eyes,
내 눈을 믿을 수가 없어

your alibi's no good
너의 변명거리도 충분치가 않아

Whatever happened to the world
세상에 무슨 일이 생기든

Whatever happened to the girl
그녀에게 무슨 일이 생기든

I thought I knew
난 내가 알꺼라고 생각했어

It just can't be true,
이건 사실일리가 없어

I guess I'm losing you
이제 널 잃어 버리게 되는건가봐

Stranger by the day Stranger by the day, yeah
날이 갈수록 점점 더 이상해져

It keeps getting stranger by the day,
점점 더 이상해진다구. 시간이 갈수록

yeah Stranger by the day, yeah
점점 더 이상해진다구

Stranger by the day Stranger by the day
점점 더 이상해져. 시간이 갈수록

Stranger by the day, yeah, yeah
날이 갈수록 점점 더 이상해진다구.시간이 갈수록



덧.
이 음악은 EBS 지식채널 이영표편에도 삽입이 됐다. (50초 즈음)




'음악' 카테고리의 다른 글

kiss kiss - sweetpea  (0) 2007.02.13
서태지의 "난 알아요"가 표절인가...  (4) 2007.01.08
ABBA, 나에게 힘이 되어주는...  (0) 2006.10.29
USB 기타 "JamMate UG-1"  (3) 2006.10.02
소울메이트 OST ep.12~14  (1) 2006.05.13
posted by 초딩입맛제주아재
2006. 7. 3. 13:27 Programing/HTML/JavaScript/CSS

브라우저 내장객체 - navigator 객체

navigator.appName - 웹이름
navigator.appVersion - 웹버전
appCodeName - 브라우저의 코드명 반환
appVersion - 현재 사용중인 브라우저 버전 반환
appName - 현재 사용중인 브라우저 이름 반환
mimeType - MIME 형식의 정보 반환
plugins - 플러그인 정보 반환
platform - 사용중인 시스템 코드 반환
userAgent - 브라우저의 이름, 버전, 코드 포함하는 문자열 반환

posted by 초딩입맛제주아재
2006. 7. 3. 13:24 삶은달걀

사이가 좋아 보이는 베트남 모자(母子)


친구녀석이 오랜만에 서울에 왔다.
대전 가면 늘 보는 친구지만 서울에서 보니 색다른것이
아무래도 내 구역(?)이라 그랬나보다...

얼떨결에 친구놈이 서울 관광을 시켜줘야 할 외국인 3분과 함께 동행을 하게 됐다.
그래도 그 녀석보단 서울물을 많이 먹어본지라
여기가 어떻고 저기가 어떻고 참견은 할 수 있었으니...

외국인 손님들은 요리와 관련된 사람들이었다.

나이가 지긋하신 중국인 아저씨는 '중국 황실 요리 전수자'...
위 사진에 있는 다정해 보이는 모자(母子)는 베트남에서 왔는데
어머니가 요리사란다.
아들되는 홍(Hong)은 나이가 스물 둘이었던가 스물이었던가...--;
암튼 영어를 무진장 잘 했다.

중국어를 전공한 친구놈은 중국 아저씨를,
난 베트남 모자를 전담 마크하며 명동을 누볐다.

중국어,베트남어는 도저히 알아듣지도 못하겠고
홍과 영어로만 대화를 했다.
물론 난 내가 아는 몇 안되는 단어들의 조합으로 가까스로...

생전 처음으로 외국인들과 오랜 시간을 보냈다.
처음엔 꿀먹은 벙어리처럼 말 한마디 못하고
과묵하게 존재감을 숨기고 있었으나 어찌어찌 말문이 터지니
재밌기도 하고 나중에는 하고 싶은 말이 많았으나
짧은 영어가 그것을 방해했음에 속이 쓰렸다.
프로그래밍에서도 그렇고 영어는 여러가지로 내 발목을 잡는다.
영어를 확 정복해버리고 싶지만... 포기하련다 -_-;;

홍과 그의 어머니를 보면서
참 다정한 모자지간이란 생각이 들었다.
뒤이어 내 부모님 생각이 난건 당연한 것이었다.
고생만 하신 엄마,아빠...
아들놈이 못나서 여행한번 못시켜드리는것에 내심 죄송스럽다.
내년에는 가족여행한번 갈 수 있을까...
posted by 초딩입맛제주아재