post list

2015년 5월 12일

[Tip] SAMBA 설치 및 설정


링크 : http://ggachi.ncity.net/TIP/7460


1. 삼바(samba) 설치


[ 설치 방법]
sudo apt-get install samba
sudo apt-get install smbfs
sudo apt-get install system-config-samba


마지막건 삼바 GUI툴이다. 설치하면 윈도우에서 공유하는거랑
유사하게 설정 할 수 있다.(설치 추천)


[ 정상 작동 하지않으면 아래와 같이 업그레이드 업데이트 해보자 ]
sudo apt-get upgrade
sudo apt-get update

위 명렬은 우분투 설치 후 바로 하는것을 권장합나디.
(이해하기 쉽게 윈도우 업데이트나 안드로이드 앱 업데이트 이런거랑 비슷하다고 생각하면 될듯)


2. 삼바(Samba) 서버 설정 및 계정 설정

기본적인 설정은 아래와 같은 순서를 따른다.
1. 서버 설정
2. 계정 설정
3. 서버 재시작
4. 윈도우에서 설정

GUI툴을 이용해서 설정하는것은 메뉴가 너무 명시적이어서 직관적으로
설정이 가능 합니다.(설명생략)




GUI 설치 안한 분은 아래 명령어 참조하세요

[ 설정 파일 열기 ]
sudo vim /etc/samba/smb.conf




vim editor가 익숙하지 않으면 gedit 설치 후 이것으로 편집해도 좋다.
어떤 에디터든 편집만 할 수 있으면 되지않은가? 리눅스라고 꼭 vim을 쓸 필요는 없다.

[global] 프로퍼티를 찾아 그 아래 다음과 같이 설정한다.





unix charset = cp949
dos charset = UTF8
display charset = UTF8
server string = my_sambaserver





위에 3개는 OS간 Character set 설정을 위한 것이고,
마지막은 Windows에서 보여질 삼바 서버 이름이다.

그리고 마지막에 본인이 사용할 프로퍼티를 명시하여 아래와 같이 적어주자.




[Name]      
comment = my samba                   #삼바 계정에 대한 설명이다. 대충 적어도 된다.
path = /home/chuls/workspace    #실제로 공유가 이루어질 디렉토리이다. 적절하게 하나 생성하자.
wirtable = yes
create mask = 0644
directory mask = 0755





저장한다.

2.1. 삼바 계정 설정
다음으로 계정을 설정해야 한다.
아래와 같은 명령어를 통해서 할 수 있다.
앗, 한가지 빼먹었다. 다시 위에서 편집했던 돌아가서 "Standalone Server Options"를 검색한다.
그리고 다음부분을 찾아 주석을 제거한다.




security = user





이제 계정 설정을 하면된다.




ll /etc/samba/smbpasswd
#파일이 없다면 생성 후 아래와 같이 한다.

sudo smbpasswd -a [Name]

#사용할 패스워드를 입력한다.





위 내용을 따라하는게 귀찮다면, 앞서 설치한 GUI툴로 간편하게 설정을 끝마칠 수 있다.
대쉬보드에서 samba를 입력하면 GUI툴이 보일 것이다.

실행.

File -> Add share -> 공유할 디렉토리 설정
새롭게 생긴 Directory List에서 추가한 디렉토리를 더블클릭 또는 File -> Properties
Directory확인, Share name 입력, Description 입력, Writeable 체크, Visible 체크
Access 탭으로 이동
samba공유를 허용할 user 체크,  사용자 계정을 새로 생성할거면 우분투에서 새로운 계정 생성 후 동일하게 진행.

samba.png 

이리저리 디렉토리 옮겨가며 작업하는 것보다 GUI툴을 사용하면 깔끔하고 쉽게 끝낼 수 있다.



다 끝났다. 간단하게 재부팅해주자.

sudo /etc/init.d/samba restart

#또는

sudo service smbd restart

3. 윈도우에서 접속
이제 윈도우에서 접속해보자.
간단하다.

시작 -> 실행 (윈도우키 + R)
우분투 서버 IP 주소 입력. (\\xxx.xxx.xxx.xxx)

2015년 5월 11일

[Data Structure] #5-1 Heap

알고리즘 문제를 풀 다 보면 최소값 혹은 최대값을 뽑아내야 할 때가 있다. 물론 쓰지 않아도 답은 나오지만 Time Limited 가 걸리는 문제가 있다. 이럴 때 쓰는 것이 힙이다. 물론 그 외에도 Kruskal 알고리즘 같은 곳에도 쓰이고 다양하게 쓰인다.

