분류 전체보기 166

자주 쓰는 명령어

앞으로 ubuntu에 node.js를 사용할때 기본적으로 자주 사용하게 될 명령어를 여기에 기록하고자 한다. [디렉토리]mkdir : 디렉토리 생성.rmdir : 디렉토리 삭제. [이동]cd [디렉토리명] : 해당 디렉토리로 이동.cd .. : 상위 디렉토리로 이동. [리스트 보기]ls - 파일 리스트 보기 (ls -al) [프로세스]ps : 프로세스 확인.kill -15 [프로세스 ID] : 정상적인 종료 시그널을 통한 프로세스 종료.kill -9 [프로세스 ID] : 강제 종료 시그널을 통한 프로세스 종료. [포트확인]netstat -tnlp lsofnmap [버전확인]npm -vnode -vexpress -V : express의 경우 V가 대문자이다. npm list : 설치된 모듈의 버전을 확인 ..

Node.js 2017.07.26

node.js 설치 및 최신버전으로 업데이트.

앞서 VM에 ubuntu를 설치 했고, npm까지 설치 했으니 node.js를 설치 할 차례이다. 1. node 설치 확인. - node 명령어를 입력해 보니 설치가 되어 있지 않다고 나온다. - 안내 메시지로 sudo apt install nodejs-legacy 를 입력해 설치 하라고 나온다. 2. 안내에 따라 입력해 node.js를 설치 한다. 3. 설치 후 버전 확인. node.js 설치가 완료되어 버전이 확인 됨을 확인 할 수 있다. 4. 최신 버전으로 업데이트 방법. - 1. sudo npm cache clean -f 로 캐쉬 삭제. - 2. sudo npm install -g n 으로 n 모듈 설치. - 3. 버전 설치.: sudo n stable 로 안정화 버전 설치.: sudo n 8.4..

Node.js 2017.07.26

ubuntu 설치에 대한 기록 3 - npm

1. VM과 ubuntu를 설치 하고 나면 기본 형태의 ubuntu 서버를 확인 할 수 있다. 2. 아이디와 패스워드를 입력하면 로그인이 되고 기본적으로 사용할 준비가 끝이 난다. 3. npm 설치 확인: npm -v 명령어로 버전을 확인한다. - 설치가 되어 있지 않다고 나오고 안내 메시지로 sudo apt install npm 으로 설치를 하라고 나온다. 4. 안내에 따라 명력어를 입력하여 npm을 설치한다. 5. 설치 후 버전 확인. - 현재 나와 있는 버전 보다 낮다. 6. npm 최신 버전을 사용하기 위해서는 ubuntu를 업데이트 해야 한다. - 아래 명령어로 ubuntu를 최신화 한다. : sudo apt-get update: sudo apt-get upgrade 7. npm 최신화를 위해 ..

Node.js 2017.07.26

ubuntu 설치에 대한 기록 2 - ubuntu 16.04

앞서 만든 VM에 ubuntu를 설치한다. 설치하는 ubuntu는 16.04 LTS 이다. 1. 만들어진 VM을 클릭하면 시동 디스크 선택화면이 뜬다. 대부분 자동으로 이미지를 자동으로 선택하나 여러버전의 이미지를 가지고 있다면 옆에 폴더 모양의 아이콘을 선택하여 원하는 이미지를 선택한다. 2. 기본 언어 선택을 한다. 일단은 '한국어' 선택. 3. 선택하고 나면 설치 화면이 나오고 설치를 선택하여 진행. 4. 번역이 온전하지 않다고 하지만, 그냥 진행한다. 5. 국가 또는 영역 선택인데 여기서 선택하는 위치에 따라 표준시가 설정 된다. 대한민국 선택. 6. 키보드 설정은 패스. 7. 기본 키보드는 영문으로 선택 8. 호스트 이름 입력 9. 사용자 이름 입력. 10. 암호 입력 11. 표준시 확인. 12..

Node.js 2017.07.26

ubuntu 설치에 대한 기록 1 - VirtualBox

