2013년 9월 22일 일요일

프로젝트 문서화 작성 도구. - SandCastle


Visual studio를 이용하여 프로젝트마치고 나서 귀찮은 문서화의 수고를 덜기위해 한번쯤 사용해 볼만한 툴이다.
문서화를 지원하는 건 여러가지 프로그램들이 있다.

그 중에서 SandCastle에 대해 간단 버전으로...

1. GhostDoc을 설치한다.
2. VS2005를 실행하면 단축키 지정 등의 셋팅을 물어보며 GhostDoc이 AddOn으로 자리를 잡는다.
3. 실행할 프로젝트를 읽어온 후, 
4. GhostDoc의 환경 잡아주고 나서 메뉴 : 프로젝트 -> 속성 -> 빌드 : 출력 : XML 체크
5. 빌드한다.
6. XML 출력이 생성된다.
7. SandCastle Help File Builder를 실행시킨 후, 화면의 ADD 버튼을 클릭하여 생성된 XML을 찾아 지정한다.
8. 도구바에 있는 컴파일 버튼을 클릭한다.
9. SandCastle Help File Builder 혼자 열심히 돈다. 잠시 혼자만의 시간을 갖자. =-=;;
10. 아.. 위에서 OutputPath로 지정된 곳에 chm 파일이 생긴다.

프로그램 다운로드 정보.
======================

XML 작성 도구 : GhostDoc

설명 :
<summary>
GhostDoc is a free add-in for Visual Studio that automatically generates XML
documentation comments for C#. Either by using existing documentation inherited
from base classes or implemented interfaces, or by deducing comments from
name and type of e.g. methods, properties or parameters.
</summary>

다운로드 : http://shfb.codeplex.com/

주요 목적 : Visual Studio 2003 이상의 버전에서 XML로 작성된 태그 및 내용을 읽어들여 하나의 XML파일로 저장한다.

도움말을 작성 도구 : Sandcastle - Documentation Compiler for Managed Class Libraries

설명 :
도움말 파일을 작성하는데 필요한 ClassLibrary 와 실행파일.



linux 로그 기록(describes log in linux)


linux log

=============================================
로그이름            로그 파일명                                     관련데몬(related deamons)
콘솔로그         /dev/console                                      kernel      
시스템로그      /var/log/messages                             syslogd        
TCPD로그       /var/log/secure                                  xinetd
메일로그         /var/log/maillog                                  sendmail
크론로그         /var/log/cron                                      crond
부팅로그         /var/log/boot.log                                 boot
FTP로그         /var/log/xferlog                                   ftpd
웹로그            /usr/local/apache/logs/access_log      httpd
네임서버로그   /var/log/named.log                              named
=============================================


설명
=============================================
/dev/console
커널에 관련된 내용을 시스템 콘솔에 뿌려주는 로그.
messages 내용과 일치하지는 않지만 시스템에 관련된 중요한 내용들에 대한 로그를
관리자에게 알리고자 함이 목적이기 때문에 출력을 파일로 저장하는 것이 아니라
장치명 (/dev/console) 을 사용하여 콘솔로 로그를 뿌려주게 된다.

- boot.log
리눅스가 부팅이 될 때 출력되는 모든 메시지를 기록하고 있다.
부팅시의 에러나 조치사항을 살펴보려면 이 파일을 참조해야 한다.

- cron
시스템의 정기적인 작업에 대한 로그, 즉 시스템 cron작업에 대한 기록.
/etc 디렉토리에는 cron.hourly, cron.daily, cron.weekly, cron.monthly
디렉토리들이 있음. 이 디렉토리들은 각각 시간별, 일별, 주별, 월별로 정기적으로
운영체제에 자동실행 할 작업스크립트 파일이 존재하고 있다.
이들 작업이 실행되고 난 이후에 /var/log/cron 에 실행내역을 기록한다.

- messages
리눅스 시스템의 가장 기본적인 시스템 로그 파일로서 시스템 운영에 대한
전반적인 메시지를 저장하고 있다. 주로 시스템 데몬들의 실행상활과 내역,
그리고 사용자들의 접속 정보 등의 로그기록내역을 기록하고 있다.

- secure
주로 사용자들의 원격로그인 정보를 기록하고 있는 로그파일이다.
서버 보안에 아주 민감하고 중요한 파일, 특히 xinetd의 접속제어에 관한 로그파일
로서 언제, 누가, 어디에서, 어떻게 접속을 했는가에 대한 로그를 기록하고 있다.
시스템의 불법 침입 등이 있었다고 의심이 될 때는 반드시 이 로그파일을 확인한다.