#include <iostream>
#define MAX_VERTICES 100

using namespace std;

int h[MAX_VETICES];
int h_size;
void h_init()
{
h_size = 0;
}
void insert(int v)
{
int i = ++h_size;
while (i != 1 && v < h[i / 2]){
h[i] = h[i / 2];
i /= 2;
}
h[i] = v;
}
int remove()
{
int item = h[1];
int temp = h[h_size--];
int p = 1;
int c = 2;
while (c <= h_size){
if (h[c] > h[c + 1]) c++;
if (temp <= h[c]) break;
h[p] = h[c];
p = c;
c *= 2;
}
h[p] = temp;
return item;
}
int main()
{
h_init();
insert(8);
insert(9);
insert(1);
insert(2);
insert(0);
insert(4);
int n = h_size;
for (int i = 1; i <= n; i++){
printf("%d\n", remove());
}
return 0;
}

2015년 5월 4일

[Cocos2d-x] 개발 환경 구축 + Tizen

이번 포스팅의 핵심은 Cocos2d-x 개발 환경을 구축 하는데 있다. 더불어 15년 4월 24일자로 릴리즈된 Cocos2d-x for Tizen 개발 환경 구축까지도 다뤄볼 것이다.


1. Cocos2d-x 다운로드

우선 Cocos2d-x를 다운받아 보자. 뭘 받아도 상관 없지만 여기서는 Tizen 까지 포함하는 Cocos2d-x를 다운받겠다. 아래의 링크에서 다운로드 가능하다.

1. https://github.com/sukwonsuh/cocos2d-x (mobile 용)

2. http://blog.cocos2d-x.org/2015/04/cocos2d-x-v3-5-for-tizen-released/ (watch 용)

또한 해당 페이지에 링크된 도큐멘트로 따라 들어가면 설치 가이드가 있다. 사실 가이드를 따라서 설치를 하면 그다지 큰 문제 없이 개발 환경이 구축이 된다. 하지만 혹여나 만날 수 있는 문제점이 있을 수도 있으며 개발 자체는 MS Visual Studio 에서 하는 것으로 가정하고 있기에 조금 더 이 포스트를 다뤄보겠다.

위에서 다운로드 받은 압축을 풀면 build, cmake, cocos ... 등과 같은 많은 폴더와 파일이 담긴 cocos2d-x-3.5-tizen 폴더가 생성된다.


2. Cocos2d-x 환경변수 설정

이제 Cocos 환경변수를 등록해야 한다. 환경변수를 등록하는 이유는 cmd에서 어떤 폴더에서나 cocos 에 접근할 수 있도록 하기 위함이다. 다음의 절차를 따른다.

제어판 > 시스템 및 보안 > 시스템 > 왼쪽의 고급 시스템 설정 > 환경변수

아래의 시스템 변수에서 Path 라는 항목을 편집하자.
그럼 변수 값(V)라는 항목이 있을텐데, 이미 적혀 있는 글자 끝에 ; 를 붙여주고 Cocos2d-x를 Unzip한 곳의 디렉토리 +  \tools\cocos2d-console\bin\ 한다. 예를 들자면..

예를 들면 저는 윈도우 기본 문서(Document) 폴더에 Unzip을 했기 때문에 다음과 같은 Path를 등록했다.

[이미 존재하던 Path];C:\Users\deokil\Documents\cocos2d-x-3.5-tizen\tools\cocos2d-console\bin\


3. Python 다운로드 및 환경변수 설정

인터넷에서 Python을 검색해서 Python 2.7버전을 다운로드 받아서 설치한다. 그리고 위의 절차와 똑같이 환경변수를 잡아준다. 대부분의 경우 C\Python27\ 에 설치 되므로 이 경로를 적어주면 된다. 마찬가지로 이미 있던 Path에 ; 를 붙이는 것을 잊지말자.


4. 새로운 프로젝트 생성

Windows Key + R을 눌려서 cmd를 입력하고 프로젝트를 생성할 디렉토리로 이동한다. cmd를 다룰줄 모르면 낭패다... 이건 알고 가야하는데 혹시 모른다면 검색해서 기초적인 사용방법을 습득하자. 프로젝트를 생성할 디렉토리로 이동했다면 다음의 명령어를 입력한다.

cocos new [project name] -p [project package name] -l cpp -d [project path]

꺽쇠괄호 [] 로 쳐진 곳은 사용자가 지정해야 하는 공간이다. 완료되고 나면 새로운 프로젝트가 생성된다. 예를 들자면 다음과 같다.

