NEON 벡터 자료형

프로그래밍/NEON(ARM) 2014. 8. 27. 15:19

NEON 벡터 변수 자료형 표현 방식

<type><size>x<number of lanes>_t  변수명

  타입  사이즈 x          길이         _t  변수명


<NEON 벡터>                   <C 변수>

  int16x4_t a           ▷      int16_t a[4]


<type><size>x<number of lanes>x<length of array>_t

 타입   사이즈 x 길이(레인개수)  x 개수 _t 



'프로그래밍 > NEON(ARM)' 카테고리의 다른 글

NEON 비트와 시프트 연산  (0) 2014.09.03
NEON 레인 설정과 조회  (0) 2014.08.31
NEON 산술 연산과 확장  (0) 2014.08.27
NEON 함수 정리(로드 함수, 저장함수)  (0) 2014.08.27
NEON 기본개념  (0) 2014.08.27

NEON 기본개념

프로그래밍/NEON(ARM) 2014. 8. 27. 14:21

NEON의 자료형


{0,1}을 통한 다항식 산술이란 숫자 0과 1을 이용하여 bool 산술 규칙을 이용하는 것을 말한다.


  0 + 0 = 1 + 1 = 0,    0 + 1 = 1 + 0 = 1,   0 * 0 = 0 * 1 = 1 * 0 = 0,    1 * 1 = 1



NEON 벡터의 크기

NEON 벡터(변수) 는 레지스터와 연결되어 있고, NEON 함수는 레지스터를 제어하기 위해서 사용된다.


더블워드(64bit) NEON벡터(D 레지스터)

- 8개의 8비트 요소

- 4개의 16비트 요소

- 2개의 64비트 요소

- 1개의 64 비트 요소


쿼드워드(128bit) NEON벡터(Q 레지스터)

- 16개의 8비트 요소

- 8개의 16비트 요소

- 4개의 32비트 요소

- 2개의 64비트 요소


더블워드 NEON 벡터는 64bit 크기의 연산을 지원하고, 쿼드워드 NEON 벡터는 128bit 크기의 연산을 지원한다.



NEON 레지스터

NEON에서는 Q레지스터와 16개의 D레지스터 32개를 포함하여 총 256byte의 레지스터를 사용하여 연산한다.

256byte 중에서 D레지스터는 VFP(부동 소수점) 레지스터와 공유한다. VFPv2는 D0~D15 레지스터를 사용하고, 

VFPv3은 D0~D31 까지 사용한다.

NEON은 D레지스터를 VFP 레지스터와 공유하므로 NEON 연산과 VFP연산을 동시에 사용하면 레지스터가 충돌하여 예상치 못한 결과가 발생할수 있다.


출처 : http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.dht0002a/ch01s03s02.html



'프로그래밍 > NEON(ARM)' 카테고리의 다른 글

NEON 비트와 시프트 연산  (0) 2014.09.03
NEON 레인 설정과 조회  (0) 2014.08.31
NEON 산술 연산과 확장  (0) 2014.08.27
NEON 함수 정리(로드 함수, 저장함수)  (0) 2014.08.27
NEON 벡터 자료형  (0) 2014.08.27

[STL] List

프로그래밍 2014. 3. 6. 23:52

오늘은 List에 대해 정리해 볼까 합니다.

 

LIST

 리스트들은 연속적인 컨테이너 종류중 하나입니다. 원소들은 선형 연속성에 의해 정렬되어 있습니다. 리스트 컨테이너 들은 더블 링크드 리스트의 한 종류이며, 더블 링크드 리스트들을 사용해 메모리 상으로 인접하지 않은 곳(다른곳)에 원소들을 저장할수 있습니다. List를 정렬시 각각의 원소들이 앞에 링크된 원소와 뒤따르는 원소의 연관관계에 의해 정렬됩니다.

LIST의 장점으로는 컨테이너의 특정 위치에 원소 삽입, 삭제가 효율적이며, 앞(forward) 혹은 뒤(backward)방향으로 반복 접근이 가능한 장점이 있습니다. 위에서 작성한것과 같이 메모리 상에 꼭 인접한 공간에 할당되지 않으므로 효율적인 이동이 가능합니다.

