이하의 글은 2011년에 쓴 것입니다. 오래된 글인 만큼, 현재의 생각과 전혀 다른 내용도 많이 포함되어 있고, 당시와는 상황이 많이 달라진 점도 있습니다. 또한, 그 당시에 잘못 알려졌던 정보도 포함되어 있을 수 있습니다. 어찌됐든 저는 제 오래된 글이 회자되는 것을 저어합니다. 읽기에 앞서 양해를 부탁드립니다.
아, 최근 정신없이 작업해놓고 블로그에 소식 올리는 것을 까맣게 잊고 있었다.
VLAAH가 대규모로 업데이트되었다. 정확히는, 내부적으로는 처음부터 다시 만들어졌다. 뭐 그 부분은 사용하는 입장에서는 흥미롭지 않은 부분이지만, 그 외에도 서비스의 여러 개념이 많이 달라졌다. 이게 대해서는 공지가 이미 되어있으나 짧게 요약하자면 다음과 같은 주요 차이점이 있다.
예전에는 투표가 곧 의견이었으나, 이제는 투표와 의견이 분리되었다. 즉, 투표를 하지 않고 의견만 쓸 수도 있게 되었다. 예전에는 중복 투표 문제 때문에 하나의 주제에는 한 사람 당 하나의 의견만을 쓸 수 있었고, 이미 의견이 있는데 하나를 더 쓰면 예전에 썼던 의견이 가려졌으나, 이제는 하나의 주제에 여러 의견을 올릴 수도 있게 되었다. 또한 명칭도
의견
에서생각
으로 바뀌었다.예전에는 의견(생각)이 어떤 주제에 관한 것인지를 정하는 숨겨진 필드가 있었으나, 이제는 그런 필드가 있는 대신 생각(의견) 내용에 특정 주제를 언급(링크)하면 그 주제에 관한 생각(의견)으로 취급하게 되었다. 이 부분이 가장 큰 변화인데, 당연히 생각(의견) 내용에는 갯수에 제한 없이 여러 주제를 언급(링크)할 수 있으므로… 생각(의견) 하나가 여러 주제에 걸쳐서 보일 수 있다.
이전에는 의견(생각)에 부가적으로 태깅을 할 수 있었는데, 이젠 태깅을 따로 하지 못하게 되었다. 예전의 주제 필드와 태그 필드가 명시적인 언급(링크) 문법으로 대체되었다고 이해하면 된다.
이전에는 의견(생각)은 한 줄만 쓸 수 있었는데 이제 여러줄도 된다.
생각(의견) 주제의 모양이 과거에는
/^?\d+$/
꼴이었으나 지금은/^\*\d+$/
꼴이 되었다. 쉽게 말해 물음표(?
) 대신 별표(*
)를 쓰게 되었다는 소리다. 이 블로그를 읽는 대부분의 개발자들은 짐작할 수 있겠지만, 쿼리 스트링과 충돌하는 문제 때문에 그렇게 되었다.의견(생각) 마크업 문법이 있었는데 주제를 링크(언급)하는
[[…]]
빼고는 다 없앴다. 그래도 Twitter처럼 URL을 그냥 붙여두면 자동 링크는 된다. 강조 문법 등이 사라졌다고 생각하면 된다.
그리고 암담한 소식이 하나 있는데 아직 API가 제대로 동작하지 않는다. 게다가 하위호환성을 전혀 제공하지 않고 있다;; 내가 예전에 API 상하위호환 관련해 여러 말을 했던 것을 생각하면 매우 부끄러운 부분이고 반성중이다… 현재는 읽기 전용 API만 제공하는데 아직 명세가 확실히 정해진 것은 아니니 사용하더라도 바뀔 수 있다는 점을 감안해주기 바란다. 아무 페이지에 가서 Accept
헤더를 원하는 포맷으로 날려주면 된다. 현재는 XML (text/xml
), JSON (application/json
), YAML (text/yaml
), Property List (application/plist+xml
), PHP serialize()
/unserialize()
데이터 (application/vnd.php.serialized
) 정도를 지원하고 있다. 간단하게 curl
을 사용해서 요청을 날려보면 다음과 같은 응답이 온다.
$ curl -H"Accept: text/yaml" http://vlaah.com/~dahlia
birthday: 1988-08-04
followers count: 174
followings count: 478
gender: male
minuses count: 0
name: ~dahlia
nick: 홍민희
normalized name: ~dahlia
pluses count: 174
thoughts count: 208
type: person
usual name: ~dahlia
$ curl -H"Accept: application/json" http://vlaah.com/VLAAH
{"plusesCount": 83, "normalizedName": "vlaah", "name": "VLAAH",
"usualName": "VLAAH", "minusesCount": 32, "thoughtsCount": 184,
"type": "topic"}