요즘 뒤적거린 것들에 RDBMS가 아닌, Column oriented 나 Document oriented database에 대해서 좀 적었었다. (정말 조금 적었다.) 몇일 전 우연히 <Angular/>라는 서비스를 알게 됐는데 이게 Document oriented 중 하나인 CouchDB를 백엔드에 두고 있다고 했다. 안그래도 컬럼기반이니 문서기반이니 하는 것들을 좀 만져보고 싶었는데 스크린캐스트를 봤더니 만만해보여 좀 만지작거려봤다.
무료로 인증 기능이 없는 계정을 만들 수 있다. 여기에 Library라는 것을 만들고, 하위에 Database를 여러 개 만들 수 있다. Database 안에 여러 개의 Entity (RDBMS의 Table과 비슷한, 스키마를 공유하는 문서들의 집합)를 저장할 수 있다.

Tutorial을 보고 따라해보면 별로 어렵지 않은데, Database 페이지에 들어가면 Javascript 코드가 하나 있다. 이걸 복사해서 아무 웹페이지에나 넣으면 준비 끗. HTML/CSS로 폼 같은걸 만들고 ng-entity나 ng-init, ng-repeat같은 속성을 적당한데 넣어주면 된다. 아래 초간단 예제를 넣어봤는데, 투표를 하면 바로 서버에 저장되고, 결과도 화면에 업데이트 된다. (참고로 ip 주소가 저장됩니다. 제가 하는게 아니라 이게 원래 그래요.)

Angular 예제

:네 :아니오
결과
  • {{v.answer}} : {{v.$id}} : {{v.$audit.created.at}}

위에 리스팅되는 정보 말고도 기본적으로 각 문서마다 $id라는 고유값(리스트에 보이는 해쉬값) 그리고 created, updated에 대한 정보가 저장된다. ip, referer, email(angular에 로그인 한 경우), timestamp 이런 것들이 자동으로 따라붙는다. 그리고 같은 문서를 업데이트하면 문서의 version이 하나씩 증가하는 점도 흥미롭다.

이런걸 Ajax Form Library라고 불러도 되겠고 Simple web apps platform이라 할 수도 있겠고 뭐, 이름을 뭐라 붙이기는 애매하긴 한데 암튼 젋고 발랄한 생각을 가진 분들은 재밌는 걸 만들 수 있을 것 같다.

Demos 페이지에 보면 Invoice 예제가 있는데, RDBMS에서의 relation 비슷한 걸 구현해놨다. 이걸 응용해서 프로그램을 하나 만드는 중인데, RDB에 익숙해서인지 새로운 툴에 맞게 고민하질 못하는 듯 싶다. 다 되면 공개를 해볼런지 말런지 아직 모르겠다.
신고
  1. Commented by BlogIcon sh. at 2010.10.15 10:14 신고

    follow-up: get<Angular/>가 서비스를 접는 모양이다. 오늘 저장된 데이터를 꺼내가라는 이메일을 받았다.

    The data in the cloud service (http://getangular.com) of <angular/> is going away, and we wanted to give you a chance to retrieve and store the data before we shut down the service on October 20th, 2010. If you need help retrieving the data see http://docs.getangular.com/REST.Basic or contact us at support@getangular.com.

    The future of <angular/> is open source version available at http://angularjs.org. It is a much more generic version of what get<angular/> was aiming for and it is available under MIT license.

    위에 나온 것처럼 angularjs.org에서 오픈소스로 이어질 모양이다.

  2. Commented by BlogIcon sh. at 2012.04.28 01:12 신고

    http://angularjs.org/ 구글이 인수한건지 그냥 지원하는건지 모르겠지만 super powered by Google이라고 한다.