« Prev : 1 : 2 : 3 : 4 : Next »
사용자 삽입 이미지
블로그 시스템으로 쓰고 있는 텍스트큐브 의 서버설정에 보면 블로그 성능을 높여줄 수 있는 memcached  사용 옵션이 있다. 이 블로그의 현재 운영환경은 텍스트큐브 1.8.3.1, memcached 1.4.4 이며 PHP와 memcached는 pecl-memcache  3.0.4로 연결된다.

그런데 memcached 옵션을 켜면 로그아웃이 되지 않는 문제가 발생하여 조사에 착수하게 되었다. 우선 텍스트큐브의 디버깅 옵션을 켜고 웹 브라우저로 홈 페이지를 열어보았다.



그러자 아래와 같은 디버깅 정보를 화면 상단에 불 수 있어 문제해결의 실마리를 찾을 수 있었다.
MemcachePool::delete() [memcachepool.delete]: Server localhost (tcp 11211, udp 0) failed with: CLIENT_ERROR bad command line format. Usage: delete <key> [noreply] (0)(8)
File: framework/cache/Memcache.php:49

즉 텍스트큐브에서 memcached 서버에 삭제를 요청하는 부분에서 문제가 생긴 것이다. 이와 유사한 다른 예를 찾기 위해 구글로 검색해 보니 Item deletion bug in PECL memcache package [1]라는 글을 찾을 수 있었다. memcache 삭제 요구에서 문제가 생기는 이유는 pecl-memcache 버그 #16927  댓글에 적힌 것 처럼 memcache 서버 버전에 따라 삭제 프로토콜이 변경 되었기 때문이다. 즉 memcache 서버 버전 1.3 이후부터는 삭제 명령에서 시간이 빠지는데 pecl-memcache에서는 시간을 보내는 옛날 프로토콜을 그대로 쓰기 위해 나오는 생긴 문제가 되겠다.

memcache 1.2까지는
# delete <key> <time> [noreply]\r\n

memcache 1.3부터는
# delete <key> [noreply]\r\n

그러므로 pecl-memcache 소스코드를 약간 손봐야 할 필요가 생기는데, 참고글 [1]에 나온 패치를 적용하면 memcache문제가 해결된다.  패치는 memcache_ascii_protocol.c와 memcache_binary_protocol.c 두 파일에 적용하는데 아래 내용과 같이 간단한 패치이다.

--- memcache_ascii_protocol.c.orig   2009-02-22 11:01:43.000000000 -0500
+++ memcache_ascii_protocol.c   2010-04-22 20:07:48.000000000 -0400
@@ -323,10 +323,10 @@
        smart_str_appendl(&(request->sendbuf.value), " ", 1);
        smart_str_appendl(&(request->sendbuf.value), key, key_len);
-       if (exptime > 0) {
+       /*if (exptime > 0) {
                smart_str_appendl(&(request->sendbuf.value), " ", 1);
                smart_str_append_unsigned(&(request->sendbuf.value), exptime);
-       }
+       }*/

        smart_str_appendl(&(request->sendbuf.value), "\r\n", sizeof("\r\n")-1);
 }
--- memcache_binary_protocol.c.orig  2009-02-22 11:01:43.000000000 -0500
+++ memcache_binary_protocol.c  2010-04-22 20:07:48.000000000 -0400
@@ -486,7 +486,7 @@
        req->next_parse_handler = mmc_request_read_response;

        mmc_pack_header(&(header.base), MMC_OP_DELETE, 0, key_len, sizeof(header) - sizeof(header.base), 0);
-       header.exptime = htonl(exptime);
+       /*header.exptime = htonl(exptime);*/

        smart_str_appendl(&(request->sendbuf.value), (const char *)&header, sizeof(header));
        smart_str_appendl(&(request->sendbuf.value), key, key_len);
-       if (exptime > 0) {
+       /*if (exptime > 0) {
                smart_str_appendl(&(request->sendbuf.value), " ", 1);
                smart_str_append_unsigned(&(request->sendbuf.value), exptime);
-       }
+       }*/
        smart_str_appendl(&(request->sendbuf.value), "\r\n", sizeof("\r\n")-1);
 }


이렇게 패치를 적용한 pecl-memcache를 설치하고 웹 서버를 다시 시작하면 텍스트큐브는 정상적으로 동작한다.

주의: 이 글에 소개된 방법은 Textcube 1.8.3.1, Memcache 서버 1.4.4, PECL memcache 3.0.4 환경에서만 적용될 수 있다.





크리에이티브 커먼즈 라이센스
Creative Commons License
2010/04/23 05:30 2010/04/23 05:30
ace 가 작성.

Trackback URL : http://par.sarang.net/trackback/470

Trackback RSS : http://par.sarang.net/rss/trackback/470

Trackback ATOM : http://par.sarang.net/atom/trackback/470


당신의 의견을 작성해 주세요.

사용자 삽입 이미지

지금 쓰고 있는 서버가 너무 오래되어서 새 보금자리를 만들려고 하는데, 이상하게도 그 서버에서는 PHP 5.2.11과 TextCube 1.7.8이 궁합이 맞지 않고 있다.


문제는 텍스트큐브에서 로그인이 되지 않는 것인데 PHP 5.2.9에서는 잘되는데 5.2.11 에서는 로그인이 되지 않는 것이다.


따라서 이미 설치한 PHP 5.2.11을 다시 5.2.9로 내려야 하는데 여기에 그 과정을 적어본다.



0. 우선 ports-mgmt/portdowngrade를 설치한다. (ports-mgmt/portupgrade가 이미 설치되어 있다고 가정한다.)

# portinstall ports-mgmt/portdowngrade

그 다음 아래 과정을 따른다.



1. FreeBSD Anonymous CVS 서버를 환경변수에 설정한다.

# export CVSROOT=:pserver:anoncvs@anoncvs.tw.FreeBSD.org:/home/ncvs
 
또는 (사용하는 쉘이 csh, tcsh 등이면)

# setenv CVSROOT :pserver:anoncvs@anoncvs.tw.FreeBSD.org:/home/ncvs



2. Anonymous CVS 서버에 로그인 한다.

# cvs login
Logging in to :pserver:anoncvs@anoncvs.tw.freebsd.org:2401/home/ncvs
CVS password: 암호로 아무 단어나 넣고 엔터를 친다.

*** Anonymous CVS 서버에 대해서는 http://www.freebsd.org/doc/en_US.ISO8859-1/books/handbook/anoncvs.html  참고.



3. portdowngrade 로 판을 내리고 싶은 포트를 지정한다. 이 때 origin/port_name 이나 port_name 등의 형식으로 포트 지정을 한다.

# portdowngrade lang/php5



4. 대화식 판내림이므로 원하는 판(version)을 지정한 다음에 아래 명령을 실행한다.

# portsdb -Uu

# portupgrade -f lang/php5



** 이렇게 판 내림 과정이 끝나게 된다.

크리에이티브 커먼즈 라이센스
Creative Commons License
2009/09/30 13:19 2009/09/30 13:19
ace 가 작성.

