1.시작하기
관심은 있으나 써보지 못하고 끙끙대던 Play Framework을 공부하고 있습니다. 어디서 시작할까 고민하다가 자바지기 박재성님이 쓰신 글이 있네요.
2.심화 학습
위 글에 링크되어 있는 Play Manual, tutorials & reference로 좀 더 공부를 합니다. 문서화가 잘되어 있어 읽다보니 제가 찾던 말이 딱 나오네요.
관심은 있으나 써보지 못하고 끙끙대던 Play Framework을 공부하고 있습니다. 어디서 시작할까 고민하다가 자바지기 박재성님이 쓰신 글이 있네요.
왜 플레이 프레임워크인가?이 글을 보면서 30분만에 Hello World 까지는 갈수 있었습니다. 그런데 main.html 파일을 수정하다 에러가 하나 뜨네요. 에러는 아래 라인에서 발생합니다.
<meta charset="${_response_encoding}">이클립스에서 사용할 인코딩 타입을 UTF8로 지정해주니 열리네요. 아마도 동적으로 설정하도록 되어 있는 해당 변수를 이클립스가 인식못해서 생긴거 같습니다.
2.심화 학습
위 글에 링크되어 있는 Play Manual, tutorials & reference로 좀 더 공부를 합니다. 문서화가 잘되어 있어 읽다보니 제가 찾던 말이 딱 나오네요.
Play is a perfect companion to agile software development.Play를 정의하는 설명중에 RESTful architecture가 눈에 띄네요. 평소 많이 들어본 용어인데 정확히 뭐라고 꼬집어 말하기 어려워 찾아봤습니다. 아래 URL 참고하세요.
http://blog.doortts.com/145Play의 멋진 특성 다섯가지를 다음과 같이 정의하고 있습니다.(http://www.playframework.org/documentation/1.2.4/5things)
1.HTTP 인자를 자바 메소드 인자와 연결해준다.
2.호출하는 action을 자바 메소드에 맞춰 redirect 해준다.
3.자바 객체를 템플릿으로 넘길때 반복이 필요없다.
4.JPA 지원
5.파일 업로드 지원
2.호출하는 action을 자바 메소드에 맞춰 redirect 해준다.
3.자바 객체를 템플릿으로 넘길때 반복이 필요없다.
4.JPA 지원
5.파일 업로드 지원
이쯤에서 Play를 설명하는 동영상도 한번 보시죠. http://vimeo.com/7087610 db 맵핑이나 validation등 다양한 play 특징들을 데모로 보여줍니다.
FAQ를 통해 몇가지 궁금하던 부분도 해결할 수 있었습니다.
- Play의 스크립트는 파이썬을 사용한다.
- Java 코드를 수정해도 서버를 재시작할 필요가 없다.
3.Play로 개발된 코드 엿보기
가장 좋은 설명은 example 입니다. Play는 7가지 예제를 제공하고 있어서 이 예제들을 받아서 소스를 확인해봤습니다. 예제는 \play-1.2.4\samples-and-tests에 들어있습니다.
4.Play로 서비스를 개발해서 쓸수 있을까?
RoR의 가장 큰 문제는 성능이었습니다. Play도 혹시 그런 문제가 있지 않을까 해서 확인해봤습니다. 몇가지 정보를 통해 충분히 서비스가 가능함을 확인할수 있었습니다.
FAQ를 통해 몇가지 궁금하던 부분도 해결할 수 있었습니다.
- Play의 스크립트는 파이썬을 사용한다.
- Java 코드를 수정해도 서버를 재시작할 필요가 없다.
3.Play로 개발된 코드 엿보기
가장 좋은 설명은 example 입니다. Play는 7가지 예제를 제공하고 있어서 이 예제들을 받아서 소스를 확인해봤습니다. 예제는 \play-1.2.4\samples-and-tests에 들어있습니다.
4.Play로 서비스를 개발해서 쓸수 있을까?
RoR의 가장 큰 문제는 성능이었습니다. Play도 혹시 그런 문제가 있지 않을까 해서 확인해봤습니다. 몇가지 정보를 통해 충분히 서비스가 가능함을 확인할수 있었습니다.
- 자체 컨테이너를 사용하면서 앞단에 아파치와 같은 웹서버 연동 가능
- war로 export 하여 tomcat를 이용한 서비스 가능
- Heroku와 같은 클라우드 어플리케이션 플랫폼에서 호스팅 가능
- war로 export 하여 tomcat를 이용한 서비스 가능
- Heroku와 같은 클라우드 어플리케이션 플랫폼에서 호스팅 가능
http://www.playframework.org/documentation/1.2.4/production
http://www.playframework.org/documentation/1.2.4/deployment#standalone
몇시간만에 Play의 모든것을 마스터하기는 어려울거 같네요. 하지만 기존 J2EE 프레임워크를 이용하는 것과 비교하면 정말 빨리 배울수 있을거 같네요.
스텝바이 스텝으로 따라해 볼수 있는 Tutorial과 상세한 Document도 Play의 강점입니다만 책으로 공부하는것을 좋아하시는 분들은 아마존에 Play framework Cookbook 도 나와 있으니 참고하세요.
ps) 곧 번역판이 에이콘에서 나옵니다.
참고자료
[1] http://wiki.kldp.org/wiki.php/PlayFramework
[2] http://gauryan.blogspot.com/2010/12/play_7824.html
[3] 이클립스 통합환경 구축: http://gauryan.blogspot.com/2010/12/play_7824.html
[4] GAE에 배포: http://sajagogumi.tistory.com/64, http://www.javajigi.net/pages/viewpage.action?pageId=291962884
[5] http://blog.outsider.ne.kr/522
[6] Heroku에 배포: http://usefulparadigm.com/2011/11/17/web-development-with-play-and-heroku/
[7] Play 호스팅: http://www.playapps.net/
[8] static 이슈: http://stackoverflow.com/questions/5192904/play-framework-uses-a-lot-of-statics
[9] http://www.zenexity.fr/
[10] Why there is no servlets in Play: http://iam.guillaume.bort.fr/post/558830013/why-there-is-no-servlets-in-play
[11] Play Framework cheat sheet: http://playcheatsheet.appspot.com/show/ArtemMedeu/armed/play-cheatsheets
[12] Module 생성: http://www.javajigi.net/pages/viewpage.action?pageId=292421635
[13] 테이블 시퀀스 사용하기: http://gauryan.blogspot.com/2011/02/play-hibernatesequece.html
[14] MongoDB with Play: http://www.slideshare.net/doortts/mongodb-with-play
[15] Amazon RDS에서 Play 개발: http://www.ibm.com/developerworks/kr/library/j-javadev2-19/index.html
http://www.playframework.org/documentation/1.2.4/deployment#standalone
몇시간만에 Play의 모든것을 마스터하기는 어려울거 같네요. 하지만 기존 J2EE 프레임워크를 이용하는 것과 비교하면 정말 빨리 배울수 있을거 같네요.
스텝바이 스텝으로 따라해 볼수 있는 Tutorial과 상세한 Document도 Play의 강점입니다만 책으로 공부하는것을 좋아하시는 분들은 아마존에 Play framework Cookbook 도 나와 있으니 참고하세요.
ps) 곧 번역판이 에이콘에서 나옵니다.
참고자료
[1] http://wiki.kldp.org/wiki.php/PlayFramework
[2] http://gauryan.blogspot.com/2010/12/play_7824.html
[3] 이클립스 통합환경 구축: http://gauryan.blogspot.com/2010/12/play_7824.html
[4] GAE에 배포: http://sajagogumi.tistory.com/64, http://www.javajigi.net/pages/viewpage.action?pageId=291962884
[5] http://blog.outsider.ne.kr/522
[6] Heroku에 배포: http://usefulparadigm.com/2011/11/17/web-development-with-play-and-heroku/
[7] Play 호스팅: http://www.playapps.net/
[8] static 이슈: http://stackoverflow.com/questions/5192904/play-framework-uses-a-lot-of-statics
[9] http://www.zenexity.fr/
[10] Why there is no servlets in Play: http://iam.guillaume.bort.fr/post/558830013/why-there-is-no-servlets-in-play
[11] Play Framework cheat sheet: http://playcheatsheet.appspot.com/show/ArtemMedeu/armed/play-cheatsheets
[12] Module 생성: http://www.javajigi.net/pages/viewpage.action?pageId=292421635
[13] 테이블 시퀀스 사용하기: http://gauryan.blogspot.com/2011/02/play-hibernatesequece.html
[14] MongoDB with Play: http://www.slideshare.net/doortts/mongodb-with-play
[15] Amazon RDS에서 Play 개발: http://www.ibm.com/developerworks/kr/library/j-javadev2-19/index.html
'Work & Study > TechTalk' 카테고리의 다른 글
| Play Framework을 공부하자. (0) | 2012/01/30 |
|---|---|
| Eclipse에서 CDT로 개발하기 (0) | 2012/01/25 |
| Lombok 간단 사용기 (0) | 2012/01/19 |
| CodePro AnalytiX의 Test Editor 활용하기 (2) | 2011/01/19 |
| 특정파일의 인코딩타입 알아내기 (0) | 2010/11/24 |
| 참여의 중요성 (0) | 2010/06/16 |


