Process 객체는 프로그램과 관련된 정보를 나타내는 객체

 

자바스크립트엔 존재 하지 않고 Node.js 에만 존재하는 객체

 

Process 속성

argv            실행 매개변수를 나타냄

env             컴퓨터 환경과 관련된 정보 나타냄

version        Node.js 버전

versions      Node.js와 종속된 프로그램 버전

arch            프로세서의 아키텍처를 나타냄

platform        플랫폼을 나타냄

 

 

Process 메서드

exit()                    프로그램을 종료

memoryUsage()     메모리 사용 정보 객체를 리턴

uptime()                현재 프로그램이 실행된 시간을 리턴

 

 

 

// process.argv
process.argv.forEach(function ( item,index ) {
 // 출력
 console.log(index + " ; " + typeof (item) + " : " , item);

 if ( item == '--exit' )
 {

  console.log('test jaeho');
  var exitTime = Number(process.argv[index + 1]);  

  setTimeout(
    function ()
    {
     process.exit();
    }
      , exitTime );

 }
});

 

결과 화면

 

 

매개변수를 4개를 받았으므로 네번을 for문을 돌면서 정보를 찍어준다,

그리고 10000을 입력 했으므로 1000에 1초 즉 10초 뒤에 프로그램이 종료된다.

 

 

 

 

process 객체의 속성

console.log('- process.env:', process.env );
console.log('- process.version:', process.version );
console.log('- process.versions:', process.versions );
console.log('- process.arch:', process.arch );
console.log('- process.platform:', process.platform );
console.log('- process.memoryUsage():', process.memoryUsage() );
console.log('- process.uptime():', process.uptime() );

 

결과 화면

 

 

 

 

Posted by 부우산사나이
:

ANSI코드

0  초기화 합니다.

1  색을 밝게 합니다.

30 - 37 글자색 지정

40 - 47 배경색 지정

 

사용 방법

console.log('\u001b[31m', 'Jaeho');

console.log('\u001b[1m', 'Jaeho');

console.log('\u001b[0m', 'Jaeho');

console.log('\u001b[41m', 'Jaeho');

console.log('\u001b[32m', 'Jaeho');

console.log('\u001b[33m', 'Jaeho');

 

결과화면

 

 

'Programing > Node.js' 카테고리의 다른 글

[node.js] crypto 모듈  (0) 2014.12.03
[node.js] 기본 내장 모듈  (0) 2014.11.30
[node.js] exports 객체와 모듈  (0) 2014.11.30
[Node.js] process 객체  (0) 2014.11.30
[Node.js] 전역변수, 전역 객체, time, 특수문자  (0) 2014.11.28
Posted by 부우산사나이
:

전역변수

 

__filename  현재 실행중인 코드의 파일 경로

__dirname 현재 실행중인 코드의 폴더 경로

 

console.log('filename:', __filename);
console.log('dirname:', __dirname);

결과

filename: d:\Node.js\node.test1.js

dirname: d:\Node.js

 

 

 

전역객체

console 콘솔 화면과 관련된 기능을 다루는 객체

exports 모듀과 관련된 기능을 다루는 객체

process 프로그램과 관련된 기능을 다루는 객체

 

- console 메서드

 log() 출력

 time(label) 시간 측정을 시작

 timeEnd(label) 시간 측정을 종료

 

- console 특수문자

 %d     숫자

 %s     문자열

 %j     JSON

 

console.log('output : %d', 273);

 

결과

output : 273

 

console.log('숫자: %d + %d = %d', 273, 52, 273 + 52);

console.log('문자열: %s', 'Hello World', '특수 기호와 상관 없음');

