○ CentOS 64bit Apache PHP 컴파일 설치

mysql은 rpm을 사용

 

▷ PHP 관련 라이브러리 설치

- rpm 과 연동하여 컴파일을 해도 되지만 rpm 업데이트시에 정상 동작을 보장할수 없다

버그패치 정도의 업데이트가 아닌 라이브러리의 버전 업데이트는 Apache의 기동이

되지 않는 상황이 발생할수 있다

▷ 라이브러리 설치

- 설치할 소스 : zlib-1.2.5 openssl-0.9.8op freetype-2.3.12 jpegsrc.v8a.tar.gz

libpng-1.2.39 libxml2-2.6.30 expat-2.0.1 fontconfig-2.8.0 gd-2.0.35

- 설치되는 소스는 /usr/local 에 설치될 것이며 각각의 설치된 라이브러리를 등록 시켜야 한다

 

[root@web ~]# rpm -qa | grep mysql
mysql-5.0.77-4.el5_5.3
mysql-5.0.77-4.el5_5.3
mysql-devel-5.0.77-4.el5_5.3
mysql-devel-5.0.77-4.el5_5.3mysql-5.0.77-4.el5_5.3
mysql-5.0.77-4.el5_5.3
mysql-devel-5.0.77-4.el5_5.3
mysql-devel-5.0.77-4.el5_5.3

 

PHP 컴파일 설치시에 /usr/local/lib에 설치된 라이브러리를 /usr/local/lib64에서 찾으려고 하는 문제가 있다

PHP설치 옵션의 PATH를 /usr/local/lib으로 지정해도 라이브러리를 찾을 수 없다는

Error 가 발생한다

다음과 같이 심볼릭 링크로 설정하자

[root@web5 ~]# ln -s /usr/local/lib /usr/local/lib64

 

 

- zlib 설치

다운로드 URL : http://www.zlib.net

 

[root@web ~]# cd /usr/local/src/

[root@web6 src]# wget http://zlib.net/zlib-1.2.5.tar.gz

[root@web6 src]# tar xvfz zlib-1.2.5.tar.gz

[root@web6 src]# cd zlib-1.2.5

[root@web6 zlib-1.2.5]# ./configure --shared --prefix=/usr/local

[root@web6 zlib-1.2.5]# make

[root@web6 zlib-1.2.5]# make install

[root@web6 zlib-1.2.5]# ldconfig

[root@yt-web6 zlib-1.2.5]# cd ..

 

- openssl 설치

다운로드 URL : http://www.openssl.org

[root@yt-web6 zlib-1.2.5]# cd ..

[root@web6 src]# wget  http://www.openssl.org/source/openssl-0.9.8o.tar.gz

[root@web6 src]# tar xvfz openssl-0.9.8o.tar.gz

[root@web6 src]# cd openssl-0.9.8o

[root@web6 openssl-0.9.8o]# ./config --prefix=/usr/local zlib shared

[root@web6 openssl-0.9.8o]# make

[root@web6 openssl-0.9.8o]# make install

[root@yt-web6 openssl-0.9.8o]# cd ..

 

- freetype 설치

다운로드 URL : http://freetype.sourceforge.net/index2.html

[root@web6 src]# wget http://sourceforge.net/projects/freetype/files/freetype2/2.3.12/freetype-2.3.12.tar.gz/download

[root@web6 src]# tar xvfz freetype-2.3.12.tar.gz

[root@web6 src]# cd openssl-0.9.8o

[root@yt-web6 freetype-2.3.12]# ./configure --prefix=/usr/local --disable-static

[root@yt-web6 freetype-2.3.12]# make

[root@yt-web6 freetype-2.3.12]# make install

[root@yt-web6 freetype-2.3.12]# ldconfig

[root@yt-web6 freetype-2.3.12]# cd ..

 

- jpeg 설치

다운로드 URL : http://www.ijg.org

[root@web6 src]# wget http://www.ijg.org/files/jpegsrc.v8b.tar.gz

[root@web6 src]# tar xvfz jpegsrc.v8a.tar.gz

[root@web6 src]# cd jpeg-8a

[root@yt-web6 jpeg-8a]# ./configure --prefix=/usr/local --enable-shared --enable-static

[root@yt-web6 jpeg-8a]# make

[root@yt-web6 jpeg-8a]# make install

[root@yt-web6 jpeg-8a]# ldconfig

[root@yt-web6 jpeg-8a]# cd ..

 

- libpng 설치

다운로드 URL : http://libpng.sourceforge.net

[root@web6 src]# wget http://sourceforge.net/projects/libpng/files/libpng-stable/1.2.39/libpng-1.2.39.tar.gz/download

[root@web6 src]# tar xvfz libpng-1.2.39.tar.gz

[root@web6 src]# cd libpng-1.2.39

[root@yt-web6 libpng-1.2.39]# ./configure --prefix=/usr/local

[root@yt-web6 libpng-1.2.39]# make

[root@yt-web6 libpng-1.2.39]# make install

[root@yt-web6 libpng-1.2.39]# ldconfig

[root@yt-web6 libpng-1.2.39]# cd ..

 

- libxml2설치

다운로드 URL : http://xmlsoft.org

[root@web6 src]# wget http://xmlsoft.org/sources/old/libxml2-2.6.30.tar.gz

[root@web6 src]# tar xvfz libxml2-2.6.30.tar.gz

[root@web6 src]# cd libxml2-2.6.30

[root@yt-web6 libxml2-2.6.30]# ./configure --prefix=/usr/local

[root@yt-web6 llibxml2-2.6.30]# make

[root@yt-web6 libxml2-2.6.30]# make install

[root@yt-web6 libxml2-2.6.30]# ldconfig

[root@yt-web6 libxml2-2.6.30]# cd ..

 

- expat2설치

다운로드 URL : http://www.libexpat.org

[root@web6 src]# wget http://sourceforge.net/projects/expat/files/expat/2.0.1/expat-2.0.1.tar.gz/download

[root@web6 src]# tar xvfz tar xvfz expat-2.0.1.tar.gz

[root@web6 src]# cd expat-2.0.1

[root@yt-web6 expat-2.0.1]# ./configure --prefix=/usr/local

[root@yt-web6 expat-2.0.1]# make

[root@yt-web6 expat-2.0.1]# make install

[root@yt-web6 expat-2.0.1]# ldconfig

[root@yt-web6 expat-2.0.1]# cd ..

 

- fontconfig2설치

다운로드 URL : http://fontconfig.org/wiki

[root@web6 src]# wget http://fontconfig.org/release/fontconfig-2.8.0.tar.gz

[root@web6 src]# tar xvfz fontconfig-2.8.0.tar.gz

[root@web6 src]# cd fontconfig-2.8.0

[root@yt-web6 fontconfig-2.8.0]# ./configure --prefix=/usr/local --with-expat=/usr/local

[root@yt-web6 fontconfig-2.8.0]# make

[root@yt-web6 fontconfig-2.8.0]# make install

[root@yt-web6 fontconfig-2.8.0]# ldconfig

[root@yt-web6 expat-2.0.1]# cd ..

 

- gd2설치

다운로드 URL : http://www.libgd.org/Main_Page

make시에 에러가 난다면 make를 한번더 실행

[root@web6 src]# wget http://www.libgd.org/releases/gd-2.0.35.tar.gz

[root@web6 src]# tar xvfz gd-2.0.35.tar.gz

[root@web6 src]# cd gd-2.0.35

[root@yt-web6 fontconfig-2.8.0]# ./configure --prefix=/usr/local/gd --with-freetype=/usr/local --with-png=/usr/local --with-jpeg=/usr/local --with-fontconfig=/usr/local

[root@yt-web6 gd-2.0.35]# make

[root@yt-web6 gd-2.0.35]# make

[root@yt-web6 gd-2.0.35]# make install

[root@yt-web6 gd-2.0.35]# ldconfig

[root@yt-web6 gd-2.0.35]# cd ..

 

- httpd2설치

다운로드 URL : http://httpd.apache.org

[root@web6 src]# wget http://apache.tt.co.kr/httpd/httpd-2.2.15.tar.gz

[root@web6 src]# tar xvfz httpd-2.2.15.tar.gz

[root@web6 src]# cd httpd-2.2.15

[root@yt-web6 httpd-2.2.15]# vi server/mpm/worker/worker.c

85 #define DEFAULT_SERVER_LIMIT 1024

103 #define DEFAULT_THREAD_LIMIT 64

[root@yt-web6 httpd-2.2.15]# ./configure --prefix=/usr/local/apache --enable-so --with-mpm=worker --enable-ssl --with-ssl=/usr/local --enable-expires

[root@yt-web6 httpd-2.2.15]# make

[root@yt-web6 httpd-2.2.15]# make install

[root@yt-web6 httpd-2.2.15]# cd ..

 

worker 방식의 Apache를 설치하였으며 정적 컴파일 설치를 하였다

worker.c의 85번, 103번 라인을 서버 상황에 맞게 여유있게 설정한다

DEFAULT_SERVER_LIMIT 는 프로세스의 개수 제한

DEFAULT_THREAD_LIMIT 는 프로세스당 쓰레드의 갯수 제한

위의 설정은 1024 * 64 = 65536 개의 쓰레드를 생성할수 있으며 work 방식의 장점은 pork 방식에 비하여 메모리를 확실히 절약할 수 있다

work방식의 튜닝은 프로세스당 적당량의 쓰레드의 설정이 관건이다

너무 많은 쓰레드를 할당하면 프로세스당 메모리 사용량이 비대해져서 메모리의 절약은 있는 반면 성능저하의 원인이 될수 있다

현재의 설정은 최대의 개수제한을 설정 및 컴파일한 것으로 세부적인 설정은 config 파일에서 조정할 수 있다

 

- php 설치

다운로드 URL : http://www.php.net

[root@web6 src]# wget http://www.php.net/get/php-5.3.2.tar.gz/from/a/mirror

[root@web6 src]# tar xvfz tar xvfz php-5.3.2.tar.gz

[root@web6 src]# cd php-5.3.2

[root@yt-web6 php-5.3.2]# ./configure --prefix=/usr/local/php --with-apxs2=/usr/local/apache/bin/apxs --with-mysql=/usr --with-mysqli=/usr/lib64/mysql/mysql_config --with-config-file-path=/usr/local/apache/conf --with-zlib-dir=/usr/local --with-jpeg-dir=/usr/local --with-png-dir=/usr/local --with-freetype-dir=/usr/local --with-libxml-dir=/usr/local --with-gd=/usr/local/gd --with-iconv --enable-ftp --with-openssl=/usr/local --with-libdir=lib64

[root@yt-web6 httpd-2.2.15]# make

[root@yt-web6 httpd-2.2.15]# make install

[root@yt-web6 httpd-2.2.15]# cp php.ini-development /usr/local/apache/conf/

[root@yt-web6 httpd-2.2.15]# vi /usr/local/apache/conf/httpd.conf

LoadModule php5_module modules/libphp5.so

AddType application/x-httpd-php .php .phtml .html .htm .inc .cfg

AddType application/x-httpd-php-source .phps

 

 

작성자 goodnux@paran.com 크리엘

'Dev > PHP' 카테고리의 다른 글

php mssql 연동 (freetds)  (0) 2011.05.13
FreeTDS 설치 (PHP와 MS-SQL 연동)  (0) 2011.05.13
PHP Configure Option  (0) 2011.05.13
PHP 암호화 함수정리  (0) 2011.05.07
[PHP] Thread safe / non Thread safe  (2) 2011.04.19

참고 url : http://orion203.springnote.com/pages/6906419.xhtml

 

Php 5.2.16 설치 문서입니다. 이것이 어떤 프로그램인지는 홈페이지를 참조하세요.

 

Prepare#

CentOS 5 가 최소 설치되었다고 가정하고 시작했기 때문에 컴파일 환경을 구축을 먼저 해줘야 합니다.

yum update -y

reboot

yum install gcc.x86_64 gcc-c++.x86_64 wget.x86_64 bzip2-devel.x86_64 pkgconfig.x86_64 openssl-devel.x86_64 make.x86_64 man.x86_64 nasm.x86_64 gmp.x86_64 gdbm-devel.x86_64 readline-devel.x86_64 compat-readline43.x86_64 ncurses-devel.x86_64 db4-devel.x86_64 automake* autoconf* -y

 

 

Donwload and Unpack#

 

cd /usr/src

wget ftp://ftp.sayclub.com/pub/languages/php/php-5.2.16.tar.bz2

tar xvjf php-5.2.16.tar.bz2

cd php-5.2.16

 

Knowledge#

Php는 아주 많은 기능들을 제공합니다. 이러다보니 Configure 옵션도 많아서 제대로 지정해주지 않으면 사용하지도 않는 기능이 내장이 된다거나 꼭 필요한 기능인데 shared module로 올린다거나 하는 불상사가 발생할 수 있습니다. 따라서 무엇이 필요한지 자주 사용되는 기능인지를 따져보는 것이 좋습니다.

 

Php의 많은 기능들은 컴파일할때 기능을 내장하는 Built in 방식과 필요한 기능만을 그때 그때 컴파일해서 붙여서 쓰는 shared 방식을 사용할 수 있습니다. 보통 Built in 방식으로 지정을하지 않으면 전부다 shared 방식으로 언제든지 붙여서 쓸수 있기 때문에 너무 걱정을 하지 않아도 됩니다.

 

Built in 방식은 보통 자주 쓰는 경우에 사용을하고 shared 방식은 가끔 쓰는 기능이 필요한 경우에 사용을 합니다. 따라서 Php가 어떤 목적으로 사용할 것인지를 알아야 필요한 기능을 Built in 할것인지를 알 수 있겠죠.

 

주요한 기능들은 다음과 같습니다.

 

  1. --with-pear     - php 라이브러리인 pear 를 지원.
  2. --with-gettext  - php내에 국제화를 위한 프로그램을 지원하기위해서 필요한 기능을 지원.
  3. --with-iconv     - 문자셋 변환을 위한 기능을 지원.
  4. --with-bz2      - 압축프로그램인 BZip2 기능을 지원.
  5. --with-gmp      - GNU MP 지원. GNU MP는 멀티 프로세싱을 위한 것입니다. 쓰레드, Fork 와는 또다른 병렬 프로그래밍 기법입니다.
  6. --with-apxs2    - apache2 와 연동 지원.
  7. --with-zlib      - ZLIB 지원.
  8. --with-mcrypt   - mcrypt 로 암호화 과련 기능을 지원.
  9. --with-mhash    - mhash 지원.
  10. --with-mysql     - mysql 데이터베이스 지원.
  11. --with-pdo-mysql  - pdo mysql 지원.
  12. --with-mysqli         - mysqli 지원.
  13. --with-pgsql      - pgsql 데이터베이스 지원.
  14. --with-pdo-pgsql  - pdo pgsql 지원.
  15. --with-xmlrpc      - xmlrpc 지원.
  16. --with-libxml-dir    - XML2 지원을 위한 libxml2 라이브러리 디렉토리 지정.
  17. --with-pcre-dir    - Perl Compatible Regular Expression 지원을 위한 라이브러리 디렉토리 지정.
  18. --with-gd          - GD 그래픽 지원.

  19. --with-native-ttf     - TrueType 문자열 지원.

  20. --with-jpeg-dir    - JPEG 그래픽 지원을 위한 라이브러리 디렉토리 지정.

  21. --with-png-dir     - PNG 그래픽 지원을 위한 라이브러리 디렉토리 지정.

  22. --with-xpm-dir     - XPM 그래픽 지원을 위한 라이브러리 디렉토리 지정.

  23. --with-ttf          - FreeType 폰트 지원.

  24. --with-freetype-dir - FreeType 폰트 라이브러리 디렉토리 지정.

  25. --enable-safe-mode      - safe mode 지원.

  26. --enable-zend-multibyte  - Zend 의 multibyte 지원.

  27. --enable-soap   - SOAP 웹 서비스 지원.

  28. --enable-curl     - cURL 지원.

  29. --enable-sockets  - fsockopen 과 같은 소켓 함수를 쓰기위해서는 필요합니다.

  30. --enable-zip        - Zip 파일을 읽고 쓸수 있는 기능 지원.

  31. --enable-magic-quotes  - '," 와 같은 것을 자동으로 처리해주는 기능을 제공합니다.

  32. --enable-mbstring   - multibyte 문자열 처리를 위한 지원.

  33. --enable-shmop      - Shared Memory Operations 으로서 공유메모리 접근 기능을 지원합니다. Windows 플랫폼은 사용할 수 없습니다. 여기를 참고하세요.

  34. --enable-pcntl(CLI/CGI only)  - Process Control 를 지원합니다. Windows 플랫폼은 사용할 수 없습니다.

  35. --enable-sysvmsg    - System V message 를 지원합니다. Windows 플랫폼은 사용할 수 없습니다. 여기를 참고하세요.

  36. --enable-sysvsem    - System V Semaphore 를 지원합니다. Windows 플랫폼은 사용할 수 없습니다. 여기를 참고하세요.

  37. --enable-sysvshm     - System V shared memory 를 지원합니다. Windows 플랫폼은 사용할 수 없습니다. 여기를 참고하세요.

  38. --enable-calendar    - Calendar Conversion 를 지원합니다.

  39. --enable-bcmath     - bc 스타일의 수학함수를 지원합니다.

  40. --enable-ftp         - ftp 지원.

  41. --enable-exif        - 이미지 메타정보 표시를 지원합니다.

  42. --enable-fastcgi     - FastCGI 지원.

 

주로 많이 사용하는 Configure 옵션들은 위와 같습니다. 자세히 보면 'with' 시작하는 것이 있고 'enable' 로 시작하는 것이 있는데, with 의 경우에는 외부의 라이브러리가 있어야 하며 enable은 php에 라이브러리를 내장하고 있어 기능을 켜는 역활을 합니다.

 

Configure 를 하기전에 위의 내용을 알고 있어야 자신에게 필요한 것을 Php에 내장시킬 수 있습니다. 여기에서는 큰틀에서 다음과 같은 것을 Php에 넣을 것입니다.

 

  1. Apache 웹서버 연동. --with-apxs2 옵션 설정 필요.

  2. Mysql 데이터베이스 연동. --with-mysql, --with-pdo-mysql 옵션 설정 필요.

  3. Pgsql 데이터베이스 연동. --with-pgsql, --with-pdo-pgsql 옵션 설정 필요.

  4. 그래픽 이미지 지원. --with-gd, gd-native-ttf, jpg, png, freetype 기능이 필요함.

  5. xml 처리를 위한 기능이 필요. --with-libxml 옵션 설정 필요.

  6. pear 기능 필요. --with-pear 옵션 설정 필요.

  7. 기타 부가적인 기능들 필요. gettext, bz2, mcrypt, mbstring, magic quotas, iconv 등등

 

1~3까지는 설치 노트에 있는대로 설치를 한 것으로 간주했습니다. 나머지 설치를 위한 라이브러리 설치를 먼저 진행을 합니다. 즉 다음과 같습니다.

 

  • Apache2 - /usr/local/apache2

  • Mysql - /usr/local/mysql5.5

  • PostgreSQL - /usr/local/pgsql-9.0

 

 

--with-gd를 위한 CentOS Lib 설치.#

yum install gd.x86_64 gd-devel.x86_64

 

--with-jpeg-dir 를 위한 CentOS Lib 설치.#

