Notice
Recent Posts
Recent Comments
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- 명사 분석기
- ajax
- ror실행
- 명사 추출기
- 스킨 스쿠버
- 책이야기
- C/C++
- 도커
- 주식이야기
- 나의 취미
- nodejs express
- rss
- 명사 뽑아내기
- iBatis
- Lift
- 메일왕창보내는법
- 나의 프로젝트
- php thumbnail
- express for node.js
- ejb
- docker
- node.js web framework
- Node.js
- 베트남어
- php
- Eclipse
- scala
- Cross
- 디즈니씨
- flex3
Archives
- Today
- Total
nkdk의 세상
lift PocketChange란 무엇인가? 본문
이번 에는 포켓 체인지에 대해서 해 볼까요?
일단 http://wiki.liftweb.net/index.php?title=Lift_View_First 이 사이트를 봐 보시지요.
감각적으로 보게 되면
일단 http://wiki.liftweb.net/index.php?title=Lift_View_First 이 사이트를 봐 보시지요.
<html>이렇게 뷰 부분에 선언이 되어 있는데 이것도 저희 회사 사장님이 자주 이야기 하시는 것 처럼
...
<lift:snippet type="show:myForm" form="POST">
<tr><td>Name</td><td><f:name><input type="text"/></f:name></td></tr>
<tr><td>Birthyear</td><td><f:year><select><option>2007</option><option>2006</option></select></f:year></td></tr>
<tr><td> </td><td><input type="submit" value="Add"/></td></tr>
</lift:snippet>
...
</html>
감각적으로 보게 되면
class Show {
def myForm(xhtml: Group) = {
var name = ""
def handleYear(year: String) {
... the form's been submitted... do something
}
Helpers.bind("f", xhtml, "name" -> SHtml.text(name, name = _),
"year" -> SHtml.select((1900 to 2007).toList.reverse.map(v => (v.toString, v.toString)),
Empty, handleYear _))
}
}
이렇게 하면 show:myForm 라는 타이프가 scala에 코드와 미묘하게 바인딩이 되는게 보이실 겁니다.
두번째 예제를 보면
두번째 예제를 보면
<table>
<lift:snippet type="show:users">
<tr><td><f:first_name>David</f:first_name></
td><td><f:last_name>Pollak</f:last_name></td></tr>
</lift:snippet>
</table>
그럼 snippet은?
class Show {
def users(xhtml: Group) = Users.findAll.flatMap(user => bind("f",
xhtml, "first_name" --> user.firstName, "last_name" --> user.nameName))
}
정도가 되겠네요.
자 그럼 다음으로 git으로 공개 되 있는 소스좀 받아 볼까 하는데요.
http://git-scm.com/download 로 가서 다운로드를 시도해 봅시다
잘 되네요.
자 그럼
git clone git://github.com/tjweir/pocketchangeapp.git
이 명령어로 소스를 받아 볼까요. 그럼 일단 기본적인 모양이 나오니 참고하시면 좋겠네요.
이제 부터 이 소스를 중점으로 가지고 설명할 것이니.. 꼭 받으세요. 추가로 저는 맥으로 작업 중입니다.
다른 환경에서의 테스트는 해보지 않았기 때문에.. 잘 될지는 모르지만, 지금 모양으로 봐서는 잘 될거 같네요.
다음 화에서는 전체 시스템에 축이 되는 모델에 정의 방법에 대해서 같이 한번 봅시다.