console.log('JSON: %j', ' { name : 'RintIantTta' });

console.log('숫자: %d + %d = %d  & %d', 273, 52, 273 + 52);

 

결과

숫자: 273 + 52 = 325

문자열: Hello World 특수 기호와 상관 없음

JSON: { name : 'RintIantTta' }

숫자: 273 + 52 = 325 & %d

 

* 매개 변수 갯수가 많으면 그냥 그대로 출력 됨!

* 매개 변수 갯수가 부족하면 %d 라던지 %j같은게 특수문자로 인식 되지 않고 그냥 그대로 출력!!

 

 

- console의 time

// 시간을 측정 합니다.
console.time('alpha');

var output = 1;
for( var i = 1; i <= 1000000000; ++i)
{
 output += i;
}
console.log('Result : ', output);

//시간 측정을 완료합니다.
console.timeEnd('alpha');

 

결과

Result : 500000000067109000

alpha: 2356ms

 

* time과 timeEnd 사이의 코드는 시작과 끝 시간을 체크 하기 위에 임의의 코드를 넣어 본 것이다.

'Programing > Node.js' 카테고리의 다른 글

[node.js] crypto 모듈  (0) 2014.12.03
[node.js] 기본 내장 모듈  (0) 2014.11.30
[node.js] exports 객체와 모듈  (0) 2014.11.30
[Node.js] process 객체  (0) 2014.11.30
[node.js] console.log 출력 글자 색 적용  (0) 2014.11.28
Posted by 부우산사나이
:

기존에 애니메이터 시스템을 사용 했는데

 

사용 제약이 생각보다 심해서 애니메이션 시스템으로 바꾸기로 결정하고

 

작업을 진행했는데 애니메이션 플레이가 안되서 살펴보니

 

애니메이터에서 애니메이션으로 시스템 변환 할려면 anim 클립에 옵션을 바꿔줘야 하는게 있었다.

 

이거 때메 삽질 좀 했음!!

 

 

 

anim파일에 Debug창을 킨후 Animation Type을 2에서 1로 바꿔주면 animation 시스템에서 잘 플레이 된다.

나중에 다시 애니메이터 시스템으로 갈려면 저 옵션을 다시 2로 바꾸면 된다.

 

enum AnimtionType

{

None = 0,

Legacy = 1,

Generic = 2,

Humanoid = 3,

}

 

Posted by 부우산사나이
:

출처 : http://kukuta.tistory.com/86

 

1. Shell?

  shell이란 kernel 프로그램 사용자 인터페이스를 제공하는 중간 매개체이다.

  사용자가 shell에서 제공하는 프롬프트를 이용하여 명령어를 입력하면 shell 입력 받은 명령어를 kernel 실행 있는 언어로 변환하여 전달 실행되기 때문에 보통 shell 명령어 해석기라고 한다.

 

2. Shell 변경 확인


 

2.1. 사용 가능한 Shell 확인

  # chsh –l or 또는 cat /etc/shells 입력하면 사용 가능한 shell 출력된다.


 

2.2. Shell 변경

  다른 쉘로 변경하기 위해서는 프롬프트 상에서 “chsh” 입력하면 새로운 프롬프트를 생성한다. 이때 바꾸고자 하는 쉘이 있는 패스를 적어주면 된다. 이렇게 쉘을 변경하게 되면 /etc/passwd 파일 내에서도 기존의 쉘이 새로 지정한 쉘로 변경된다. 또한 “chsh –s /bin/csh” 실행하면 현재 로그인한 쉘을 변경하게 된다.


 

3. Shell 명령어


명령어

설명

:

항상 명령어의 실행 값은 참을 반환하며 아무런 액션도 발생하지 않는다. 참값을 반환하기 때문에 “while : ; do” 같은 형태로 루프문에서 무한 루프를 설정하고 사용된다.

.

지정한 파일로부터 읽거나 실행

alias

명령에대한 앨리어스 지정

bg

특정한 프로세스를 백그라운드로 진행

bind

readline에서의 또는 함수, 매크로에 순서를 결합하고자 사용

break

루프문에서 루프문을 탈출하고자 사용

builtin

내부 명령어나 함수를 실행할 사용할 있으며 스크립트에서 외부명령어와 내부명령어가 같은 이름으로 존재할 내부 명령어만을 실행한다. 만일 지정한 내부 명령어나 함수가 존재하지 않는다면 에러를 출력한다.

cd

디렉토리 이동 명령어

command

내부 명령어 외부 명령어를 실행하며 세부적인 정보를 출력할 있는 명령어

continue

루프문에서 루프문의 처음으로 되돌아 사용하는 명령어

declare

변수를 선언하거나 속성을 부여하고자 사용하는 명령어

dirs

현재 저장되어 있는 디렉토리 리스트 목록 출력

disown

쉘에서 활성화 되어 있는 작업 테이블에서 특정한 작업 목록을 삭제

echo

입력된 문자열의 출력

enable

내부 명령어의 활성화 비활성화

eval

설정되어 있는 인자를 명령어로 변환

exec

현재 프로세스를 치환

exit

종료

export

지정한 환경변수를 하위 프로세스까지 전달

fc

히스토리 편집 출력

fg

포그라운드에서 실행

getopts

명령어의 옵션을 분리하는 명령어

hash

입력한 명령어에 대한 경로를 해쉬 테이블에 저장하여 명령어를 다시 호출할 시스템 패스 $PATH에서 검색하지 않고 해쉬 테이블에서 검색

help

내부 명령어 도움말 출력

history

이전에 사용한 명령어의 출력

jobs

실행중인 작업 목록을 출력

kill

현재 실행중인 프로세스 중단

let

산술 논리 계산

local

로컬 변수의 선언 호출

logout

로그 아웃

popd

저장된 디렉토리 스택으로 부터제거

printf

정형화된 데이터의 출력

pushd

디렉토리 스택으로 저장

pwd

현재 디렉토리 출력

read

프롬프트로부터 데이터 입력

readonly

프롬프트로부터 읽기 전용의 데이터 입력

return

호출한 부모 프로세스로 반환 되는

set

변수 설정

shift

위치 매개 변수의 이동

shopt

옵션의 출력 설정

source

지정한 파일로부터 읽거나 실행

suspend

특정한 신호를 받을 까지 일시 중지

test

조건식을 평가

times

프로세스가 사용한 시간을 출력

trap

명령어 실행 도중 특정한 신호가 입력되었을 때의 처리

type

지정한 명령어가 내부 명령어인지 외부 명령어인지를 출력

typeset

declare 같은 의미

ulimit

시스템 자원을 제한

unmask

파일 디렉토리에 대한 생성 마스크 설정

unalias

앨리어스 해제

unset

함수 변수의 초기화

wait

하위 프로세스가 종료 까지 대기


3.1. 기본적인 입력 명령어


 

3.1.1. 문자 출력 echo

-n

마지막 문자 “\n” 출력 하지 않는다

-e

\(역슬래쉬) 문자 번역

 

3.1.2. 정형화된 문자 출력 printf

C에서 제공하는 printf 비슷한 기능을 제공

사용법 : printf format [argument]

#!/bin/bash

com=”computer”

printf “$com\n” à computer

printf “%s” $com à computer

printf “%s\t” com à com

printf “%s\n” “computer” à computer

printf “%s\n” “$com” à computer

 

3.2. 기본적인 출력 명령어


 

3.2.1. 사용자로부터 값을 입력 받는 read

사용법 : read [-t timeout] [-p prompt] [-a array] [-n nchars] [-d delim] 변수명

-t

사용자로부터 입력 받을 시간을 설정하여 입력한 시간을 초과하면 자동으로 넘어간다.

-p

입력 프롬프트의 형태를 지정하며 문자열을 이용하여 출력

-a

입력 받은 변수가 배열임을 정의

-n

입력 받을 값의 크기 설정(문자의 개수)

-d

지정한 문자열을 입력 때까지 입력 받음

-r

입력한 이스케이프 문자를 인식

-s

사용자로부터 입력 받은 문자를 프롬프트에 echo 하지 않기 때문에 주로 패스워드 입력에 이용. 같은 명령어로 “sty –echo” 프롬프트 echo 기능을 정지 하며 “sty echo” 프롬프트 기능을 활성화 한다.

 

ex) #read –p “Input name : “ –t 10 –n 5 read_value

 