yum install libjpeg.x86_64 libjpeg-devel.x86_64

 

--with-png-dir 를 위한 CentOS Lib 설치.#

yum install libpng.x86_64 libpng-devel.x86_64

 

--with-freetype-dir 를 위한 CentOS Lib 설치.#

yum install freetype.x86_64 freetype-devel.x86_64

 

--with-libxml-dir 를 위한 CentOS Lib 설치.#

yum install libxml2.x86_64 libxml2-devel.x86_64

 

--with-bz2 를 위한 CentOS Lib 설치.#

yum install bzip2.x86_64 bzip2-devel.x86_64

 

--with-gettext 를 위한 CentOS Lib 설치.#

yum install gettext.x86_64 gettext-devel.x86_64

 

--with-jpeg-dir 를 위한 CentOS Lib 설치.#

yum install libmcrypt.x86_64 libmcrypt-devel.x86_64

 

--with-mhash 를 위한 CentOS Lib 설치.#

yum install mhash.x86_64 mhash-devel.x86_64

 

--with-gmp 를 위한 CentOS Lib 설치.#

yum install gmp-devel.x86_64 gmp.x86_64

 

이외에도 필요한 기능들을 포함하면 한번쯤 CentOS 라이브러리를 패키지를 살펴봐야 합니다.

 

Configure and Compile#

이제 컴파일을 위한 Configure 는 다음과 같습니다.

 

./configure --prefix=/usr/local/php5.2.16 \

--with-libdir=lib64 \

--with-apxs2=/usr/local/apache2/bin/apxs \

--with-mysql=/usr/local/mysql5.5 \

--with-pdo-mysql=/usr/local/mysql5.5 \

--with-mysqli=/usr/local/mysql5.5/bin/mysql_config \

--with-pgsql=/usr/local/pgsql9.0 \

--with-pdo-pgsql=/usr/local/pgsql9.0 \

--with-pear \

--with-libxml-dir=/usr \

--with-gettext \

--with-iconv \

--with-zlib \

--with-mcrypt \

--with-mhash \

--with-gd \

--with-jpeg-dir=/usr \

--with-png-dir=/usr \

--with-freetype-dir=/usr \

--with-bz2 \

--enable-gd-native-ttf \

--enable-zip \

--enable-mbstring \

--enable-zend-multibyte \

--enable-safe-mode

 

make

make install

cp php.ini-recommended /usr/local/php5.2.16/lib/php.ini

 

Apache PHP Configure#

Apache 웹서버에서 PHP 컴파일을 인식시켜야 합니다. 이를 위해서 아파치에 설정을 해야 합니다.

 

]# cd /usr/local/apache2/conf/extra

]# vim httpd-php.conf

<IfModule php5_module>

    <FilesMatch "\.(htm|html|php)$">

        SetHandler application/x-httpd-php

    </FilesMatch>

 

    <FilesMatch "\.phps$">

        SetHandler application/x-httpd-php-source

    </FilesMatch>

 

    DirectoryIndex index.htm index.html index.php

</IfModule>

]# vim /usr/local/apache2/conf/httpd.conf

#Php settings

Include conf/extra/httpd-php.conf

 

]# /usr/local/apache2/bin/apachectl restart

'Dev > PHP' 카테고리의 다른 글

FreeTDS 설치 (PHP와 MS-SQL 연동)  (0) 2011.05.13
CentOS 64bit Apache PHP 컴파일 설치  (2) 2011.05.13
PHP 암호화 함수정리  (0) 2011.05.07
[PHP] Thread safe / non Thread safe  (2) 2011.04.19
upload_max_filesize  (0) 2011.04.19

vb 또는 asp에서 다른 웹페이지를 호출하고 싶어질때가 있다.
물론 C#과 같은 언어는 httpRequest 와 같은 객체가 있어 손쉽게 받을수 있지만
vb or asp에서는 WinHttp.WinHttpRequest.5.1 의 객체를 생성하여 사용할수 있다.

GET 방식으로 페이지를 호출할경우

Function getSiteSourceGet( siteURL, params )
 Set httpObj = Server.CreateObject("WinHttp.WinHttpRequest.5.1")
 httpObj.open "GET", siteURL & "?" & params, False
 
 httpObj.Send()
 httpObj.WaitForResponse
 If httpObj.Status = "200" Then
  getSiteSourceGet = httpObj.ResponseText
 Else
  getSiteSourceGet = null
 End If
End Function



 

POST 방식으로 페이지를 호출할 경우

Function getSiteSourcePost( siteURL, params )
 Set httpObj = Server.CreateObject("WinHttp.WinHttpRequest.5.1")
 httpObj.open "POST" , siteURL, False
 httpObj.SetRequestHeader "Content-Type", "application/x-www-form-urlencoded"
 '포스트 방식시 위의 라인을 추가해 주어야 한다.
 
 httpObj.Send params
 '포스트의 파라미터는 Send 호출시 같이 값을 넘겨 주어야 한다.
 httpObj.WaitForResponse
 If httpObj.Status = "200" Then
  getSiteSourcePost = httpObj.ResponseText
 Else
  getSiteSourcePost = null
 End If
End Function



POST를 이용할시 약간 수정행 주어야 할것이 있는데 Content-Type을 위와 같이 변경해주어야 하며 파라미터를 GET방식과는 다르게 Send 시 값을 넘겨주어야 파라미터값들이 전달되다.

위와 같이 함수를 만들어 사용하면 될것이다.

추가된글 파라미터를 넘길때 GET 방식이던 POST 방식이던 URLEncode 를 해주어야 한다. 그것때문에 한참 헤맸다. 그리고 VB Script로 호출시에는 Server 객체를 사용할수 없음으로 URLEncode 함수를 직접 만들어 사용해야 했다. URLEncode 함수는 쉽게 구할수 있다.

출처 : http://hahakbs.dothost.co.kr/

'Dev > ASP' 카테고리의 다른 글

ASP에서 외부웹사이트 내용 가져오기  (1) 2011.05.10

<%
Set HttpObj = Server.CreateObject("WinHTTP.WinHTTPRequest.5.1")
HttpObj.setTimeouts 5000, 5000, 15000, 15000
HttpObj.open "GET", "http://www.nicklib.com/img/logo.jpg", False
HttpObj.send

BinaryData = HttpObj.responseBody
ContentType = HttpObj.getResponseHeader("Content-Type")
Set HttpObj = Nothing
If Not Response.IsClientConnected Then
Response.End
End If