Trackback URL : http://par.sarang.net/trackback/469

Trackback RSS : http://par.sarang.net/rss/trackback/469

Trackback ATOM : http://par.sarang.net/atom/trackback/469


당신의 의견을 작성해 주세요.

Xpress Engine Content Management System  확장 모듈  (애드온, 레이아웃, 모듈, 위젯 등 포함) 추가 내용을 도표로 정리해 보았다.

2009년 2월 17일 현재 Xpress Engine (이하 XE) 홈 페이지에서는 패키지 및 외부 연동 모듈을 뺀 (1) 기본 버전 (core version), 모든 패키지 및 외부 연결 모듈을 포함하는 (2) 풀 버전 (full version) , 홈 페이지 패키지가 포함되었고 다른 패키지와 외부 연결을 뺀 (3) 홈 페이지 버전, 플래닛 모듈이 동작하는 데 필요한 것들만 모아둔 (4) 플래닛 버전 을 배포하고 있다.

아래 내용은 XE 1.1.5 버전의 서로 다른 배포판을 정리한 것이다.

addons

componentCorefullhomepageplanet
autolinkxxxx
blogapixxxx
counterxxxx
keyword_linkxxx 
lemonpen x  
member_communicationxxx 
member_extra_infoxxx 
mobilexx  
openid_delegation_idxx  
planet_bookmark x x
planet_todo x x
point_level_iconxxx 
rainbow_linkxxx 
refererxxxx
resize_imagexxxx
tccommentnotify x  

classes

componentCorefullhomepageplanet
contextxxxx
dbxxxx
displayxxxx
editorxxxx
filexxxx
handlerxxxx
httprequestxxxx
mailxxxx
modulexxxx
objectxxxx
optimizerxxxx
pagexxxx
templatexxxx
widgetxxxx
xmlxxxx

common

componentCorefullhomepageplanet
cssxxxx
jsxxxx
langxxxx
tplxxxx

layouts

componentCorefullhomepageplanet
xe_blogxx  
xe_officialxxx 

libs

componentCorefullhomepageplanet
FirePHPCorexxxx
PEARxxxx

modules

componentCorefullhomepageplanet
addonxxxx
adminxxxx
boardxxxx
commentxxxx
communicationxxxx
counterxxxx
documentxxxx
editorxxxx
filexxxx
homepage xx 
importerxxxx
installxxxx
integration_searchxxxx
issuetracker x  
krzipxxxx
layoutxxxx
ldapxxxx
lifepod x  
memberxxxx
menuxxxx
messagexxxx
modulexxxx
opagexxxx
pagexxxx
planet x x
pointxxxx
pollxxxx
refererxxxx
rssxxxx
sessionxxxx
spamfilterxxxx
tagxxxx
tccommentnotify x  
trackbackxxxx
widgetxxxx

widgets

componentCorefullhomepageplanet
DroArc_clockxxx 
archive_listxxx 
calendarxxx 
categoryxxx 
counter_statusxxx 
forumxxx 
image_counterxxx 
language_selectxxx 
logged_membersxxx 
login_infoxxx 
member_groupxxx 
newest_commentxxx 
newest_documentxxx 
newest_imagesxxx 
newest_trackbackxxx 
planet_documentxxx 
point_statusxxx 
rank_countxxx 
rank_downloadxxx 
rank_pointxxx 
rss_readerxxx 
tab_newest_documentxxx 
tag_listxxx 
webzinexxx 

Generated by dist_diff (rev: 77). Copyright © 2009. All rights reserved.


크리에이티브 커먼즈 라이센스
Creative Commons License
2009/02/17 20:28 2009/02/17 20:28
ace 가 작성.

Trackback URL : http://par.sarang.net/trackback/458

Trackback RSS : http://par.sarang.net/rss/trackback/458

Trackback ATOM : http://par.sarang.net/atom/trackback/458


당신의 의견을 작성해 주세요.

m2ts를 avi로

2008/07/11 20:11 / 컴퓨터 기술
얼마전 지인으로부터 Cannon HD 캠코더로 녹화된 동영상 파일을 받았다.

그런데 동영상 파일 확장자가 .m2ts로 되어 있었고, 곰 플레이어 (버전 2.1.10.3789)나 윈도우즈 내장 미디어 플레이어로는 재생되지 않아서 구글 위키피디아  검색에 바로 들어 갔다.

1. .m2ts