주의 : 변수를 대입 변수 = 같은 형태로 사이에 스페이스를 넣게 되면 대입연산이 아니라 비교 연산이 된다.

4. 기본적인 스크립트

4.1 스크립트의 실행

 만들어진 쉘을 실행하는데 sh 명령어를 이용하거나 또는 스크립트 파일의 실행권한을 활성화 하여 일반 실행 파일처럼 사용하면 된다.

 

4.2. 스크립트의 구분 인자

  스크립트는 명령어와 명령어의 옵션 매개변수로 구분되며 명령어와 명령어의 구분인자로는 Enter 또는 ; 이며 명령어의 옵션 매개변수는 tab 또는 하나 이상의 space 구분 있다.

 

4.2.1 IFS인자 구분 매개 변수

 IFS 구분 인자를 저장하고 있는 변수로, 기본적으로 “space, tab, newline”이다. 만일 특정 문자를 구분인자로 설정하기 위해서 IFS 값을 다른 값으로 지정하여 사용 있다.

 

 

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

Bitbucket - SourceTree OpenSSH 키 등록  (0) 2014.04.03
$'\r': command not found  (0) 2014.04.02
addr2line 사용법  (0) 2014.03.25
tinyxml 문제점??  (0) 2013.01.08
킹스툴즈 2008 ( 비주얼스튜디오 문서화 )  (0) 2012.06.12
Posted by 부우산사나이
:

출처 : http://goguri.tistory.com/entry/TIP-timeNULL%EA%B3%BC-%EC%8B%9C%EC%8A%A4%ED%85%9C-%EC%8B%9C%EA%B0%84%EC%97%90-%EB%8C%80%ED%95%98%EC%97%AC

Posted by 부우산사나이
:

http://blog.naver.com/pajamasi/60198141914

Posted by 부우산사나이
:

