Development

RSYNC 대체용 LFTP 동기화(싱크) 방법

2012년 4월 16일 작성
카테고리: Development, Operation System
No Comments »

개인 서버를 이용할때는 RSync를 이용하여 서버에 작업내용을 동기화 시키지만 웹호스팅을 이용할경우에는 RSync를 지원하지 않는 경우가 존재합니다.
이에 개발서버에서 서버(대부분 웹호스팅 서버)로 동기화를 하는 방법에 대해서 정리해봅니다.

우선 아래와 같은 환경으로 가정하에 동기화방법을 기술하겠습니다.

개발 서버 작업 디렉토리 : /home/account/html
배포 서버(리얼 서버) IP : 111.111.111.111
배포 서버(리얼 서버) 작업 디렉토리 : (FTP Home)/html

1
lftp -c ‘open -e “mirror -R -e /home/account/html ./html” ftp://account:”password”@111.111.111.111′

이렇게 모두 동기화를 하고 나면 추후 배포서버의 서버 환경에 따른 설정파일들(예:config.php)은 동기화 대상에서 제외를 해야 합니다.
이럴경우는 하단과 같이 –exclude(-x) 옵션으로 제외할 파일을 링크시켜줌으로서 해당파일의 동기화를 막을 수 있습니다.
–exclude옵션은 정규식 표현으로도 작성 가능합니다.

1
lftp -c ‘open -e “mirror -R -e -x ^\.svn$ ./html” ftp://account:”password”@111.111.111.111′

PHP Array를 Object형태로 변환 하는 방법

2012년 2월 21일 작성
카테고리: Development, PHP
2 comments

이 방법은 가장 단순하게 이미 만들어져 있는 배열을 오브젝트 형식으로 변환하는 방법이다.

PHP
1
2
3
4
5
6
7
8
9
<?php
$person = array (
'firstname' => 'Richard',
'lastname' => 'Castera'
);
$p = (object) $person;
echo $p->firstname; // Will print 'Richard'
?>

또한 함수를 만들어서 사용하게 되면 아래와 같이 arrayToObject를 만든후 추가로 호출하여 사용할수 있는데 우선 arrayToObject 함수의 내용을 보자.

PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
<?php
function arrayToObject($array) {
if(!is_array($array)) {
return $array;
}
$object = new stdClass();
if (is_array($array) && count($array) > 0) {
foreach ($array as $name=>$value) {
$name = strtolower(trim($name));
if (!empty($name)) {
$object->$name = arrayToObject($value);
}
}
return $object;
}
else {
return FALSE;
}
}
?>

이제 만들어논 arrayToObject를 이용하는 방법이다.

PHP
1
2
3
4
5
6
7
<?php
$person = array (
'first' => array('name' => 'Richard')
);
$p = arrayToObject($person);
?>
PHP
1
2
3
4
<?php
// 이제 $p를 아래와 같이 오브젝트 형식으로 이용 가능하다 :
echo $p->first->name; // Will print 'Richard'
?>

PHP 페이스북 API 오류 (An active access token must be used to query information about the current user.)

2012년 1월 16일 작성
카테고리: Open API, PHP
No Comments »
An active access token must be used to query information about the current user.

이런 오류메세지가 나온다면 분명!! 페이스북 PHP라이브러리를 이용하여 얻은 사용자 데이터를 가지고 백그라운드로 계속 그 사용자의 담벼락 혹은 권한을 이용하려고 할 때 발생했을겁니다.

페이스북 Access Token의 경우 만료시간이 존재하기때문에 사용권한 요청시 offline_access를 추가하여 요청하면 Access Token을 계속하여 이용 할 수 있습니다.
다만 최신 Facebook PHP라이브러리의 경우 백그라운드 사용을 막아논듯 하여 몇가지 수정이 필요하긴 하지만… ^^

SQL Server 커밋되지 않은 데이터 읽을수 있도록 설정

2011년 12월 29일 작성
카테고리: Database, Development, MS-SQL
No Comments »

SQL Server에서 트랜잭션에 의함 잠금이 생겼을경우 SELECT 쿼리에도 영향을 미친다. 트랜잭션이 완료될때까지 SELECT도 되지 않으므로 대기 프로세스가.. 가득~~~ 물론 유저들에게 꾸사리는 덤으로…

각 쿼리마다 WITH구문으로 SELECTING할수도 있지만 그게 귀찮고 데이터의 무결성도 필요없다~~ 그저 속도가 최고다 하시면.. 데이터베이스를 연결하고 바로 아래 쿼리를 DB에 날려주면… 모든 SELECT 쿼리에 UNCOMMITTED가 자동 적용된다.

1
SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED

OPEN API 앱 신청 페이지

2011년 12월 26일 작성
카테고리: Development, Open API
No Comments »

매번 찾아서 들어가는것도 귀찮고 해서 정리 해 봅니다.

추가적으로 필요한곳은 따로 찾아서 추후 업데이트 하도록 하겠습니다. 혹 여기에 실리지 않은 API중 리스트업되야 한다고 생각되는것은 댓글로 남겨주시면 따로 등록하겠습니다.

SELECT BOX에서 데이터 좌우 이동

2011년 12월 22일 작성
카테고리: Development, HTML, Languages
No Comments »

옛날에 작성했던 코드가 유실되어 다시 찾아서 올려 봅니다.
다빈님의 블로그에서 코드를 발견했네요.

http://blog.naver.com/davincigo?Redirect=Log&logNo=60090722631

다빈님 덕분에 자료를 다시 올릴수 있게되어 감사드립니다. 이 포스트의 전문 읽기 »