Response.AddHeader "Content-Type", ContentType
Response.AddHeader "Content-Length", LenB(BinaryData)
'Response.AddHeader "Content-Disposition", "attachment; filename=" & Escape(filename)
Response.BinaryWrite BinaryData
Response.Flush
%>
<%
Function getSiteSourceGet( siteURL, params )
Set httpObj = Server.CreateObject("WinHttp.WinHttpRequest.5.1")
httpObj.open "GET", siteURL & "?" & params, False

httpObj.Send()
httpObj.WaitForResponse
If httpObj.Status = "200" Then
  getSiteSourceGet = httpObj.ResponseText
Else
  getSiteSourceGet = null
End If
End Function
%>

Copyright 조희창(Nicholas Jo). Some rights reserved. http://www.nicklib.com

'Dev > ASP' 카테고리의 다른 글

vb or asp 에서 다른 웹페이지 호출하기  (0) 2011.05.10

http://cafe.naver.com/q69/34250암호화

암호화(Cryptography)는 일종의 예술이다. 암호문은 몇 개의 단어를 바꾼 로마의 궤변에서부터 요즘에 사용하는 공개 키와 개인 키(public and private key) 메커리즘에 이르기까지 여러 세기에 걸쳐 사용되었다. 암호화의 목적은 지정된 사람 이외에는 누구도 볼 수 없는 암호문을 만드는 것이다.

이제 몇 페이지에 요즈음 인터넷에서 사용되는 몇 가지 암호화 방식과 동작 원리, 사용대상 등에 대해 살펴보도록 하자.

단방향 암호화

이 방식은 원문을 해독할 수 없도록 암호화하는 과정이다. 언뜻 들으면 사용할 수 없는 방법 같지만 실제 컴퓨터 분야에서는 많이 사용되는 방법이다.

단방향 암호화에 사용되는 알고리즘은 자주 해싱 알고리즘(hashing algorithms)이라고 부른다. 이것은 원문을 이용해 고유한 문자열을 만들어 내는 과정이다. PHP에서 가장 널리 사용되는 해싱 알고리즘은 MD5 알고리즘이다. 이 알고리즘의 실제 동작 방식에 대해서는 자세히 설명하지 않지만 이 방식은 어떤 문자열을 받아서 128비트로 된 고유한 값(fingerprint)을 만들어 내는 것이다.

현재 이 고유한 값을 이용해 거꾸로 원래의 문자열을 알아내는 방법은 불가능하다고 생각된다. 또한 두 가지 문자열에서 생성된 값이 서로 같게 될 확률도 거의 없다. 이 시스템을 완전히 난공불락으로 생각할 수도 있지만, 예상 가능한 문자열을 이용해 무작위로 입력해 그 결과를 비교하는 방법에는 취약하다. 이 공격에 필요한 시간은 해시 데이터의 복잡성에 따라 다르지만 짧은 암호 해독에 걸리는 시간은 그리 길지 않다.

암호가 안전하기만 하다면 MD5 알고리즘은 암호를 암호화하는 좋은 방법이다. 그 이유는 원래의 암호를 다시 해독할 수는 없지만 로그인 시에 사용자가 입력한 암호를 해시로 만들어 비교할 수는 있기 때문이다.

일반 텍스트로 저장된 암호는 보안상 매우 위험하면 MD5 알고리즘을 이용해 변환된 값을 저장해야 한다. 사용자가 로그인해 자신의 암호를 입력하면 이것은 MD5 암호화 과정을 거치게 된다. 만일 이 해시 값이 이미 저장되어 있던 것과 같으며, 두 개의 암호는 서로 같다고 판단된다.

간단한 암호를 사용하는 것은 브루트 포스 공격(brute force attack)의 대상이 되기 때문에 매우 위험하다는 것을 명심하기 바란다. 안전한 암호를 선택하는 방법은 이 장의 끝에 나와 있는 참고 자료를 이용하면 된다.

PHP의 md5() 함수는 다음과 같이 문자열을 입력받아 고유한 값을 만들어 낸다:

<?php
$fingerprint = md5($password);
?>

Important

MD5 알고리즘은 다양한 용도로 사용된다. 그 중하나는 파일이 수정되었는지를 확인할 때 사용된다는 것이다. 파일의 MD5 해시를 저장해 두면 이 파일이 변경되었는지를 금방 확인할 수 있다.


CRC32 함수도 비슷한 기능을 한다. CRC32 함수는 128비트가 아닌 32비트의 고유 값을 생성하기 때문에 암호에는 적당하지 않다. 따라서 두 개의 입력 값이 같은 결과를 나타탤 확률이 더 높다.

MD5와 CRC32 함수 이외에, PHP는 mhash 라이브러리를 제공한다. 이 추가적인 알고리즘는 mhash() 함수를 이용한다. 이 함수는 두 개 또는 세 개의 인자를 사용한다. 첫 번째 인자는 알고리즘을 나타내는 상수, 두 번재 인자는 해시로 만들 문자열, 세 번째 인자는 해싱 알고리즘에서 사용되는 키(key)이다. 다음은 MD5 알고리즘과 mhash()를 이용한 해싱의 예이다:

<?php
$passphrase = "this is my secret passphrase";
echo("My passpharse hashed using md5 is: ");
echo(mhash(MASH_MD5, $passphrase));
?>

mhash를 지원하는 주요 알고리즘은 다음과 같다. 좀더 자세한 정보는 http://mhash.sourceforce.net/ 을 참고하면 된다.

알고리즘
특징

CRC32
이 알고리즘은 주로 데이터 전송 시에 체크섬(checksums)을 위해 사용된다. mhash는 이 알고리즘을 위해 두 가지를 제공하는데, MHASH_CRC32는 주로 이더넷 통신에서 사용되면 MHASH_CRC32는 ZIP 프로그램에서 사용된다.

MD5
md5() 함수의 알고리즘이다. 상수 MHASH_MD5를 사용한다.

MD4
MD4는 MD5와 비슷하지만 보안성이 떨어진다. MD5로 대체되었기 때문에 MD4를 사용하지 않는다. MHASH_MD4 상수를 사용한다.

SHA1
이 알고리즘은 NIST의 디지털 서명 표준을 사용된다. 상수 MHASG_SHA1을 사용한다.

HAVAL
MD5의 변형 판으로 다양한 길이의 결과를 갖는다. mhash에서는 MHASH_HAVAL256, MHASH_MAVAL192, MHASH_HAVAL160, MHASH_HAVAL128 등을 사용한다.

RIPEMD160
MD4, MD5, RIPEMD를 대체하기 위해 설계된 160비트 알고리즘이다. 그러나 여전히 MD5가 많이 사용되고 있다. 상수 MHASH_RIPEMD160을 이용한다.