이클립스에서 SDK Manager를 통해서 업데이트 한 후 android developer toolkit version 22.6.2 or above 에러 발생시 해결법입니다.


상단 메뉴 Help - Install New Software


Work with에 https://dl-ssl.google.com/android/eclipse/ 사이트 입력


밑에 있는거 전부 선택후 설치


설치후에 에러가 안뜨는걸 확인했습니다.


1차 출처 : http://6495ed.tistory.com/11

2차 출처 : http://stackoverflow.com/questions/22513524/error-message-this-android-sdk-requires-android-developer-toolkit-version-22-6

Posted by 부우산사나이
:

cocos2d-x는 m_pTargetedHandlers, m_pStandardHandlers 이 두가지로 터치을 관리한다.



m_pTargetedHandlers 는 직접 터치이벤트을 받을 타켓이 모여있는 집합이고

m_pStandardHandlers 는 CCLayer들이 모여 있는 집합이다.


m_pTargetedHandlers  여기에 셋팅하는 방법은
CCTouchDispatcher* touchDispatcher = CCDirector::sharedDirector()->getTouchDispatcher();
if(touchDispatcher){
CCTouchHandler* handler = touchDispatcher->findHandler(this);

//if is not already added to the touch dispatcher - then lets add it
if(!handler){
touchDispatcher->addTargetedDelegate( tCCTouchDelegate *pDelegate, int nPriority, bool bSwallowsTouches );
}
}

m_pStandardHandlers 에 셋팅하는 방법은
CCLayer에서 setTouchEnabled( true ) 이 함수만 실행 해주면 된다.

터치 이벤트 순서는

m_pTargetedHandlers  1

m_pStandardHandlers  2




터치 이벤트가 들어오면 터치 핸들러에 등록된 순서대로 아래 그림과 같이 번호가 적힌 대로 터치 이벤트를 발생 시켜 준다.


위에가 지금 보여지고 있는 레이어상에 등록된 모든 터치 이벤트라고 생각하고

지금 레이어 위에 새로운 레이어(팝업창)을 띄워 보자 그 새로운 레이어에는 총 4가지의 터치 이벤트가 있다고 생각하면

아래와 같은 그림처럼 되어 있을 것이다. 

따로 터치 가중치를 안주면 처리 방식은 스택형식으로 된다.





이제 우리가 원하는거는 Layer_2(팝업창)에만 터치 이벤트를 받아오게 하고 싶은 것이다.

이것을 하기 위해선 세가지 조건을 충족 시켜야한다.


첫쨰

touchDispatcher->addTargetedDelegate( tCCTouchDelegate *pDelegate, int nPriority, bool bSwallowsTouches );

여기 함수에서 bool bSwallowsTouches 이 속성이 있는데 여기에 ture을 주면 된다.


둘째 

이타겟은 충돌범위는 화면 전체를 가지고 있거나 터치다운 이벤트 시  무조건 true값을 넘겨줘야 한다.


셋째 

bool bSwallowsTouches 이 속성을 줄 녀석은 팝업창 등록 시 맨 처음 등록 되는 타겟에 셋팅이 들어가야한다.

무슨 말이냐면 레이어2번에는 총 4개의 터치 이벤트가 있는데 따로 터치 가중치를 안주면 첫번째로 등록 시킨

터치 이벤트는 4번째로 터치 이벤트를 받게 된다.


이렇게 되면 Layer2(팝업창)에만 터치이벤트를 받을 수 있게 된다.







Posted by 부우산사나이
:

1.  Cygwin에서 아래와 같이 입력해준다.

    $ ssh-keygen -t rsa


2. 처리가 잘되면 C:\cygwin64\home\(사용자아이디)\.ssh   이 폴더안에

 id_rsa
 id_rsa.pub
 known_hosts

이 세가지 파일이 생긴다.

id_rsa.pub 이파일은 BItbucket에 넣어줘야 할 키값이고

id_rsa 이 파일은 SourceTree에 넣어줘야 할 키값이다.

 

 

빨간색 부분 Manage account 클릭한다.

 

 

 

 

여기까지하면 Git 서버에 키값이 등록 완료 된다.

 

이제 SourceTree에 키값 등록만 하면 된다.

 

 

 

이렇게 하면 모든 것이 끝.

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

쉘 스크립트(shell script) - 명령어  (0) 2014.10.23
$'\r': command not found  (0) 2014.04.02
addr2line 사용법  (0) 2014.03.25
tinyxml 문제점??  (0) 2013.01.08
킹스툴즈 2008 ( 비주얼스튜디오 문서화 )  (0) 2012.06.12
Posted by 부우산사나이
: