PHP 창시자 rasmus를 만났다
내가 아주 즐겨쓰는 언어인 PHP.
PHP의 창시자를 만난다는 느낌이 마치 내가 한글을 쓰고 있는데 세종대왕님을 본다는 느낌이랄까.
이건 좀 오반가. 그렇다면, 내가 지금 전파사를 하고 있는데 에디슨을 만난다는 느낌일까.
왠지 그런게 있었다. 그리고 묻고 싶었던것도 몇가지 있었고.
PHP의 창시자 정도되면 어떠한 얘기를 해주는지 정말 궁금했다.
행사를 일찌감치 알았길래 다행히 제시간에 사전등록을 마쳐 참석할수 있었다.
Simple is Hard
라는 큰 타이틀을 가지고 강연이 시작되었다.
http://talks.php.net/show/korea09
프레젠테이션은 위의 링크에서 보이는 자료로 진행되었다.
첫번째 세션이 php 성능 최적화, 퍼포먼스 관련한 내용이었고
두번째 세션이 보안, 특히 XSS에 대한 내용이었다.
나는 세미나 전부터 꼭 rasmus에게 질문하기로 생각해둔 것이 있었다.
rasmus에게 묻고 싶은 질문은 바로 이거였다.
"rasmus는 cake, zend와 같은 프레임웍을 사용하시나요? php의 프레임워크 사용에 대해 어떻게 생각하시나요?"
이미 jsp의 경우는 스트럿츠, 스프링과 같은 프레임워크를 사용하는것이 일반적이지만, php는 그렇지 않다.
phpschool에서도 프레임워크를 쓰는것이 좋냐, 안써도되느냐로 논쟁이 많다.
나는 아직까지는 프레임워크를 사용하여 프로젝트를 진행해 본적은 없지만
언제쓸지 모르는 프레임워크에 대비하기 위해 document정도는 읽고 있다.
그리고 실제 프로젝트에서는 프레임워크를 사용하지는 않지만 php를 MVC패턴을 이용하여 개발을 하고 있다.
프레젠테이션이 끝나고 이 질문을 꼭해야지라고 생각 했었는데
rasmus는 프레임워크를 사용하지 말아라, MVC역시 좋지 않다라는 말로 프레젠테이션을 시작했다.
index.php 파일과 같은 controller가 제어하게 하지 말고
잘 모듈화하여 필요한 부분만 require 해서 사용하라고 했다.
php는 컴파일해서 사용하는 다른 언어들과 차이가 있기 때문에 php를 그런언어처럼 사용하지 말라고 했다.
그리고 simple한것이 얼마나 좋은지에 대해서 계속 프레젠테이션이 이어졌다.
특히 개발자라면 고개를 끄덕일만한 '경험과 복잡도에 대한 상관관계' 그래프를 보여주었는데.
프로젝트 경험, 개발 경험이 늘어날수록 점점 복잡도가 증가하다가
그 경험이 수준을 넘어가게 되면 점점 간결함을 쫓는다는 그런 그래프이다.
나는 지금 어디쯤 와있을까. 한번 곰곰히 생각해보게 되었다.
프레젠테이션내용중에 흥미로웠던것은
rasmus가 보여주었던 여러 분석도구들이었는데 php로 개발된 어플리케이션의 성능을 측정해주는 다양한 도구들이었다.
첫번째로 소개해준 siege 는 퍼포먼스를 측정하여 수치화해서 보여주는 도구였는데
이 툴에서 눈여겨 봐야할 부분이 바로 노란색으로 되어있는
response time(응답시간)과 transaction rate(초당 트랜잭션처리량) 이다
rasmus는 유명한 PHP 오픈소스 프로젝트들을 실험대상으로 삼고 퍼포먼스를 측정하고
어떻게 최적화 할수 있는지, 그리고 최적화 전과 후의 퍼포먼스 차이를 설명해주었다.
laconica - 마이크로블로깅
habari - 블로깅
Wordpress - 블로깅
Magento - e커머스(쇼핑몰)
그리고 php를 최적화하고 캐싱해주는 APC라는 프레임워크를 소개해주고
이것을 설치했을때 얼만큼의 성능의 향상이 있는지 보여주었다.
그리고 아파치 설정이나 기타 부분에 있어서 php성능을 최고로 끌어올리는 다른 방법에 대해서 설명해주었고
어플리케이션이 어떤 파일을 require하는지 도식도를 그려주는 도구를 보여주었는데 처음보는 도구라 신기했다.
rasmus가 알려준 최적화를 통해 결과적으로 오픈소스 laconica의 경우는
최적화 전에는 0.27초의 응답시간과 초당 18.71의 트랜잭션을 처리할수 있었으나
최적화 후에는 0.09초의 응답시간과 초당 56.84의 트랜잭션을 처리할수 있게 된 것을 수치를 통해 확인하였다.
3배나 퍼포먼스가 상승한것이다. ㅎㄷㄷㄷㄷ
그 뒤에는 보안에 대한 정확히는 XSS에 대한 이야기를 해주었다.
특히 우리나라 홈페이지들이 얼마나 XSS에 취약한지 직접 눈으로 확인시켜주었다.
열정적인 분위기 속에 2시간여의 세미나가 끝이 났다.
세미나 끝난 기념으로 단체 사진촬영을 하였고
나는 개인적으로 rasmus를 찾아가 몇가지 질문을 더 했다.
Q. 당신의 복잡도와 경험에 관한 그래프를 통해서 볼때 내 실력은 복잡도가 정점에 올라와있는 그 쯤 위치한것 같습니다. rasmus씨 어떻게 하면 그 수준을 뛰어넘게 될까요?
아키텍쳐설계에 많은 고민을 해보세요. 훌륭한 아키텍쳐를 설계해보는 것만으로도 충분하답니다.
그리고 점점 더 큰 프로젝트에 도전해보세요. 프로젝트에 참여하면서 더 나은 아키텍쳐를 설계할 수 있게 됩니다.
Q. rasmus씨. 나는 굉장히 많은 php책들을 읽었고, 아직도 열심히 공부중입니다. 그리고 오픈소스를 통해 다른 사람의 소스코드를 보면서도 많은 공부를 하는데 오늘 최적화 예제로 소개되었던 locanica 나 wordpress도 나의 좋은 스승이었습니다. 하지만 오늘 rasmus의 강연을 들으니 최적화 예제 대상으로 삼았던 이들 프로젝트가 스승으로 삼기에 좋지 않은 예제가 아닌가 하고 생각했다. 저에게 추천해줄만한 잘 만들어진 php 오픈소스프로젝트가 있습니까?
추천할수 없다. 언급했던 오픈소스 프로젝트 모두 훌륭한 것이지만, 몇몇부분에서 아쉬운 부분이 있는 것이다. 어떠한 프로젝트는 어떤점이 잘 되어있으나, 어떤점이 부족하고, 대부분의 프로젝트들이 이러한 trade off(상쇄효과)를 가지고 있다. 이러한 오픈소스 프로젝트를 분석해 보면서 공부하는것도 좋은 방법이다. 여기서 자신이 조금씩 코드를 변경하면서 퍼포먼스 측정을 하여 좀더 나은 퍼포먼스를 발휘하게 하며 공부하는 것이 좋다. 그리고 꼭 이렇게 바뀌었을때 어떠한 이유로 퍼포먼스의 향상이 있었는지 철저히 분석해라.
더 많은 질문을 하고 싶었지만, 세미나 끝났을때 밤 10시가 가까워진 시간이어서 아쉽게도 발걸음을 돌렸다.
세미나가 끝나고 다른분들의 후기들을 보니 phpschool의 많은 분들이 참여하신것 같았는데
인사라도 할껄 하는 아쉬움이 남는다.
'WEB2.0 > 프로그래밍' 카테고리의 다른 글
| 아이폰 웹어플리케이션 개발의 시작. (0) | 2009/05/07 |
|---|---|
| PHP 프레임워크 사용하지 마라 (2) | 2009/04/28 |
| PHP 창시자 rasmus를 만났다 (9) | 2009/04/23 |
| [php] 해외의 웹호스팅 사용시 timezone 세팅하기 (1) | 2009/03/31 |
| 매쉬업경진대회 종료 (0) | 2009/03/08 |
| GD를 이용한 이미지 라운드코너 만들기 (0) | 2009/03/05 |
Trackback Address : http://trend21c.tistory.com/trackback/615
-
Subject : PHP의 창시자 Rasmus Lerdorf를 만났습니다
Tracked from 열이아빠의 RIA 이야기 2009/04/23 13:48 delete
PHP 언어의 창시자인 Rasmus Lerdorf 의 개발자 세미나에 다녀왔습니다. 진행을 해주신 정진호님의 소개에 따르면 게시판을 만드는데 필요해서 만든것이 PHP의 시작이 되었다고 하네요. 참 소박한 시작입니다. ^^ http://en.wikipedia.org/wiki/Rasmus_Lerdorf http://www.flickr.com/photos/phploveme/3461933257/in/set-72157617128026230/ 세미나 소개에서는..
-
Subject : [강의자료] Rasmus 의 PHP 특강 : Simple is Hard
Tracked from lovesera.com: ART of VIRTUE 2009/04/23 18:43 delete
2009년 4월 21일 화요일 밤.삼성동 야후!코리아 사무실에서는 PHP의 창시자 Rasmus Lerdorf 의작은 세미나가 열렸습니다.발표자료 : Simple is Hard ( http://talks.php.net/show/korea09 )다소 비좁고 넉넉하지 않은 강의장이었지만 많은 분들이 참석하셨고2시간이 넘게 진행된 강의 내내 모든 참석자 들이 정말 열심히 강의를 들었습니다.특히 Yslow를 통한 퍼포먼스 분석과 국내의 순위권에 있는 대형...
-
Subject : 블로고스피어 IT 리포트 114호 - 20090424
Tracked from GOODgle.kr 2009/04/24 11:18 delete
블로고스피어 IT 리포트 114호 - 20090424이번 주의 블로고스피어 IT 분야의 주요 이슈는 아이폰과 블로그 수익이로군요. 휴대폰과 돈은 현대인에게 없어서는 안될 필수 요소인거죠. ^^ IT 관련 블로그 동향을 정리하는 블로고스피어 IT 리포트를 RSS 피드 http://goodgle.kr/rss 를 통해 간편하게 구독하세요.주요 블로깅아이폰 국내 출시에 관한 이런 저런 이야기들 :드림위즈 이찬진 대표의 아이폰 출시에 관한 글입니다. 아이폰...
-
Subject : [Simple is Hard] PHP 세미나 후기
Tracked from 핵심을찔러라 - 단순함 2009/04/24 14:42 delete
Korea Yahoo 에서 주최 하는 세미나에 갔다 왔다. 일단 느낌은 "쉬운 영어로 진행 합니다." 일단 본인이 영어를 잘 모르기 때문에 많은 부분 듣고 싶은 부분을 이해 하지 못했다. 다만 발표자료를 통해 가끔씩 들리는 단어를 조합하여 알아 들으려 노력 하였다. 일단 시작은 오후 6시50분에 시작 하여 약 9시20분쯤 끝났다. 2시간이 살짝 넘는 강의 였으며 의외로 평일 오후인데 참석자가 많았다. 여튼 오늘 주최하신 야후 코리아에 감사 드리고 다..





Comment List
정진호 2009/04/23 18:37 address / modify or delete / reply
지금까지 본 것 중에 가장 통찰력 있는 포스팅입니다.
가장 옆에서 기념사진 찍으시고 마지막까지 질문하시더군요.
좋은 시간 보내신것 같아 좋네요. :)
나를찾는아이 2009/04/23 22:42 address / modify or delete
감사합니다. 신경써주신 야후측과 정진호님 덕분에 많은것 얻어갑니다. ^^
아지 2009/04/23 22:47 address / modify or delete / reply
잘 읽었습니다~
php는 프레임웍을 사용해야 하는 언어가 아니라는 부분이 인상적이군요 ^^
나를찾는아이 2009/04/25 00:14 address / modify or delete
저도 참 인상적이었습니다. ㅎ
쌀맛나는세상 2009/04/24 14:45 address / modify or delete / reply
정리한 글 잘 보았습니다. 음. 전 개인적으로 프레임워크를 적당히 사용해야 한다는 입장인데요.
실제 실무 프로젝트를 하다 보면 많은 요구사항들이 존재 하죠. 언급하신 성능상의 trade off부분은 개발 오너가 적절히 완급 조절을 해야 할듯 하군요.
요새는 php개발을 많이 안하긴 하지만 J2EE개발을 주로해서요.
여튼 정리 잘 봤습니다.
즐 주말 보내세요.
나를찾는아이 2009/04/25 00:14 address / modify or delete
맞습니다. 팀단위 협업을 위해서는 프레임워크도 역할을 한다고 생각합니다. 특히나 J2EE쪽은 필수겠죠 ㅎ
reve 2009/08/03 00:32 address / modify or delete / reply
좋은 글입니다 ~.~ php를 배우고 잇는 사람들이 있어, 그분들에게 소개할겸 퍼갈게요 ㅠ 감사합니다.!
NoCodeNoBug 2009/08/03 02:48 address / modify or delete / reply
퍼가요^^
아마데우스 2011/07/25 21:36 address / modify or delete / reply
잘 보고 퍼갑니다~ㅎ