- xferlog
리눅스시스템의 FTP 로그 파일. proftpd 또는 vsftpd 데몬들의 서비스내역을
기록하는 파일, FTP로 로그인하는 사용자에 대한 로그를 기록과 어떤파일을
업로드/다운로드 하였는가에 대한 상세기록을 하고 있다.
어떤 특정한 파일이 시스템으로 FTP 서비스에 의해서 업로드 되었을 때에나
시스템외부로 다운로드 되었을 때 이 파일의 기록내역을 확인해보면 날짜, 파일명,
디렉토리명의 주요정보를 확인할 수 있다.

- /var/spool/mail
사용자들에 대한 메일을 보관하고 있는 디렉토리로서 메일을 한번 이상 사용한
사용자는 사용자 계정 ID와 동일한 파일이 하나씩 존재한다.
사용자 계정 생성 시에 /var/spool/mail 디렉토리 내에 생성하는 계정명과 동일한
메일파일이 생성됨. 메일을 읽은 후에 사용자의 메일 디렉토리로 저장하거나
메일을 삭제했을 경우에는 이 파일에서 메일내용이 삭제된다.

Jquery Layer(Modal or modaless)

Jquery를 이용해서, modal form을 구현해야 해서,
구글링 하다보니, 아래 사이트에 유료 표시도 없고, 간단한 예제도 있고,
간편하게 변경 사항 없이 사용할 수 있을 듯 하다.

아래는 페이지 화면 캡쳐한 내용이고, 링크를 이용해서 해당 페이지로 이동할 수 있다.


http://simplemodal.plasm.it/#home

2013년 9월 15일 일요일

MySQL의의 4기가바이트 한계 극복(Overcoming MySQL's 4GB Limit)

Mysql을 사용하다 보면, 테이블 단위의 크기가 정해져 있다는 것을 알 수 있습니다.

이 크기는 아래와 같이 정해져 있으며, 
Max_data_length : 4294967295

사이즈 변경을 해 주기 전까지는 테이블의 크기는 이 사이즈를 초과할 수 없다.

그래서, rows 수가 많거나 AVG_ROW_LENGTH 가 큰 경우, 
이 4GB를 초과해서 작업을 해야 하는 경우,

Max_data_length 사이즈를 늘려 주어야 한다.

"SHOW TABLE STATUS LIKE 'tmp_jdk_all_imageDetail';"




이는 SQL 명령어를 이용하여 rows size는 확인할 수 있다.

DESCRIBE work.tmp_jdk_all_imageDetail;











아래 SQL 명령어를 이용하여 Max_data_length 를 늘릴 수 있다.

ALTER TABLE work.tmp_jdk_all_imageDetail MAX_ROWS = 10000000 AVG_ROW_LENGTH=4280;





To increase tablespace, use sql command

ex)
ALTER TABLE work.tmp_jdk_all_imageDetail MAX_ROWS = 10000000 AVG_ROW_LENGTH=4280;

MAX_ROWS : expecrted rows.
AVG_ROW_LENGTH : data size by row.

to calculate data size by row

ex)
DESCRIBE work.tmp_jdk_all_imageDetail;

to confirm, use sql command

ex)
SHOW TABLE STATUS LIKE 'tmp_jdk_all_imageDetail';

cf )
table name : work.tmp_jdk_all_imageDetail


you consider, I have a linux machine with 64bit cent OS.

2013년 9월 12일 목요일

르노 삼성에서 QM3 발표에 맞춰 이벤트 하는군요.


르노 삼성에서 QM3 발표에 맞춰 이벤트를 하네요.
자신만의 색상을 꾸미고, 차도 한대 생기고...

응모는 했는데, 어떨지 모르겠네여.

http://event.renaultsamsungm.com/event/130903/qm3/



쉡 스크립트(shell script) - 중복실행 방지(To avoid duplicate runs)

#load date
date=$(date +%y/%m/%d-%H:%M:%S)

#해당되는 프로세스 ID 읽어오기 (read process id with file name 'takeOriginImage.php').
pid=`ps -ef | grep "takeOriginImage.php" | grep -v 'grep' | awk '{print $2}'`

#프로세스ID가 있을 경우, 즉 실행 중일 경우, 메시지를 출력하고 종료.
#If the process ID - that means if it is running, a message and exit.
if [ -z $pid ]
then
  /usr/local/php/bin/php /home/jdk/takeOriginImage.php > /home/jdk/_log/takeOriginImage.txt
else
  echo $data "can not dual exec process!!!\r\n";
