PHP 입문 ::: PHP는 어떻게 돌아가지?
2009. 3. 17. 18:28
프로그래밍/PHP
HTML 밖에 모르는 웹 브라우저 ? 웹 브라우저는 HTML밖에 모릅니다. HTML이 브라우저가 쓰는 언어라는 것이지요. (자바스크립트와 같은 약간의 외국어도 합니다.^^;;) 그래서 우리가 홈페이지를 만들려면 모든 문서를 HTML로 작성해야만 합니다. HTML을 울려 버린 CGI의 등장 인터넷 초창기에는 대부분의 홈페이지가 모두 HTML(SGML)로 만들어져 있었습니다. (선택의 여지가 없었죠) HTML로 홈페이지를 만들어 보신 분은 아시겠지만 HTML은 일방향적이고 수정하기 전에는 절대 변하지 않는 특성을 가지고 있습니다. 이러한 단점 때문에 사람들은 HTML 말고 다른 무언가가 필요함을 느꼈습니다. 그래서 생겨난 것이 바로 CGI (Common Gateway Interface)입니다. CGI의 구조..
PHP 환경 테스트 ::: 준비 됐나~? 준비 됐~다!
2009. 3. 17. 17:33
프로그래밍/PHP
이제 테스트를 위한 환경이 모두 만들어 졌습니다. 프로그래밍을 할 에디터도 하나 구했고.. 짠 프로그램을 테스트할 웹서버도 깔았습니다. 그럼 오늘은 직접 짠 소스를 테스트 해봐야겠죠? 설치된 APM 프로그램을 시작합니다. 윈도우 98,ME 사용자는 아파치 시작 누르시고!!! 이제 모두 MySQL 시작 누르세요!!! 아파치 웹서버가 실행되고 나면 웹 브라우저에 localhost 라고 입력했을 때 아래와 같이 나옵니다. 음.. 아직 잘 돌아가고 있군.. ^^ 자 이제 이 파일을 고쳐 보겠습니다. C:\usr\www 디렉토리가 홈디렉토리입니다. 저 디렉토리로 한번 가볼까요? index.html 이라는 파일이 있죠? 이 파일이 기본적으로 세팅되어 있는 시작파일입니다. http://localhost/index.h..
PHP는 어떻게 짤까? ::: 에디터 설치하기
2009. 3. 17. 17:17
프로그래밍/PHP
PHP는 무엇으로 프로그램을 짜느냐? 단도 직입적으로 말씀드리면 텍스트에디터만 있으면 됩니다. 텍스트에디터란 말 그대로 글을 쓰고 수정하고 저장할 수 있는 프로그램을 말합니다. 즉, 메모장 같은 프로그램을 말합니다. ( 겁나게 둘러서 말했군요..^^ ) 그런데.. 메모장은 소스가 짧을 때는 고치기 쉽지만.. 소스가 굉장히 길어지면 상당한 불편을 느끼게 됩니다. 그래서 텍스트에디터가 필요하게 되죠. 그러면 어떤 텍스트 에디터가 좋은 에디터인가? 이 문제는 한마디로 말씀드리기가 정말 힘듭니다. 왜냐하면 프로그래머마다 취향이 약간씩 다르기 때문이지요. 많은 프로그램을 이용해 보고 자신에게 맞는 프로그램을 찾는게 제일 좋은 방법입니다. 좋은 에디터의 조건 1. 찾기와 찾아서 고치기 기능이 있는 에디터 2. 구문..
웹서버를 만들자~ ::: 윈도우용 APM 설치하기
2009. 3. 17. 16:40
프로그래밍/PHP
PHP를 실행할 수 있는 웹서버가 필요합니다. PHP를 배우기 전에 우리는 PHP를 실행하고 그 결과를 확인할 수 있는 환경을 먼저 구축하여야 합니다. 왜냐하면 PHP는 우리가 일상으로 사용하는 웹브라우저나 게임처럼 클릭하면 실행되는 윈도우용 프로그램이 아니기 때문입니다. PHP는 웹을 통해 실행되어지기 때문에 반드시 웹서버라는 것이 필요합니다. 참고. PHP-GTK 라는 것이 있습니다. 이는 PHP를 통해서 윈도우용 프로그램을 만드는 프로젝트입니다. 이를 이용하면 웹이 아닌 윈도우상에서 PHP 코드의 실행이 가능해 집니다. 첫 번째 강좌는 PHP 개발 환경을 구축하기 위해 먼저 웹서버를 설치해 보도록 하겠습니다. Linux 나 Unix 계정 (웹호스팅이나 학교 서버 등)을 가지신 분들은 이 강좌를 건너..
PHP 개발툴 : DevPHP 3.0
2009. 2. 19. 13:13
프로그래밍
http://devphp.sourceforge.net 에서 소스를 다운받아서 약간 수정한 버전이다. 사실 2004년에 개발하던거라 뭘 고쳤는지도 기억이 안난다. 소스코드 창의 모습이다. PHP 내장 함수나 제어 구조 등을 위한 코드 완성 기능을 지원한다. 그래서 위와 같이 echo 제어구문 위에 Ctrl+Space를 누르게 되면 다음과 같이 함수의 리스트와 함께 원형이 표시된다. 그리고 옵션에서 PHP 파서를 등록하고 (파서는 bin 디렉토리 안에 있다) 툴바에서 녹색 세모 버튼을 클릭하면 다음과 같은 결과 화면을 볼 수 있다. 이는 웹서버 없이 파서의 결과만으로 수행하는 것으로 쿠키나 세션 등의 유지나 GET/POST 등의 외부로 부터의 변수를 확인하는 것은 어렵다. 하지만 데이터베이스가 있다면 데이터..
하나의 마우스/키보드로 여러개의 컴퓨터를 컨트롤하는 프로그램
2009. 2. 18. 16:13
프로그래밍
PC를 두대이상 쓰는 경우 키보드와 마우스의 개수가 PC만큼 존재하게 되어 좁은 책상을 그들이 가득채우게 된다. 이럴때 마우스와 키보드 하나만 가지고 PC 여러대를 사용할 수 있으면 좋지 않을까? 그래서 만들어진 프로그램이 있다. Synergy 란 프로그램으로 윈도우즈/유닉스/MacOS 간의 멀티 OS 환경에서 위와 같은 기능을 제공한다. http://synergy2.sourceforge.net/ 위 사이트가 공식 사이트이며 제공되는 버전은 한/영 키가 동작하지 않는다. 그래서 한/영 키가 동작하게끔 패치한 버전을 올려둔다.
MFC를 사용하지 않는 프로그램에서 CString 사용하기
2009. 2. 12. 11:20
프로그래밍
난 윈도우 프로그래밍을 시작했을 때 체계적인 학습이 아니라 닥치는 대로 독학을 해서 MFC부터 배웠다. 그래서 한동안 WinAPI로 작성된 코드는 굉장히 싫어했는데...ㅋㅋ 뭐 세상에 MFC로 작성된 프로그램만 있는건 아니니까 ㅎㅎ 사실 내가 만든 프로그램 중 절반은 문자열을 처리하는 작업이 대부분이다. 패턴을 찾아내서 정보를 가져오고 그 정보를 바탕으로 처리를 하는것 그게 전부다. 문자열 처리를 하기에 CString은 꽤 유용한 놈이다. 그런데 non-MFC 프로그램에서는 CString을 사용할 수 없다는게 안타까웠다. 그런데 왠걸.. MS가 CString을 MFC에 독립적으로 사용할 수 있도록 떼어내었단다. Visual Studio 2003부터 가능하다는데.. 왜 이제 안걸까? ㅋㅋ 아래 코드와 같이..
파워포인트 파일을 HTML로 변환하는 방법
2009. 2. 12. 11:00
프로그래밍
예전에 eStream Presto와 같은 동영상 강의 프로그램을 만든적이 있는데 그때 사용했던 코드이다. 동영상 강의 프로그램의 구조는 의외로 무척이나 간단한데 PPT를 보여주기 위해서 일단 PPT를 이미지나 HTML 형태로 변환하고 변환된 HTML 파일을 보여 줄 수 있는 임베디드 웹 브라우저를 올리면 된다. 그리고 그 위에 그림이나 글자를 쓸 수 있도록 캔버스나 컨트롤을 올리면 되는데 (오래되서 기억은 잘 나지 않지만 웹 브라우저 위에 컨트롤을 올리는게 좀 귀찮았던걸로 기억난다.) 그리고 마지막으로 음성을 녹음하여 mp3로 저장하고 타이머를 통해서 녹음 및 캡쳐된 작업을 그래로 뿌려주면 된다. 음... 간단하지 않네... 아무튼.. 이걸 만들어서 학부 프로젝트로 제출해서 시연을 했는데 교수님 曰, "..
Mac vs Windows vs Linux/Unix
2009. 2. 11. 17:17
프로그래밍
뭐 이것들끼리 사이가 안좋은건은 잘 알지만 그래도 CR/LF 같은 건 좀 맞춰주면 안되는건가? 파이썬 프로그램 개발 후 실제 적용을 해보니까.. 덜컥... boot.ini 파일을 제대로 읽어오지 못하더란 사실... 원인이 뭔고 했더니 Mac에서 boot.ini 파일을 수정하게 되면서 캐리지 리턴과 라인 피드를 맥용으로 넣어주다보니 부팅시에 이 값을 읽어오질 못하더란 말씀.. 이런것하나 유연하게 대처하지 못하는 부트로더나 셋다 다른거 알면서도 통일 안시키는 놈들이나 다 똑같아 보이는구만 참고로 윈도우 : \r\n 리눅스 : \n 맥 : \r 귀차니즘 발동!!
부팅 순서 변경 파이썬 소스 코드
2009. 2. 11. 13:11
프로그래밍
나는 Mac OSX Leopard와 Windows XP를 멀티부팅으로 쓰고 있다. 예를들어 윈도우 업데이트를 하고 나면 리부팅이 필요한데 이때 다시 윈도우로 부팅이 되기를 기대한다. 그러나 디폴트 설정이 맥으로 되어있기 때문에 잠깐 한눈을 팔고나면 어느새 맥이 부팅되고 있다. 귀찮게.. 또 리부팅.. 그래서 이 코드를 만들었다. 마지막으로 부팅한 것을 기본으로 부팅 순서를 변경하는 프로그램이다. 만약 윈도우로 부팅했다면 리부팅시 다음은 윈도우로 부팅된다. 물론 자신이 설정해둔 시간동안은 멀티부팅 선택화면이 나타난다. 반대로 맥으로 부팅한 후 리부팅하면 다시 맥으로 부팅된다. 단점은 다음날 아무 생각없이 놔뒀다가 엉뚱한 OS가 뜰 수도 있다. 예를들어 잠깐 윈도우를 사용했다가 껐는데 다음날 당연히 맥으로 ..