TIGER
TIGER은 매우 빠른 해싱 기능을 위해 설계되었다. 원래 64비트 컴퓨터에서 사용하려고 설계되었지만 다른 컴퓨터에서 그다지 느리지는 않다. 상수 MHASH_TIGER192, MHASH_TIGER160, MHASH_TIGER128을 사용한다.

GOST
러시아의 디지털 서명 표준으로 256비트를 지원한다. 상수 MHASH_GOST를 사용한다.


대칭형 암호화(Symmetric Encryption)

키(key)를 이용해 문자열을 암호화하는 방버이다. 전송자와 수신자가 알고 있는 키를 이용해 동일한 알고리즘에서 문자열을 암호화/복호화 한다. 2차 세계 대전 중에 암호화 기계(enigma machine)에 사용된 방식이다.

이 암호화 방식은 많은 약점과 문제점이 있다. 그 중 하나는 전송자와 수신자가 키를 알고있는 유일한 사람들인지를 확인하는 것이다. 만일 누군가 타인이 키를 얻어 암호화 된 메시지를 가로챈다면 이 메시지를 해석하는 것은 매우 간단한 일이다. 일반적으로 생각해서 만일 키를 안전하게 보관할 수만 있다면 이 방식은 매우 안전하다. PHP에서는 mcrypt 라이브러리를 이용해서 다양한 알고리즘을 이용하는 호스트에 접근할 수 있다.

mcrypt에서 사용되는 일반적인 암호화 방식은 다음과 같다. 보다 자세한 정보는 http://mcrypt.hellug.gr/mcrypt/mcrypt.html을 참고했다.

알고리즘
특징

DES
전통적인 DES 알고리즘으로 키의 길이가 작아 비교적 보안에 취약하다. 상수 MCRYPT_DES를 사용한다.

3DES/Triple DES
DES의 변형 판이다. 유효 키 길이는 112비트이다. 상수 MCRYPT_3DES를 사용한다.

CAST-128
캐나다에서 설계된 알고리즘으로 128비트 키와 64비트 블럭을 가진다. 상수 MCRYPT_CAST_128을 사용한다.

CAST-256
CAST-128의 확장 판으로 알고리즘으로 256비트 키와 128비트 블럭을 가진다. 상수 MCRYPT_CAST_256을 사용한다.

XTEA
128비트 키와 64비트 브럭을 가진다. 상수 MCRYPT_XTEA를 사용한다.

3-WAY
96비트 키와 블럭을 가진다. 상수 MCRYPT_THREEWAY를 사용한다.

SKIPJACK
미국 NSA에서 조건부 암호화 표준으로 설계한 알고리즘이지만 표준화되지 못했다. mcryp에서 추가 라이브러리를 이용해 접근할 수 있으며 80비트 키를 가진다. 상수 MCRYPT_SKIPJACK를 사용한다.

BLOWFISH
DES를 개선한 알고리즘으로 최대 448비트 길이의 키를 사용할 수 있다. 상수 MCRYPT_BLOWFISH를 사용한다.

TWOFISH
보안성이 높고 융통성이 있다. 128, 192, 256비트 키를 지원한다. 상수 MCRYPT_TWOFISH를 사용한다.

LOKI97
128, 192, 256비트 길이의 키를 이용한다. 상수 MCRYPT_LOKI97를 사용한다.

RC2
블럭 크기를 64비트이며 키는 8에서 1024비트이다. 오래된 알고리즘으로 16비트 컴퓨터에 적당하다. 상수 MCRYPT_RC2를 사용한다.

ARCFOUR/RC4
RC4는 RSADSL의 상표이므로 mcrypt는 RC4 알고리즘을 지원하지 않지만 ARCFOUR와 호환된다. 스트림 기반의 암호문과 최대 2048 비트 키를 지원한다. 상수 MCRYPT_ARCFOUR를 사용한다.

RIJNDAEL
가변적인 길의 블럭 암호문과 키를 가진다. 상수 MCRYPT_RIJNDAEL_128, MCRYPT_RIJNDAEL_192, MCRYPT_RIJNDAEL_256을 사용한다.

SERPENT
128비트 블럭 암호문으로 DES보다 빠르다. 상수 MCRYPT_SERPENT를 사용한다.

IDEA
64비트 블럭과 128비트 키를 사용한다. 상수 MCRYPT_IDEA를 사용한다.

ENIGMA/CRYPT
하나의 원통을 가진 암호화 기계를 기반으로 해서 보안성이 낮다. 상수 MCRYPT_CRYPT를 사용한다.

GOST
256비트 키와 64비트 블럭을 가진다. 상수 MCRYPT_GOST를 사용한다.

SAFER
64비트, 128비트 키를 지원하는 빠르고 안전한 알고리즘이다. 상수 MCRYPT_SAFER64, MCRYPT_SAFER128을 사용한다.

SAFER+
SAFER 알고리즘의 확장판으로 128, 196, 256비트 키를 지원한다. 상수 MCRYPT_SAFERPLUS를 사용한다.


예를 들어, 3DES 알고리즘을 사용하려면 다음과 같이 키를 이용해 문자열을 암호화한다:

<?php
$key = "This is our secret key";
$string = "This is ths string that we want to encrypt"; // 문자열 암호화
$encrypted_message = mcrypt_ech(MCRYPT_3DES, $key, $string, MCRYPT_ENCRYPT);
?>

이 메시지를 해독하려면 $encrypted_message를 문자열로 해서 MCRYPT_DECRYPT 상수를 이용하면 된다. 위의 코드를 mcrypt 2.2.x와 2.4.x에서 동작한다. mcrypt 2.4.x 함수가 좀더 더 유연한 기능을 제공하므로 이 함수를 사용하기를 권한다.

비대칭 암호화

비대칭 암호화(Asymmetric encryption)는 몇 년 전부터 일반인들이 사용할 수 있게 되었다. 이 방식은 상자와 자물쇠로 생각하면 이해가 쉽다. 예를 들어, 제인이 앨리스에게 보내는 비밀 메시지를 가지고 있다면 앨리스는 제인에게 열려있는 자물쇠를 보낼 수 있다. 제인은 자신의 메시지를 상자에 넣고 앨리스가 보내준 자물쇠를 이용해 상자를 잠근다.

이제 상자를 열과 메시지를 읽을 수 있는 유일한 사람은 앨리스인데 열쇠는 앨리스만이 가지고 있기 때문이다.

