코멧(Comet) #3 – Ajax 롱폴링(Ajax Long polling) 채팅방 예제로 배우기

코멧을 구현하는 두 번째 방법은 롱폴링(Long Polling)이라고 하는 기법으로, 그 중에서도 금번 포스팅에서는 Ajax를 기초로 한 롱폴링 기법을 소개합니다. 이것은 지난 포스팅에서 소개한 Ajax 폴링 기법에서 일부분을 변형하여서, HTTP 통신이 일어나는 빈도를 줄인 것입니다. Ajax 폴링과 이 기법 사이의 결정적인 차이점은 서버측에서 특정한 상태값이 변하기 전까지는 응답을 미루는 것이라고 할 수 있습니다.

금번 포스팅에서는 지난 포스팅에서 Ajax 폴링으로 구현한 채팅방 예제를 롱폴링으로 수정하여, Ajax 폴링과 대조되는 롱폴링의 작동원리를 살펴볼 것입니다. 따라서 지난 포스팅을 읽어보지 않은 분께서는 금번 포스팅을 읽기에 앞서 일독을 권합니다.

Continue reading

코멧(Comet) #2 – Ajax 폴링(Ajax polling) 채팅방 예제로 배우기

코멧을 구현하는 첫 번째 방법은 Ajax 폴링(Ajax Polling)이라고 하는 기법입니다. 이 기법은 모든 코멧 방법론 중에서 가장 직관적이고 구현이 간단하여, 코멧 방법론에 입문할 때에 처음 만나게 되는 기법입니다. 기본적인 아이디어는 일정시간마다 Ajax 통신을 하여 서버의 상태를 가져오는 것이라고 요약할 수 있습니다.

이 포스팅에서는 자바스크립트와 더불어 PHP, MySQL로 구현한 간단한 채팅방 예제를 통해 Ajax 폴링을 구현하는 방법을 알아봅니다.

Continue reading

PHP에서 try-catch 구문을 통한 예외처리와 확장방법

try-catch문은 프로그램 실행 중 예외가 발생했을 때, 개발자가 이를 직접 처리할 수 있도록 제공하는 구문입니다. C++이나 Java 등의 언어에 등장한지는 제법 시간이 흘렀지만, PHP에서는 5.1.0 버전에 들어와서야 사용할 수 있게 되었습니다.

예외(Exception)특별한 처리가 필요한 이례적인 상황을 이야기합니다. PHP를 기준으로 하면, $_POST 파라메터로 받은 어떤 값이 나눗셈에서 분모로 들어가는 소스코드를 예로 들 수 있겠습니다. 이러한 코드에서 $_POST 값이 0인 상황이 벌어지면, 해당 값을 별도의 값으로 치환하거나 이전 웹페이지로 되돌려보내 사용자의 새로운 입력을 요구한다던가 하는 특별한 처리가 필요할 것입니다.

기본적으로 예외처리는 if-else문 만으로도 가능합니다. 그러나 예외가 발생했을 때의 처리방법에 일관성이 있을 때는 try-catch문을 사용하여 무척 간결한 코드를 작성할 수 있습니다. 금번 포스팅에서는 간단한 예제를 통해서 try-catch문의 기본적인 성질과 사용법, 확장방법에 대하여 설명합니다.

Continue reading

PHP에서 배열이 색인 배열인지 연관 배열인지 구별하기

흔히 배열은 색인 배열(Indexed Array)과 연관 배열(Associative Array)로 구분됩니다. 색인 배열은 키(key)가 0부터 시작하여 순차적으로 증가하는 정수인 배열을 의미합니다. 이 때문에 색인 배열은 순차 배열(Sequential Array)이라고 부르기도 합니다. 그 외의 모든 배열은 연관 배열로 분류할 수 있습니다.

사실 PHP는 내부적으로 색인 배열과 연관 배열을 구분하지 않습니다. 이 점은 PHP Manual의 Arrays 항목에서도 언급하고 있는 내용입니다.

PHP arrays can contain integer and string keys at the same time as PHP does not distinguish between indexed and associative arrays.

그럼에도 종종 어떤 배열이 색인 배열과 같은 형태인지 연관 배열인지를 알아내야 하는 경우가 있습니다. 웹 상에서 코드서칭을 해보면 무척 다양한 해법들을 찾아볼 수 있는데요. 다소 복잡한 방법이 있는가하면, 무릎을 탁치게 하는 방법들도 존재합니다. 금번 포스팅에서는 그 중에 몇 가지를 간추려 소개하고자 합니다.

Continue reading

Windows 환경에서 MongoDB를 PHP에서 사용할 수 있도록 설정하기

이전 글 Windows에 MongoDB 설치하기를 따라서 WIndows에 MongoDB를 설치하고, 데몬을 서비스로 잘 등록하였다면, 이제 PHP에서 이를 사용할 수 있도록 해야 합니다. 여기에 관하여서는 공식문서에도 간결하게 핵심이 정리되어 있습니다. 이 포스트에서는 이러한 설치과정에 익숙하지 않은 분들을 위해 스탭 바이 스탭으로 과정을 설명합니다.

Continue reading