반응형

TortoiseSVN사용하다가 ClientOS(windows) 재 설치 등을 했다면 TortoiseSVN을 새로 설치하고 서버에 설치해 놓은 Subversion과 재 연결(복원)해야 한다.

- client(Windows) : TortoiseSVN

- server(Linux) : Subversion

 

 

TortoiseSVN 설치를 한다.

기존에 사용했던 폴더를 확인한다.

- 경로 예>D:\svn\okkks.tistory.com)

 

 

 

okkks.tistory.com 폴더를 오른쪽 마우스로 선택한 후 나오는 메뉴 중 SVN Checkout… 항목을 선택한다.

 

 

 

 

URL of repository(저장소 주소)svn://svn 서버 도메인 또는 IP/서버에 생성한 저장소 폴더를 입력한다.

- >svn://192.168.0.6/okkks.tistory.com/trunk

Checkout directory에 현 폴더 경로가 자동으로 입력된다.

- 변경 또는 내용이 없으면 직접 입력, okkks.tistory.com 폴더를 생성 안 했다면 자동으로 생성한다.

OK 버튼을 클릭한다.

 

 

 

 

 

잠시 후(시간이 걸릴 수 있다.) 아래와 같은 메시지가 뜨면 예를 클릭한다.

 

 

 

 

Username / Password 를 입력한다.

- 계정 확인은 svn passwd 설정 참고한다.

 

 

 

 

 

Checkout이 완료되었으며 재 연결이 되었다.

- 재 연결이라서 Completed At revision 값은 기존 값에 연결된다.

 

 

 

 

TortoiseSVN 설치

- 01. 윈도우용 TortoiseSVN 설치하기

반응형
Posted by 은둔고수
반응형

코드이그나이터(CI)를 사용할 때 주소에 index.php를 제거하고 싶다면

예>

http://okkks.tistory.com/index.php/board/1

주소를 다음과 같이 사용하고 싶다면

http://okkks.tistory.com/board/1

 

 

httpd.conf 설정

apache 모듈중 mod_rewrite 사용하기

- httpd.conf 파일을 열어서 mod_rewrite.so 모듈을 사용할 수 있게 주석을 제거한다.(만약 모듈이 없다면 설치를 해야 한다.)

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

LoadModule rewrite_module modules/mod_rewrite.so

 

.htaccess 파일 사용하기 위한 httpd.conf 설정

AllowOverride None <- 변경 전

AllowOverride All <- 변경 후

 

설정을 마친 후 apache를 다시 시작한다.

]# service httpd restart

 

 

ci config.php 설정

- ci 설정 파일인 config.php 파일을 열어서 $config['index_page'] 값을 없앤다.

$config['index_page'] = 'index.php'; <- 변경 전

$config['index_page'] = ''; <- 변경 후

 

 

.htaccess 설정

- 이 파일은 ci index.php 와 같은 경로에 둔다.(.htaccess 파일이 없으면 만든다.)

설정 내용>

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond $1 !^(index\.php|images|captcha|data|include|uploads|robots\.txt)
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /index.php/$1 [L]
</IfModule>

 

참고>

RewriteCond $1 !^(index\.php|images|captcha|data|include|uploads|robots\.txt)

-> index.php 포함,  하위 디렉토리 중 images, captcha, 생략... 등등은 index.php를 주소에서 없애지 않는다.

 

 

 

 

추가로 디렉토리를 만들고 만든 디렉토리도 index.php를 주소에서 없애고 싶지 않다면

위 문구에 추가하면 된다. ( 생략...|uploads|추가 디렉토리|robots\.txt )

 

 

설정을 마친 후 테스트를 해본다.

 

- 끝 -

 

 

403 Forbidden 에러가 발생했다면

 

.htaccess 파일 권한을 확인해 본다.

]# ls -al

권한 변경

]# chmod 755 .htaccess

또는 644

 

apache 설정을 httpd-vhosts.conf를 이용한다면 수정을 한다.

]# vi /usr/local/apache2/conf/extra/httpd-vhosts.conf

- 생략 -

    <Directory "/wwwdata/okkks.tistory.com">
        Options +FollowSymLinks -Indexes +ExecCGI
        AllowOverride All
            Order allow,deny
        Allow from all
    </Directory>

- 생략 -

 

 

 

CodeIgniter 설치

- ci 설치 - CodeIgniter / 코드이그나이터

반응형
Posted by 은둔고수
프로그램/html52014. 4. 29. 11:39
반응형

Chrome 웹 스토어 확장 프로그램 바로가기 : https://chrome.google.com/webstore/detail/html5-powered/klleofbhhghgacodijohlacbfhfcefom

크롬 브라우저에서 지원하는 확장 프로그램을 설치하면 쉽게 웹 사이트가 html5로 만들어졌는지를 확인할 수 있다.