다른 기본 표준 연속 컨테이너(벡터, 덱)과 비교하면, 리스트는 컨테이너 안의 어떤 위에 있는 원소들의 삽입, 추출, 이동의 수행능력이 좋습니다.

한편 단점으로는 리스트는 요소에 대한 직접접근이 불가능합니다. 예를 들자면, 리스트에 있는 다섯번째 자리에 있는 요소에 접근 하려고 하면 이미 알고 있는 자리에서부터(첫번째 혹은 마지막) 차례차례 접근하는 수밖에 없습니다. 따라서 요소에 접근하는 시간이 추가적으로 소요되게 됩니다. 또한 리스트들은 각각의 원소들을 연결시켜 놓기 위해 Link되는 포인터 부분이 존재하기 때문에 데이터 저장공간 외에 추가적으로 Pointer 메모리를 추가적으로 사용합니다. 만약에 작은 용량이 아닌 큰 사이즈의 리스트를 사용할 때 이 부분이 문제가 될수 있으므로 주의해야 합니다.

리스트가 확장되거나, 필요에 의해 작아질때  리스트의 크기는 STL에서 자동적으로 조절합니다.

C++ 표준 템플릿 라이브러리의 리스트 에서는 두개의 파라메터를 갖습니다.

 

template <class T ,class Allocator = allocator<T>> class list;

    T : 요소의 타입

    Allocator : 용량 할당 model를 정의하기 위해 사용된 allocator 객체(object)타입

 

Member functions

 

Iterators

 

Capacity

 

Element access

 

Modifiers

 

Allocaotr

 

Operations

 

Member types

of template <class T, class Allocator = allocator<T> class list;

 

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

멀티 스레드  (0) 2014.12.13
파이썬 argparse  (0) 2014.11.08
[STL] Vector  (0) 2014.03.05
PHP document  (0) 2014.02.23
APM으로 서버 구동하기(설치) - AutoSet  (0) 2014.02.23

[STL] Vector

프로그래밍 2014. 3. 5. 01:43

Vector

Vector 들은 연속된 컨테이너의 한 종류입니다. 일반 배열들과 같이 vector 컨테이너들은 인접한 저장 위치에 저장되어 있습니다. 따라서 요소들을 단지 반복자(iterator)를 사용하지 않고도 특정 offset(포인터)로 접근이 가능합니다.

 

일반적으로 vector의 저장용량은 필요에 따라 확장되고, 용량은 자동적으로 계산됩니다.

 

Vector의 가장큰 장점으로는 특정 인덱스로 각각의 요소에 접근 가능 함에 있습니다. 또한 끝에서 요소를 추가하거나 제

거함에 편리합니다. 배열과 비교해서 vector는 거의 같은 기능을 제공합니다. 추가로 vector는 쉽게 크기를 바꿀수 있는

기능도 가지고 있습니다. 일반적으로 용량이 자동적으로 다루어지기 때문에 배열과 비교하면 vector는  더욱 많은 메모리

용량을 사용합니다. 그리고 list보다 일관된 iterator reference를 적게 가지고 있습니다.

 

내부적으로 vector는 내부에 저장된 요소들이 얼마나 있는지(개수)를 나타내는 크기를 가지고 있습니다.(size) vector의

경우에는 할당받은 용량이 모두 사용되지 않을수도 있습니다. vector의 경우 매번 할당받을 경우 부하가 걸리기 때문에

미리 할당을 해두고 용량을 사용하는게 좋습니다.

 

Template <class T, class Allocator = allocator<T>> class vector

위의 템플릿 파라메터들은 다음과 같은 뜻을 갖습니다.

T : 요소 타입

Allocator : 용량 할당 모델을 정의하기 위해 사용된 allocator 객체의 기본 타입, 기본적으로 타입 T를 위한 allocator클

                래스 템플릿은 단순한 메모리 할당 모델을 정의하고 독립적인 값을 위해 사용됩니다.

 