위키피디아  자료에 의하면 .m2ts 파일은 소니 HD (High Definition) 파일로 소니 캠코더로 녹화된 AVCHD 비디오 파일이다.
소니 뿐만 아니라 파나소닉, 캐논 등 AVCHD 캠코더들도 .m2ts 파일 형태로 동영상을 저장한다. (출처: http://en.wikipedia.org/wiki/.m2ts )

2. AVCHD (Advanced Video Codec High Definition)

AVCHD 는 테잎을 사용하지 않는 캠코더에서 사용되는 High-Definition 동영상 저장 포맷이며 TOD , HDV , MiniDV 와 호환된다. (출처: http://en.wikipedia.org/wiki/AVCHD )

그러므로 .m2ts 동영상 파일을 재생하거나 읽으려면 AVCHD 코덱이 필요한데, 현재 곰 플레이어(2008년 7월 11일 현재 버전 2,1,10 3779)나 윈도우즈 미디어 플레이어(버전 11.0.5721.5730)에는 이 코덱이 설치되어 있지 않으므로 일단 AVCHD를 디코딩하는 코덱을 찾아서 설치해야 한다.

다만 상용으로 구입할 수 있는 PowerDVD Ultra나 CoreAVC 는 AVCHD 코덱이 내장되어 있으나 돈 안들이고 문제 해결을 해보았다.

구글로 검색을 해보니 http://forum.videohelp.com/topic339534.html 에 답이 나와 있었다.

위 글에 나와 있는 방법을 사용하여 ffdshow와 Haali Media Spliter로 AVCHD를 디코딩하는 코덱을 설치한 다음 AviSynth를 Frame Server로 하여 VirtualDub으로 .m2ts 동영상을 읽은 다음 VirtuaDub으로 일반적으로 많이 사용되는 코덱으로 다시 인코딩해서 AVI  파일로 저장하면 AVCHD 코덱이 설치되어 있지 않은 플레이어도 변환된 동영상을 자유롭게 재생할 수 있게 한다.

3. ffdshow 설치

ffdshow는 http://sourceforge.net/projects/ffdshow-tryout/ 에서 다운로드 받아 설치할 수 있는데 내가 설치한 버전은 ffdshow_beta5_rev2033_20080705_clsid.exe 이다.

ffdshow를 설치한 다음 AVCHD 비디오 디코더 설정이 다음과 같이 되어 있는지 확인해야 한다.



먼저 위 그림과 같이 Video decoder configuration을 시작 메뉴에서 클릭하고 아래 그림과 같이 H.264/AVC가 libavcode으로 되어 있는지 확인한다. 만일 disabled로 되어 있다면 libavcodec으로 변경한뒤 OK 버튼을 누른다.



4. Haali Media Splitter 설치

Haali Media Splitter는 http://haali.cs.msu.ru/mkv/ 에서 다운로드 받고 설치한다.
현재 내 컴퓨터에 설치된 버전은 1.8.122.18 이다.

5. VirtualDub과 AviSynth 설치

내게는 이미 설치되어 있는 소프트웨어들이지만 새로 설치하려면 아래 링크로부터 다운로드 받고 설치한다.

VirtualDub - http://www.virtualdub.org/  (현재 설치된 버전: 1.8.1)
AviSynth - http://avisynth.org/  (현재 설치된 버전: 2.5.7)

6. 마지막으로 .m2ts를 avi로 변환하는데 필요한 Yadif Deinterlace AviSynth 플러그인을 다운로드 받아 설치한다.

Yadif Deinterlace 플러그인은 http://avisynth.org.ru/yadif/yadif.html 에서 다운로드 받을 수 있으며 현재 설치된 버전은 0.9이다. (다운로드 링크가 화면 최하단에 있다. http://avisynth.org.ru/yadif/yadif09.zip )

Yadif 플러그인 설치는 AviSynth 플러그인 디렉토리에 DLL 파일을 설치하면 되는데 ZIP 파일안에 있는 여러 파일 중에서 yadif.dll만을 AviSynth 플러그인 디렉토리에 복사하면 된다. (내 컴퓨터의 경우 AviSynth 플러그인 디렉토리는 C:\Program Files\AviSynth 2.5\plugins이다.)


이상으로 .m2ts를 .avi로 바꾸기 위한 준비과정을 모두 마쳤다.

예를 들어 20080628133846.m2ts 파일을 avi로 바꾸고 싶다면 확장자 .avs를 가지는 AviSynth 스크립트를 Notepad 등으로 .m2ts 파일이 있는 디렉토리에 다음과 같이 작성하여 저장한다. (예제에서는 이 파일을 source.avs라고 한다.)



source.avs 스크립트를 대한 설명을 한다면 아래와 같다. (회색 칸에 적힌 줄번호는 참고를 위한 것이므로 소스 파일에는 입력하지 않는다.)

1 번줄에서 yadif 외부 플러그인을 로드한다.
이 때 yadif.dll이 설치된 경로를 정확하게 적어야 한다.
2 번줄에서 20080628133846.m2ts 동영상 원본을 오픈하고,
3 번줄에서는 Yadif 디인터레이스 플러그인으로 원본 이미지를 디인터레이스 시키고,
4 번줄에서 이미지 사이즈를 720 x 400으로 줄인다.

이렇게 저장된 AviSynth 스크립트는 곰 플레이어등으로 오픈하여 .m2ts 동영상을 볼 수 있게 해주는데 여러 단계를 거쳐 동영상을 보는 것이므로 컴퓨터 사양이 높아야 될 것이다.

.m2ts를 디코딩 할 수 없거나 보통 사양의 컴퓨터에서 재생할 수 있게 하기 위해서는 원본 동영상을 재인코딩 해야 하는데, VirtualDub을 사용하여 간단하게 재인코딩할 수 있다.

우선 VirtualDub에서 source.avs를 열고 재인코딩하고자 하는 Video와 Audio 코덱 설정을 한다.

재인코딩을 하는 것이므로 Video와 Audio 모두 Full Processing Mode로 지정하고 각각 원하는 코덱을 Compression Menu를 통해 정한다.





비디오 코덱은 인코딩 속도와 범용성을 고려해서 Microsoft MPEG-4 Video Code V2 으로 하였고, 오디오 코덱은 MP3로 하였다.





비디오/오디오 코덱 설정이 끝났으면 동영상을 AVI 로 저장만 하면 된다.

저장하는 방법은 File 메뉴에서 Save as AVI 메뉴를 클릭하면 된다.



Save as AVI를 클릭하자마자 원본 동영상을 재인코딩해서 AVI 로 저장하는데 컴퓨터 사양에 따라서 꽤 시간이 걸릴 수도 있다.



하지만 이렇게 저장된 AVI  파일은 .m2ts 파일보다 쉽게 어디서나 재생할 수 있다.

크리에이티브 커먼즈 라이센스
Creative Commons License
2008/07/11 20:11 2008/07/11 20:11
ace 가 작성.

Trackback URL : http://par.sarang.net/trackback/448

Trackback RSS : http://par.sarang.net/rss/trackback/448

Trackback ATOM : http://par.sarang.net/atom/trackback/448


당신의 의견을 작성해 주세요.

  1. Comment RSS : http://par.sarang.net/rss/comment/448
  2. Comment ATOM : http://par.sarang.net/atom/comment/448
  3. 이병일 2008/07/29 23:26  편집/삭제  댓글 작성  댓글 주소

    LoadCPlugin("C:\Program Files\AviSynth 2.5\plugins\yadif.dll*
    DirectShowSource ("20080729203251.m2ts";)
    yadif(mode=1)
    Lanczos4Resize(720,400)
    이상과 같이 실행했더니 버츄얼덥에서
    Avisynth open failure:
    Script error: expected a, or)
    (G:\동영...\source.avs, line 2, column 34)라는 에러 메시지가 뜹니다.
    뭐가 잘못 된건지 알려주시면 감사하겠습니다.

    • ace 2008/07/30 07:47  편집/삭제  댓글 주소

      에러 메세지로 봐선 열린 괄호 ( 에 맞춰 닫힌 괄호 ) 가 제대로 닫히지 않은 것 같습니다.

      일단 댓글에 올리신 내용대로라면
      첫번째 줄에서 LoadCPlugin( .... ) 으로 괄호가 닫히지 않고 *으로 닫혔네요.

      간단한 소스 코드이지만 찬찬히 살펴보시면 에러가 생긴 부분을 찾을 수 있을 것입니다.

      좋은 결과 있으시길 빕니다.

  4. 이정애 2008/08/19 23:40  편집/삭제  댓글 작성  댓글 주소

    잘되네요^^

  5. 느그네 2008/08/24 05:36  편집/삭제  댓글 작성  댓글 주소

    많은 량의 m2ts파일이 있다면 ffmpeg도 좋은 선택입니다~

    VirtualDub은 간단한 변환 이외에도 여러가지 효과를 지정해서 넣을 수 있어서 좋구요~

    • ace 2008/09/10 17:04  편집/삭제  댓글 주소

      ffmpeg으로 m2ts 변환을 해보진 않았습니다만 좋은 도구로 알고 있습니다.
      한번 시간날때 들여다 봐야겠습니다.
      댓글 남겨 주셔서 감사합니다.

  6. saea 2008/10/02 01:40  편집/삭제  댓글 작성  댓글 주소

    버츄얼덥에서 avs파일이 열리지 않습니다. 뭐가 문제일까요?

  7. saea 2008/10/02 01:42  편집/삭제  댓글 작성  댓글 주소

    avisynth open failure:
    script error: syntax error
    (avs파일경로, line 1, column 1)

    • ace 2008/10/02 10:44  편집/삭제  댓글 주소

      source.avs 파일에서 첫번째 줄 LoadCPlugin 안에 yadif.dll 플러그인을 읽기위해서 경로명을 적어야 하는데, 그 경로명이 잘못된 것 같습니다.
      윈도우즈에서 내 컴퓨터 (My Computer)로 C:\Program Files 디렉토리부터 시작해서 yadif.dll이 있는 디렉토리까지 찾아보시고 그 디렉토리명을 정확하게 (중간에 빈공간이 있으면 그것까지 포함해서) 입력하세요.
      좋은 결과 있으시길 바랍니다.

  8. sotptkd 2009/01/04 20:06  편집/삭제  댓글 작성  댓글 주소

    LoadCPlugin("C:\Program Files\AviSynth 2.5\plugins\yadif.dll";)
    DirectShowSource("20100102154609.m2ts";)
    yadif(mode=1)
    Lanczos4Resize(720,400)

    이렇게 쓰고 비추얼덥에서 재생시킬려구했더니
    자꾸 오류가 나요...ㅠㅠ


    Avisynth open failure:
    DirectShowSource:Could not open as video or audio.

    Video returned: "DirectShowSource:couldn't open file 20100102154609.m2ts:이파일의 소스 필터를 로드하지 못했습니다."

    Audio returned: "DirectShowSource:couldn't open file 20100102154609.m2ts:이파일의 소스 필터를 로드하지 못했습니다."

    (C:\Document and Settings\내폴더임\My Documents\MxLibrary\CANON\20100102\source.avs, line 2)

    이렇게 오류가 나요....제발알려주세요!!!
    ㅠㅠㅠㅠ급하게 동영상 인코딩해야하는데..........ㅠㅠㅠㅠ
    최대한빨리답변해주시면감사하겠습니다..ㅠㅠ

    • ace 2009/01/05 09:43  편집/삭제  댓글 주소

      아무래도 동영상 파일을 읽지 못하는 것 같습니다.
      2번째 줄에 있는 DirectShowSource("...파일명...";)에서 파일명에 전체 경로를 전부 인용부호 안에 넣어보세요.
      좋은 결과 있기를 빕니다.

  9. sotptkd 2009/01/06 00:31  편집/삭제  댓글 작성  댓글 주소

    ㅠㅠ해보니까 안되네요...
    다시 다 삭제하고 위에 글대로 다운받은다음
    소스 입력 다시하고 제목에 확장자명.avs로
    입력해서 저장했는데 단순하게
    메모장 아이콘으로 저장이돼요..왜그런거죠?
    알려주세요..ㅠㅠ

    • ace 2009/01/07 09:17  편집/삭제  댓글 주소

      글쎄요.
      우선은 저장한 파일 확장자가 .txt로 끝난 것이 아닌지 확인해 보시고 (파일 검색기? 에서 폴더 옵션에 파일명을 확장자까지 볼 수 있게 선택하는 메뉴가 있을 겁니다.) 아니면 파일명에 "파일.avs.txt" 이렇게도 해보세요.
      천천히 차한잔 마시면서 차근차근 하면 길이 보이지 않을까요?

  10. sotptkd 2009/01/07 09:25  편집/삭제  댓글 작성  댓글 주소

    아 감사합니다^^
    잘 되네요ㅋㅋ
    죄송한데요....비추얼덥에서 인코딩할때
    화질은 쪼~~금 안좋아져도 되는데
    용량이 작아지게 할수 있는방법없나요??
    avi파일이어야해요ㅠㅠ

  11. sotptkd 2009/01/09 11:27  편집/삭제  댓글 작성  댓글 주소

    귀찮으신거 아는데.......ㅠㅠ
    인코딩해놓은 영상을 보면
    처음엔 안그러는데 영상과 음성이
    점점 달라져요.... 말보다 영상이 느려져요...
    어떻게 해야 딱딱 맞게 볼수 있을까요?????
    제발알려주세요~~ㅠㅠ급해요..........ㅠㅠ

    • ace 2009/01/18 06:08  편집/삭제  댓글 주소

      댓글이 늦어져서 죄송합니다.
      정신 없이 바빴거든요.
      소리와 그림이 맞지 않는 것은 혹시 사용하시는 PC가 프로그램이 요구하는 컴퓨터 사양에 미치지 못하는 것이 아닐까 생각해봅니다.
      그것이 아니라면 프로그램의 버그라고 생각도 할 수 있겠습니다.
      소리와 음성을 따로 뽑아내서 나중에 다시 합치는 시도를 해보시면 좋은 결과 있으리라고 생각됩니다.
      감사합니다.

  12. dess 2009/02/09 03:44  편집/삭제  댓글 작성  댓글 주소

    LoadCPlugin("C:\Program Files\AviSynth 2.5\plugins\yadif.dll"
    DirectShowSourceSource("2009_2_9_14_10_8.M2TS"
    yadif(mode=1)
    Lanczos4Resize(640,480)

    버츄얼덥에서 열려고 하니

    Avisynth open failure:
    plugin C:\Program Files\AviSynth 2.5\plugins\yadif.dll is not Anisynth 2.5 plugin
    (C:\~소스파일이 있는 경로~소스파일명.avs, line 1)
    이라고 뜨네요 분명 위에 설명대로 yadif.dll 을 C:\Program Files\AviSynth 2.5\plugins폴더에 복사해 넣었는데 그러네요

    참 그리고 여기 링크에 걸려있는 yadif.dll 링크 안열려서 다른 곳에서 받긴 했는데 제가 가지고 있는 yadif.dll 에 문제가 있는 건가요? 가능하시다면 yadif.dll 가지고 게시다면 첨부 부탁 드릴께요..

    • ace 2009/02/09 07:01  편집/삭제  댓글 주소

      제 블로그에 댓글을 남겨 주셔서 감사합니다.
      님 댓글이 중복되어서 하나는 지웠습니다. 이해 바랍니다.

      말씀하신 글을 보면 아마도 yadif.dll에 버전이 맞지 않는다던가 하는 문제가 있는 것 같습니다.

      제가 글을 쓴 시점에서 꽤 시간이 흘렀기 때문에 어떤 것이 최신 버전인지 지금은 잘 모르겠습니다. 참고 링크 또한 변경되거나 없어졌을 가능성이 있으므로 인터넷 검색엔진등으로 최신 버전을 내려받는 것이 나을 것으로 생각됩니다.

      저도 시간날 때 좀 더 알아보겠습니다.

      감사합니다.

  13. 양시찬 2009/02/20 16:33  편집/삭제  댓글 작성  댓글 주소

    감사합니다. 비디오 코덱 mpeg-4 codec이 보기상에 없어서 코덱설치후 다시 버츄어덥실행하니 생겨났네요

    좋은 정보 감사합니다.

    • ace 2009/02/25 21:03  편집/삭제  댓글 주소

      컴퓨터 마다 설치환경이 다를 수 있으므로 그런 문제가 있을 수 있겠군요.
      지금은 잘 쓰시고 있으리라고 생각이 듭니다.
      댓글 남겨 주셔서 감사합니다.

  14. 이재현 2009/03/28 19:53  편집/삭제  댓글 작성  댓글 주소

    지금 프로그램들 설치는 다했거든요..


    예를 들어 20080628133846.m2ts 파일을 avi로 바꾸고 싶다면 확장자 .avs를 가지는 AviSynth 스크립트를 Notepad 등으로 .m2ts 파일이 있는 디렉토리에 다음과 같이 작성하여 저장한다. (예제에서는 이 파일을 source.avs라고 한다.)


    이거 무슨말인가요... ㅠㅠㅠㅠ 무슨 프로그램을 써야되는건가요..

    4번째줄까지 나오게 어떻게 하는줄 모르겠어요...

    • ace 2009/03/30 09:13  편집/삭제  댓글 주소

      무슨 특별한 프로그램을 쓰는 것은 아니고 윈도우즈에 기본으로 내장되어 있는 편집기인 노트패드(Notepad)로 새 파일을 하나 만들고
      그 파일 내용에 source.avs 파일 내용을 입력합니다.
      그리고 새 파일을 source.avs라는 파일명으로 저장한 뒤에 글에서 설명한대로 따라 해 보시기 바랍니다.
      어떻게 해야 의미가 더 잘 전달되게 글을 쓸 수 있는지 그저 제 글실력 없음을 용서해주세요.

  15. VLIS 2009/06/22 07:31  편집/삭제  댓글 작성  댓글 주소

    친절한 설명 탓에 어려워만 보였던 컨버팅작업을 잘 할 수 있었습니다. 감사합니다.

  16. 윤태성 2009/07/15 19:53  편집/삭제  댓글 작성  댓글 주소

    너무 큰 도움이 되었습니다. 그런데 제 VirtualDub에서 Video Compression에 코덱이 몇개 없고 특히 Microsoft MPEG Video Code V2 또 오디오 에도 MP3코덱이 없는 데 어떻게 해야 하는거죠? 부탁드리겠습니다.

    • ace 2009/07/16 15:21  편집/삭제  댓글 주소

      코덱은 버추얼덥과는 상관없고 버추얼덥은 시스템에 설치되어 있는 코덱을 이용하기만 합니다.
      코덱 패키지가 많이 있는데 저는 K-Lite Codec Pack을 사용하고 있습니다. 구글 등으로 검색하시면 많은 코덱 패키지를 찾는데 문제가 없으리라 생각합니다.
      감사합니다.

  17. 서찬원 2009/11/05 21:05  편집/삭제  댓글 작성  댓글 주소

    자세한 설명덕에 쉽게 transcoding 할 수 있었습니다.^^
    감사합니다. 제가 다음에 다시 찾아보기 쉽게 제 블로그에 링크를 하려고 합니다. 그래도 될까요? ^^;

    • ace 2009/11/06 06:23  편집/삭제  댓글 주소

      작은 도움이 되었다니 저도 기쁩니다.
      출처 밝히고 링크하시면 됩니다.
      감사합니다.

  18. 영조 2009/11/17 22:35  편집/삭제  댓글 작성  댓글 주소

    좋은 정보 감사드립니다,,,^^

  19. 코코리 2009/11/25 08:49  편집/삭제  댓글 작성  댓글 주소

    덕분에 버츄얼 덥으로 인코딩하는법을 배웠습니다. 이런 좋은 정보를 공유해주셔서 감사해요.

윈도우즈가 설치된 놋북에 줌라(Joomla)  CMS를 작동시키기 위하여 PHP가 설치된 아파치 웹서버와 MySQL 데이타베이스 서버를 설치하였다.

우선 아파치 웹서버를 설치하는데 아파치 서버 홈페이지에서 윈도우즈 실행 파일을 다운로드받아서 설치한다. [1]



아파치 웹서버가 설치되었으면 PHP5를 설치한다. [3]





줌라를 실행시키기 위해서는 Extension이 필요하므로 아래 그림과 같이 Extensions 설치를 클릭해야 한다.



PHP5 가 설치되면서 아파치 설정 파일 (httpd.conf)를 자동으로 PHP5가 실행되도록 변경하는데 그것만으로는 PHP5가 제대로 작동하지 않는 수가 있다.

내 윈도우즈 XP의 경우 퍼미션 문제 때문에 익스텐션을 로딩할 수 없었는데, 그것은 PHP 익스텐션이 설치된 디렉토리의 퍼미션을 고쳐주는 것으로 간단하게 해결된다. (내 경우 C:\Program Files\PHP\ext 디렉토리)

즉, 아래 그림처럼 ext 에서 오른쪽 마우스 버튼을 눌러 Properties(속성) 메뉴를 선택한 다음 Read-only 속성을 클릭해서 Read-only 속성을 없앤다.



MySQL 데이타베이스 서버 설치도 [2]에서 윈도우즈 설치 파일을 다운로드 받아서 설치하면 간단하게 끝난다.

웹서버와 데이타베이스 서버 설치가 끝났으면 PHP로 만들어진 Joomla CMS를 [4]에서 다운로드 받아서 설치하면 되는데, 설치방법은 Joomla 1.5RC3 (또는 최신 버전) ZIP 파일을 다운로드 받아서 아파치 웹서버 설정 파일에서 지정한 DocumentRoot 디렉토리 아래에 풀어 놓으면 된다. 아파치 웹서버 설정은 C:\Program Files\Apache Software Foundation\Apache2.2\conf\httpd.conf에서 찾을 수 있는데(기본 설정으로 설치했을 경우)  Notepad++  에디터로 열은 화면은 아래와 같다.



줌라까지 설치되었으면 http://localhost 로 시작하는 줌라가 설치된 URL을 웹 브라우저로 열어서 줌라를 서버가 아닌 놋북에서 즐겨보자.

[1] Apache Download  - http://www.apache.org/dyn/closer.cgi/httpd/binaries/win32/ 
[2] MySQL Download  - http://dev.mysql.com/downloads/mysql/5.0.html#win32 
[3] PHP Download  - http://www.php.net/downloads.php 
[4] Joomla 1.5RC3 Download  - http://joomlacode.org/gf/project/joomla/frs/?action=FrsReleaseBrowse&frs_package_id=2892 
크리에이티브 커먼즈 라이센스
Creative Commons License
2007/11/24 16:58 2007/11/24 16:58
ace 가 작성.

Trackback URL : http://par.sarang.net/trackback/418

Trackback RSS : http://par.sarang.net/rss/trackback/418

Trackback ATOM : http://par.sarang.net/atom/trackback/418


당신의 의견을 작성해 주세요.

사용자 삽입 이미지
요즘은 거의 모든 한글 웹 프로그래밍을 UTF-8 인코딩으로 하므로 윈도우즈가 설치된 내 놋북에서 UTF-8로 인코딩된 파일을 이리 저리 편집할 프로그램이 필요하게 되었다.

지금껏 대부분의 작업은 유닉스 환경에서 VIM이나 Emacs로 했으므로 윈도우즈용 에디터가 별 필요가 없었으나 때로는 웍스테이션이나 서버에 로그인 하지 않고 아무데서나 윈도우즈가 설치된 놋북 컴퓨터로 작업 하는 것이 편할 때가 많다. (특히 커피 샾 등에서... ^^)

컴퓨터에 무엇이 필요할 때 가장 먼저 하는 것이 요즘엔 "구글 검색" 인데 구글에서 검색해 본 몇가지 에디터 중에서 Notepad++가 내게는 가장 알맞는 에디터인 것 같다.

Notepad라는 이름과는 달리 풍부한 기능을 가지고 있고 오픈 소스 프로그램으로 무료로 쓸 수 있으며 많은 개발자들이 쓸모있는 플러그인들을 추가 기능으로 개발하고 있다.

1. 설치

우선 Notepad++ 홈 페이지에서 프로그램을 다운로드 받는다. (다운로드 링크 클릭 )
내 경우엔 npp.4.5.Installer.exe라는 파일을 다운받아서 저장했는데 계속 개발되고 있는 프로그램이므로 가운데 버전 넘버는 차이가 있을 수 있다.

다운로드 받은 설치 프로그램을 실행시키면 설치 화면이 나오는데 첫화면에서 언어 선택을 원하는대로 선택하는 것 이외에는 별다른 설정은 없다.



2. UTF-8 환경 설정

Notepad++를 실행시키면 깔끔한 화면이 나오는데 이후로 모든 문서를 UTF-8 인코딩으로 작성하려면 기본적인 설정을 해줘야 한다.

메뉴에서 설정 > 환경 설정... 을 선택하고 새 문서 탭을 선택한 다음 형식은 Unix로 인코딩은 UTF-8 without BOM으로 설정한다. (Unix 형식으로 설정한 것은 내가 하는 작업 대부분이 유닉스 서버에서 이루어지므로 문서간 호환을 위해서 Unix 형식으로 설정했다.)



이것으로 UTF-8 환경 설정이 끝났으며 이후 편집하는 문서들은 UTF-8 인코딩으로 작성된다.

UTF-8으로 작성된 문서를 열어보면 오른쪽 아래에 있는 상태 표시줄에 다음과 같은 표시가 있음을 확인할 수 있다.



여기서 ANSI as UTF-8 이란 지금 편집하는 문서가 BOM 없이 UTF-8 으로 인코딩 된 문서라는 표시인데, BOM에 대해서 잠깐 알아보겠다.

3. BOM (Byte-Order Mark)

BOM이란 U+FEFF의 값을 갖는 유니코드 문자로 문서에 저장된 내용이 UTF-16이나 UTF-32 인코딩에서 어떤 바이트 순서로 저장되는지 그리고 UTF-8, UTF-16, UTF-32 방식 중 어느 방식으로 인코딩되어 있는지 표시하기 위해 쓰인다. [2]

BOM은 문서 가장 처음에 기록되어서 문서를 읽는 프로그램 (에디터 등)이 이하 문서 내용에 사용된 인코딩 방식을 자동적으로 인식하게 한다.

표 1: BOM 표시 방법 (참고문헌 [1]에서 인용)
인코딩표시 방법 (16진수)
UTF-8 EF BB BF
UTF-16  Big Endian FE FF
UTF-16  Little Endian FF FE
UTF-32  Big Endian 00 00 FE FF
UTF-32  Little Endian FF FE 00 00
SCSU 0F FE FF
UTF-7 2B 2F 76
그리고 다음 바이트 중 하나 선택: [ 38 | 39 | 2B | 2F ]
UTF-EBCDIC DD 73 66 73
BOCU-1 FB EE 28


그런데 UTF-8 인코딩 방식은 1-3 바이트로 문자셋을 인코딩 하면서 바이트 순서는 상관 없게 되므로 사실 BOM이 필요 없게 된다. 또한 웹 페이지 서식 문서 (CSS) 등에 BOM을 사용하게 되면 웹 브라우저가 잘못 인식하는 경우도 생기므로 웹 프로그래밍 환경에서는 BOM을 사용하지 않는 것이 좋다고 생각한다.


참고 링크

[1] Notepad++ 홈 페이지  (http://notepad-plus.sourceforge.net/ )
[2] Byte-Order Mark , Wikipedia (http://en.wikipedia.org/wiki/Byte-order_mark )
크리에이티브 커먼즈 라이센스
Creative Commons License
2007/11/15 12:58 2007/11/15 12:58
ace 가 작성.

Trackback URL : http://par.sarang.net/trackback/413

Trackback RSS : http://par.sarang.net/rss/trackback/413

Trackback ATOM : http://par.sarang.net/atom/trackback/413


당신의 의견을 작성해 주세요.

무료 FTP 클라이언트인 FileZilla에는 FTP 서버에서 보안 접속을 요구하거나 허용할때 이를 설정하는 기능이 있다.

보안접속 설정을 하기 위해서는 우선 FileZilla를 아래 사이트에서 다운로드 받아 설치한다. 이 글에서는 3.0.2.1 윈도우즈 버전 설정을 예제로 한다.

FileZilla 다운로드 ☞ http://sourceforge.net/projects/filezilla
 (FileZilla_3.0.2.1_win32-setup.exe)

FileZilla를 실행시키면 아래 그림과 같은 화면이 나오는데 메뉴에서 File > Site Manager 를 선택하거나 아니면 CTRL-S 를 눌러 사이트 매니저 화면을 띄운다.



사이트 매니저 화면이 뜨면 New Site 버튼을 눌러 사이트 설정을 하는데 보안 접속 사이트인 경우 아래 그림에서 화살표 표시가 있는 부분, 즉 Servertype을 반드시 FTPES - FTP over explicit TLS/SSL 로 설정해야 하며 FTP 계정에 로그인 하는 경우 Logontype을 Normal로 설정한다.



나머지 부분은 일반적인 FTP 설정을 따르면 된다.

FTP 서버가 공인 인증서를 사용하지 않으면 경고 화면이 나오는데, 인증서를 서버에서 자체적으로 발행한 경우 OK 버튼을 누르면 된다.




크리에이티브 커먼즈 라이센스
Creative Commons License
2007/11/04 15:29 2007/11/04 15:29
ace 가 작성.

Trackback URL : http://par.sarang.net/trackback/411

Trackback RSS : http://par.sarang.net/rss/trackback/411

Trackback ATOM : http://par.sarang.net/atom/trackback/411


당신의 의견을 작성해 주세요.

SWF로 된 플래쉬 동영상을 휴대용 DVD 플레이어에서 재생하기 위해서는 VCD 제작 툴 (Nero 등)에서 읽을 수 있는 무비 동영상 (AVI) 형식으로 변환해야 한다.

인터넷 검색으로 찾아본 많은 SWF 변환 소프트웨어들이 얼마의 사용료를 요구하는 쉐어웨어 이거나 상용 프로그램들이 대부분이었는데, http://www.avi-swf-convert.com/  에서 제공하는 무료 프로그램도 충분히 제 역할을 다하였다.

SWF->AVI Converter

다만 한가지 주의해야 할 점은 변환시킨 출력 동영상의 크기 지정을 잘해야 하는데, VCD 제작을 위해서는 출력화면 크기를 352 x 288로 지정해야 한다.

출력화면 크기 지정에만 조심하면 나머지 사용법은 간단하므로 쉽게 SWF 파일을 무비 동영상으로 변환 시킬 수 있다.

변환된 무비 파일은 VirtualDub  으로 목적에 맞게 편집할 수 있다.
크리에이티브 커먼즈 라이센스
Creative Commons License
2007/09/01 20:20 2007/09/01 20:20
ace 가 작성.
TAGS

Trackback URL : http://par.sarang.net/trackback/402

Trackback RSS : http://par.sarang.net/rss/trackback/402

Trackback ATOM : http://par.sarang.net/atom/trackback/402


당신의 의견을 작성해 주세요.

  1. Comment RSS : http://par.sarang.net/rss/comment/402
  2. Comment ATOM : http://par.sarang.net/atom/comment/402
  3. 제대로 2008/02/18 04:07  편집/삭제  댓글 작성  댓글 주소

    너 써봤냐야
    되는지 확인해봐

    • ace 2008/02/19 10:14  편집/삭제  댓글 주소

      물론 사용해 보고 올린 글입니다.
      제 블로그에 올린 글은 100% 제 글이며, 대부분 경험과 체험한 것에 대한 글입니다.
      만일 사용에 문제가 있다면 제가 사용하였던 환경과 다른 점이 있었기 때문이라고 생각합니다.
      좋은 결과 있으시길 빕니다. :)

  4. 지나가다 2008/03/11 03:29  편집/삭제  댓글 작성  댓글 주소

    .net Framwork 1.1을 설치해야 실행이 되던데요.

  5. 허거덩 2008/03/15 04:15  편집/삭제  댓글 작성  댓글 주소

    이거 안되는 거네....설치가..

    • ace 2008/03/18 07:03  편집/삭제  댓글 주소

      윈도우즈 환경이 달라서 설치가 안되는 경우이신가 봅니다.
      다른 프로그램을 찾으셔야 할 것 같네요.

  6. 설치안됨 2008/07/25 09:51  편집/삭제  댓글 작성  댓글 주소

    xp 에서 설치가 안되네.
    구가다 버전인가 으음.

    • ace 2008/07/29 14:28  편집/삭제  댓글 주소

      이전 댓글에서 보이는 것 같이 윈도우즈 환경에 따라 설치가 안되는 경우도 있습니다.
      다른 방법을 찾으셔야 할 것 같네요.

  7. 버트 2008/07/27 10:55  편집/삭제  댓글 작성  댓글 주소

    10메가 swf 를 avi 로 바꿨더니 909메가가 되네요. 쩝.

    • ace 2008/07/29 14:29  편집/삭제  댓글 주소

      swf는 벡터 방식으로 이미지를 저장하므로 용량이 얼마 안되지만
      avi는 그야말로 비디오이므로 아무래도 용량이 커지겠지요.
      avi 크기를 줄이는 방법은 화질과 음질을 낮추거나 압축률이 더 높은 코덱으로 압축시키는 방법이 있겠습니다.

  8. Suk 2008/10/09 08:20  편집/삭제  댓글 작성  댓글 주소

    주인장님 고생하십니다 ^^ 첫번째 리플은 좀.... 돈 받고 글올리는것도 아닌데 저런식으로 말하시면 곤란하지요..

    • ace 2008/10/09 10:03  편집/삭제  댓글 주소

      격려의 댓글 감사합니다.
      인터넷에서는 글이 그 사람 속을 보여주는 유일한 방법인데, 그것을 가끔씩 잊는 분들이 계십니다.
      안타까운 일이기는 하지만 악플 다신 분이 의식 있는 분이라면 양심이 괴로울 것이고, 늘 그렇게 해서 별다른 느낌이 없으신 분은 무의식 속에서 자신을 깎아내고 있으니 본인 손해이지요.
      말이나 글은 살아 있어서 세상을 돌고 돌아 언젠가는 자신에게 돌아와서 마지막 숨을 거둔다는 말이 생각납니다.
      좋은 말이나 글이면 세상에서 좋은 일 많이 하고 내게 돌아오겠지만, 나쁜 말이나 글이라면 세상을 다니며 온갖 해꼬지를 다하고 더 나빠져서 자신에게 돌아오겠지요.
      따라서 악플이 달려도 저는 별로 신경 안씁니다. :)

  9. 에고 2008/12/31 03:00  편집/삭제  댓글 작성  댓글 주소

    아직 사운드는 지원이 안된다고 나와있네요...

길고도 긴 아이들 여름방학이 내일 모레부터 시작된다.
5월 말부터 8월 말까지 무려 석달이나 되는 시간 동안 아이들에게 무언가 유익한 것을 가르칠 것이 없을까 생각하던 중 컴퓨터 프로그래밍이나 가르쳐 보는 것이 어떻겠는가 하는 생각이 들었다.

사용자 삽입 이미지

수많은 컴퓨터 프로그래밍 언어가 있지만 특히 아이들에게 수학적 사고 능력과 기본적인 프로그래밍을 가르치기에는 LOGO 라는 언어가 적당하다고 생각된다.

물론 C++ 언어 등을 마이크로소프트 비주얼 스튜디오로 가르칠 수도 있겠지만 아이들이 무슨 직업 훈련 받는 것도 아니고 윈도우즈 프로그래밍은 개념을 배우는 것보다 겉모양 꾸미는데 더 시간이 많이 소요되므로 바람직 하지 않다고 생각되었다.



LOGO는 1960년대 말에 개발된 언어이지만 LISP으로 부터 많은 개념을 가져왔고 특히 인터프리터로 입력 즉시 반응을 알아볼 수 있으며 또한 터틀 그래픽이라고 하는 그래픽 기능이 내장되어 있어서 아이들이 재밌게 개념을 배울 수 있을 것이라고 생각된다.

또한 프로그래밍 환경이나 자료들이 공개되어 있는 것이 많이 있는 만큼 따로 교재를 구입하지 않아도 될 것 같다. 다만 좀 더 재밌는 프로그래밍 환경을 위하여 PC에 연결해서 구동 시킬 만한 로봇을 만들었으면 좋겠는데 시간과 노력을 거기에 낼 수 있을런지 모르겠다.

1. LOGO 프로그래밍 환경

사실 LOGO는 정해진 표준이 있는 것은 아니지만 UCB 로고를 대강 기준으로 삼는 것 같다.
아이들 컴퓨팅 환경이 윈도우즈이므로 UCB 로고의 기능을 윈도우즈 환경에 맞게 확장시킨
MSWLogo나 FMSLogo 프로그래밍 환경으로 한다. [1]  [5] 

2. 교재

MSWLogo 웹 페이지에 보면 많은 참고 자료들이 있는데, 그것을 그대로 따라 하기는 힘들 것 같고 아무래도 매 주말마다 아이들을 위해서 따로 교재를 만드는 수고를 해야할 것 같다.
다만 Brian Harvey 교수의 로고로 가르치는 컴퓨터 사이언스 책 3권 모두가 온라인에 공개되어 있으므로 그것을 참고해서 중요한 개념들을 가르쳐 볼 생각이다. [2] 

3. 로봇

모니터 화면에서 원하는 결과를 얻어내는 과정도 재미있겠지만 실제로 움직이는 로봇을 가지고 기계적인 작동을 시켜 보는 것도 아이들에게 많은 재미를 가져다 줄 것 같다.
간단하게 시리얼 포트 또는 패럴랠 포트에 연결해서 구동시킬 만한 로봇을 찾아봐야 하는데 저렴하게 만들 수 있는 것을 찾아봐야 겠다. 키트로 된 로봇이나 로봇 만드는데 필요한 부품들은 [4] 에 많이 나와 있다.

참고링크

[1] MSWLogo
[2] Computer Science Logo Style, Brian Harvey, MIT Press (3 volumnes)
[3] Logo (Programming Language), Wikipedia
[4] Jameco's Robot Store
[5] FMSLogo

크리에이티브 커먼즈 라이센스
Creative Commons License
2007/05/22 21:17 2007/05/22 21:17
ace 가 작성.

Trackback URL : http://par.sarang.net/trackback/373

Trackback RSS : http://par.sarang.net/rss/trackback/373

Trackback ATOM : http://par.sarang.net/atom/trackback/373


당신의 의견을 작성해 주세요.

  1. Comment RSS : http://par.sarang.net/rss/comment/373
  2. Comment ATOM : http://par.sarang.net/atom/comment/373
  3. 비밀방문자 2010/08/19 09:05  편집/삭제  댓글 작성  댓글 주소

    관리자만 볼 수 있는 댓글입니다.

    • ace 2010/08/21 07:53  편집/삭제  댓글 주소

      전화는 국제전화를 해야 하므로 아무래도...
      그래서 이렇게 댓글로 문의하신 내용 남깁니다.

      Brian Harvey 교수의 Computer Science Logo Style 3권은 모두 인터넷으로 볼 수 있습니다. 웹페이지와 PDF 두가지 버전이 있습니다. http://www.cs.berkeley.edu/~bh/

      프린트된 책을 구입하시려면 ISBN으로 인터넷 서점에서 구입하시면 될 것 같은데 IBSN은 0-262-58151-5입니다.

      절판되었다고 하더라도 중고책은 살 수 있으실 것입니다.

      구입하기 어려우시더라도 PDF 파일을 프린터로 출력해서 책으로 엮으셔도 될 것 같구요. 저작권이 있는 책이므로 인쇄물을 다른 사람에게 돌릴 수는 없을 것이지만요.

      적절한 대답이 되었길 바랍니다.

  4. 검은새 2010/08/25 10:30  편집/삭제  댓글 작성  댓글 주소

    친절하게 답변해 주셔서
    감사합니다

Unix + Emacs + (whatever compiler/interpreter)로 프로그래밍하는데 익숙한 나로서는
비주얼 스튜디오 등 윈도우즈 환경에서 번쩍거리는 IDE로 프로그래밍 하는데 복잡함만 느낀다.

물론 resource file을 만든다던가 할 때 수작업으로 하면 그 또한 고통이겠으나, 개발 툴로부터 자동 생성되는 코드에다가 살을 입히는 것이 내게는 잘 맞는 방법으로 보이지 않는다.

유닉스 환경에서는 수도 없이 많은 프로젝트를 해보았지만 MS Windows 환경에서 무언가 쓸만한 것을 만들어 본적이 없는데 개인적은 프로젝트로 MS Windows에서 돌아가는 애플리케이션이 필요하게 되었다.

그래서 비싼 비주얼 스튜디오 같은 개발 툴을 사지 않고 MinGW로 윈도우즈 개발 환경을 마련하게 되었다.

MinGWMinimalistic GNU for Windows의 약자로 윈도우즈에 포팅된 GNU GCC 등 개발에 필요한 최소한의 툴들을 제공해 준다.

또한 MinGW는 윈도우즈에서 뿐만 아니라 Linux, FreeBSD 등 유닉스 환경에서 윈도우즈 애플리케이션을 크로스 컴파일 시킬 수도 있으므로 Unix + X11 환경에서 주로 모든 일을 처리하는 내게는 더욱 매력적이지 않을 수 없다.

그러나 내가 개인적으로 사용하는 놋북에는 Windows XP가 설치되어 있으므로 여기에 MinGW를 설치하기로 한다.

1. 필요한 패키지 다운로드 및 설치

MinGW를 설치하기 위한 패키지들은 http://prddownloads.sf.net/mingw  에서 다운로드 받을 수 있는데 Candidate, Contribute, Current, Previous, Snapshot 등 여러 버전들이 화면에 나와서 처음에는 좀 헷갈리게 되어있다.

가장 최근의 안정적인 패키지 설치를 위해서 우선 Package 란에서 Current 를 클릭하였다.

MinGW Download


Current 를 클릭하면 Current 버전의 모든 패키지들이 나오는데 우선적으로 MinGW를 다운로드 받아 설치한다.

MinGW-<version>.exe 를 클릭하면 다운로드해서 설치할 패키지 설정을 물어보는데 기본적인
* MinGW base tools
* g++ compiler
* MinGW Make
를 선택하였다. (필요에 따라 더 선택해도 된다.)

설치가 성공적으로 끝났으면 윈도우즈 cmd.exe 에서 컴파일러를 실행시킬 수 있게 환경변수 PATH에 C:\MinGWbin 을 넣는 것을 잊으면 안된다.

그 다음에 나머지 필요한 패키지들을 다운로드 받아 설치한다.
(gdb, binutils 두 패키지를 추가로 더 실치하였다.)

2. 테스트

MinGW가 잘 설치되었는지 테스트 하기 위해 간단한 윈도우즈 프로그래밍을 해본다.
우선 도스 쉘 (cmd.exe)를 실행시켜서 적당한 디렉토리를 만들고 에디터 (vim 등)로 다음 소스 파일을 하나 만든다음 컴파일 해본다.
#include <windows.h>

int WINAPI WinMain(HINSTANCE hInstance,
	           HINSTANCE hPrevInstance,
	           LPSTR     szCmdLine,
	           int       iCmdShow)
{
    MessageBox(NULL, TEXT("Hello, MinGW!"), TEXT("MinGW Test"), MB_OK);

    return 0;
}
C:\Work> mingw32-gcc hello.c



C:\Work> a.exe

컴파일이 성공적으로 끝나고 실행시킨 후 아래와 같이 결과가 나오면 모든 설치가 성공적으로 이루어진 것이다.

Hello, MinGW!



크리에이티브 커먼즈 라이센스
Creative Commons License
2007/05/10 12:18 2007/05/10 12:18
ace 가 작성.

Trackback URL : http://par.sarang.net/trackback/372

Trackback RSS : http://par.sarang.net/rss/trackback/372

Trackback ATOM : http://par.sarang.net/atom/trackback/372


당신의 의견을 작성해 주세요.

« Prev : 1 : 2 : 3 : 4 : Next »