2010년 7월 28일 수요일

ubuntu 10.04에 설치된 eclipse에 SQL Explorer 사용

SQL Explorer를 eclipse Add-On으로 설치하였는데 update sites는 다음과 같다
http://eclipsesql.sourceforge.net/
위의 주소를 Help > Install Software 메뉴에서 SQL Explorer로 추가하여 설치하였다.

그 다음으로 SQL Explorer에서 Connector로 사용할 드라이버를 잡아줘야 하는데
MySQL의 경우 jdbc connector가 필요하다 다음의 링크에서 다운받을 수 있다.
(참고 : http://www.64bitjungle.com/tech/eclipse-pdt-and-mysql-sql-explorer-plugin/)
http://dev.mysql.com/downloads/connector/j/5.1.html

다운받은 후 압축을 풀고 /usr/share/mysql/ 아래로 옮기자 (ex. $ sudo cp -r mysql-connector-java-5.1.13/ /usr/share/mysql/)

SQL Explorer Perspective를 열어 Connectors에서 새로운 연결(Connection)을 생성하는 버튼을 클릭하면 다음과 같은 Create New Connection Profile 창이 나온다.



여기서 Add/Edit Drivers를 클릭하면 다음 창이 활성화된다.


위의 그림과 같이 MySQL을 선택하고 Edit를 클릭하여 설정창을 띄우고 위에서 다운로드 받은 MySQL Connector를 설정하자.

Extra Class Path로 이동하여 Add JARs를 클릭하고 다운받은 드라이버의  jar 파일을 선택한다.


OK를 클릭하자.

그럼 처음띄운 Connection Profile 창이 뜨는 데 이 창에서 URL을 아래 그림에서 처럼

"jdbc:mysql://localhost:3306/데이터베이스명
"
으로 변경하고 로그인 정보를 입력하자.
Namedms  적절하게 자신이 원하는 대로 입력하면 된다.



이상과 같이 연결 설정을 마쳤으면 Eclipse의 Connections 창에서 방금 생성한 Connection이 생기고 이 Connection을 클릭하면 서버와 통신후 다음과 같은 Eclipse Perspective를 볼 수 있다.










Eclipse 에서 SQL Explorer를 설치하고 MySQL 과 연결하는 과정에 대해 간단하게 알아보았다.
Eclipse 에서 모든 것을 관리하는 것이 보다 용이할 거 같아 이렇게 진행하였지만 어디까지나 개인의 취향대로 작업을 진행하면 되겠다.







2010년 7월 21일 수요일

[단문] WordPress 에서 Plugin을 관리하기 위해

Manual로 다운 받아서 할 수도 있지만 웹에서 쉽게 plugin을 다운받아 설치하려면
ftp Server 를 구축하고 (sudo apt-get install vsftpd)
WordPress 소스 아래의 wp-content 를 웹서버가 쓸 수 있도록 하여야 한다.

ubuntu 10.04에서 wordpress 3.0 설치하기

먼저 apache와 PHP, MySQL을 확인해야 한다.
없을 경우 시냅틱 패키지 관리자로 설치하면 된다. (물론 shell에서 dpkg, apt-get 등을 이용해도 되고)

WordPress의 설치 요구 사항은 다음과 같다. (2.9, 3.0 기준)

웹호스팅을 위한 사양은 아래의 사양을 권장한다.
  • PHP version 5.2 or greater
  • MySQL version 5.0 or greater

요구조건을 확인할 수 있는 checklist는 다음 장소에 있다.
http://codex.wordpress.org/User:Hakre/Technical_Installation



1. mod_rewrite

위와 같은 사양을 갖춰다고 하면 mod_rewrite를 apache2에서 사용할 수 있도록 하여야 하는데 ubuntu에 패키지 매니저로 설치한 apache의 경우 설정파일은 /etc/apache2 에 위치한다.
그리고 mod_rewrite는 기본적으로 설치되는데 so 파일의 경로는 /usr/lib/apache2/modules/mod_rewrite.so 이다.
이를 apache2.conf(httpd.conf 도 존재하나 ubuntu 에서는 apache2.conf를 기본 설정파일로 사용한다.) 파일을 직접 편집하여 사용하거나 다음과 같이 shell에서 명령어를 입력해도 된다.

$ sudo a2enmod rewrite

위와같이 입력하고 apache2를 재시작 하자.

mod_rewrite를 위한 설정 파일은 /etc/apache2/mods-available 에 "본인이 원하는 이름.conf" 저장하면 apache2.conf 가 읽어 들인다.


2. MySQL 사용자 및 DB 준비
WordPress 가 사용할 DB와 사용자를 준비한다.
예제로 사용할 MySQL 사용자는 wordpress, 암호는 1234test 이고
DB명은 wpDB 이고 Character Set은 utf8로 할 계획이다. (웹서버에서도 Default CharacterSet을 utf8로 한다.)
여기서 wordpress 사용자는 wpDB에 모든 권한을 갖도록 설정한다.

MySQL 관리자 권한으로 MySQL에 접속한다.

Shell > mysql -u root -p mysql
암호 : .......

mysql> CREATE USER 'wordpress'@'localhost' IDENTIFIED BY '1234test';
Query OK, 0 rows affected (0.00 sec)

mysql> CREATE DATABASE wpDB CHARACTER SET utf8;
Query OK, 1 row affected (0.00 sec)

mysql> GRANT ALL PRIVILEGES ON wpDB.* TO 'wordpress'@'localhost'  WITH GRANT OPTION;
Query OK, 0 rows affected (0.00 sec)

기본적인 DB 준비는 끝났다.
다음으로 넘어가자.


3. 다운로드 받은 WordPress 파일 중 최상위에 있는 wp-config-sample.php 를 wp-config.php 로 복사하자.
그리고 나서 wp-config.php 안에 있는 DB 정보와 사용자명과 암호를 지정하도록 하자.
또한 파일을 보면 각종 key 값을 지정하게 되어있는데 이 키들은 다음의 url을 방문하면 임의로 만들어 주므로 여기서 만들어준 값을 사용하자. 키 생성 url : https://api.wordpress.org/secret-key/1.1/
본인이 사용한 값은 다음과 같다.

// ** MySQL settings - You can get this info from your web host ** //
/** The name of the database for WordPress */
define('DB_NAME', 'wpDB');
 
/** MySQL database username */
define('DB_USER', 'wordpress');
 
/** MySQL database password */
define('DB_PASSWORD', '1234test');
 
/** MySQL hostname */
define('DB_HOST', 'localhost');
 
/** Database Charset to use in creating database tables. */
define('DB_CHARSET', 'utf8');
 
/** The Database Collate type. Don't change this if in doubt. */
define('DB_COLLATE', '');
 
/**#@+
 * Authentication Unique Keys and Salts.
 *
 * Change these to different unique phrases!
 * You can generate these using the {@link https://api.wordpress.org/secret-key/1.1/salt/ WordPress.org secret-key service}
 * You can change these at any point in time to invalidate all existing cookies. This will force all users to have to log in again.
 *
 * @since 2.6.0
 */
define('AUTH_KEY',        'W8<&(0#ocWofuhBus!v-au0`vCC:pncm1qGOVTzHd<u-k-B1{dq84k$1+TuGA=S`');
define('SECURE_AUTH_KEY', ')ev+6kxJ*oA[!c)3lzP@7+9ZZl?i<+U)9nOTjie#*x{2=1~G:K p6K}Pd-yI#ery');
define('LOGGED_IN_KEY',   '-UZ8 &Js3/ `rV6e9|kgO>~B6y1<Civb/BW(zY2_e@?l|a8#bLi2xys.Ll+{oJ0B');
define('NONCE_KEY',       '_C!<2uu>~o_<k#b0.#NZS:|2xZ#-;$+op-9ak#- X!]buuxz,c; /<jvq%K3t{L=');



4. 웹서버가 WordPress 경로를 웹 상에서 요청받을 수 있도록 DocumentRoot로 옮기자.
여기서 본인은 하위 경로명으로 /wp/로 하고자 압축을 해제한 wordpress 디렉토리명을 wp로 변경하였다.
$ sudo mv wordpress/ /var/www/wp/


5. 웹 브라우저를 띄워 다음과 같이 입력하여 설정 파일을 브라우저 상에서 요청하자.

http://localhost/wp/wp-admin/install.php

아래와 같이 나오면 성공한 것이다.




빈칸을 본인이 원하는 대로 입력하고 아래에 있는 다음으로 진행하면 아래와 같이 성공되었다는 메세지를 볼 수 있을 것이다.



성공 메세지 아래의 Log In을 눌러 관리자로 로그인해보자.
로그인을 하고 나면 아래와 같이 관리자의 대쉬보드가 보인다.






성공적으로 설치된 것이다.

그럼 시간이 나는대로 도대체 이 녀석을 어떻게 써 먹을지 알아보자.



PS : 설명중 반말로 하여 죄송합니다. 급히 작성하다 보니....
또한 사이트들을 참고하여 작성하였으니 혹시나 잘못된 내용이 있으시면 댓글로 지적해 주세요






2010년 6월 18일 금요일

ubuntu 10.04 TLS 64bit 버전에서 Andorid 개발환경구축

ubuntu 10.04 버전에는 "시스템 > 관리"를 통해서 들어가면 사앙할 수 있는 시냅틱 패캐지 관리자가 제공된다.

일종의 소프트웨어 관리자로 윈도우즈 소프트웨어 관리자와는 조금 다른 구조를 갖는다.

 

이 녀셕은 시스템에 설치된 SW 뿐만이 아니라 ubuntu에서 제공하는 모든 SW에 대한 리스트를 보여주고 현재 자신에게 설치된 SW들은 별도의 표시를 해서 보여준다.

 

 

Eclipse 설치

기본적으로 이 시냅틱 패키지 관리자를 통해서 eclipse를 설치하였다.

 

스크린샷-시냅틱_꾸러미_관리자_.png

 

위의 스크린샷은 설치된 후이며 위에서 선택된 eclipse를 선택하고 상단의 적용을 클릭하면 디펜던시 등을 맞춰서 필요한 것들을 모두 설치해 준다.

 

 

32Bit 호환 모듈 및 sun-java6-sdk 설치

Android SDK를 설치하여야 하는데 현재 Android SDK는 32Bit 버젼만 등록되어 있다.

이 32Bit를 사용하기 위해서 호환성을 위한 패키지를 설치한다.

안드로이드의 설치 문서를 보면 호환성을 위한 ia32-libs를 설치하고

ubuntu 설치시 제공되는 기본 JDK (openJDK) 대시 Sun의 JDK인 sun-java6-jdk 를 설치하는 것을 기본으로 하고 있다.

 

먼저 ia32-libs 부터 설치하자 (기본적으로 설치되는지 여부를 확인하지 못했다. 만일 설치되어 있다면 넘어가도 된다.)

$ sudo apt-get install ia32-libs

 

다음으로 Sun의 JDK를 설치하자.

여기서 한가지 문제가 있는데 기본 Repository 중 에 Sun의 JDK를 포함하고 있는 곳이 없기 때문이다.

이를 위해 Sun의 JDK를 갖고 있는 Repository를 다음의 순서대로 추가하고 Source List를 Update하자


$ sudo add-apt-repository "deb http://archive.canonical.com/ lucid partner"
$sudo apt-get update

위와 같이 Repository를 변경하고 Sun의 JDK를 설치한다.

 

$ sudo apt-get install sun-java6-jdk

몇가지 묻는 화면이 나오는데 라이센스 동의 여부 등이니 확인하고 넘어가면 된다.

 

 

안드로이드 SDK 설치

이제 안드로이드 SDK를 다운로드 받아 설치하자.

다운로드는 이곳에서 받을 수 있다.  http://developer.android.com/sdk/index.html

일단은 Linux(i386)용을 받고 원하는 곳에서 압축을 해제한다.

 

$ mv android-sdk_r06-linux_86.tgz Somewhere

$ cd Somewhere

$ tar zxvf android-sdk_r06-linux_86.tgz

 

압축을 해제하면 하위에 tools/ 디렉토리가 있다.

이 디렉토리를 본인의 경로에 추가하자

사용자 홈 디렉토리의 .bashrc 파일에 다음을 추가하도록 하자.

 

export PATH=${PATH}:/Addroid SDK 경로/tools

 

 

ADT 플러그인 설치

그 다음으로 ADT 를 Eclipse 플러그인으로 설치하자.

ADT는 Android Development Tools의 약자로 Eclipse 플러그인으로 개발된 개발환경이다.

다음의 경로를 통해 Elipse 플러그인으로 설치한다.

 

https://dl-ssl.google.com/android/eclipse/

 

설치시 Android DDMS 와  Android Development Tools 두가지가 포함되는데 모두 선택하고 설치를 진행하자.

 

 

설치 후 설정 : SDK와 ADT 연결

설치가 완료된 후 다음과 같은 간략한 설정을 거치면 모든 과정이 완료된다.

  1. Window > Preferences... 를 통해 Preferences panel 을 열어 Android 를 선택하자
  2. 에러메세지가 나오는데 이것은 SDK 위치를 입력하라는 것이다. 앞서 설치한 SDK 설치 경로를 찾아서 지정한 후 "Apply"를 클릭한 후 "OK"를 클릭하여 설정을 마무리 하자.

 

스크린샷-Preferences_-1.png

 

 

SDK Component 추가

Eclipse에서 Window > Android SDK and AVD Manager 를 클릭하자

다음의 세가지가 있다.

Virtual Devices 를 통해서 안드로이드 버츄얼 머신인 AVD를 작성한다.

Installed Packages 는 설치된 Package가 나오면 현재 Android SDK Tools, Revision 6 하나만 있다.

Avaliable Packages 는 지정된 Repository를 통해 업그레이드 및 설치 가능한 Package를 보여주는데 일단 현재 Repositoy에 있는 것을 모두 선택하여 업데이트 하자. 이 과정을 거쳐야지만 사용이 가능하며 설치가 완료된다.(윈도우즈에서는 이 과정이 설치과정중에 포함된다.)

 

스크린샷-Android_SDK_and_AVD_Manager_-1.png

 

 

스크린샷-Installing_Archives_.png

 

설치가 되었으면 아주 간단하게 SD 1GB를 갖는 가상머신을 만들어보자 (Virtual Devices)

이름을 sdTest로 하고 SD 카드 부분만 1024MiB로 하고 나머지는 기본 값으로 하자.

스크린샷-Create_new_Android_Virtual_Device_(AVD)_.png

 

 

안드로이드 SDK 2.2 를 통해 테스트할 가상머신이 준비되었다.

 

 

이상으로 기본적인 안드로이드 개발 환경을 갖추었다.

64Bit 버전에서의 사용은 ia32-libs 설치 여부가 중요한 사항이다.

아직 안드로이드 SDK가 64Bit 버전을 지원하지 않기 때문이다.

 

이 환경에서 작업을 하면서 생기는 점들에 대해 추후 기술해 나가도록 하겠다.

 

 

이 글은 스프링노트에서 작성되었습니다.

2010년 6월 11일 금요일

Exponential Family

어떤 확률밀도함수(pdf, pmf)들의 모임을 Exponential Family라고 부를때 이는 다음과 같이 표현된다.

 

f(x|\theta)=h(x)c(\theta)exp \left[ \sum_{i=1}^{k} w_{i}(\theta)t_{i}(x) \right],                   식(1)

여기서

  • h(x) \ge 0,~t_{1}(x),t_{2}(x), \cdots , t_{k}(x)t_{i}(x) 는 모수 \theta에 depend 되지 않은 실값을 갖는 함수
  • c(\theta) \ge 0,~w_{1}(\theta),w_{2}(\theta), \cdots , w_{k}(\theta), w_{i}(\theta)는 값 x에 depend  되지 않은 실값을 갖는 함수

이다.

위의 식은 책마다 표현하는 형태는 다양하지만 위의 두가지 조건을 갖는다. 일례로 위의 식에서 h(x)c(\theta)c(\theta)를 지수 안에 넣어서 다음과 같이 표현하는 책들도 많다.

 

f(x|\theta)=h(x)exp \left[ \sum_{i=1}^{k} w_{i}(\theta)t_{i}(x) - A(\theta) \right]

 

예제) 이항분포

f(x | p) & = & \binom{n}{x} p^{x}(1-p)^{n-x} \ & = & \binom{n}{x} (1-p)^{n} \left( \frac{p}{1-p} \right) ^ {x} \ & = & \binom{n}{x} (1-p)^{n} exp \left( log \left( \frac{p}{1-p} \right) x \right) \" class=

 

 

이 글은 스프링노트에서 작성되었습니다.