vector 멤버함수를 위한 참조에서의 같은 이름들은 템플릿 파라메터들로 추측할수 있습니다.

 

Member function

 

Iterator

 

Capacity

 

Element Access

 

Modifiers

 

Allocator

 

Member types

Of template <class T, class Allocator = allocator<T>> class vector

 

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

멀티 스레드  (0) 2014.12.13
파이썬 argparse  (0) 2014.11.08
[STL] List  (0) 2014.03.06
PHP document  (0) 2014.02.23
APM으로 서버 구동하기(설치) - AutoSet  (0) 2014.02.23

Android - DB 연동 기술 정리

프로그래밍/안드로이드 2014. 2. 25. 02:34
1. Android - DB 다이렉트로 연결 불가

 

: Google에서 막아놨다.

 

2. Android - JSP or PHP (XML or JSON) - DB

 

클라이언트에서 쿼리를 담고 있는 JSP, PHP 파일에 인자를 주고 실행시켜 버림.

리턴값을 JSON, XML 타입으로 받는다.

 

<JSP, XML 샘플>

http://blog.naver.com/PostView.nhn?blogId=itseeker&logNo=140128901209&categoryNo=7&viewDate=&currentPage=1&listtype=0

<PHP, XML 샘플>

http://gongmille.tistory.com/5

 

3. Jquery

제이 쿼리는 Javascript를 사용하기 편하게 만든 라이브러리로 Client side script.

따라서 제이쿼리만으로는 안드로이드와 통신 불가

 

<Jquery vs Javscript>

http://blog.daum.net/a-bear16/29

 

<Jquery 시작하기>

http://webnoon.net/entry/jQuery-%EA%B0%95%EC%A2%8C-1-%EC%96%B4%EB%A0%A4%EC%9A%B4%EA%B0%9C%EB%85%90%EC%9D%80-%EB%B2%84%EB%A6%AC%EA%B3%A0-%EB%B0%94%EB%A1%9C-%EC%8B%9C%EC%9E%91%ED%95%98%EA%B8%B0

 

What is the difference between JQuery and Node.js

 



4. Node.js

Node.js 는 Server side script

Node.js에서 안드로이드와 통신하려면, Socket.io 사용

http://stackoverflow.com/questions/15826074/how-to-communicate-with-node-js-server-from-android-client

<Node.js 따라배우기>

http://blog.doortts.com/206


<Node.js 란?>

http://codejob.co.kr/code/view/22/

 

<Node.js 시작하기>

http://godffs.tistory.com/entry/02Nodejs-입력-화면-만들기 

 

<Node.js 에서 Jquery 사용>

http://spectrum.egloos.com/5501860

 

<Node.js IDE cloud 9>

http://sajagogumi.tistory.com/104

 

<Node.js 에 대한 비판>

http://himskim.egloos.com/3810574

 

<Express, MongoDB로 빠르게 블로그 만들기>

http://crazia.tistory.com/entry/Nodejs-Express-%EC%99%80-MongoDB-%EB%A5%BC-%EC%9D%B4%EC%9A%A9%ED%95%B4%EC%84%9C-%EB%B9%A0%EB%A5%B4%EA%B2%8C-%EB%B8%94%EB%A1%9C%EA%B7%B8-%EB%A7%8C%EB%93%A4%EA%B8%B0

 

<Node.js 로 웹개발 하기 위한 기술 세트>

http://mobicon.tistory.com/208

 

5. HTML5의 Web Socket

http://m.mkexdev.net/98

<Github Websocket - Android Sample>

https://github.com/koush/android-websockets

 

'프로그래밍 > 안드로이드' 카테고리의 다른 글

안드로이드 NDK 등 링크 정리  (0) 2014.02.24
안드로이드 NDK 로그 출력하기  (0) 2014.02.01

C++ 파일 입출력

프로그래밍/C/C++ 2014. 2. 24. 05:22