cocos new Fox -p com.holofactory.fox -l cpp -d C:\Users\deokil\Documents\

이렇게 하면 C:\Users\deokil\Documents\ 안에 Fox라는 프로젝트가 생성된다. ^^


5. Visual Studio에서 작업하기

프로젝트가 생성된 폴더에 들어가보면 proj.win32 폴더가 있다. 내부로 들어가면 프로젝트명으로 된 Visual Studio 파일(sln파일)이 존재한다. 더블클릭하면 자동으로 개발환경이 구축된다. 테스트로 컴파일을 해보자. 상단 메뉴에 빌드라는 항목이 있을 것이다. 첫빌드는 꽤나 오래 걸리니 인내심을 갖고 기다리자. 그럼 곧 Hello World 화면을 볼 수 있다.


p.s. Cocos2d-x 의 장점은 개발환경이 달라도 어디서든 개발 및 포팅이 쉽다는 것에 있다. 이 말이 뭐냐하면 Visual Studio로 개발을 하다가 언제든 다른 플랫폼에서도 개발을 할 수 있다는 의미다. 왜냐하면 우리가 작성하는 소스 파일은 우리가 임포트하는 프로젝트 폴더의 밖에 있는 Classes 폴더에 있고 우리는 그것에 링크를 걸어서 작업을 하기 때문이다. 무슨 말인지 모르겠다면 실제로 해보라. 


/* 지금부터는 Tizen 플랫폼으로 포팅하는 방법에 대해서 다룹니다. Tizen 플랫폼으로 포팅할 계획이 없으신 분들은 여기서 떠나셔도 무방합니다. */

1. Tizen SDK 설치

아래의 링크로 접속해서 자신의 플랫폼에 맞는 Installer Manager와 SDK 이미지를 받는다.

https://developer.tizen.org/development/tools/download

다운이 완료되고 나면 Installer Manager를 클릭한다. 그리고 SDK Image를 Import 하도록 선택해서 위에서 다운로드 된 SDK Image 경로를 잡아준다. 그럼 Install 버튼이 활성화 된다. Install 을 선택하고 아래의 그림을 참고하여 반드시 Custom 으로 해서 Gcc 4.8 toolchain 을 선택해줘야 한다.




2. Import 프로젝트

Tizen SDK도 별거 없다. 어차피 Eclipse 기반의 IDE를 이용하기 때문에 이클립스에서 프로젝트를 임포트하는 것과 같다. 물론 Cocos2d 또한 임포트 해줘야 한다.

우선 SDK를 실행시킨다. 그럼 workspace를 지정하라고 할 것인데, 위에서 설치했던 프로젝트의 부모 폴더를 지정한다.

그리고 나서 실제 임포트를 해보자. 아래의 그림을 참고하여 Tizen Native Project로 프로젝트를 가져온다.



그럼 Import 창이 뜰것인데 가장 위에 Select root directory 라는 항목이 있다. 그곳에 프로젝트 폴더의 경로를 입력한다. 그럼 갑자기 굉장히 많은 선택 가능한 프로젝트 목록이 보일 것이다. 그 중에 libcocos2dx 와 프로젝트 이름으로 된 2개의 항목을 선택한다. 이름이 같은 것이 있을 것이다. 그럼 끝에 적힌 글자를 보라. tizen이라고 적힌 것만 선택하면 된다.

(조심해야 할 것은 해당 창 아래에 copy .. 어쩌고 하는 항목에 체크가 되어 있다면 체크 해제를 해줘야한다.)


3. 빌드 및 실행

임포트된 libcoco2dx의 소스는 열어보지도 말고 궁금해 하지도 말자. 괜히 건드렸다가 귀찮은 일이 발생한다. 그래도 우선은 빌드는 한번 해줘야한다. libcocos2dx 프로젝트에 마우스 오른쪽 클릭을 해서 build project를 한번 해준다.

빌드가 완료되면 우리가 작업할 프로젝트에서도 build project를 해준다. 그럼 virtual machine이 뜨면서 타이젠 플랫폼이 돌아가는 것을 볼 수 있다.

혹시나 이 글을 읽는 분이 tizen device를 들고 있다면.. Security 문제를 만날 수 있다. 그럴 때는 아래의 링크에서 Security profiles 항목을 읽고 따라하면 된다.

https://github.com/cocos2d/cocos2d-x/blob/v35-for-tizen/docs/RELEASE_NOTES.md


4. 개발하기

프로젝트를 열고 Classes 폴더를 열어서 개발을 시작하면 된다 ㅎㅎ