1. 파이썬 2.7.2 설치 
http://www.python.org/getit/releases/2.7.2/

2. OpenCV 2.2 설치
http://sourceforge.net/projects/opencvlibrary/files/opencv-win/2.2/OpenCV-2.2.0-win32-vs2010.exe/download

3. NumPy 1.6.1 설치
http://sourceforge.net/projects/numpy/files/NumPy/1.6.1/

4. SciPy 0.9.0 설치
http://sourceforge.net/projects/scipy/files/scipy/0.9.0/

5. 환경변수 셋팅
PATH 에 C:/Python2.7;C:/OpenCV2.2/bin 추가
PYTHONPATH 값에 C:/OpenCV2.2/Python2.7/Lib/site-packages 추가

아래 예제 실행


import cv

cv.NamedWindow("camera", 1)

capture = cv.CaptureFromCAM(0)
while True:
    img = cv.QueryFrame(capture)
    cv.ShowImage("camera", img)
    if cv.WaitKey(10) == 27:
        break

cv.DestroyWindow("camera")

'자료들 > 기타' 카테고리의 다른 글

기본 사운드 재생장치 변경하기  (3) 2012.03.06
OpenCV for Python 설치  (0) 2011.09.21
Aspire one A150 Window 7 Driver  (0) 2009.10.03
디직스 웹캠 CAMDI DC-800 프로그램  (0) 2009.08.24
Posted by 화니.

댓글을 달아 주세요



c:\nginx\conf\nginx.conf 수정
아래와 같이 주석제거
        location ~ \.php$ {
            root           html;
            fastcgi_pass   127.0.0.1:9123;
            fastcgi_index  index.php;
            fastcgi_param  SCRIPT_FILENAME  /scripts$fastcgi_script_name;
            include        fastcgi_params;
        }


  • PHP-CGI 실행
    • c:\nginx\run_php.vbs 아래와 같이 작성 후 실행

option Explicit 
dim strComputer,objWMIService,objShell,colProcesses 
strComputer = "." 
Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2") 
Set objShell = CreateObject("Wscript.Shell") 

Do 
        Set colProcesses = objWMIService.ExecQuery _ 
                ("Select * from Win32_Process Where Name = 'php-cgi.exe'") 
        If colProcesses.Count < 10 Then 
                objShell.Run "RunHiddenConsole.exe  c:\nginx\php\php-cgi.exe -b 127.0.0.1:9123 -c c:\nginx\php\php.ini" 
        End If 

        Wscript.Sleep 5000 

Loop

PHP-CGI 데몬을 하나만 띄워도 되지만 이상하게 일정시간후 죽는 현상이 발생하여 프로세스 갯수를 확인하여 10개를 띄우도록 했다.
사용량이 적은 사이트는 3개정도면 적당할 듯하다.


  • nginx 실행
    • c:\nginx\start_nginx.bat 아래와 같이 작성 후 실행

@ECHO OFF
start c:\nginx\nginx.exe






@echo off
set pathlog=c:\logs\(로그파일이 있는 경로)

set filedate=%time::=%
set filedate=%filedate: =0%
set filedate=%filedate:~0,6%

set logfilename=site.access.log(access 로그파일명)
set filename=%logfilename%_%date:-=%_%filedate%
rename %pathlog%%logfilename% %filename%

set logfilename=siet.error.log(error 로그파일명)
set filename=%logfilename%_%date:-=%_%filedate%
rename %pathlog%%logfilename% %filename%

c:\nginx\nginx -s reopen


    • 서비스 정지시키기
      • c:\nginx\stop.bat 를 아래와 같이 작성 후 실행

@ECHO OFF
c:\nginx\nginx.exe -s stop

taskkill /f /IM nginx.exe
taskkill /f /IM wscript.exe
taskkill /f /IM php-cgi.exe



  • Apache 와 Nginx 의 성능 비교
기존 사용하던 Apache데몬(httpd.exe)와 nginx, php-cgi방식으로 변경한 모습.
엄청난 CPU와 메모리 차이를 보이고 있다.

Todo...

가끔 502 Bad Gateway 오류가 나오며 페이지가 안나올때가 있다.


Posted by 화니.

댓글을 달아 주세요

출처 : http://forums.delphi-php.net/javascript-ajax/3017-favorite-functions-add-common-js.html