파일 클래스는  ifstream, ofstream, fstream으로 지정할수 있고, 개방 모드로는 입출력 동작 모드를

지정하는 ios::in, ios::out등을 사용한다.



의 미 

 in

파일 입력(파일 읽기) 

 out

 파일 출력(파일 쓰기)

 ate

 파일 개방 후, 파일 끝으로 이동

 app

 파일 추가(append)

 trunc

 존재하는 파일 제거(truncate)하고 새로운 파일로 연다

 binary

 텍스트(text)가 아닌 바이너리(binary)로 출력


  

☞ 파일 입출력 간단히 소개

//"data.in" 파일을 입력 파일로 개방

ifstream infile("data.in", ios::in);

 

//"data.out" 파일을 출력 파일로 개방

ofstream outfile("data.out", ios::out);

 

//"myfile.dat" 파일을 입출력 상태로 개방

fstream myfile("myfile.dat", ios::in | ios::out);

 

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
31
32
33
#include <iostream>
#include <fstream>
#include <string>
using namespace std;
 
int main()
{
   ofstream fo("test.dat");
   
   if(!fo) {
      cout << "파일 열기 실패!\n"
      exit(1);
   }
   
   fo << "Hello!\n";
   fo << 123 << " " << hex << 123 << endl;
   fo.close();
 
   ifstream fi("test.dat");
 
   if(!fi) {
      cout << "파일 열기 실패!\n";
      exit(1);
   }
 
   char s[81];
   int n;
   fi >> s >> n;
   cout << s << " : " << n << endl;
   fi.close();
 
   return 0;
}

 

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
#include <iostream>
#include <fstream>
#include <string>
using namespace std;
 
int main()
{
    char ch;
    ifstream fin;
    
    fin.open("test.dat");
    if(!fin) {
       cout << "파일 열기 실패\n";
       exit(1);
    }   
    
    fin.unsetf(ios::skipws); // skipws 형식 플래그 클리어, 공백 문자도 입력
    while(!fin.eof()) { // 파일 끝이 아니면
        fin >> ch;
        if(ch == ' ')
          ch = '%';
        cout << ch;
    }
 
    return 0;
}

 

※결과

파일에 test.dat에 다음과 같은 내용이 저장되었을때

Hello, everybody  !

This is a test file test.dat

 

공백마다 %가 출력됨

Hello%everybody%% !

This%is%a%test%file%test.dat

 

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

스마트 포인터  (0) 2014.11.28
메모리 관리 함수(memset, memcpy, memmove)  (0) 2014.10.24
함수 주요 형태(_stdcall, _cdecl, _fastcall)  (0) 2014.02.24
비트 연산자  (0) 2014.02.12
함수 포인터  (0) 2014.02.12

안드로이드 NDK 등 링크 정리

프로그래밍/안드로이드 2014. 2. 24. 04:52

링크

 

경로 추출을 위한 vomoi 세션화 알고리즘

http://blog.daum.net/pg365/108

 

[안드로이드]OpenCV 사용

http://blog.naver.com/budlbaram/50096839292

 

 

[안드로이드]NDK설정1

http://blog.naver.com/budlbaram/50096839292

 

 

[안드로이드]NDK설정2

http://blog.daum.net/haha25/5388307

 

 

[안드로이드] Mixed Processing에러(cannot run program "\ndk-build.cmd" : Launching failed)

http://blog.naver.com/budlbaram/50096839292

 

[STL-vector] 빠른 메모리 해제?

http://blog.naver.com/agbird?Redirect=Log&logNo=120013985975

 

[안드로이드] TabView 위젯

http://androidhuman.tistory.com/151

 

 

[안드로이드] Do-It! 안드로이드 앱 프로그래밍 소스

http://147.46.109.56:9090/town/projects.jsp?sort=1&dir=

 

[안드로이드] How to do real time image processing in Android using OpenCV?

http://147.46.109.56:9090/town/projects.jsp?sort=1&dir=

 

[안드로이드] ndk-build Applicattion.mk / Android.mk 설명

