웹서핑하고 돌아다닌 기록을 정리하기 위해 여러가지 솔루션(Wiki, Web browser의 bookmark, Link blog)들을 택해보았지만, 전부 각각의 방식의 한계점들 때문에, 실패에 가까운 것 같다. 딥뿔군의 제안에 따라 Last Mind..::Links를 운영중이었는데, 이 방식의 한계점은 링크를 등록하기가 쉽지 않다는 것이다. 그래서 최근에 또다시 browser의 bookmark를 사용하는 모드로 바뀌었는데, 마침 딥뿔군이 ‘Blog Links! 0.1’을 만들어 쓴다길래 나도 ruby 연습겸 console 버전으로 한번 만들어보았다.
Web browser에 integration되어서 단축키로 현재 페이지에 바로 comment하는 인터페이스 정도면 가장 좋을 것 같다. 모질라 플랫폼(XUL, …)을 체험해볼 겸 모질라쪽 플러그인을 만들어보는 것도 재미있을 듯. 그리고 추가적으로 하루하루의 링크들에서 digest를 생성해서 본 blog 쪽에 자동 posting 해주는 스크립트 정도..가 있으면 좋지 않을까 생각이 든다.
다음은 MT의 XMLRPC interface를 이용해 link posting을 하기 위한 console 버전의 ruby script.
1
2 require 'xmlrpc/client'
3 require 'pp'
4 require 'iconv'
5
6 MT_XMLRPC_URL = "http://www.lastmind.net/mt-xmlrpc.cgi"
7 APPKEY = "/home/cestlavie/WWWRoot/mt"
8
9 print "ID: "
10 id = gets.rstrip
11 print "Passwd: "
12 system "stty -echo"
13 passwd = gets.rstrip
14 system "stty echo"
15
16 def utf8(s)
17 Iconv::iconv( "utf-8", "euc-kr", s).to_s
18 end
19
20 def getUsersBlogs(id, passwd)
21 begin
22 server = XMLRPC::Client.new2(MT_XMLRPC_URL)
23 result = server.call("blogger.getUsersBlogs", APPKEY, id, passwd)
24 return result
25 rescue XMLRPC::FaultException
26 pp $!
27 end
28 end
29
30 def getRecentPosts(blogid, id, passwd)
31 begin
32 server = XMLRPC::Client.new2(MT_XMLRPC_URL)
33 result = server.call("blogger.getRecentPosts", APPKEY, blogid, id, passwd, 1)
34 return result
35 rescue XMLRPC::FaultException
36 #$stderr.print $!
37 pp $!
38 #raise
39 end
40 end
41
42 def newPost(blogid, id, passwd, content, publish)
43 begin
44 server = XMLRPC::Client.new2(MT_XMLRPC_URL)
45 # blogger.newPost use content as title and description (NOT GOOD!)
46 # result = server.call("blogger.newPost", APPKEY, blogid, id, passwd, content, publish)
47 result = server.call("metaWeblog.newPost", blogid, id, passwd, content, publish)
48 return result
49 rescue XMLRPC::FaultException
50 #$stderr.print $!
51 pp $!
52 #raise
53 end
54 end
55 print utf8('merong');
56
57 print "n"
58 getUsersBlogs(id, passwd).each do |blog|
59 #pp blog
60 print "[#{blog["blogid"]}] #{blog["blogName"]} (#{blog["url"]})n"
61 end
62
63 print "Select a blog to post: "
64 blogid = gets.rstrip
65
66 print "Title: "
67 title = gets.rstrip
68
69 print "URL: "
70 url = gets.rstrip
71
72 print "Description: "
73 description = gets.rstrip
74
75 content = {
76 'title' => utf8(title),
77 'description' => utf8(description),
78 'mt_excerpt' => utf8(url),
79 }
80
81 postid = newPost(blogid, id, passwd, content, true)
82 pp postid
83
Wiki, bookmark, Link blog 각각 장단점이 있다고 봐.. 요즘 블로깅에 열중이기때문에 Link Blog에 장점이 크게 보이지만 :) reference DB를 만들기엔 blog쪽이 wiki보다 쉽지 않나(추가가)싶다. 자주 가는 사이트를 blog로 관리하는 것은 좀 그렇고, 이 땐 북마크를 함께 사용해야겠지.
확실히 blog쪽이 온라인이기 때문에 보기도 쉽고, 검색 등 부가적인 기능도 활용할 수 있어서 좋은 것 같다. link가 복잡한 semantic을 가지고 있는게 아니어서 쉽게-공짜로 blog에 편입된다는 점도… (예를 들어, 책읽기 정보 같은 경우라면 그냥 blog에 넣기엔 무리가 있을 듯)
옛날에 언젠가 본 s/w인데, 설치하면 ie에 버튼이 하나 생기고, surfing하다가 그거 누르면 화면에 메모를 막 쓸 수 있게 되거덩. 밑줄도 긋고. pdf edit하는 것 처럼. 그게 따로 다 저장이 되고, 나중에 한 꺼번에 edit history를 볼 수 있던… 그런 sw가 있었는데… 이름은 잊어버렸음
SiteBar + Firefox + LinkBlog = ìµê³ ì ë¶ë§í¬ ì루ì !
ì´ì íì¬ìì ê³ì ë¶ë§í¬ ê´ë ¨ë ì 무를 í´ì ê·¸ë°ì§ ì ëí ë¶ë§í¬ì ê´ì¬ì´ ë§ë¤. ì´ë»ê² íë©´ í¨ê³¼ì ì¼ë¡ ë§í¬ë¥¼ í¨ê³¼ì ì¼ë¡ ê´ë¦¬í ì ììê¹? íë ê³ ë¯¼ì´ íì ìë¤. 맨 ì²ììë ì·¨ë…