의외로 요새 네이버 댓글을 보는 시간이 늘었다. 내용도 재밌거니와 낚시글등의 행태를 지켜보는 재미도 쏠쏠하기 때문이다. 네이버 추천수 올리기 낚시글때문에 은근히 댓글꾼한테 원성이 자자했는데... 대비책으로 네이버가 요걸 했다... ㅎㅎ 왼지 정두사마가 생각난다...
http://news.naver.com/nboard/read.php?board_id=news_notice&nid=79
정두사마: http://gmarket.tistory.com
의외로 요새 네이버 댓글을 보는 시간이 늘었다. 내용도 재밌거니와 낚시글등의 행태를 지켜보는 재미도 쏠쏠하기 때문이다. 네이버 추천수 올리기 낚시글때문에 은근히 댓글꾼한테 원성이 자자했는데... 대비책으로 네이버가 요걸 했다... ㅎㅎ 왼지 정두사마가 생각난다...
http://news.naver.com/nboard/read.php?board_id=news_notice&nid=79
정두사마: http://gmarket.tistory.com
<?
function shutdown_func() {
global $img;
if($img)
imagedestroy($img);
}
register_shutdown_function("shutdown_func");
$img = imagecreate...(...);
... // manipulate image
// normally I'd need the following line, but now it's handled by shutdown_func()
// imagedestroy($img);
?>
<html>
<head>
<script type="text/javascript">
var a = function (){
alert("a is called");
}
var b = undefined;
var sometest = b||a;
alert(sometest);
</script>
</head>
<body>
</body>
</html>
msdn을 보시면..
그런데~~!! 결과를 보면 ~!!!
" || " operator 가 다음과 같이 작동 하는 것 같다..
obj || obj2 :
1) obj 가 true로 판별되면(msdn) obj를 리턴
2) obj 가 false, obj2 가 true 면 obj2 를 리턴
3) 둘다 false 면 false?( 귀찬아서 확인 안해봄)
정말 이상한 나라의 자바 스크립트.....
많은 개발자들은 자신들이 개발하는 프로그램 소스의 버전을 유지하기 위해, 원소스 외에 패치파일을 준비한다. 일반적으로 패치파일은 diff를 사용해서 작성하고, 해당 패치파일을 적용할 때는 patch 명령어를 사용해 패치적용을 완료한다.
필자는 처음에 커널 공부를 할 때, 패치파일 사용으로 어려움을 겪은적이 있다. 실제 버전업된 커널 소스 파일 전체를 받는게 나은지, 아님, 하나의 커널 소스 파일을 斌? 패치 파일만 받는게 낳은지 잠시나마 고민했던 적도 있다.
따라서, diff 와 patch 파일은 커널에만 관련있는 내용은 아니나, 커널 패치와 유용히 사용될 수 있는 명령어이므로, 아래에서 살펴보고자 합니다.
기본 개념 및 사용법은 아래의 설명을 따라하기 식으로 해보면, 이해할 수 있을겁니다.
Diff 사용법
1. 두개의 빈 파일을 생성합니다.
[css@css ~]$ touch aaa bbb
[css@css ~]$ ls
aaa bbb
2. aaa에 아래의 라인을 추가합니다. (vi 사용법은 애플리케이션 소개란을 참고하세요. ^^) [css@css ~]$ vi aaa
This is first line // 라인을 추가합니다.
3. aaa 를 bbb로 복사하고, 새로운 라인을 추가합니다. [css@css ~]$ cp aaa bbb
[css@css ~]$ vi bbb
This is a first line
This is a second line // 라인 추가
4. aaa와 bbb의 변경 부분을 패치파일로 만듭니다. 그리고, 변경되는 부분이 패치파일에 어떻게 저장되나 확인합니다.
[css@css ~]$ diff -urN aaa bbb > mydiff.patch
[css@css ~]# cat mydiff.patch
--- aaa 2005-03-07 20:23:22.566188880 +0900
+++ bbb 2005-03-07 20:23:32.986604736 +0900
@@ -1 +1,2 @@
this is a first line
+this is a second line
5. bbb를 지우고, 패치파일의 내용을 aaa에 적용시킵니다. [css@css ~]$ rm -f bbb
[css@css ~]$ patch -p 0 < mydiff.patch
patching file aaa
6. aaa에 패치파일의 내용이 적용되었나 확인합니다.
[css@css ~]$ cat aaa
this is a first line
this is a second line // 라인이 추가되었음
요구 조건 :
mysql server 4.1. 이상
libmysqlclient 버전 3306 이상
php-devel ( centos 나 redhat은 yum으로 깔끔하게 설치 가능)
방법 1
1) 기존 php-mysql은 대부분 함께 제공 되는 낮은버전의 libmysqlclient 를 쓰므로 최신 libmysqlclient로 다시 컴파일 하여 재설치( php-devel 필요)
2) 디비컨넥션 맻을시
mysql_connect(server, user, passward , false , 65536 );
해당 컨넥션에서 멀티 쿼리가 가능하다.
ex) $result = mysql_query( " select * from temp ; select * from temp2;");
단 이 경우는 php-mysql 에서 result_set 에 대한 메모리 처리를 안하므로 위와 같은 경우는
첫번째 쿼리의 result_Set에만 접근 가능하고 나머지 result_set은 메모리 누수 발생.....
그러므로
ex) $result = mysql_query("
insert something;
update something;"
);
등과 같이 result set이 없는 쿼리문만 사용 할 수 있음
방법 2
직접 php-mysql 확장을 수정 여타 result_set을 다룰 수 있는 모듈 작성
-- 멀티 result_set 지원은 따로 해줘야 할게 너무 많아서 GG
PS mysql 4.1 버전이상 innoDB를 사용 할 경우 transaction 도 사용할 수 있다.
$result = mysql_query("
start transaction ;
insert something ~~;
insert something2 ~~;
commit;
);
MYSQL PHP 꽁짜라고 우습게 볼게 아니더라...
관련 자료들
http://dev.mysql.com/doc/refman/4.1/en/c-api-multiple-queries.html mysql
http://kr2.php.net/manual/kr/zend.php php 확장 모듈 및 코어 확장 자료
php에서 스트링은 널문자를 허용한다.
<?
$someString = "some String include NULL Char \0 <=== 널문자 허용" ;
?>
<?=$someString?>
php 확장 모듈 작성중 발견한 사실.... 해결은 금방 되었지만 ㅋㅋ 모르는게 너무 많다는게 느껴지는 경험 이었음