http://blog.naver.com/PostView.nhn?blogId=gustmd38&logNo=70098946678&redirect=Dlog&widgetTypeCall=true

 

[안드로이드] NDK, cygwin, JNI

http://blog.naver.com/PostView.nhn?blogId=777lover&logNo=10144696248&parentCategoryNo=&categoryNo=&viewDate=&isShowPopularPosts=false&from=postView

 

[안드로이드]Android Native Camera With OpenCV and OpenGLES Android Native Camera With OpenCV and OpenGLES

http://mesai0.blogspot.kr/2013/01/android-native-camera-with-opencv-and.html

 

[안드로이드] 이클립스에서 cygwin 빌드하기

http://blog.naver.com/PostView.nhn?blogId=moorim21&logNo=80140005344http://blog.naver.com/PostView.nhn?blogId=moorim21&logNo=80140005344

 

[안드로이드] JAVACV 포팅

http://aiesko.blog.me/20167784214

 

[안드로이드] android 안드로이드 이클립스 CDT 에서 NDKjni 연동 구현

http://202psj.tistory.com/465

 

[안드로이드] Eclipse에서 add native support를 통한 Android NDK 빌드 환경 구축

http://thdev.net/474

 

[안드로이드] Eclipse 에서 NDK build 연동하기

http://jay0624.tistory.com/11

 

[안드로이드] Eclipse에서 NDK 빌드하기

http://blog.naver.com/PostView.nhn?blogId=jbin_k&logNo=130162077887&parentCategoryNo=&categoryNo=&viewDate=&isShowPopularPosts=false&from=postView

 

'프로그래밍 > 안드로이드' 카테고리의 다른 글

Android - DB 연동 기술 정리  (0) 2014.02.25
안드로이드 NDK 로그 출력하기  (0) 2014.02.01

함수 주요 형태(_stdcall, _cdecl, _fastcall)

프로그래밍/C/C++ 2014. 2. 24. 04:51

1. _cdecl

C 또는 C++ 프로그램에서 파라미터 전달시 디폴트로 사용

파라미터 전달은 오른쪽에서 왼쪽 방향으로 스택에 저장

파라미터 해제는 프로시저를 호출한 것이 책임짐(스택정리)

 

 

2. _stdcall

Windows API 프로시저에서 사용

파라미터 전달은 _cdecl과 동일

파라미터 해제는 프로시저 복귀 전에 이루어짐

장점

- 함수 독립성이 뛰어남

- 프로시저를 부르기 전에 스택에 파라미터를 쌓아놓고 그 프로시저를 부르기만 하면 그 함수가 리턴된 후에는 그 프로시저의 스택 포인터가

이전 상태로 복원되었으므로 복귀된 후에 호출한 프로시저에 대하여 신경쓸 필요가 없음.

- _cdecl 방식의 콜링컨벤션에 비해 코드 크기가 줄어든다.

- 스택을 해제하는 코드가 호출한 프로시저 안에 있으므로 이 프로시저가 여러 곳에서 호출된다 할지라도 스택 해제하는 코드는

프로시저 내에 하나만 존재함

 

 

3. _fastcall

처음 두 개까지의 파라미터는 스택을 사용하지 않고, ecxedx 레지스터를 사용함

그 이상의 파라미터에 대해서만 오른쪽에서 왼쪽으로 스택에 저장

스택 제거는 _stdcall과 동일

 

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

메모리 관리 함수(memset, memcpy, memmove)  (0) 2014.10.24
C++ 파일 입출력  (0) 2014.02.24
비트 연산자  (0) 2014.02.12
함수 포인터  (0) 2014.02.12
[STL]컨테이너 선택  (0) 2014.02.09

PHP document

프로그래밍 2014. 2. 23. 19:07

PHP(정식 명칭 "PHP: Hypertext Preprocessor")는 범용성을 지닌 널리 사용되는 오픈 소스 스크립트 언어입니다.

 

특히, 웹 개발 및 HTML에 포함하기에 적합하다.