비대칭 암호화를 이용할 때는 자신의 공개 키(pubic key)를 보내야 한다. 이 공개 키를 열려져 있는 자물쇠라고 생각해보자. 누구든지 이 열려진 자물쇠를 이용해 여러분에게 비밀 메시지를 보낼 수 있고 개인 키(private key)는 여러분이 가지고 있으므로 이 자물쇠를 열수 있는 유일한 사람이 된다.

이 시스템은 인터넷에서 흔히 사용된다. 만일 인터넷에서 물건을 구입하거나 PGP(Pretty Good Privacy)를 사용한다면 이 시스템을 이용하는 것이다.

PHP는 OpenSSL을 이용해 이 시스템을 지원한다. 또한 OpenSSL은 CURL을 이용해 리모트 서버에 SSL(Secure Socket Layer)로 연결할 수 있다. 사용되는 세부 알고리즘은 상당히 복잡하다. 이 장의 마지막에 있는 참고 정버를 이용하면 많은 정보를 얻을 수 있다. 비대칭 암화는 다른 것보다 좀더 안전하다.

'Dev > PHP' 카테고리의 다른 글

FreeTDS 설치 (PHP와 MS-SQL 연동)  (0) 2011.05.13
CentOS 64bit Apache PHP 컴파일 설치  (2) 2011.05.13
PHP Configure Option  (0) 2011.05.13
[PHP] Thread safe / non Thread safe  (2) 2011.04.19
upload_max_filesize  (0) 2011.04.19
** SSO와 세션 클러스터링 의미비교

Single Sign On(통합인증)을 "하나의 아이디/패스워드로 여러 어플리케이션에 접근할 수 있도록 관리하는
통합시스템"을 의미하는 개념적인 층위의 용어라고 할 때, 자바에서의 세션 클러스터링은 이를 구체화한 실제
방법론중의 하나, 즉 SSO의 하위개념으로 해석할 수 있을 듯 합니다.

또한, 자바 세션 클러스터링은 일반적 SSO의 기능인 사용자의 로그인 여부 판별과 고유 아이디 인증을 넘어서,
단일 어플리케이션 상황에서와 마찬가지의 세션 스코프 유지를, 별개의 어플리케이션 또은 물리서버 사이에서도
가능하도록 하는 데에 초점이 맞춰져 있는 논제같습니다.
즉, 다수의 어플리케이션간에 세션 스코프를 연결하고, 스코프에 저장되는 자바 오브젝트들의 상태를 유지할
수 있도록 보장하는 것입니다.


** A,B,C,D 서버가 있다고 할 때의 일반적인 SSO 구현방식

** 1.
사용자가 로그인을 성공할 경우 로그인 처리 페이지가 A,B,C,D 서버에 있는 각각의 loginok.jsp 페이지를
IFRAME을 통해 동시에 호출합니다.
이때, A,B,C,D 서버의 loginok.jsp 페이지는 해당 브라우저 사용자에 대해 로그인 처리를 하고,
Requset에 담겨온 loginid를 이용해서 세션에 사용자정보를 담습니다.
로그아웃도 마찬가지로 처리합니다.
4개의 세션이 별개로 생기는 셈이지만, 이는 모두 공통된 하나의 브라우저에 대응하므로, 브라우저가
종료되면 동시에 소멸됩니다.
세션간의 연동(객체 전달같은)은 불가능하지만, 하나의 브라우저에 대해서 각각의 어플리케이션이
동일한 인증상태를 유지하고 있고, 각각의 세션에 저장된 사용자 정보가 동일한 것이라는 무결성을
획득할 수 있습니다.
 
** 2.
쿠키를 이용하는 방법 (가장 대중적, 메인 도메인이 같을 때)
로그인하면, 고유의 키를 만들어 쿠키에 저장합니다.
각각의 사이트에서는 쿠키에 담긴 이 키값의 여부로, 로그인 여부를 판단하고 세션을 생성하며
키값에 따른 고유한 사용자 정보를 뽑아와 세션에 저장합니다.
로그아웃시에는 쿠키를 지워줍니다.

** 3.
하나의 서버에서 인증처리를 전담하는 방법
로그인과 세션을 관리하는 A서버의 a페이지를, 통합인증이 필요한 모든 페이지에서 프레임으로 포함하고,
처리에 필요한 사용자정보를 여기에 요청, 응답받습니다.
a페이지는 XMLHttpRequest를 이용 페이지 갱신없이 A서버의 다른 프로그램을 호출하고 응답을 얻어옵니다.

- 시나리오
1. 메인프레임에서 로그인프레임에 로그인여부 질의 top.loginFrame.getIsLogin();
2. 로그인 프레임의 a페이지는 응답받을 메인프레임의 함수를 이벤트로 등록후 서버측에 요청을 보냅니다.
   sendRequest("./isLogin.jsp","data","top.mainFrame.isLogin");
3. 요청받은 서버는 세션을 참조하여 로그인 여부 판단, XMLHttpRequest에 응답합니다.
4. 서버에서의 응답값을 매개변수로 top.mainFrame.isLogin(isLogin); 이 실행됩니다.

일반적인 방법은 아닙니다.

** 4.
세션 클러스터링을 이용한 방법
고유한 키값을 쿠키나 기타 장소에 보관하고, 별개의 서버 프로그램과 소켓으로 통신하여 키값에 대해 배당된
컬렉션에서, 직렬화된 자바객체를 꺼내오거나 혹은 저장하며 그 상태를 유지시키는 방법입니다. 키값(연결)이
유지되는 한, 저장소내의 동일한 객체에 접근할 수 있다는 보장을 만들어줍니다.
즉, 통합 인증보다는, 인증 후의 데이터 공유에 촛점이 맞춰져 있는 것 같습니다.

** 5.
통합인증 솔루션 사용



출처 - http://blog.naver.com/

1. Editing( 편집 )

1-1 커서 이동 / Windows 이동
  • Ctrl + D :  줄 삭제
  • Ctrl + Alt + ↑(위)/↓(아래) : 줄 복사
  • Ctrl + Shift + Enter : 현재 줄에서 새줄 추가
  • Shift + Enter : 다음 줄에 새줄 추가
  • Ctrl + L : 원하는 라인으로 이동
  • Ctrl + →(Right) : 다음 문자로 이동 
  • Ctrl + →(Left) : 이전 문자로 이동
  • F10 : 메뉴창을 활성화
  • Ctrl + F8 : 다음 Perspective로 이동
  • Ctrl + N :  새로운 파일 및 프로젝트 생성
  • Ctrl + Shift + ↓(Down) : Java Editor에서 다음 member로 이동
  • Alt + < : 이전 작업 화면
  • Alt + > : 다음 작업 화면
  • Ctrl + 1 : 컴파일 에러가 발생한 곳에서 Ctrl + 1을 누를 경우 컴파일 에러에 대한 해결책을 제시