Delphi for PHP 설치폴더에서 vcl/js/common.js 를 연다.

파일 제일 하단에 아래의 코드 추가

 vcl=
{
$:function ()
{
var elements = new Array();
for (var i = 0; i < arguments.length; i++)
{
var element = arguments[i];
if (typeof element == 'string')
element = findObj(element);
if (arguments.length == 1)
return element;
elements.push(element);
}

return elements;
},
int:function(obj){ return parseInt(vcl.$(obj).value);},
real:function(obj){ return parseFloat(vcl.$(obj).value);},
escape:function(obj){ return escape(vcl.$(obj).value);},
unescape:function(obj){ return unescape(vcl.$(obj).value);},
focus:function(obj){ vcl.$(obj).focus();},
check:function(obj){ vcl.$(obj).checked=true;},
uncheck:function(obj){ vcl.$(obj).checked=false;},
hide:function(obj){ vcl.$(obj).style.display = 'none';},
show:function(obj){ vcl.$(obj).style.display = '';},
find:function(obj){ return vcl.$(obj);},
text:function(obj){ return vcl.$(obj).value;},
value:function(obj){ return vcl.$(obj).value;},
setOpacity:function(incoming,value)
{
theObj=vcl.$(incoming);
theObj.style.opacity = value/10;
theObj.style.filter = 'alpha(opacity=' + value*10 + ')';
}
}

function createHTTPrequest()
{ /* Firefox, Opera 8.0+, Safari */
try {return new XMLHttpRequest();}
catch (error) {}
/* newer IE */
try {return new ActiveXObject("Msxml2.XMLHTTP");}
catch (error) {}
/* older IE */
try {return new ActiveXObject("Microsoft.XMLHTTP");}
catch (error) {}
throw new Error("Your browser does not have AJAX support!");
}
function basicAjax (url,parameters,callback)
{
xmlHttp=createHTTPrequest();
if (callback) {xmlHttp.onreadystatechange=callback;}
else
{
xmlHttp.onreadystatechange=function()
{
if(xmlHttp.readyState==4)
{
if (xmlHttp.status == 200)
{eval(xmlHttp.responseText);}
else
{alert("Sorry, received a server error ="+xmlHttp.statusText);}
}
}
}
xmlHttp.open("POST",url,true);
if (typeof(basicAjaxAsyncFalse) != 'undefined' && basicAjaxAsyncFalse==1) xmlHttp.open("POST",url,false); //this will force a wait for return
xmlHttp.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
xmlHttp.setRequestHeader("If-Modified-Since", "Fri, 31 Dec 1999 23:59:59GMT");
xmlHttp.send(parameters);
}

Basic Ajax사용법

  //call basicAjax but override the eval function
basicAjax("ajax_server.php","value1=Bob",myfunction);

//call basicAjax using the built in eval function
var params='value1='+vcl.$('Edit1').value+'&value2='+vcl.$('Edit2').value;
basicAjax("ajax_server1.php",params);

vcl.$() 사용법

 // Sample Usage:
               function Button2JSClick($sender, $params)
               {

               ?>
alert(vcl.$('Edit1').value);//just get one object

//these 3 are identical
var obj1 = document.getElementById('Edit1');
var obj2 = vcl.$('Edit1');
var obj3= FindObj('edit1');

 vcl.$('Edit1').disabled;

//this gets an array of objects!! (includes obj we all ready had found also
// and real objects like LabeledEdit)
var elements = vcl.$('Edit2','Edit4','Edit6',obj1,obj2,'Edit5','Edit3');
for (var i=0;i < elements.length; i++) elements[i].value='';
//we just blew through a bunch of edits and cleared them.
// fyi this wouldn't work this way with the labeled edits though - they need setValue('')
               <?php

               }

 

 // Sample Usage:
vcl.hide('Button1');
vcl.show('Button1');

 

'자료들 > Delphi for PHP' 카테고리의 다른 글

BasicAjax 및 JQuery식 표현 사용하기  (0) 2009.10.07
SmartyTemplate 사용하기  (2) 2007.06.25
Memo Class 사용법  (0) 2007.06.25
Layout.Type 속성  (0) 2007.06.24
Posted by 화니.

댓글을 달아 주세요