å› ä¸ºæœ€è¿‘çš„å·¥ä½œå½“ä¸é¢‘ç¹åœ°ç”¨åˆ°äº†å¼‚æ¥çš„IO编程模型,对于异æ¥æ¨¡åž‹çš„难于维护性深感切肤之痛。工作之余便在考虑有没有什么方法å¯ä»¥ä½¿è¿™ç§æ¨¡åž‹å˜å¾—æ›´åŠ çš„æ˜“è¯»æ˜“å†™å’Œæ˜“ç»´æŠ¤ï¼Œæœ‰ä¸€ä¸ªæƒ³æ³•å¾ˆè‡ªç„¶çš„äº§ç”Ÿäº†ï¼Œå°±æ˜¯ç”¨æˆ‘ä»¬ç†Ÿæ‚‰çš„æµç¨‹åŒ–的方法æ¥åšå†™å¤„ç†æµç¨‹ï¼Œç„¶åŽåœ¨ä¸€äº›IO触å‘点上异æ¥åŒ–,也就是触å‘一个异æ¥IO请求,将当å‰çš„执行状æ€æ¢å‡ºï¼Œæ¢å…¥å¦ä¸€ä¸ªæ‰§è¡ŒçŠ¶æ€ï¼Œç›´åˆ°IO请求结æŸï¼Œè¯¥æ‰§è¡ŒçŠ¶æ€è¢«å†æ¬¡æ¢å…¥ï¼Œåˆ™ç»§ç»æ‰§è¡Œã€‚
åŽæ¥åŽ»æœç´¢ç›¸å…³çš„问题,å‘现其实这个是一个很è€çš„想法了。在计算机科å¦å½“ä¸ï¼Œè¿™ä¸ªæœ¯è¯å«åšCoroutine,最早æ出是在1969年,而在早期的高级è¯è¨€lispå’Œschema当ä¸å°±æœ‰å®žçŽ°ã€‚如果把Coroutine和函数进行比较的è¯ï¼Œå‡½æ•°åªæœ‰ä¸€ä¸ªå…¥å£ç‚¹ï¼Œè€ŒCoroutineå¯ä»¥æœ‰å¤šä¸ªå…¥å£ç‚¹ã€‚当Coroutine被第一次调用到的时候,它将从起始处开始执行,一旦é‡åˆ°å…·æœ‰yieldè¯ä¹‰çš„è¯å¥çš„时候,就是返回给å¦å¤–一个Coroutine或者调用者,而在接下æ¥è¢«è°ƒç”¨çš„时候,就从yieldè¯å¥ä¸‹é¢çš„一æ¡è¯å¥ç»§ç»æ‰§è¡Œç›´åˆ°é‡åˆ°æ–°çš„yieldè¯å¥æˆ–者Coroutine的结æŸã€‚
如果了解Python,其实Python当ä¸çš„Generator就是一ç§Coroutine。比如
def xrange(start, end):
   val = start;
   while ( val < start ):
      yield val
      val += 1