1-2 주석
  • Ctrl + Shift + / : 주석 처리 
  • Ctrl + Shift + \ : 주석 풀기
  • Ctrl + / : 라인별로 주석처리

1-3 검색
  • Ctrl + J : 점증적 검색(키 수행 후 원하는 단어 입력하면 이클립스 하단바에서 찍히고 바로 검색 가능
  • Ctrl + K : 다음 찾기
  • Ctrl + Shift + K : 이전 찾기 
  • Ctrl + H : 검색 다이얼로그(메서드, 타입, 패키지 등 검색 가능
1-4 Tab 기능 / 코드어시스트
  • Tab : 들여 쓰기
  • Shift + Tab : 내여 쓰기
  • Ctrl + Space bar : 코드어시스트(키보드 Type3을 쓸 경우에는 왼쪽 Ctrl을 누른 상태에서 오른쪽 Ctrl을 누르고 왼쪽 Ctrl을 뗀 후에(오른쪽  Ctrl은 누른 상태) Space를 눌러 준다.)
1-5 기타
  • Ctrl + Shift + M : 특정 클래스  Import 시키기
  • Ctrl + Shift + O : 자동으로 Import 시키기
  • Ctrl + Shift + F : 코드 자동으로 정리 시키기
  • Ctrl + Shift + G : 특정 메써드나 필드를 Reference하고 있는 곳을 찾는다.
1-6 Information
  • Ctrl + Shift + R : 리소스 찾기
  • Ctrl + O : 레이어로 현재 파일의 Outline 보여줌
  • Ctrl + T : 레이어로 계층 구조 보여짐
  • F3 : 해당 메서드나 클래스가 정의된 곳으로 이동




2. Navigation 

2-1 에디터간의 이동
  • Ctrl + E : 에디터안에서 열린 파일간의 이동(작은 레이어로 뜬다.)
  • Ctrl + Shift + E : 에디터안에서 열린 파일간의 이동
  • Ctrl + F6 : 에디터안에 열린 파일간 이동하는데 F6 누를 때마다 하나씩 순차적으로 넘어감
  • Ctrl + F7  :  다음 View로 이동
  • Ctrl + Shift + F7 +  :  이전 View로 이동
  • Ctrl + F8 : 퍼스펙티브 간 전환
  • F12 : 컴파일 중 에러 등으로 포커스가 다른데로 갔을 때 Editor로 커서 이동

3. Debugging(디버깅)

3-1 디버깅 단축키

  • Ctrl + Shift + B : 현 커서의 위치에 브레이크 포인터 설정/해제
  • F11 : 디버깅 시작
  • F8 :  디버깅 계속
  • F6 : 한줄씩 실행(Step Over)
  • F5 : 한줄씩 실행 하되 함수일 경우 그 함수 내부로 들어감(Step Into)
  • Ctrl + R : 현재 라인까지 실행(Run to Line)

4. Run (컴파일 및 실행)

  • Ctrl + S : 자동으로 컴파일
  • Alt + Shift + X , J : Run Java Application (Alt + Shift + X 그외 여러가지 옵션이 있다.)

출처 : http://calmmass.tistory.com/126

이클립스 속도 올리기 글을 쓰다가.. 번거롭게 휴지통을 누르는게.. 불편해서, 자동으로 이런 기능을 해 주는게 없나 해서.. 구글링을 해 봤더니.. 역시나 있더군요.^ ^;;

플러그인으로 지원합니다.


이 사이트에서 친절하게도 2개의 플러그인을 지원해 줍니다. 둘 중 하나를 마음에 드시는 걸로 설치 하시면 됩니다.

두 프로그램 다 설치 및 사용법은 간단합니다. 둘다 압축을 풀고, 플러그인 폴더에 복사해 넣어 주면 설치가 됩니다. 설치 과정을 거쳐서 설치 하셔도 되고요..
그리고 Activate automatic GC when memory reaches below setup size의 옵션을 켜 주시면, 지정해 둔 사이즈 이상이 되면, 정해놓은 주기대로 garbage collector를 동작하게 됩니다.

아래는 홈페이지를 펌해 왔습니다. 보시고 사용할 플러그인을 고르세요.



Eclipse Status Monitor

The Eclipse Status Memory Monitor Plugin offers the continiously dynamic inspection of the Eclipse IDE's memory consumption and the automatic and forced execution of garbage collection for the Eclipse IDE. The Status Memory Monitor installs itself into the Eclipse status line area and is customizable to the users needs.

The Status Memory Monitor Plugin for the Eclipse Workbench offers:

  • The continiously dynamic inspection of the Eclipse Workbench memory consumption inside the Eclipse status line
  • The automatic and forced execution of garbage collection for Eclipse
  • The visualisation of a setable warn memory indication for Eclipse
  • The individual settup of the Memory Monitors sampling rate
  • To customize it's options and used colors individually
  • Included online help

Screenshots



Compatibility

This Plugin has been tested with Eclipse R3.1 and a Java jdk1.5.0_02 under Win2K/XP.

Download

File Size Date
stmemmonitor_v1.1_R3.1.1_dist.zip

99 KB
2005-07-02


Eclipse Memory Monitor

The Eclipse Memory Monitor is a port of the Kyrsoft JBuilder Memory Monitor OpenTool to the Eclipse Workbench as an Eclipse SWT based Plugin. The JBuilder Memory Monitor version has been around for years and has proven to be a valuable tool there.

The Memory Monitor Plugin for the Eclipse Workbench offers:

  • The continiously dynamic inspection of the Eclipse Workbench memory consumption inside the Eclipse status line
  • The automatic and forced execution of garbage collection for Eclipse
  • The visualisation of a setable warn memory indication for Eclipse
  • The individual settup of the Memory Monitors sampling rate
  • To customize it's options and used colors individually
  • Included online help

Screenshots


Compatibility

This Plugin has been tested with Eclipse R3.1 and a Java jdk1.5.0_02 under Win2K/XP.

Download

File Size Date
swt_memmonitor_v1.6_R3.1.1_dist.zip

144 KB
2005-11-24

출처 : http://gyuha.tistory.com/290

'Dev > eclipse' 카테고리의 다른 글

이클립스 리치 클라이언트 플랫폼(RCP)  (0) 2011.06.09
이클립스 단축키  (0) 2011.04.30
이클립스 속도 올리기  (0) 2011.04.29
Boost Eclipse speed performances  (1) 2011.04.29

+ Recent posts