ubuntu 설치에 대한 기록. 설치는 VirtualBox에 하도록 한다. 설치를 위해서 VirtualBox를 다운 받아 설치한다. ( https://www.virtualbox.org/ ) 1. 새로 만들기 선택 후 이름에 'ubuntu'를 입력하면 종류와 버전이 Linux로 자동 선택 된다. 안된다면 수동으로 선택. 2. 가상 머신에 할당할 메모리 크기를 선택. 현재 PC의 상황을 고려해서 적절하게 선택. 3. 가상 머신에서 사용할 저장공간을 만들어 주고 4. 저장 공간의 타입은 VirtualBox 디스크 이미지로 만들어 준다. 5. 가상 머신의 저장공간 형태를 지정해 준다. 처음부터 정해진 공간을 할당할 것인 최대 값을 설정하고 필요시마다 점점 늘려 갈 것인지를 선택한다. 6. 저장 공간의 크기를 설..

Node.js 2017.07.26

[STL] 지역 변수를 STL Container에 삽입시 발생하는 일.

STL Container에 지역 변수를 push하면 발생하는 일. - 지역변수 1. 함수 내부에 선언된다. 2. Life Cycle은 함수의 종료 시점과 같이 한다. 3. 저장소는 therad-stack 이다. 4. thread-stack은 1Mb 이다. 5. 1Mb를 초과하면??? - 어떻게 되는지는 또 찾아봐야지... 우선 계속 진행. - 지역변수를 STL Container에 push 하면. 1. 지역 변수 선언시 thread-stack에 생성. 2. STL Container에 삽입시 new를 통해서 heap에 할당 된다. : Move Semantics를 통해서 가능. ※ 다음 할 이야기. 1. thread-stack 초과시 어떻게 되는가? 2. Move Semantics 자세히 기술하기.

etc 2015.08.03

[C++] 메모리 가시성과 메모리 장벽

메모리 가시성 (Memory Visiblity)1. 정의- Thread에서 변경한 특정 메모리 값이, 다른 Thread에서 제대로 읽어지는가 라고 할 수 있다 2. 문제- cpu의 메모리 아키텍쳐. 즉, 레지스터와 캐쉬가 존재하기 때문이다. : 각각의 코어는 메인 메모리와 별도로 각각의 레지스터와 캐쉬를 가지기 때문이다.- 컴파일러의 최적화: 컴파일러는 프로그램이 최대한 빠르게 실행될 수 있도록 코어의 레지스터와 캐쉬를 사용하도록 한다. 3. 결론- Shared Memory 모델의 Concurrent, Parallel Programming에서는, 한 코어에서의 값 변경을 여러 코어가 공유하는 메인 메모리로 반영하는 작업을 적절히 수행해야 메모리 가시성을 유지할 수 있다 메모리 장벽 Memory Barri..

etc 2015.07.29

[Design pattern] Singleton Pattern with C++ 11

Singleton Pattern 1. 정의: 클래스에서 만들 수 있는 인스턴스가 오직 하나일 경우에 이에 대한 접근은 어디에서든지 하나로만 통일하여 제공한다. 2. 기본형 : 기본형의 문제는 Thread Safe 하지 않다는 것이다.: Multi-Thread 환경에서 Race Condition이 발생할 수 있다. 3. Double-Checked Locking Pattern (DCLP): 해제는 제외.: 두 번의 체크와 락을 통해서 Thread 안정성을 확보 한다. 4. Using C++11 Atomic (Acquire and Release Fences)- Atomic Class: 정수형 또는 포인터 타입에 대해 산술 연산들을 atomic하게 수행할 수 있도록 해주는 템플릿 클래스.: 이전 atomic 연..

Design Pattern 2015.07.29

[C#] ThreadPool 기본 사용.

c# 에서 제공하는 기본 쓰레드 풀 사용해 보기. 1. 테스트를 위한 컨테이너 선언. - Thread에 안전한 ConcurrentDictionary로 선언.2. 컨테이너에 값 삽입. 3. 루프를 돌면서 컨테이너에서 값 하나 꺼네서 제공하는 쓰레드 풀에 삽입.4. 끝나는 시간에 차이를 두기 위해서 테스트용 함수 안에서 랜덤하게 슬립을 걸도록 한다.5. 마지막으로 main 함수 에서 스레드가 종료되기 전에 메인 쓰레드가 종료되는 것을 막기위해서 ReadLine을 선언. 끝.

C# 2014.11.26