# 소개용 예1)

 

 HTML을 출력하기 위해 많은 명령을 쓰는 대신 PHP 페이지는 "무언가" (여기서는, "안녕, 나는 PHP 스크립트야!"를 출력)

를 하는 추가적인 코드를 가진 HTML이다. PHP 코드는 "PHP 모드"로 들어가는 특수한 프로세싱 시말 지시 <?와 ?> 사이

에 들어가 있다.

 PHP가 클라이언트측 자바스크립트 등과 구별되는 점은 이 코드는 서버에서 실행하여, HTML 생성하여 전송하는 점이다.

클라이언트는 스크립트 실행 결과만을 받게 되고, 그 코드의 모양은 알 수 없다. 웹 서버를 설정하여 모든 HTML 파일을

PHP가 처리하게 할 수 있으며, 그러면 사용자가 무엇으로 처리하는 지 알 방법은 다.

 

PHP를 사용하는 가장 큰 이득은 초보에게는 매우 쉽고, 전문가에게는 많은 고급 기능을 제공한다는 점이다.

 

# 첫번째 PHP 스크립트 예2 : hello.php)

웹 브라우저를 이용해서 "/hello.php"에 접근한다. 로컬에서 개발한다면 URL은 보통 http://localhost/hello.php이나

http://127.0.0.1/hello.php일 것이지만, 이는 웹 서버 설정에 따라 달라진다. 모두 제대로 되었다면, 이 파일은 PHP에 의해

처리되어 다음 출력을 브라우저로 전송된다.

 

# PHP 스크립트 예3 : 변수 출력하기.php)

PHP에는 많은 변수의 형이 존재한다. 위 예제에서는 배열 원소를 출력했다.

 

$_SERVER는 PHP가 자동적으로 생성하는 변수 중의 하나에 불과하다. 매뉴얼의 예약 정의 변수를 보거나, 이전 섹션의

예제에서 사용한 phpinfo() 함수의 출력에서 전체 목록을 얻을 수 있다.

 

 

PHP 태그 안쪽으로 하나의 echo뿐이 아닌 여러개의 PHP문을 넣어서 작은 코드 블럭을 만들 수 있다. 예를 들면, Internet

Explorer를 체크하고 싶다면 다음과 같이 할 수 있다.

 

# PHP 스크립트 예4 : 제어문과 함수를 사용하는 예.php)

스크립트 출력 예제)

 

 여기서 두가지 새로운 컨셉을 소개한다. PHP에는 if문이 있다. C 언어에서 사용하는 기본 문법에 친숙하다면, 이것은 매

우 논리적으로 보일 것이다. 그렇지 않으면, PHP 소개서를 구해서 첫부분을 읽어보거나, 매뉴얼의 언어 레퍼런스 부분을

읽어봐라.

 

 두번째 컨셉은 strpos() 함수 호출이다. strpos()는 하나의 문자열을 다른 문자열에서 찾아내는 PHP 내장 함수이다.

여기서는 $_SERVER['HTTP_USER_AGENT'](haystack이라고 한다) 안에서 'MSIE'(needle이라고 한다)를 찾아봅시다.

haystack 안에서 needle을 발견하면, 이 함수는 haystack의 첫번째 문자로부터 needle의 위치를 반환한다. 발견하지 못

했다면 FALSE를 반환한다. FALSE를 반환하지 않았다면, if문은 TRUE로 판단하고 {중괄호} 안에 있는 코드를 실행한다.

그렇지 않으면, 코드를 실행하지 않는다. if, else, 그리고 strtoupper()나 strlen() 등의 함수를 사용하는 비슷한 예제도 쉽

게 작성할 수 있다. 

 

# PHP 스크립트 예5 : HTML과 PHP모드 섞기.php)


 

 

 

 

 

 

 

스크립트 출력 예제)

PHP echo문을 이용한 출력 방법 대신, PHP 모드를 빠져나가서 직접 HTML을 전송할 수 있다. 여기서 주의해야할 중요하