fi

2013년 9월 9일 월요일

ImageMagicK 기본 사용법





파일포맷변경(FORMAT)
convert image_org.gif 
image_out.jpg

[설명] image_org.gif  이미지를 image_out.jpg로
바꾼다.

convert image_org.png  image_out.jpg[설명] image_org.png 이미지를 image_out.jpg로 바꾼다.





확대,축소,리사이즈(RESIZE)
convert image_org.jpg -resize 25%x25%
-quality 100 image_out.jpg

[설명] image_org.jpg  이미지를 1/4 축소한
image_out.jpg로 바꾼다.

convert image_org.jpg -resize 800x600
-quality 100 image_out.jpg
[설명] image_org.jpg  이미지를 800x600픽셀로 리사이즈
하지만 비율을 유지하며 큰사이즈 비율 기준으로 image_out.jpg를 생성한다.

convert
image_org.jpg -resize 800x600\! -quality 100 image_out.jpg
[설명]
image_org.jpg  이미지를 800x600픽셀로 강제적으로 바꾸어 image_out.jpg를 생성한다.

[설명]
"-quality 100"이란 옵션을 주면 품질을 최대한 좋게한다.





회전(ROTATE)

convert image_org.png -matte -background none
-rotate 90  image_out.png
[설명] 이미지를 90도 회전하고 나머지 영역은
투명하게한다.

convert image_org.png -matte -background none -rotate
-15  image_out.png
[설명] 이미지를 -15도 회전하고 나머지 영역은
투명하게한다.





좌우반전,상하반전(FLOP)
convert -flop image_org.jpg 
image_out.jpg
[설명] image_org.jpg  이미지를 좌우반전시켜 image_out.jpg 이미지를
생성한다.

convert -flip image_org.jpg  image_out.jpg[설명]
image_org.jpg  이미지를 상하반전시켜 image_out.jpg 이미지를
생성한다.





흑백,갈색 효과(B&W ETC)
convert image_org.jpg -colorspace gray
image_out.jpg
[설명] image_org.jpg  이미지를 흑백효과를 적용하고 image_out.jpg 이미지를
생성한다.

convert image_org.jpg -sepia-tone 80%
image_out.jpg
[설명] image_org.jpg  이미지를 갈색효과를 적용하고 image_out.jpg 이미지를
생성한다.





밝게,어둡게(CONTRAST)
convert
image_org.jpg -sigmoidal-contrast 3,0% image_out.jpg
[설명]
image_org.jpg  이미지를 밝게하여 image_out.jpg 이미지를 생성한다.

convert
image_org.jpg -sigmoidal-contrast 3,100% image_out.jpg
[설명]
image_org.jpg  이미지를 어둡게하여 image_out.jpg 이미지를
생성한다.





자르기(crop)
convert image_org.jpg -crop
800x600+10+20  image_out.jpg
[설명] image_org.jpg를 Left 10픽셀 Top 20픽셀
부터 800x600픽셀까지  자르고 그 결과로 image_out.jpg 이미지를 생성한다.

convert
image_org.jpg -crop 800x600+10-30  image_out.jpg
[설명] image_org.jpg를
Left 10픽셀 Top -30픽셀 부터 800x600픽셀까지  자르고 그 결과로 image_out.jpg 이미지를
생성한다.





캔버스생성(Create Canvas)
convert
-size 800x600 xc:white image_out.jpg
[설명] 800x600픽셀인 흰색
image_out.jpg 이미지를 생성한다.

convert -size 800x600 xc:skyblue
image_out.gif
[설명] 800x600픽셀인 하늘색 image_out.jpg 이미지를
생성한다.

convert -size 800x600 xc:none
image_out.png
[설명] 800x600픽셀인 투명 image_out.png 이미지를
생성한다.





글자이미지생성(CREATE FONT)
convert -background white -fill black -font
batang.ttf -pointsize 36 label:"Test\n한글" image_out.png
[설명]
"Test\n한글"이란 글자로 image_out.png 이미지를 생성한다. (이미지배경은 흰색, 글자색은 검정색, 폰트는 바탕, 폰트사이즈는
36pt)





이미지합성(COMPOSITE)
composite -dissolve 60
-geometry +50+100 image_temp.png image_org.jpg image_out.jpg
[설명]
image_temp.png 이미지를 투명도 60%로 하여 image_org.jpg의 50,100 픽셀 좌표에 올려 합성후
image_out.jpg 이미지를 생성한다.








기타 자세한 설명은 http://www.imagemagick.org/Usage/
참고하십시오.