확장 프로그램 이름 : HTML5 Powered

 

1. 크롬을 실행한 후 오른쪽 위에 있는 Chrome 맞춤설정 및 제어 아이콘(줄무늬 모양)을 눌러 나타난 메뉴 중 도구>확장 프로그램을 선택한다. 

 

 

 

2. 확장 프로그램 아래 더 많은 확장 프로그램 다운로드를 누른다.

 

 

 

3. Chrome 웹 스토어 화면이 실행되면 왼쪽 상단에 검색입력란에 html5 powered를 입력후 검색한다.(엔터)

- 검색이 되지 않으면 아래 링크를 클릭해서 바로 접속을 한다.

Chrome 웹 스토어 확장 프로그램 바로가기 : https://chrome.google.com/webstore/detail/html5-powered/klleofbhhghgacodijohlacbfhfcefom 

 

 

 

 4. 오른쪽 상단의 + 무료 버튼을 클릭한다.

 

 

 

 

5. HTML5 Powered 추가한다.

 

 

 

 

6. 추가가 완료되면 알려준다.

 

 

 

 

7. 추가되었다. 

 

 

 

 

8. 확장 프로그램 목록에서 추가된 것을 확인할 수 있다.

 

 

 

 

9. html5로 만들어진 사이트에 접속해보면 오른쪽 상단에 HTML5 로고를 볼 수 있다.

 

 

 

더보기>

- 크롬(Chrome) 브라우저 시작 빈 페이지 설정

- 크롬(Chrome) 브라우저 새탭 빈 페이지 설정

반응형
Posted by 은둔고수
프로그램/php2014. 4. 23. 13:00
반응형

버블소트(bubble sort)란?

정렬하는 방식이 마치 물에서 거품(버블:Bubble)들이 움직이는 것과 비슷하다고 해서 붙여진 이름

 

[PHP로 구현하기]

$array = array(3, 0, 2, 1, 4, 5, -1);
$size = sizeof($array);

for($x = 0; $x < $size; $x++){
    for($y = 0; $y < $size; $y++){
        if($array[$x] < $array[$y]){
            $tmp = $array[$x];
            $array[$x] = $array[$y];
            $array[$y] = $tmp;
           }
    }
}

print_r($array);

 

[결과]

Array ( [0] => -1 [1] => 0 [2] => 1 [3] => 2 [4] => 3 [5] => 4 [6] => 5 )

 

 

[PHP 내장함수 사용하기] sort()

sort($array);

print_r($array);

 

[결과]

Array ( [0] => -1 [1] => 0 [2] => 1 [3] => 2 [4] => 3 [5] => 4 [6] => 5 )

반응형
Posted by 은둔고수
프로그램/php2014. 4. 22. 10:48
반응형

/* 배열 확인
배열인지 첫 번째 배열 값이 있는지 확인한다.
$ary : 배열
// true
$ary = array(0);
$ary = array('val');
$ary = array('key'=>'a');
// false
$ary = array();
$ary = array('');
$ary = array('key'=>'');
*/

function rtn_array_check($ary){
    reset($ary);
    $c = current($ary); // 첫번째 배열 원소의 값을 반환
    if(!is_array($ary) || empty($ary) || ($c !== 0 && ($c === '' || $c === false))) return false;
    return true;

}

 

$ary = array();
echo "<br />결과 = " . rtn_array_check($ary);

 

$ary = array('');
echo "<br />결과 = " . rtn_array_check($ary);


$ary = array(1);
echo "<br />결과 = " . rtn_array_check($ary);

 

$ary = '';
echo "<br />결과 = " . rtn_array_check($ary);

 

$ary = '1';
echo "<br />결과 = " . rtn_array_check($ary);

 

[결과]

결과 =

결과 =
결과 = 1
결과 =
결과 =

 

참고>

is_array() : php 기본으로 제공하는 함수로 배열인지 확인해서 true 또는 false를 반환해준다.

empty() : php 기본 제공 함수로 값이 없으면 true, 있으면 false를 반환한다.

반응형
Posted by 은둔고수
프로그램/php2014. 4. 22. 00:03
반응형

php 배열에서 특정값과 일치하는 모든 배열 값들을 삭제

 

[소스 예]

<?

$ary_ori = array(1,2,3,4,3,5);    // 배열 값
$ary_del = array(2,5,4);    // 삭제할 값(배열)

 

foreach($ary_ori as $k => $v){
    foreach($ary_del as $v2){
        if($v == $v2){
            unset($ary_ori[$k]);
        }  
    }
}

 

print_r($ary_ori);

?>

 

