- Wednesday, July 15, 2009, 18:02
- Articles, Featured, PHP
같은 클래스 안에 속한 정적 함수를 호출 할 때에는 $this 변수를 사용하지 않고 self 키워드를 사용합니다. 이 self 키워드의 특징은 self 를 실행하는 자기 클래스가 아니라 호출하려는 메소드가 정의된 클래스를 의미합니다. ...
Full story
- Tuesday, July 14, 2009, 3:38
- Articles, DB, Featured
최근에 MySQL에 마이그레이션 작업을 위해 대량의 데이터를 입력하던 중에 갑자기 모든 데이터가 Rollback 되는 현상이 있었습니다. 로그에는 Lock wait timeout 라고 적혀 있었는데요. 간단히 이 메세지에 대해서 알아보겠습니다. 이 Lock wait timeout excceded 메세지는 DBMS가 트랜젝션을 위해 잠금(Lock)한 시간이 제한 시간을 넘었다는 것인데 설정 파일에서 값을 지정하지 않았다면 기본 값은 50초 입니다. 이 에러 메세지가 나타나는 경우는 두 가지가 있을 수 있습니다. 첫 ...
Full story
- Thursday, June 18, 2009, 15:10
- Articles, PHP
MySQL 에는 BIGINT 형이 있습니다. BIGINT 의 값의 범위는 총 64비트로 Signed 인 경우 -9223372036854775808 에서 9223372036854775807 까지 이고, Unsiged 인 경우 0부터 18446744073709551615 까지 입니다. 반면 PHP의 INT 형은 값의 범위는 총 32비트로 –2147483647 부터 +2147483647 까지이며 Unsigned 인 경우 0부터 4294967295 까지 입니다. PHP 는 값이 INT 범위를 넘어서는 경우 변수를 Float ...
Full story
- Friday, May 29, 2009, 2:28
- Articles, PHP
데이터를 이동하거나 백업할 때 XML을 많이 사용하고 있습니다. 데이터를 XML 형식으로 저장하게 되면 직관성, 호환성, 확장성 등을 높일 수 있습니다. 반면 경우에 따라서는 XML 형식으로 저장하지 않아도 될 만큼 구조가 간단하거나 데이터가 적을 수도 있습니다. . 또한 데이터를 빠르게 처리해야 하는 경우에도 XML은 좋지 않은 선택일 수 있습니다. ...
Full story
- Thursday, May 28, 2009, 17:56
- Articles, Tools
Eclipse에서 SVN 클라이언트로 Subversive 를 많이 사용하시죠. 설치 방법을 정리해 보겠습니다.
Eclipse를 설치하신 후 상단 메뉴 Help -> Software Updates를 선택합니다.
그림 1 Software Update 선택 화면
Software Updates and Add-ons 화면 오른쪽에서 Add Sites 를 클릭해서 아래의 두 URL 을 입력합니다.
http://download.eclipse.org/technology/subversive/0.7/update-site/
http://www.polarion.org/projects/subversive/download/eclipse/2.0/update-site/
그림 2 Subversive Site 추가 화면
두 URL을 ...
Full story
- Tuesday, May 26, 2009, 2:27
- Articles, PHP
이미 모두 알고 계실 거라 생각하고 있습니다만 정리도 할 겸 영문 문자열을 대문자로 변경하는 방법을 살펴 보려 합니다.
아시다시피 영문 문자열을 대문자로 변경할 때에는 strtoupper() 함수를 사용합니다. 이 외에도 문장의 첫 글자만 대문자로 바꾸거나 각 단어의 첫 글자만 대문자로 바꾸는 함수도 있습니다.
문장의 첫 글자만 대문자로 바꾸는 ucfirst
이 ucfirst( ) 함수는 영문 문자열의 첫 글자만 대문자로 바꿉니다.
예제 :
print ucfirst( "make a string's first character uppercase");
결과 :
Make a ...
Full story
- Tuesday, May 12, 2009, 13:53
- Articles, DB
동적으로 DB 테이블을 생성해야 하는 경우가 있습니다. 예를 들면 월 단위로 로그 테이블을 생성해서 로그를 기록해야 하는 경우도 있을 테고요. 제로보드 같은 툴에서는 게시판을 생성하면 실제로 테이블을 하나 생성하여 글을 저장합니다. 이렇게 동적으로 DB 테이블을 생성할 때에는 생성하려는 테이블의 이름과 같은 이름의 테이블이 존재하는지 확인하는 과정이 필요합니다. 확인 과정 없이 테이블을 생성하려다가 실패했을 때 예상치 못한 버그가 나타날 수 있습니다. 테이블의 존재 여부를 ...
Full story
- Monday, April 27, 2009, 1:20
- Articles, Etc
프로그램을 개발하면서 SVN 서버가 필요한 경우가 있습니다.
VisualSVN Server는 Windows 기반에서 간편하게 SVN 서버를 구성해 줍니다.
웹 사이트에서 VisualSVN Server를 내려 받으신 후 msi 파일을 실행하면 설치를 시작합니다.
화면 1 VisualSVN Server 설치 시작 화면
VisualSVN Server는 Apache 웹 서버와 Subversion을 포함하고 있습니다. 이미 설치하려는 시스템이 Apache가 설치되어 있어도 Apache가 사용하는 포트가 중복되지만 않는다면 문제 없이 사용할 수 있습니다.
...
Full story
- Sunday, April 26, 2009, 22:19
- Articles, Featured, PHP
PHP에서는 변수의 자료 형을 선언하지 않습니다. 값을 따옴표( " 또는 ' )로 감싸서 변수에 대입하면 문자열 형이 되고 123 과 같이 숫자를 대입하면 정수 형이 됩니다. 또한 new Object()처럼 인스턴스를 대입할 수도 있습니다. 이는 매우 유연하게 변수의 자료 형을 바꿀 수 다는 장점이 있습니다만 반면 변수가 어떤 형태인지 직관적으로 알 수 없는 단점이 있습니다.
자료 형을 알기 어렵기 때문인지 아래와 같은 코드를 매우 자주 볼 ...
Full story
- Sunday, April 5, 2009, 22:59
- Articles, Featured, PHP
PHP 코드 영역은 <?php 와 ?> 로 감쌉니다. 그러나 일반적으로는 <? 와 ?> 를 사용해도 되는데요. 오늘 메일링 리스트에서 어떤 분께서 PHP를 새로 설치한 후 아래 코드가 동작하지 않는다고 하시네요.
<?
echo "aaa";
?>
<? 와 ?> 로 감싼 PHP 코드가 동작하지 않고 아무것도 표시되지 않는다면 php.ini 의 short_open_tag 옵션이 Off 로 돼있기 때문일 것입니다. 당연히 On 으로 하면 "aaa" 라는 문자열이 출력될 것입니다.
PHP 를 설치한 후 php.ini 파일을 ...
Full story