고 강력한 점은 스크립트의 논리적 흐름이 유지되고 있는 점이다. strpos()의 결과값에 따라서 오직 하나의 HTML 블록만

이 보여지게 된다. 즉, MSIE의 발견 여부에 따르게 된다.

 

PHP의 매우 강력한 기능의 하나는 HTML 폼을 다루는 방법이다. 이를 이해하는데에 중요한 기본적인 컨셉은 어떤 폼 요

소라도 자동적으로 PHP 스크립트에서 사용 가능하다는 점이다. 다음은 HTML 폼의 예제이다.

 

# PHP 스크립트 예6 : 간단한 HTML 폼.php)

이 폼에는 특별한 것은 아무것도 없다. 어떠한 특별한 태그도 가지지 않는 단순한 HTML 폼이다. 유저가 이 폼을 채우고

submit 버튼을 누르면, action.php 페이지가 호출된다. 이 파일은 다음처럼 작성할 수 있다.

 

스크립트 출력 예제)

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

멀티 스레드  (0) 2014.12.13
파이썬 argparse  (0) 2014.11.08
[STL] List  (0) 2014.03.06
[STL] Vector  (0) 2014.03.05
APM으로 서버 구동하기(설치) - AutoSet  (0) 2014.02.23

APM으로 서버 구동하기(설치) - AutoSet

프로그래밍 2014. 2. 23. 05:06

APM을 이용해 서버를 구축해 봅시다..

살다보니 안할줄 알았던 서버, 웹 쪽을 다루게 되네요(__)

 

APM은 서버를 구성하는 주요 도구인 Apache, PHP, MySQL의 머릿글자를 묶어서 이르는 말입니다.

여기서 Apache는 웹 서버 프로그램, PHP는 언어중의 하나이고 MySQL은 오픈소스 데이터 베이스의 하나입니다.

이 세가지를 한데 묶어 쉽게 설치할 수 있게 만든 프로그램이 바로 APMSetup이죠.

 

원래는 각자 설치해서 연동해 줘야 하지만 한번 설치로 3개를 연동시킬수 있어 사기(?)라고 불리는 프로그램입니다.

Apm을 설치하는 방법은 AutoSet, APMSETUP... 등이 있습니다.

APMSETUP은 2010년 업데이트가 중지되었으므로 AutoSet을 설치하겠습니다.

 

APM(AutoSet) 설치

1. http://autoset.net/xe/about_autoset 에 접속해 무료 다운로드를 클릭합니다.

 

 

 

 

2. 한국어를 선택합시다.

 

3. 다음, 다음. ...

 

4. 저는 선택하기 귀찮아서 Full installation을 선택하였습니다.

    모두 설치하면 XE, Gnuboard, kmsq, wordpress등이 설치 되는군요.

 

 

 

 

5. 설치를 완료하게 되면 아래와 같은 프로그램이 실행됩니다.

    처음상태에는 서버가 중지되어있습니다.

 

6. 제어 -> 웹서버 시작(W)를 선택해 웹서버를 시작합니다.

   저는 웹서버로만 쓸 예정이라 일단 다른것들을 다 종료해서 웹서버(80)으로만 표시되고 있네요.

   괄호 숫자는 포트 번호를 나타냅니다.

 

 

7. 웹서버 동작을 클릭하면 웹서버가 실제 동작하는지 확인합시다.

   방법은 매우 간단합니다. 인터넷 창을 열고 http://127.0.0.1/ 이라고 입력합니다.

   아래와 같은 화면이 출력되면 정상적으로 작동하고 있음을 확인할수 있습니다.

 

 

AutoSet관련사이트

1. AutoSet 공식 사이트 : http://autoset.net/xe/about_autoset

2. AutoSet 사용자 카페 : http://cafe.naver.com/autoset

3. AutoSet 페이스북 : http://www.facebook.com/AutoSet

 

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

멀티 스레드  (0) 2014.12.13
파이썬 argparse  (0) 2014.11.08
[STL] List  (0) 2014.03.06
[STL] Vector  (0) 2014.03.05
PHP document  (0) 2014.02.23