PHP ... 에 해당되는 글 7건
2008/04/14 13:51
[PHP]
2008/04/14 13:51 2008/04/14 13:51
사용자 삽입 이미지

PHP에서 RSS를 읽기위한 여러 라이브러리가 있습니다. Magpie 라이브러리를 많이 사용하지요.

Magpie는 많이 사용하니 제가 오늘 소개해 드릴것은 SimplePie입니다.

http://simplepie.org/

1개의 파일로 간편하게 구성되어있어 통합이 편리하며

여러 프레임웍을 위한 예제가 많이 존재하기 때문에 사용도 간편합니다.

  • 기본 인코딩은 utf-8 상태이기 때문에 한글이 깨진다면 euc-kr을 이용해보세요

    $this->simplepie->set_output_encoding('euc-kr');
  • 이올린에 북마크하기(0) 이올린에 추천하기(0)
    Trackback Address :: http://blog.phpdic.com/trackback/30
    [로그인][오픈아이디란?]
    Name
    Password
    Homepage

    Secret
    2008/02/22 16:03
    [PHP]
    2008/02/22 16:03 2008/02/22 16:03

    사용자 삽입 이미지

    네이버에서 서비스하고 있는 CAPTCHA

    Form 필드를 파악하여 자동으로 채워줘서 게시물을 올리거나 대량의 허위 가입을 하는등의 행위를 막기위해 CAPTCHA(Completely Automated Public Turing test to tell Computers and Humans Apart, 자동가입방지)라는 시스템을 도입하고있습니다. 사용자가 인간인지 로봇인지 간단한 질문을 내서 확인하는것이지요.

    막는자가 있으면 언제나 뚫는자도 있는법 처음 간단한 이미지 문자를 입력하는 형태였던것이 간단한 4칙연산이 추가되는 등 CAPTCHA 시스템도 계속 진화하고 있습니다. 최근에는 CAPTCHA 방법을 좀더 생산적인 프로젝트에 응용하는 reCAPTCHA 프로젝트가 생기는 등 간단한 사용자확인에서 좀 더 새로운 발전 방향을 보여주고 있습니다.

    사용자 삽입 이미지
     

    *reCAPTCHA project - 옛문서중 OCR로 판독 할 수 없는 문자를 단어단위로 잘라내 사용자에게 보여주고 입력받는 클라우드 소싱(Cloud Sourcing)을 활용한 프로젝트. http://recaptcha.net/


    PHP를 활용한 CAPTCHA중 훌륭한 두가지를 공개합니다.

    사용자 삽입 이미지

    Flickr 파일을 통한 captcha 시스템 Flickcha
    http://www.eeenmachine.com/flickcha-php4

    두번째로 소개할것은 Josh Storz이 소개한 애니메이션 CAPTCHA입니다.

    사용자 삽입 이미지

    http://www.querythe.net/Animated-Gif-Captcha/

    GIF파일을 애니메이션 형태로 합쳐주는 GIFEncoder클래스를 활용하였고 포함된 GIF를 한글 이미지 파일로 변경하는것 만으로도 쉽게 한글화 적용이 가능합니다. 예제는 이곳 에서 확인이 가능합니다.

    문자를 이리저리 비트는것보다 간단하고 개인적으로 마음에 드네요.. 익숙하지 않아서 아직 좀 불편해보이긴 하지만 말입니다.

    언제 CAPTCHA에 대해서 한번 싹 정리하고 싶군요~

    이올린에 북마크하기(0) 이올린에 추천하기(0)
    Trackback Address :: http://blog.phpdic.com/trackback/20
    [로그인][오픈아이디란?]
    Name
    Password
    Homepage

    Secret
    2008/01/11 13:42
    [PHP]
    2008/01/11 13:42 2008/01/11 13:42
    사용자 삽입 이미지

    YAML이 실용주의프로그래머나 rails에서 사용하면서 많이 알려지긴 했지만 짧게 소개하면 YAML은 XML보다 훨씬 읽기 쉽도록 만들어진 언어입니다.
    XML도 초기 도입 될 때는 텍스트 형태로 데이터가 직관적이고 훌륭하다고들 평가 했지만 사실 왓더헬 수준이었죠... 다들 무슨 최면이 걸렸는지.. 실용주의프로그래머에 나오는 "일반텍스트의힘" 과 XML은 약간 거리가 있습니다.

    YAML의 디자인 목표는 다음과 같습니다.

    1. YAML은 사람이 쉽게 읽는다.
    2. YAML은 재빠른 언어의 원시 데이터 구조와 일치한다.
    3. YAML 자료는 프로그래밍 언어 간에 이식이 가능하다.
    4. YAML은 일반적인 도구를 지원하기 위해 일관된 모형을 가진다.
    5. YAML은 한쪽을 통과하는 처리를 지원한다.
    6. YAML 은 표현이 풍부하고 확장 가능하다.
    7. YAML은 구현하고 쓰기 쉽다.

      From 세레님의 YAML Spec 번역본에서 발췌
    실제로 사용예를 보면 다음과 같은 형태로 사용 됩니다.

    development:
      adapter:  mysql
      socket:   /tmp/mysql.sock
      encoding: utf8
      database: phpdic_development
      username: phpdic
      password: pwpwpw

    YAML 사용예


    위의 예보다 실제 사용하면 좀더 복잡해지는 경우도 있지만 XML보다 간단하지요?
    당연히 데이터를 표현하기에도 XML보다 훨씬 나을겁니다.
    게임업계에서도 XML보단 YAML쪽을 검토했으면 좋겠군요 기획자에게 사랑받을텐데 말입니다.

    어쨌든 YAML의 간결함과 효용성에 PHP에서 YAML을 사용하려는 시도는 spycsyck로 공개되었고 이런 라이브러리들 중에서 Horde/Yaml 이 가장 좋다고 알려져있습니다.

    마침 Horde/Yaml이 지난 1월 7일 정식버전을 발표하였으며 YAML을 검토하셨던 분들은 사용하셔도 될것 같네요...
    개인 개발자 분들은 그냥 .php 파일에 배열을 선언하고 설정을 잡겠지만 운영팀에게 배포할 데이터 파일이 필요한 개발자들에게는 좋은 선택이 될 것같습니다. 운영 매뉴얼을 훨씬 얇게 작성 할 수 있으니까요

    [Horde/Yaml 다운로드]



    이올린에 북마크하기(0) 이올린에 추천하기(0)
    Trackback Address :: http://blog.phpdic.com/trackback/16
    골빈해커 | 2008/01/11 14:39 | PERMALINK | EDIT/DEL | REPLY
    오우.. 굳입니다.
    데이터 전송에는 XML 보다는 YAML 이 낫지요.
    저도 사용은 하고 있지만, 왜 굳이 XML 을 사용하는지 모르겠어요..ㅜ,.ㅜ;; (많이들 쓰니까 어쩔 수 없이 쓰는거겠죠.. 호환을 위해서..)
    세레 | 2008/01/12 15:54 | PERMALINK | EDIT/DEL | REPLY
    트랙백 감사합니다. ^^
    데이터를 교환하는 경계가 정해져 있다면, YAML이 XML보다 더 낫다고 생각해요.
    XML을 파싱하는 일보다, JSON으로 받으면 쉽게 사용할 수 있는 점이 선호되더라고요.
    [로그인][오픈아이디란?]
    Name
    Password
    Homepage

    Secret
    2008/01/08 11:42
    [PHP]
    2008/01/08 11:42 2008/01/08 11:42
    사용자 삽입 이미지
    Ryon Sherman 은 Google Chart 를 생성 할 수 있는  PHP Class를 공개하였습니다.

    http://www.phpclasses.org/browse/package/4299.html

    LGPL 라이선스지만 참고하시면 좋을것 같군요

    해당 클래스를 사용하면 다음과 같은 차트 생성이 가능합니다.


     <?php
       
    //Include Class
       
    require_once('GoogleGraph.php'
    );

       
    //Create Object
       
    $graph = new GoogleGraph
    ();
        
       
    //Graph
       
    $graph->Graph->setType('bar'
    );
       
    $graph->Graph->setSubtype('vertical_grouped'
    );
       
    $graph->Graph->setSize(500, 500
    );
       
    $graph->Graph->setAxis();
    //no arguments means all on
       
    $graph->Graph->setGridLines(20, 50, 1, 0
    );
        
       
    //Title
       
    $graph->Graph->setTitle('This is a test', '#FF0000', 50
    );    
        
       
    //Background
       
    $graph->Graph->addFill('chart', '#000000', 'solid'
    );
       
    $graph->Graph->addFill('background', '#FFFFFF', 'gradient', '#000000', 90, 0.5, 0
    );
        
       
    //Axis Labels
       
    $graph->Graph->addAxisLabel(array('Jan', 'July', 'Jan', 'July', 'Jan'
    ));
       
    $graph->Graph->addAxisLabel(array('0','100'
    ));
       
    $graph->Graph->addAxisLabel(array('A', 'B', 'C'
    ));
       
    $graph->Graph->addAxisLabel(array('2005', '2006', '2007'
    ));    
       
    $graph->Graph->addLabelPosition(array(1, 10, 37, 75
    ));
       
    $graph->Graph->addLabelPosition(array(2, 0, 1, 2, 4
    ));        
       
    $graph->Graph->setAxisRange(array(0, 200, 300, 400
    ));
       
    $graph->Graph->addAxisStyle(array(0, '#0000dd', 10
    ));
       
    $graph->Graph->addAxisStyle(array(3, '#0000dd', 12, 1
    ));    
        
       
    //Lines
       
    $graph->Graph->setLineColors(array('#FF0000', '#00FF00', '#0000FF'
    ));
       
    $graph->Graph->addLineStyle(array(3, 6, 3
    ));
       
    $graph->Graph->addLineStyle(array(1, 1, 0
    ));
        
       
    //Shapes
       
    $graph->Graph->addShapeMarker(array('cross', '#FF0000', 0, 1, 20
    ));
       
    $graph->Graph->addShapeMarker(array('diamond', '#80C65A', 0, 2, 20
    ));    
        
       
    //Data    
       
    $graph->Data->addData(array(5, 10, 58, 95
    ));
       
    $graph->Data->addData(array(5, 30, 8, 63
    ));
       
    $graph->Data->addData(array(3, 17, 90, 4
    ));
        
       
    //Output Graph
       
    $graph->printGraph
    ();
    ?>
    이올린에 북마크하기(0) 이올린에 추천하기(0)
    Trackback Address :: http://blog.phpdic.com/trackback/15
    [로그인][오픈아이디란?]
    Name
    Password
    Homepage

    Secret
    2007/12/26 11:31
    [PHP]
    2007/12/26 11:31 2007/12/26 11:31
    사용자 삽입 이미지사용자 삽입 이미지


    개인적으로 CodeIgniter는 PHP로 rails를 흉내내려는 php프레임워크중에서 가장 심플하면서도 강력한 프레임워크 라고 생각합니다. 여기에 Zend 프레임워크까지 붙일수 있다면 금상첨화겠지요? 그 방법을 소개한 페이지가 있어 소개합니다.

    Daniel Vecchiato 는 유명한 PHP프레임워크인 Code Igniter에서 Zendframework의 라이브러리를 사용하게 해주는 튜토리얼을 공개 했습니다.

    http://www.4webby.com/freakauth/tutorials/using-zend-framework-components-in-code-igniter

    기타 php프레임워크 중에서 코드이그니터 가 아직 인지도가 많이 부족한 편인데 한국에서도 널리 알려졌으면 좋겠네요...
    이올린에 북마크하기(0) 이올린에 추천하기(0)
    Trackback Address :: http://blog.phpdic.com/trackback/13
    [로그인][오픈아이디란?]
    Name
    Password
    Homepage

    Secret
    2007/12/20 16:04
    [PHP]
    2007/12/20 16:04 2007/12/20 16:04
    사용자 삽입 이미지


    다행히도(?) Delphi for PHP의 다음 버전을 준비하고 있나봅니다.

    코드기어(예전 볼랜드)사를 좋아하고 항상 응원하고는 있지만 Delphi for PHP는 좀 걱정이 되는 라인업입니다.

    어쨌든 새로운 버전을 준비하고 있고 새로운 메이저 업그레이드의 베타테스터를 모집한다고 하니 관심있는 분들은 지원해보세요~ 많은 관심 받을수 있으면 좋겠군요


    관련 URL은 이쪽입니다.
    http://www.surveymonkey.com/s.aspx?sm=AsT7NAxv4zC5WYKIaK9pRw_3d_3d
    이올린에 북마크하기(0) 이올린에 추천하기(0)
    Trackback Address :: http://blog.phpdic.com/trackback/8
    Tracked from 봄 詩 | 2007/12/27 18:49 | DEL
    온라인 비디오가 1였다: http://www.phpres.com/help/manual/delphi4php_demo/hello_world.htm 온라인 비디오가 2였다: http://www.phpres.com/help/manual/delphi4php_demo/windows_demo.htm 온라인 비디오가 3였다: http://www.phpres.com/help/manual/delphi4php_demo/templates.htm 온라인 비디오가 4였다:...
    [로그인][오픈아이디란?]
    Name
    Password
    Homepage

    Secret
    2007/12/18 10:37
    [PHP]
    2007/12/18 10:37 2007/12/18 10:37
    Mysql은 phpMyAdmin을 사용합니다. PostreSQL(이하 pgsql)에는 phpPgAdmin이 있지요

    사용자 삽입 이미지
    사용자 삽입 이미지
    사용자 삽입 이미지


    솥아 님의 pgsql에 대한 예찬론을 보시려면
    http://nonun.tistory.com/entry/PostgreSQL-%EC%98%88%EC%B0%AC%EB%A1%A0

    phpPgAdmin 4.2는 여기서 받을수 있습니다.
    http://phppgadmin.sourceforge.net/?page=download

    이올린에 북마크하기(0) 이올린에 추천하기(0)
    Trackback Address :: http://blog.phpdic.com/trackback/7
    [로그인][오픈아이디란?]
    Name
    Password
    Homepage

    Secret