[결과

Array ( [0] => 1 [2] => 3 [4] => 3 )

반응형
Posted by 은둔고수
프로그램/php2014. 4. 21. 00:04
반응형

형이 맞지 않아 위치값을 알 수 없어 발생하는 문제로 올바른 형(문자형, 숫자형, string, int, 기타 등등)으로 변환한다.

 

에러 발생 예>

<?

$link = 'okkks.tistory.com';

$i = '4';
$i = (float)$i;

echo "<br />결과 = " . $link[$i];
?>

 

[결과]

Notice: String offset cast occured in 문제가 발생한 파일 경로 on line 줄 번호

결과 : s

 

 

 

수정 예>

<?

$link = 'okkks.tistory.com';

$i = '4';
$i = intval($i);

echo "<br />결과 = " . $link[$i];
?>

 

[결과]

결과 : s

 

참고> $link{$i} 형식으로도 사용할 수 있다.

반응형
Posted by 은둔고수
프로그램/php2014. 4. 20. 21:56
반응형

값을 구하는 과정에서 전달하는 절차에 문제가 발생한 경우로 각 절차를 분리를 해야 한다.

 

에러 발생 예> 배열의 마지막 키값을 알아내기

<?

$ary_tmp = array(1,2,3,4,5,6);
$last = end(array_keys($ary_tmp));

 

echo "결과 : " . $last;

?>

[결과]

Strict Standards: Only variables should be passed by reference in 문제가 발생한 파일 경로 on line 줄 번호

결과 : 5

 

 

 

값을 구하는 절차를 분리한다.

수정 예>

<?

$ary_tmp = array(1,2,3,4,5,6);
$ary_key = array_keys($ary_tmp);

$last = end($ary_key);

 

echo "결과 : " . $last;

?>

[결과]

결과 : 5

반응형
Posted by 은둔고수
프로그램/apache2014. 4. 20. 14:26
반응형

아파치 로그 관리

 

apache log 관리는 rotatelogs 또는 logrotate를 이용해서 설정할 수 있다.

 

 

rotatelogs 를 이용한 방법

아파치 설정 파일(httpd.conf)을 확인한다.

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

 

LogFormat 부분의 마지막에 있는 별명(common, combined, combinedio) 중에서 사용한다.

- combinedio는 추가 작업이 필요한다.

 

아파치의 가상 호스트 파일을 설정한다.

]# vi /usr/local/apache2/conf/extra/httpd-vhost.conf 

 

ErrorLog "|/usr/local/apache2/bin/rotatelogs /usr/local/apache2/logs/okkks-error-%y%m%d_log 86400 +540"
CustomLog "|/usr/local/apache2/bin/rotatelogs /usr/local/apache2/logs/okkks-access-%y%m%d_log 86400 +540" combined

%y%m%d : 년월일(예>140101)

- $Y : 년(예> 2014)

86400 : 초 단위이며 24시간 주기로 새 파일을 생성한다.(GMT 기준시)

+540 : 한국 시간을 사용하기 위해 GMT 기준시에 더해준다.

combined : httpd.conf에 설정된 LogFormat

 

아파치를 다시 실행한다.

]# service httpd restart

 

 

웹 사이트에 접속한 후 log 파일을 확인해 보면 파일이 생성된 것을 확인할 수 있다.

]# ll /usr/local/apache2/logs/ 

반응형
Posted by 은둔고수
프로그램/VirtualBox2014. 4. 19. 23:26
반응형

버추얼박스 파일 형식 변경하기

파일명.vmdk -> 파일명.vdi

 

Virtualbox를 실행한 후 변경할 가상머신의 설정 창을 띄우고 저장소 메뉴를 선택하면 파일 형식을 확인할 수 있다.

(또는 윈도우 탐색기를 이용해서 가상머신 저장 위치에 있는 파일의 확장자로 확인할 수 있다.)

 

 

윈도우 키 + r을 클릭한 후 실행 창이 뜨면 cmd를 입력한다.

 

 

도스 창이 실행되면 vboxmanage를 이용해서 vdi 형식의 파일을 생성한다.

c:\>"버추얼박스 vboxmanage.exe 파일 경로" clonehd "vmdk 파일 경로" "vdi 생성 경로" --format 파일 형식

"C:\Program Files\Oracle\VirtualBox\VBoxManage.exe" clonehd "D:\solution\virtualbox\CentOS-5.8-x86_64\CentOS-5.8-x86_64_bk20140302-disk1.vmdk" "D:\solution\virtualbox\CentOS-5.8-x86_64\CentOS-5.8-x86_64_bk20140302-disk1.vdi" --format vdi

 

 

Virtualbox를 실행한 후 변경할 가상머신의 설정 창을 띄우고 저장소 메뉴를 선택해서 새로 생성한 vdi 파일로 변경한다.

 

더보기>

- VirtualBox 용량 늘리기

 

반응형
Posted by 은둔고수