除了Python,Stackless-Pythonå’Œ.NET也有相应的实现,而C/C++虽然有一些实现,但是通用性都ä¸å¤ªå¥½ï¼Œå› 为实现难度相对比较大,毕竟Coroutineå®Œå…¨é¢ è¦†äº†C/C++基于stack的函数调用模型。
下é¢å¤§ä½“上看一下Coroutineçš„å‡ ä¸ªC实现,下次å†å†™ã€‚
今天å¶å°”在电视上看到的,HONDA(本田)的工程师带ç€ä»–们的类人形机器人ASIMO到四å·ç¾åŒºç»™å©å们表演。电视上åªæœ‰å¾ˆçŸçš„一些片æ–,但是ä»ç„¶å±•ç¤ºäº†ASIMO的一些很强大的特性,比如奔跑。
éšå³Google了一下这款机器人的资料,å‘现这个机器人还真是ä¸ç®€å•ï¼š
æ ¹æ®wikipedia上é¢çš„介ç»ï¼Œè¿™æ¬¾æœºå™¨äººé«˜130公分,é‡54公斤,Airborne time(这是什么,å应时间?)0.03秒,具有34个自由度(å¯ä»¥ç†è§£æˆ34个关节么……)。å¯ä»¥è¯†åˆ«ç§»åŠ¨çš„物体ã€å§¿åŠ¿ã€æ‰‹åŠ¿ã€çŽ¯å¢ƒã€10å¼ è¿åŠ¨ä¸çš„人脸ã€ä»¥åŠä¸åŒçš„声音。
å‡ æ®µYoutube上é¢çš„视频:
CES 2007上é¢çš„demo
http://www.youtube.com/watch?v=cfaAiujrX_Y
以åŠåœ¨HONDA实验室里é¢çš„demo:
http://www.youtube.com/watch?v=Q3C5sc8b3xM
相当的强大。
这款机器人ä¸ä»…具有类人的外观ã€è‡ªä¸»è¡Œèµ°ã€ä¸Šæ¥¼æ¢¯çš„能力,而且å¯ä»¥ä»¥æ—¶é€Ÿ6公里奔跑,以时速5公里转弯。从demo里é¢çœ‹ï¼Œè¿˜å¯ä»¥æ„Ÿå—到人对其手臂的作用力而跟人一起转弯。ä¸ä»…如æ¤ï¼Œçœ‹demo上é¢æŽ¨ä¸€ä¸ªæŽ¨è½¦çš„部分,å¯åŠ¨æ—¶å¤šåŠ 的一点力é“,以åŠè½¬å¼¯æ—¶ä¸¤åªæ‰‹ä¸åŒçš„力é“都相当的好。
å¦å¤–就是精度。看机器人体æ“表演的一段,明显能够看出其手臂在快速的è¿åŠ¨ä¹‹åŽä»ç„¶å¯ä»¥å¿«é€Ÿçš„åœåœ¨æ£ç¡®çš„ä½ç½®ä¸Šã€‚这个看起æ¥å¾ˆcool,而且我相信也是有相当难度的。
看它推推车的那一段,真想弄个回æ¥å¸®æˆ‘去超市买东西……
ä¸è¿‡æ®è¯´ï¼Œåˆ¶é€ 一个需è¦106,710,325日元,折åˆäººæ°‘å¸6829460.8元。
HONDA的网站上é¢è¿˜æœ‰æ›´å¤šçš„视频。
最åŽç”¨HONDAçš„ASIMO墙纸上é¢çš„一å¥è¯æ¥æ述:The power of Dreams。翻译过æ¥å°±æ˜¯ï¼šæ¢¦æƒ³çš„力é‡ã€‚
ç¦ç‘ç›’å2F(使用龙芯2F处ç†å™¨ï¼‰å‡ºè´§ï¼ŒåŽ»å¹´å¼€å§‹é¢„定的时候登记了一下,于是上个星期龙梦公å¸çš„人问我现在è¦ä¸è¦ç¡®è®¤é¢„定。我是很想æžä¸€ä¸ªè¿‡æ¥çŽ©çŽ©çš„,但是,买回æ¥è¿˜ä¸è§å¾—有空折腾,而且暂时龙梦盒åæ–货,暂时就放一放了。
å¦ä¸€ä¸ªè¯é¢˜æ˜¯æœ‰äººæŠ˜è…¾å‡ºæ¥çš„Android在Nokia N810上é¢çš„æˆåŠŸå®‰è£…,åªæ˜¯Nokia N810也有些å°è´µã€‚
所以……
å°±æ˜¯è¿™æ ·ã€‚
æ¯•ç«Ÿæ ¡å†…ä¸æ˜¯Facebook,在å¦æ¥Facebookå¼€å‘API之形的时候,å´æ²¡æœ‰æ²¿ç”¨å¹³å°çš„æ ¸å¿ƒéƒ¨ä»¶ä¹‹ä¸€ï¼šå¼€å‘许å¯ã€‚
为什么一个平å°çš„å¼€å‘许å¯å¦‚æ¤é‡è¦å‘¢ï¼Ÿå› 为开å‘许å¯æ˜¯å¹³å°ä¾›åº”者和开å‘者之间的法律å议。一个设计良好的åè®®å¯ä»¥è®©ä»¥è¿™ä¸ªå¹³å°ä¸ºæ ¸å¿ƒçš„众多应用形æˆä¸€ä¸ªè‰¯æ€§çš„ã€ç›¸äº’促进的庞大的社区甚至是产业。典型的例å就是Mozilla Firefox以åŠå›´ç»•ç€Mozilla通用许å¯è¯å½¢æˆçš„庞大的Mozilla社区,包括数以万计的æ’件程åºã€æ‰©å±•ã€çš®è‚¤ç‰ç‰ã€‚还有GNU通用许å¯ï¼Œä»¥åŠå›´ç»•åœ¨GNU Linux周围的庞大的GNU社区。
所有的这些æˆåŠŸçš„许å¯éƒ½æœ‰ä¸€ä¸ªå…±åŒç‰¹ç‚¹ï¼šåœ¨ä¿ç•™éƒ¨åˆ†æƒåˆ©çš„åŒæ—¶ï¼Œä¸å‰¥å¤ºä½œè€…本身对于该作å“的知识产æƒå’Œä»–人利用该作å“赚钱的æƒåˆ©ã€‚Mozillaå°±ä¸ç”¨è¯´äº†ï¼Œå®ƒæ—¢ä¸è¦æ±‚æ’件开æºï¼Œä¹Ÿè¦æ±‚æ’件必须把知识产æƒè®©æ¸¡ç»™Mozillaï¼Œä½ çˆ±æ€Žä¹ˆæžæ€Žä¹ˆæžã€‚ä¸¥æ ¼å¦‚GPL者,虽然ä¸å…许通过å°é—æºä»£ç 赚钱,但是并没有剥夺他人出售GPL软件的æƒåˆ©ï¼Œæ›´æ²¡æœ‰é™åˆ¶ä½¿ç”¨GPL软件æä¾›æœåŠ¡èµšé’±ï¼Œè€Œä¸”GPL唯一ä¿ç•™çš„æƒåˆ©ä¾¿æ˜¯ä½œè€…的知识产æƒã€‚æ£å› 为有利å¯å›¾ï¼Œèµ„本æ‰ä¼šèšé›†è¿‡æ¥ï¼Œä½ 自己æ‰èƒ½å˜æˆä¸€ä¸ªå¹³å°ã€‚
ä½†æ˜¯åœ¨æ ¡å†…çš„å¼€å‘许å¯å½“ä¸ï¼Œæœ‰ä¸‹é¢çš„一些规定:
2.4
å¦‚å› å…¶æä¾›ç»™æ ¡å†…ç½‘çš„å¼€å‘作å“å˜åœ¨æƒåˆ©ç‘•ç–µæˆ–侵犯了第三方的åˆæ³•æƒç›Šï¼ˆåŒ…括但ä¸é™äºŽä¸“利æƒã€å•†æ ‡æƒã€è‘—作æƒåŠè‘—作æƒé‚»æŽ¥æƒã€è‚–åƒæƒã€éšç§æƒã€å誉æƒç‰ï¼‰è€Œ
å¯¼è‡´æ ¡å†…ç½‘æˆ–ä¸Žæ ¡å†…ç½‘åˆä½œçš„其他å•ä½é¢ä¸´ä»»ä½•ç´¢èµ”ã€è¯‰è®¼ï¼›æˆ–è€…ä½¿æ ¡å†…ç½‘æˆ–è€…ä¸Žæ ¡å†…ç½‘åˆä½œçš„其他å•ä½å› æ¤éå—任何å誉ã€å£°èª‰æˆ–者财产上的æŸå¤±ï¼Œå¼€å‘者将积æž
地采å–一切å¯èƒ½é‡‡å–的措施,以ä¿è¯æ ¡å†…网åŠä¸Žæ ¡å†…网åˆä½œçš„其他å•ä½å…å—上述索赔ã€è¯‰è®¼çš„å½±å“。åŒæ—¶å¼€å‘è€…å¯¹æ ¡å†…ç½‘åŠä¸Žæ ¡å†…网åˆä½œçš„其他å•ä½å› æ¤éå—的直接
或间接ç»æµŽæŸå¤±è´Ÿæœ‰å…¨éƒ¨çš„èµ”å¿è´£ä»»ï¼›
å…ã€æ’件应用程åºçš„æƒåˆ©å½’属
1.
å¼€å‘è€…åœ¨æ´»åŠ¨æ ¡å†…ç½‘æ’件应用程åºå¼€å‘许å¯è¯ã€ä¸”将其开å‘的作å“æä¾›ç»™æ ¡å†…ç½‘ï¼Œå³è§†ä¸ºå…¶å·²ç»å°†åŸºäºŽä½œå“的全部æƒåˆ©ï¼ŒåŒ…括但ä¸é™äºŽæ‰€æœ‰æƒåŠçŸ¥è¯†äº§æƒæ°¸ä¹…性ã€ä¸å¯æ’¤é”€çš„ã€ç‹¬å®¶è®©æ¸¡ç»™æ ¡å†…网。
2.
ç»å¼€å‘者创作完æˆå¹¶æäº¤ç»™æ ¡å†…ç½‘çš„åº”ç”¨ç¨‹åºï¼Œæ ¡å†…网在全世界范围内享有å…费的ã€æ°¸ä¹…性的ã€ä¸å¯æ’¤é”€çš„æƒåˆ©å’Œè®¸å¯ï¼Œä»¥ä½¿ç”¨ã€å¤åˆ¶ã€å‡ºç‰ˆã€å‘è¡Œã€ä»¥åŽŸæœ‰æˆ–其他
å½¢å¼è¿›è¡Œæ”¹ç¼–ã€è½¬è½½ã€ç¿»è¯‘ã€ä¼ æ’ã€è¡¨æ¼”和展示æ¤ç‰å†…容(整体或部分)。åŒæ—¶å¼€å‘者承诺,ä¸å°±ä¸Šè¿°ä½œå“以åŠä¸Šè¿°ä½œå“的改编作å“对任何第三方进行任何形å¼çš„许
å¯æˆ–授æƒä½¿ç”¨ã€‚
3. ç»å¼€å‘者创作而产生的文本ã€å›¾ç‰‡ã€å›¾å½¢ã€éŸ³é¢‘å’Œ/
或视频ç‰èµ„料的所有æƒåŠçŸ¥è¯†äº§æƒå½’å±žäºŽæ ¡å†…ç½‘ï¼Œæœªç»æ ¡å†…网åŒæ„,开å‘者ä¿è¯ä¸ä»¥ä»»ä½•å½¢å¼ç›´æŽ¥æˆ–间接å‘布ã€æ’放ã€å‡ºäºŽæ’放或å‘布目的而改编或å†å‘行,或者用于其他任何商业目的。åŒæ—¶ä¿è¯ä¸è®¸å¯ä»»ä½•ç¬¬ä¸‰æ–¹ä»Žäº‹ä¸Šè¿°è¡Œä¸ºã€‚
[….]
å…«ã€å…责声明
1ã€æ ¡å†…网有æƒåœ¨æå‰é€šçŸ¥æˆ–ä¸é€šçŸ¥çš„情况下以任何ç†ç”±éšæ—¶ä¿®æ”¹ã€é™åˆ¶ã€æš‚åœæˆ–åœæ¢å…¨éƒ¨æˆ–部分开å‘者æœåŠ¡ï¼Œè€Œä¸”对于任何æ¤ç±»ä¿®æ”¹ã€é™åˆ¶ã€æš‚åœæˆ–åœæ¢è¡Œä¸ºï¼Œæ ¡å†…网对开å‘者或任何第三方ä¸è´Ÿä»»ä½•è´£ä»»ã€‚
简å•çš„说:åšæ’件的开å‘è€…ï¼Œä½ ä¸æ‹¥æœ‰å¯¹äºŽè¯¥æ’件的知识产æƒï¼Œä½ 的知识产æƒå·²ç»è®©æ¸¡ç»™äº†æ ¡å†…ï¼›ä½†æ˜¯ï¼Œå‡ºäº†é—®é¢˜ä½ è¦è´Ÿè´£ï¼Œéœ€è¦èµ”å¿ä½ 也è¦è´Ÿè´£ã€‚
è¿™æ ·åªä¼šå“èµ°å¼€å‘者,平å°ä¸æ˜¯è¿™ä¹ˆåšçš„。
但是å过æ¥è¯´ï¼Œæ ¡å†…有åšæˆå¹³å°çš„打算么?æ怕没有。FacebookåšAPI目的很大程度上是为了把自己平å°åŒ–,让更多的网站å¯ä»¥é€šè¿‡è‡ªå·±çš„用户基础æ¥æŽ¨å¹¿ï¼Œç„¶åŽå¤§å®¶ä¸€èµ·èµšé’±ï¼Œå¯»æ±‚的是一ç§Win-Winçš„å¯èƒ½æ€§ã€‚æ ¡å†…åˆ™èµ°äº†å‡ ä¹Žå®Œå…¨ç›¸å的一æ¡è·¯ï¼Œçœ‹èµ·æ¥æ ¡å†…想è¦é€šè¿‡è¿™ç§æ–¹å¼æ¥å¼¥è¡¥è‡ªå·±åˆ›æ–°åŒ®ä¹çš„问题,但是方å¼é”™äº†â€”—想è¦ä¸–界上的èªæ˜Žäººä¸ºä½ æœåŠ¡ï¼Œä½ 必须给他们点什么,而ä¸æ˜¯ä»Žä»–们那里抢过æ¥ã€‚
æ ¡å†…ç§‰æ‰¿ç€å®ƒä¸€è´¯çš„é£Žæ ¼ï¼Œç´§éšè€å¤§å“¥Facebookçš„è„šæ¥ï¼Œä»Šå¤©ä¹Ÿå…¬å¸ƒäº†å…¶API:
http://app.xiaonei.com/developers/home.do
简å•çœ‹äº†ä¸€ä¸‹ï¼Œæžœç„¶æ˜¯ä¸€è´¯çš„æ ¡å†…é£Žæ ¼ï¼šåŸºæœ¬ä¸Šå®Œå…¨æ˜¯Facebook API的翻版。
当å‰çš„版本当ä¸ï¼Œè¿˜æ²¡æœ‰Facebookçš„FQL(Facebook Query Language)和FBJS(Facebook Javascript),但是已ç»æœ‰äº†REST-like APIå’ŒFBML(Facebook Markup Language)的翻版XNML(Xiaonei Markup Language)。
尽管是新公开,但是æ®æœ‹å‹é‚£é‡Œå¾—æ¥çš„资料,两个礼拜å‰å°±å·²ç»å¯¹ä¸€äº›åˆä½œä¼™ä¼´å…¬å¼€äº†ï¼Œæ‰€ä»¥è™½ç„¶å®˜æ–¹çš„APIå‘布定在明天,今天已ç»æœ‰äº†å¾ˆå¤šçš„应用在上é¢äº†ã€‚大多数应用都ä»ç„¶ä»¥å°†äººä»¬è”系在一起为目的,还有一些å°æ¸¸æˆçš„排行榜ç‰ç‰ï¼Œè¿˜æœ‰å°±æ˜¯ä¸ºè‡ªå·±çš„网站åšæŽ¨å¹¿çš„stub page。
总之还ä¸é”™ã€‚
I mean OpenInkpot.
It cost 5 nights and 7 GB of disk to compile, OMG.
— Update @ 2008-4-19 —
I found I compiled the x86 version, not the ARM version…
Try again, but VM disk is full now…
http://herbsutter.spaces.live.com/Blog/cns!2D4327CC297151BB!917.entry
Herb Sutter, the C++ guru, finally left Live Space due to the comment spam out of control.
I like Live Spaces, and I really
hate moving a blog, but unfortunately the comment spam is out of
control and I just can’t keep up with the tools available to manage it
here — other than accepting a blog with no comments at all, which I’m
unwilling to do. Your comments are too valuable to give up.
I have researched on the blog comment spams for a long time, since my blog was spammed at the first time (in Chinese). Also I created a semi-automatic solution (in Chinese) to delete the spams. I believe not only me is suffering the blog comment spams, so I was thinking to make the solution totally automatic, and create a tool to clean blog comment spams for us spammer haters.
However, even I created the tool, that does not means our bloggers should take the responsibility to do anti-spam tasks. Anti-spam is the business of the service provider. Live Space SHOULD improve its comment system, or it will become Live Spam and more and more people will leave.
Google Android SDKå‘现安全æ¼æ´ž
Core Security said Android SDK m3-rc37a and earlier are vulnerable to
several bugs in components that process GIF, PNG and BMP images, and
Android SDK m5-rc14 is vulnerable to a security bug in the component
that process BMP images.
CAPTCHA is dead, long live CAPTCHA
Hotmail, Yahoo, å’ŒGMailçš„CAPTCHAè¿‘æœŸç›¸ç»§è¢«ç ´æŽ‰ï¼Œè™½ç„¶å®ƒä»¬çœ‹èµ·æ¥æ˜¯é‚£ä¹ˆåšä¸å¯æ‘§ï¼šGoogle: Yahoo:Hotmail:
— ftofficer的一点看法 —
æ£å¦‚æ–‡ç« ä¸æ‰€æåˆ°çš„é‚£æ ·ï¼ŒCAPTCHA对于专业的spamå‘é€è€…å·²ç»è¶Šæ¥è¶Šæ²¡æœ‰é˜²å¾¡åŠ›ï¼Œå®ƒçš„作用å¯èƒ½åœ¨ä¸ä¹…çš„å°†æ¥å°±å°†é€€åŒ–为仅仅为了防script kids了。对于专业的spamå‘é€è€…æ¥è¯´ï¼ŒæŠ€æœ¯æ‰‹æ®µæ˜¯æ— 法防ä½ä»–们的,尤其在ä¸å›½è¿™ç§ä½ŽäººåŠ›æˆæœ¬çš„环境下,真的雇佣人æ¥è¯»CAPTCHA并且解读,都并éžä¸€ä»¶ä¸å¯èƒ½çš„事情。
— /看法完 —
今天å‘现了akismet这个网站。
通过REST架构æä¾›API,å…许blog软件验è¯æ¯ä¸ªComment是ä¸æ˜¯spam,然åŽå†³å®šæ˜¯å¦å°†å…¶å‘布到blog上é¢ã€‚WordPresså·²ç»å®žçŽ°äº†å¯¹åº”æ’件。
We can’t stand spam.
Who can? You have better things to do with your life than deal with
the underbelly of the internet. Automattic Kismet (Akismet for short)
is a collaborative effort to make comment and trackback spam a
non-issue and restore innocence to blogging, so you never have to worry about spam again.
Akismet is free for personal use.
In the spirit of helping the blogosphere as much as possible, we’ve
decided to make Akismet free for as many people as possible. We have free API keys available for your personal blog.
最近工作比较忙,所以åªèƒ½ä¸‹äº†çæžæžè¿™ä¸ªä¸œè¥¿ã€‚今天终于æžå®šäº†ï¼Œç„¶åŽçœ‹ç€æ•°å个Spam Comment瞬间æžå®šè¿˜æ˜¯å¾ˆæœ‰æˆå°±æ„Ÿçš„。
这个问题的关键在两个问题上:第一,如何得到一个Spam Commentçš„åˆ—è¡¨ï¼›ç¬¬äºŒï¼Œå¦‚ä½•åˆ é™¤å®ƒä»¬ã€‚
先考虑第二个问题。其实ä¸ç®¡Space的代ç 多å¤æ‚,最åŽå¯¹Blogçš„æ“作还是è¦ç»è¿‡HTTPä¼ è¾“çš„ã€‚æˆªèŽ·HTTPä¼ è¾“æ•°æ®çš„方案有很多,我用的是TamperData这个Firefox扩展。简å•çš„找两个Commentsåˆ é™¤ä¸€ä¸‹ï¼Œå‘现对应的HTTPè¯·æ±‚æ˜¯è¿™æ ·çš„ï¼š
POST http://ftofficer.spaces.live.com/parts/blog/script/BlogService.fpp?cnmn=Microsoft.Spaces.Web.Parts.BlogPart.FireAnt.BlogService.delete_items&ptid=0&a=&au=undefined HTTP/1.1
Host: ftofficer.spaces.live.com
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; zh-CN; rv:1.8.1.11) Gecko/20071127 Firefox/2.0.0.11
Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5
Accept-Language: zh-cn,zh;q=0.7,en-us;q=0.3
Accept-Encoding: gzip,deflate
Accept-Charset: UTF-8,*
Connection: close
Content-Type: application/x-www-form-urlencoded
X-FPP-Command: 0
sc: [...]
Referer: [...]
Content-Length: 117
Cookie: [....]
Pragma: no-cache
Cache-Control: no-cache
cn=Microsoft.Spaces.Web.Parts.BlogPart.FireAnt.BlogService&mn=delete_items&d=[{1,%22cns!423B72634E2F6B7E!611%22}]&v2
å…¶ä¸æœ€é‡è¦çš„ä¸œè¥¿å°±æ˜¯çº¢è‰²æ ‡è®°çš„éƒ¨åˆ†ï¼Œå‰é¢Cookieæ˜¯ä½œä¸ºä½ å·²ç»ç™»å½•åˆ°Live Spaceçš„è¯æ®ï¼›åŽé¢çš„一串å—符串就是è¦åˆ 除的Commentçš„ID。所以我们需è¦çš„工作就是获å–到这个ID,然åŽä½¿ç”¨HTTPé‡æ”¾å°±å¯ä»¥äº†ã€‚最åŽæˆ‘直接å·æ‡’用了NetCat,写了一个Request的模æ¿ï¼Œç”¨Perl替æ¢ä¸€ä¸‹å…¶ä¸çš„ID,用NC连上Live Space然åŽé‡æ”¾å°±æ˜¯äº†ã€‚æ–¹æ³•å°±æ˜¯è¿™æ ·ï¼Œå¦‚æžœè¦åšæˆè½¯ä»¶å¯èƒ½è¿˜æ¯”较麻烦一点,看看有空å†æžï¼Œæœ€è¿‘实在太忙。
然åŽå›žåˆ°ç¬¬ä¸€ä¸ªé—®é¢˜ï¼Œæˆ‘们需è¦èŽ·å–到所有的Spam Comments的列表,这个问题ä¸å¯é¿å…çš„å°±è¦æŠŠSpace爬一é,枚举当ä¸æ‰€æœ‰çš„Comments的内容,并一一判æ–。如果符åˆæŸç§æ¡ä»¶ï¼Œå°±å°†å…¶ID记录下æ¥ã€‚ä¸è¿‡è¦ä»Žå¤´åˆ†æžSpace的页é¢ç»“构并且枚举出ID和内容也是个很好大的工程,ä¸å¦‚找找有没有现æˆçš„方案。ç»è¿‡ä¸€ç•ªGoogle,找到了Live Space Mover这个项目。这个项目当ä¸åŒ…括了枚举Live Space当ä¸æ‰€æœ‰çš„Comments的功能,功能ä¸é”™ã€‚但是ä¸è¶³çš„是åªèƒ½èŽ·å–到的是Comments的内容,å‘é€è€…这些信æ¯ï¼Œä¸åŒ…括对我æ¥è¯´æœ€é‡è¦çš„ID,ä¸è¿‡è¿™ä¸æ˜¯ä»€ä¹ˆå¤§é—®é¢˜ï¼ŒPython的脚本在哪里放ç€ï¼Œä»£ç 改改就行了。这段代ç 改过之åŽï¼ŒèŠ±10分钟把Blog爬了一é,æˆåŠŸç”Ÿæˆåˆ—表,然åŽæ‹¿perl解æžä¸€ä¸‹ï¼Œè°ƒç”¨ä¸€ä¸‹nc,æžå®šã€‚
方案是有了,有空整ç†ä¸€ä¸‹ï¼Œåšä¸€ä¸ªç‚¹ç‚¹é¼ æ ‡å°±èƒ½æžå®šçš„东西,或者一个命令行æžå®šçš„东西。
å†è¯´å†è¯´ï¼Œå¿™å¾—很。有没有人自愿报å实践一下的?