{
  "version": "https://jsonfeed.org/version/1", 
  "title": "GitCafe", 
  "description": null, 
  "home_page_url": "https://www.v2ex.com/go/gitcafe", 
  "feed_url": "https://www.v2ex.com/feed/gitcafe.json", 
  "items": [
    {
      "author": {
        "url": "https://www.v2ex.com/member/byron", 
        "name": "byron", 
        "avatar": "https://cdn.v2ex.com/avatar/674b/fc5f/1343_large.png?m=1773542326"
      }, 
      "url": "https://www.v2ex.com/t/260807", 
      "title": "GitCafe \u88ab coding \u6536\u8d2d\u4e86\u3002", 
      "id": "https://www.v2ex.com/t/260807", 
      "date_published": "2016-03-03T05:58:50+00:00", 
      "content_html": "<p>\u6211\u653e\u5728 pages \u4e0a\u9762\u7684 blog \u4e0d\u77e5\u8f6c\u79fb\u5230 coding \u8fd8\u4f1a\u4e0d\u4f1a\u6b63\u5e38\u3002</p>\n"
    }, 
    {
      "author": {
        "url": "https://www.v2ex.com/member/chztv", 
        "name": "chztv", 
        "avatar": "https://cdn.v2ex.com/avatar/4759/9716/11135_large.png?m=1725932896"
      }, 
      "url": "https://www.v2ex.com/t/260572", 
      "title": "\u7ec8\u4e8e\u6765\u4e86\uff1a GitCafe \u9879\u76ee\u8fc1\u79fb\u81f3 Coding.net \u516c\u544a", 
      "id": "https://www.v2ex.com/t/260572", 
      "date_published": "2016-03-02T09:45:34+00:00", 
      "content_html": "<a target=\"_blank\" href=\"https://gitcafe.com/migration\" rel=\"nofollow\">https://gitcafe.com/migration</a>\r<br />\r<br />\u8be5\u6765\u7684\u7ec8\u4e8e\u8981\u6765\u4e86\uff01"
    }, 
    {
      "author": {
        "url": "https://www.v2ex.com/member/hongfeiyu", 
        "name": "hongfeiyu", 
        "avatar": "https://cdn.v2ex.com/avatar/0a95/1d2c/152016_large.png?m=1450535923"
      }, 
      "url": "https://www.v2ex.com/t/250121", 
      "title": "hexo \u535a\u5ba2\u540c\u65f6\u90e8\u7f72\u5230 github \u548c gitcafe \u7684\u4e00\u4e2a\u95ee\u9898", 
      "id": "https://www.v2ex.com/t/250121", 
      "date_published": "2016-01-12T05:33:15+00:00", 
      "content_html": "<p>\u90e8\u7f72\u7684\u65f6\u5019\u662f\u4e0d\u662f\u4e24\u4e2a git \u7528\u7684\u90ae\u7bb1\u5fc5\u987b\u662f\u540c\u4e00\u4e2a\uff1f<br>\n\u56e0\u4e3a\u8fd9\u6837\u624d\u4f1a ssh \u4e00\u6837<br>\n\u8fd8\u662f\u8bf4\u4e0d\u4e00\u6837\u4e5f\u53ef\u4ee5\uff1f<br>\n\u7136\u540e\u591a\u751f\u6210\u4e00\u4e2a ssh?</p>\n\n<p>\u8fd9\u4e2a\u62a5\u9519\u662f\u56e0\u4e3a\u6ca1\u6709\u540c\u6b65 ssh \u5417\uff1f<br>\nWarning: Permanently added &#39;gitcafe.com,124.42.117.218&#39; (RSA) to the list of known hosts.<br>\nPermission denied (publickey).<br>\nfatal: Could not read from remote repository.</p>\n\n<p>Please make sure you have the correct access rights<br>\nand the repository exists.<br>\nFATAL Something&#39;s wrong. Maybe you can find the solution here: <a target=\"_blank\" rel=\"nofollow\" href=\"http://hexo.io/docs/troubleshooting.html\">http://hexo.io/docs/troubleshooting.html</a><br>\nError: Warning: Permanently added &#39;gitcafe.com,124.42.117.218&#39; (RSA) to the list of known hosts.<br>\nPermission denied (publickey).<br>\nfatal: Could not read from remote repository.</p>\n\n<p>Please make sure you have the correct access rights<br>\nand the repository exists.</p>\n<div class=\"highlight\"><pre>at ChildProcess.&lt;anonymous&gt; (D:\\hexo\\node_modules\\hexo-deployer-git\\node_modules\\hexo-util\\lib\\spawn.js:42:17)\nat emitTwo (events.js:87:13)\nat ChildProcess.emit (events.js:172:7)\nat maybeClose (internal/child_process.js:818:16)\nat Socket.&lt;anonymous&gt; (internal/child_process.js:319:11)\nat emitOne (events.js:77:13)\nat Socket.emit (events.js:169:7)\nat Pipe._onclose (net.js:469:12)\n</pre></div>\n"
    }, 
    {
      "author": {
        "url": "https://www.v2ex.com/member/marffin", 
        "name": "marffin", 
        "avatar": "https://cdn.v2ex.com/gravatar/8fd94604b24358972a680517d58e0244?s=73&d=retro"
      }, 
      "url": "https://www.v2ex.com/t/249109", 
      "title": "GitCafe \u836f\u4e38\uff1f", 
      "id": "https://www.v2ex.com/t/249109", 
      "date_published": "2016-01-07T11:00:27+00:00", 
      "content_html": "<p>\u542c\u8bf4 GitCafe \u6700\u8fd1\u878d\u8d44\u5931\u8d25\u5927\u88c1\u5458\uff1f</p>\n"
    }, 
    {
      "author": {
        "url": "https://www.v2ex.com/member/gdkttt", 
        "name": "gdkttt", 
        "avatar": "https://cdn.v2ex.com/avatar/7de3/548a/133610_large.png?m=1592529391"
      }, 
      "url": "https://www.v2ex.com/t/243182", 
      "title": "\u8ff7\u832b\uff0c GitCafe \u662f\u53c8\u600e\u4e48\u4e86\uff08 This website is under heavy load\uff09", 
      "id": "https://www.v2ex.com/t/243182", 
      "date_published": "2015-12-13T04:33:32+00:00", 
      "content_html": "<p>\u6253\u5f00 gitcafe \u9875\u9762\u51fa\u73b0\u4e0b\u9762\u8fd9\u4e00\u6bb5\u5b57\uff0c github \u867d\u7136\u80fd\u6253\u5f00\uff0c\u4f46\u662f\u9875\u9762\u4e5f\u4e0d\u5b8c\u6574\u4e86\uff0c\u662f\u6211\u7684\u95ee\u9898\u8fd8\u662f\u7f51\u7ad9\u7684\u95ee\u9898\uff0c\u6211\u5df2\u7ecf\u8ff7\u832b\u4e86\u3002<br>\nThis website is under heavy load</p>\n\n<p>We&#39;re sorry, too many people are accessing this website at the same time. We&#39;re working on this problem. Please try again later</p>\n"
    }, 
    {
      "author": {
        "url": "https://www.v2ex.com/member/azzwacb9001", 
        "name": "azzwacb9001", 
        "avatar": "https://cdn.v2ex.com/avatar/77ec/14ef/129279_large.png?m=1505108081"
      }, 
      "url": "https://www.v2ex.com/t/238021", 
      "title": "gitcafe pages \u73b0\u5728\u4e0d\u597d\u7528\u4e86\u5417\uff1f\uff08\u7f13\u5b58\u66f4\u65b0\u6162\uff09", 
      "id": "https://www.v2ex.com/t/238021", 
      "date_published": "2015-11-22T05:25:23+00:00", 
      "content_html": "<p>\u4e0a\u4f20\u5185\u5bb9\u540e\uff0c\u4ece Gitcafe \u7f51\u7ad9\u7684\u5177\u4f53\u4ee3\u7801\uff0c\u80fd\u770b\u5230\u5185\u5bb9\u5df2\u7ecf\u66f4\u65b0\u3002\u4f46\u662f\u76f4\u63a5\u8bbf\u95ee\u9875\u9762\uff0c\u5185\u5bb9\u8fd8\u662f\u51e0\u5929\u524d\u7684\u3002</p>\n\n<p>\u5927\u5bb6\u6709\u8fd9\u79cd\u60c5\u51b5\u5417\uff1f\u540c\u65f6\u4e0a\u4f20\u5230 Github pages \u5c31\u6ca1\u6709\u95ee\u9898\u3002</p>\n\n<p>\u6211\u8fd9\u91cc ping gitcafe pages \u7684\u9875\u9762\u662f 119.81.161.66 \uff0c\u4e00\u4e2a\u9999\u6e2f\u7684 IP \u3002</p>\n"
    }, 
    {
      "author": {
        "url": "https://www.v2ex.com/member/linar", 
        "name": "linar", 
        "avatar": "https://cdn.v2ex.com/avatar/6bcd/4897/85768_large.png?m=1715589493"
      }, 
      "url": "https://www.v2ex.com/t/230800", 
      "title": "\u73b0\u5728 gitcafe.com \u4e5f\u6302\u4e86\u3002\u3002\u3002", 
      "id": "https://www.v2ex.com/t/230800", 
      "date_published": "2015-10-24T14:16:40+00:00", 
      "content_html": ""
    }, 
    {
      "author": {
        "url": "https://www.v2ex.com/member/thinkloki", 
        "name": "thinkloki", 
        "avatar": "https://cdn.v2ex.com/avatar/3d89/ba6a/72488_large.png?m=1446530026"
      }, 
      "url": "https://www.v2ex.com/t/230651", 
      "title": "GitCafe \u7684 pages \u670d\u52a1\u53c8\u6302\u4e86\uff1f", 
      "id": "https://www.v2ex.com/t/230651", 
      "date_published": "2015-10-24T01:02:43+00:00", 
      "content_html": "<p>RT \uff0c\u4e3a\u4ec0\u4e48\u540c\u6837\u7684\u535a\u5ba2\u5185\u5bb9\u90e8\u7f72\u5728 Github \u53ef\u4ee5\u8bbf\u95ee\uff0c Cafe \u5c31\u4e0d\u884c\u4e86\u3002\u800c\u4e14\u8bbe\u7f6e\u7684\u6ca1\u6709\u95ee\u9898\u3002</p>\n"
    }, 
    {
      "author": {
        "url": "https://www.v2ex.com/member/gitcafe", 
        "name": "gitcafe", 
        "avatar": "https://cdn.v2ex.com/avatar/d0a2/7f33/126402_large.png?m=1436445065"
      }, 
      "url": "https://www.v2ex.com/t/206064", 
      "title": "GitCafe \u7528\u6237\u8c03\u67e5\u95ee\u5377", 
      "id": "https://www.v2ex.com/t/206064", 
      "date_published": "2015-07-16T03:54:17+00:00", 
      "content_html": "<p>\u5404\u4f4d\u4eb2\u7231\u7684\u5c0f\u4f19\u4f34\uff0cGitCafe \u9080\u8bf7\u4f60\u6765\u586b\u5199\u8fd9\u4efd\u8c03\u67e5\u95ee\u5377\u3002</p>\n\n<p>\u6211\u4eec\u5e0c\u671b\u5f97\u5230\u6700\u771f\u5b9e\u7684\u53cd\u9988\uff0c\u5e2e\u52a9\u6211\u4eec\u63d0\u4f9b\u66f4\u597d\u7684\u670d\u52a1\uff0c\u5e2e\u52a9\u6211\u4eec\u66f4\u597d\u5730\u6210\u957f\u3002\u586b\u5b8c\u8fd8\u4f1a\u6709\u5c0f\u60ca\u559c\u54df\u3002</p>\n\n<p>\u73b0\u5728\u5c31\u6233\uff1a<a target=\"_blank\" rel=\"nofollow\" href=\"https://mengmengme.typeform.com/to/zA94mi\">https://mengmengme.typeform.com/to/zA94mi</a> \u5427!</p>\n"
    }, 
    {
      "author": {
        "url": "https://www.v2ex.com/member/irisgyq", 
        "name": "irisgyq", 
        "avatar": "https://cdn.v2ex.com/avatar/e664/f5ae/92071_large.png?m=1428561132"
      }, 
      "url": "https://www.v2ex.com/t/204828", 
      "date_modified": "2015-07-10T10:35:11+00:00", 
      "content_html": "<p><img src=\"http://mmbiz.qpic.cn/mmbiz/SQzXM3j7YgeKVym7M5LBzvzSwrtIVKicz4rMcOby89MpDx2lRr45OXEiaZcaJzTRlhBo66yfx4oh1Hyj7HvPZv1A/640?wx_fmt=jpeg&amp;tp=webp&amp;wxfrom=5\" alt=\"\"></p>\n\n<p>2014 \u5e74 9 \u6708\uff0c\u4e4c\u4e91\u9996\u5c4a\u5b89\u5168\u5cf0\u4f1a\u5728\u5317\u4eac\u987a\u5229\u4e3e\u884c\uff0c\u9080\u8bf7\u5230\u793e\u4f1a\u4e2d\u9876\u5c16\u7684\u767d\u5e3d\u5b50\u548c\u4f01\u4e1a\u9632\u5fa1\u4f53\u7cfb\u7684\u6700\u4f73\u5b9e\u8df5\u8005\uff0c\u5171\u540c\u63a2\u8ba8\u4fe1\u606f\u5b89\u5168\u7684\u89e3\u51b3\u4e4b\u9053\u3002\u5982\u679c\u4f60\u89c9\u5f97\u9519\u8fc7\u4e86\u90a3\u6b21\u5927\u4f1a\u800c\u9057\u61be\uff0c\u522b\u62c5\u5fc3\uff0c\u8fd9\u4e2a 7 \u6708\uff0c\u53f0\u6e7e\u9ed1\u5ba2\u5927\u4f1a HITCON \u4e0e\u6f0f\u6d1e\u62a5\u544a\u5e73\u53f0\u4e4c\u4e91\u7f51\u8054\u5408\u4e3e\u529e\u7684\u4e4c\u4e91\u7b2c\u4e8c\u5c4a\u300c\u767d\u5e3d\u5b50\u5927\u4f1a\u300d\u5c06\u4e3a\u4f60\u5e26\u6765\u66f4\u591a\u7684\u60ca\u559c\uff01GitCafe \u4e5f\u4e3a\u60f3\u53bb\u53c2\u4e0e\u7684\u4f60\u4eec\u5e26\u6765\u4e86\u798f\u5229\uff0c\u95e8\u7968\u514d\u8d39\u653e\u9001\u4e2d\u3002</p>\n\n<h2>\u5927\u4f1a\u4fe1\u606f</h2>\n\n<p>\u4e0d\u5206\u79cd\u65cf\uff0c\u4e0d\u5206\u56fd\u754c<br>\n\u4e0d\u5728\u4e4e\u5e74\u9f84\uff0c\u4e0d\u5728\u4e4e\u804c\u4f4d  </p>\n\n<p>\u5728\u4e4c\u4e91 2015 \u5e74\u767d\u5e3d\u5b50\u5927\u4f1a<br>\n\u4f60\u5c06\u7a7f\u68ad\u4e8e\u6570\u767e\u540d\u767d\u5e3d\u9ed1\u5ba2\u4e4b\u95f4  </p>\n\n<p>\u542c\u4e00\u6d41\u767d\u5e3d\u7684\u6700\u65b0\u60f3\u6cd5<br>\n\u5b66\u4f01\u4e1a\u5927\u5496\u7684\u5b9d\u8d35\u7ecf\u9a8c  </p>\n\n<p>\u4f60\u53ef\u80fd\u5728\u523a\u6fc0\u7684\u73b0\u573a\u6f14\u793a\u4e2d\u4f53\u9a8c\u5230\u771f\u5b9e\u4e16\u754c\u7684\u75db<br>\n\u6216\u8005\u5728\u9ed1\u5ba2\u524d\u8f88\u7684\u5a13\u5a13\u9053\u6765\u4e2d\u770b\u89c1\u81ea\u5df1\u672a\u6765\u7684\u8def  </p>\n\n<p>\u8fd9\u91cc\u662f\u4e4c\u4e91\u767d\u5e3d\u5b50\u5927\u4f1a<br>\n\u4f60\u542c\u8bf4\u8fc7\u7684\u548c\u5373\u5c06\u542c\u8bf4\u7684\u767d\u5e3d\u5b50\u4eec\uff0c\u90fd\u5c06\u5728\u8fd9\u91cc\u51fa\u73b0</p>\n\n<p>\u65f6\u95f4\uff1a2015 \u5e74 7 \u6708 17 \u65e5~7 \u6708 18 \u65e5<br>\n\u5730\u70b9\uff1a\u5317\u4eac\u5bcc\u529b\u4e07\u4e3d\u9152\u5e97<br>\n\u7f51\u7ad9\uff1a <a target=\"_blank\" rel=\"nofollow\" href=\"http://summit.wooyun.org\">http://summit.wooyun.org</a></p>\n\n<h2>\u5927\u4f1a\u5185\u5bb9</h2>\n\n<p><img src=\"http://mmbiz.qpic.cn/mmbiz/SQzXM3j7Ygd80u7nXUCeJqjIowbBGPhFm0hWmvswspIcXO1ucEkneM0tmmXo0hFoNqwTxLeXz1m09UoGDIibiaug/640?wx_fmt=png&amp;tp=webp&amp;wxfrom=5\" alt=\"\"></p>\n\n<p>7 \u6708 17 \u65e5 Day1\u300c\u4e13\u4e1a\u573a\u300d: Pro-Con</p>\n\n<p>\u9762\u5411\u4eba\u7fa4\uff1a\u4f01\u4e1a\uff0c\u767d\u5e3d\u5b50<br>\n\u6f14\u8bb2\u5609\u5bbe\uff08\u90e8\u5206\uff09\uff1a\u53bb\u54ea\u513f\u7f51\u5b89\u5168\u8d1f\u8d23\u4eba\u90ed\u6dfb\u68ee\u3001\u817e\u8baf\u5b89\u5168\u67b6\u6784\u5e08\u5f20\u6d77\u6e05\u3001\u4e07\u8fbe\u7535\u5546\u5b89\u5168\u4e3b\u4efb\u5de5\u7a0b\u5e08\u6797\u9e4f\u3001\u552f\u54c1\u4f1a\u9ad8\u7ea7\u5b89\u5168\u5de5\u7a0b\u5e08\u738b\u6da6\u8f89\u3001\u524d\u767e\u5ea6\u9ad8\u7ea7\u5b89\u5168\u5de5\u7a0b\u5e08\u7ae0\u534e\u9e4f\u3002</p>\n\n<p>\u7b80\u4ecb\uff1a\u7531\u4f18\u79c0\u767d\u5e3d\u5b50\u548c\u4f01\u4e1a\u5b89\u5168\u8d1f\u8d23\u4eba\u5206\u4eab\u653b\u9632\u6700\u65b0\u8d8b\u52bf\u548c\u4e1a\u52a1\u5b89\u5168\u7ecf\u9a8c\uff0c\u65e8\u5728\u8ba9\u4f01\u4e1a\u66f4\u597d\u7684\u4e86\u89e3\u5b89\u5168\u95ee\u9898\u53ca\u89e3\u51b3\u65b9\u6848\uff0c\u5e76\u8ba9\u767d\u5e3d\u5b50\u66f4\u597d\u7684\u5e2e\u52a9\u4f01\u4e1a\u63d0\u5347\u5b89\u5168\u3002\u5e73\u5747\u6bcf\u4e2a\u8bae\u9898\u65f6\u95f4 40 \u5206\u949f\uff0c\u7686\u4e3a\u6df1\u5ea6\u6f14\u8bb2\u3002</p>\n\n<p>\u884c\u4e1a\u70ed\u95e8\u5b89\u5168\u95ee\u9898</p>\n\n<p>\u4e92\u8054\u7f51\u91d1\u878d\u3001\u7535\u5546\u3001\u79fb\u52a8 APP \u7684\u5b89\u5168\u95ee\u9898\u4e0e\u65e5\u5267\u589e\uff0c\u4e00\u4e9b\u4f01\u4e1a\u53ef\u80fd\u7f3a\u4e4f\u5b89\u5168\u610f\u8bc6\uff0c\u66f4\u591a\u4f01\u4e1a\u5219\u4e0d\u77e5\u9053\u5982\u4f55\u5165\u624b\u3002\u672c\u6b21\u4e4c\u4e91\u5cf0\u4f1a\u4e13\u4e1a\u573a\uff0c\u6211\u4eec\u9080\u8bf7\u4e86\u6765\u81ea\u552f\u54c1\u4f1a\u548c\u7f51\u4fe1\u91d1\u878d\u7b49\u516c\u53f8\u7684\u6280\u672f\u4e13\u5bb6\uff0c\u4ed6\u4eec\u5c06\u5206\u4eab\u5728\u4e92\u8054\u7f51\u91d1\u878d\u548c\u79fb\u52a8\u7aef\u9886\u57df\u7684\u4e00\u624b\u7ecf\u9a8c\uff0c\u5176\u4e2d\u5f88\u591a\u7ec6\u8282\u90fd\u662f\u9996\u6b21\u5bf9\u5916\u516c\u5f00\u3002</p>\n\n<p>\u9ed1\u5ba2\u6700\u65b0\u653b\u51fb\u624b\u6bb5</p>\n\n<p>DDoS \u653b\u51fb\u8ba9\u5927\u91cf\u4f01\u4e1a\u82e6\u4e0d\u582a\u8a00\uff0c\u8fd8\u6709\u4e0d\u5c11\u4f01\u4e1a\u5bf9\u5c42\u5c42\u90e8\u7f72\u7684\u9632\u706b\u5899\u548c WAF \u5c61\u88ab\u653b\u7834\u800c\u611f\u5230\u56f0\u60d1\u3002\u300c\u672a\u77e5\u653b\uff0c\u7109\u77e5\u9632\u300d\uff0c\u4e13\u4e1a\u573a\u4e0a\uff0c\u4e09\u4f4d\u6df1\u8c19 DDoS \u653b\u51fb\u3001WAF \u7ed5\u8fc7\u548c\u5916\u56f4\u653b\u51fb\u624b\u6bb5\u7684\u9ad8\u6c34\u5e73\u767d\u5e3d\u5b50\u5c06\u4e3a\u6211\u4eec\u5c55\u793a\u6700\u65b0\u7684\u6280\u672f\u548c\u65b9\u6cd5\u3002</p>\n\n<p>\u5b89\u5168\u6807\u6746\u5b9e\u8df5\u7ecf\u9a8c</p>\n\n<p>\u6211\u4eec\u9080\u8bf7\u4e86\u300c\u53bb\u54ea\u513f\u300d\u548c\u300c\u817e\u8baf\u300d\u4e24\u5bb6\u4e92\u8054\u7f51\u7684\u5b89\u5168\u6807\u6746\u4f01\u4e1a\u6765\u5cf0\u4f1a\u5206\u4eab\u3002\u4f5c\u4e3a\u7b2c\u4e00\u4e2a\u52a0\u5165\u300c\u53bb\u54ea\u513f\u300d\u7684\u5b89\u5168\u4eba\u5458\uff0c\u90ed\u6dfb\u68ee\u5c06\u9996\u6b21\u5206\u4eab\u4ed6\u4eec\u662f\u5982\u4f55\u4ece\u96f6\u5f00\u59cb\u642d\u5efa\u516c\u53f8\u5b89\u5168\u4f53\u7cfb\u7684\uff1b\u800c\u817e\u8baf\u5b89\u5168\u67b6\u6784\u5e08\u5f20\u6d77\u6e05\u5219\u5c06\u5728\u73b0\u573a\u63ed\u79d8\u817e\u8baf\u7684\u770b\u5bb6\u6cd5\u5b9d\u2014\u2014Web \u9632\u62a4\u5e73\u53f0\uff0c\u5e0c\u671b\u8ba9\u66f4\u591a\u4f01\u4e1a\u80fd\u4ece\u4e2d\u83b7\u5f97\u542f\u53d1\u3002</p>\n\n<p>7 \u6708 18 \u65e5 Day2\u300c\u767d\u5e3d\u573a\u300d: WhiteHat Day</p>\n\n<p>\u9762\u5411\u4eba\u7fa4\uff1a\u4fe1\u606f\u5b89\u5168\u7231\u597d\u8005\u3001\u4ece\u4e1a\u8005<br>\n\u6f14\u8bb2\u5609\u5bbe\uff08\u90e8\u5206\uff09\uff1a\u77e5\u540d\u81ea\u5a92\u4f53\u6c60\u5efa\u5f3a\u3001\u77e5\u540d\u81ea\u5a92\u4f53 Roy Li\u3001UCloud \u521b\u59cb\u4eba\u5b63\u6615\u534e\u3001\u963f\u91cc\u5df4\u5df4\u96c6\u56e2\u5b89\u5168\u526f\u603b\u88c1\u675c\u8dc3\u8fdb\u3001IBM \u5b89\u5168\u7cfb\u7edf\u67b6\u6784\u5e08\u674e\u627f\u8fbe\uff08\u53f0\u6e7e\uff09\u3001PKAV \u56e2\u961f\u521b\u59cb\u4eba OnlyGuest\u3001\u4e4c\u4e91\u521b\u59cb\u4eba\u65b9\u5c0f\u987f\u3001\u4e4c\u4e91\u6f0f\u6d1e\u5e73\u53f0\u8d1f\u8d23\u4eba\u5b5f\u5353\u3002</p>\n\n<p>\u7b80\u4ecb\uff1a\u5c06\u6709\u8fd1 20 \u4f4d\u5b89\u5168\u524d\u8f88\u3001\u6280\u672f\u5927\u725b\u548c\u65b0\u664b\u5f3a\u4eba\u5e26\u6765\u7cbe\u5f69\u5206\u4eab\u3002\u73b0\u573a\u8fd8\u5c06\u300c\u9996\u53d1\u300d\u591a\u4e2a\u4ee4\u4eba\u610f\u60f3\u4e0d\u5230\u7684\u5b89\u5168\u95ee\u9898\u2014\u2014\u4f60\u4e0d\u4ec5\u80fd\u4e86\u89e3\u5230\u6700\u65b0\u6700\u9177\u7684\u5b89\u5168\u6280\u672f\uff0c\u8fd8\u80fd\u4e0e\u65b9\u5411\u8be1\u5f02\u7684\u5b89\u5168\u7814\u7a76\u8005\u7fa4\u4f53\u6df1\u5165\u4ea4\u6d41\u3001\u751a\u81f3\u8ba4\u8bc6\u4f60\u672a\u6765\u7684\u8001\u5e08\u548c\u4f19\u4f34\u3002</p>\n\n<p>HackReal</p>\n\n<p>\u4e3a\u8ba9\u66f4\u591a\u4eba\u4e86\u89e3\u5b89\u5168\u95ee\u9898\u5e76\u4f7f\u95ee\u9898\u5f97\u4ee5\u89e3\u51b3\uff0c\u4e4c\u4e91\u53ca\u767d\u5e3d\u5b50\u4eec\u5728\u4eca\u5e74 3 \u6708\u53d1\u8d77\u4e86\u300c\u4f60\u8eab\u8fb9\u7684\u5b89\u5168\u300d\u4e3a\u4e3b\u9898\u7684\u4f17\u6d4b\u9879\u76ee\u3002\u6570\u767e\u540d\u767d\u5e3d\u5b50\u63d0\u4ea4\u4e86\u6781\u5177\u6280\u672f\u542b\u91cf\u7684\u6f0f\u6d1e\uff0c\u6d89\u53ca\u65e0\u4eba\u98de\u884c\u5668\u3001\u624b\u673a\u3001\u4e91\u670d\u52a1\u548c\u5ba2\u6237\u7aef\u7b49\u7b49\uff0c\u5176\u4e2d\u6709\u4e9b\u6f0f\u6d1e\u5df2\u88ab\u9ed1\u4ea7\u5229\u7528\uff0c\u5bfc\u81f4\u5bf9\u4e2a\u4eba\u9690\u79c1\u6216\u4f01\u4e1a\u8d22\u4ea7\u9020\u6210\u4e25\u91cd\u5f71\u54cd\u3002\u672c\u6b21\u5cf0\u4f1a\u6211\u4eec\u5c06\u4ece\u4e2d\u6311\u9009\u51fa\u90e8\u5206\u5185\u5bb9\u8fdb\u884c\u6f14\u793a\uff0c\u76f8\u4fe1\u4f1a\u8ba9\u4f60\u5927\u5f00\u773c\u754c\u3002</p>\n\n<p>\u7b97\u5366\u644a</p>\n\n<p>\u300c\u7b97\u5366\u644a\u300d\u662f\u53f0\u6e7e HITCON \u7684\u4fdd\u7559\u73af\u8282\uff0c\u901a\u8fc7\u9ed1\u5ba2\u524d\u8f88\u8bb2\u8ff0\u4e2a\u4eba\u7ecf\u5386\u4ee5\u7ed9\u5b89\u5168\u4ece\u4e1a\u8005\u5e26\u6765\u542f\u53d1\u3002\u4eca\u5e74\u7684\u4e4c\u4e91\u5cf0\u4f1a\u4e5f\u5f15\u5165\u4e86\u8be5\u73af\u8282\u3002\u5c06\u6709\u53f0\u6e7e HITCON \u521b\u59cb\u4eba TT\u3001\u4e4c\u4e91\u521b\u59cb\u4eba\u5251\u5fc3\u3001UCloud \u521b\u59cb\u4eba\u5b63\u6615\u534e\u3001\u963f\u91cc\u5df4\u5df4\u96c6\u56e2\u5b89\u5168\u526f\u603b\u88c1\u675c\u8dc3\u8fdb\u3001IBM \u5b89\u5168\u7cfb\u7edf\u67b6\u6784\u5e08\u674e\u627f\u8fbe\uff08\u53f0\u6e7e\uff09\u7b49\u5927\u9646\u53f0\u6e7e\u6781\u5177\u4ee3\u8868\u7684\u5b89\u5168\u5927\u5496\u6c47\u805a\u4e00\u5802\uff0c\u7545\u8c08\u4e24\u5730\u9ed1\u5ba2\u6587\u5316\u3001\u5b89\u5168\u4ea7\u4e1a\u4e0e\u6280\u672f\u53d8\u8fc1\u3002\u8be5\u73af\u8282\u7531\u77e5\u540d\u81ea\u5a92\u4f53\u4eba\u6c60\u5efa\u5f3a\u4e3b\u6301\uff0c\u5e76\u5c06\u6709\u4e00\u4f4d\u5168\u7403\u8457\u540d\u5b89\u5168\u4eba\u58eb\u51fa\u5e2d\u3002</p>\n\n<p>WooKnows</p>\n\n<p>\u53f0\u6e7e\u8457\u540d CTF \u56e2\u961f\u961f\u957f Orange \u5c06\u8bb2\u8ff0 HITCON \u56e2\u961f\u7684\u7ec4\u5efa\u5386\u7a0b\u53ca\u56fd\u9645\u6bd4\u8d5b\u4e2d\u597d\u73a9\u7684\u6545\u4e8b\uff1b\u81ea\u5a92\u4f53\u5389\u54e5 (Roy Li) \u4e5f\u5c06\u8385\u4e34\u73b0\u573a\u2014\u2014\u4ed6\u8ba4\u4e3a\u5f88\u591a\u89c4\u5219\u90fd\u975e\u5e38\u8352\u8c2c\u3001\u5e94\u8be5\u88ab\u6253\u7834\uff0c\u6240\u4ee5\u4ed6\u5c06\u5c55\u793a\u8fd9\u4e9b\u89c4\u5219\u4e0b\u6ecb\u751f\u7684\u5b89\u5168\u6bd2\u7624\uff1b\u4e4c\u4e91\u4e3b\u7ad9\u8d1f\u8d23\u4eba\u75af\u72d7\uff08\u5b5f\u5353\uff09\u5219\u5c06\u63ed\u793a\u4eca\u5e74\u5cf0\u4f1a\u65f6\u95f4\u7684\u7279\u6b8a\u542b\u4e49\u53ca\u56fd\u5185\u5b89\u5168\u73af\u5883\u7684\u771f\u6b63\u73b0\u72b6\u3002</p>\n\n<p>\u5b89\u5168\u5965\u65af\u5361</p>\n\n<p>\u6211\u4eec\u8fd8\u5b89\u6392\u4e86\u4e00\u4e2a\u6709\u8da3\u7684\u73af\u8282\u300c\u5b89\u5168\u5965\u65af\u5361\u300d\u2014\u2014\u4e3a\u4f01\u4e1a\u548c\u767d\u5e3d\u5b50\u9881\u5956\u3002\u4f01\u4e1a\u9881\u5956\u7684\u4f9d\u636e\u6765\u81ea\u793e\u533a\u63a8\u9009\uff0c\u5f88\u591a\u4f18\u79c0\u4f01\u4e1a\u7684\u5b89\u5168\u884c\u52a8\u503c\u5f97\u5206\u4eab\u548c\u9f13\u52b1\uff0c\u4e5f\u6709\u4e9b\u4f01\u4e1a\u5bf9\u5b89\u5168\u7684\u505a\u6cd5\u503c\u5f97\u63a2\u8ba8\uff0c\u6211\u4eec\u5c06\u6839\u636e\u767d\u5e3d\u5b50\u7684\u6295\u7968\u7ed3\u679c\u6765\u8fdb\u884c\u8bc4\u9009\u548c\u516c\u5e03\uff1b\u540c\u65f6\uff0c\u4f5c\u4e3a\u6bcf\u5e74\u4e00\u5ea6\u7684\u767d\u5e3d\u5b50\u5927\u805a\u4f1a\uff0c\u6211\u4eec\u4e5f\u5c06\u4e3a\u8fc7\u53bb\u4e00\u5e74\u8868\u73b0\u7a81\u51fa\u7684\u767d\u5e3d\u5b50\u8fdb\u884c\u300c\u52a0\u5195\u300d\uff0c\u671f\u5f85\u4ed6\u4eec\u672a\u6765\u505a\u5f97\u66f4\u597d\u3002</p>\n\n<h2>\u5927\u4f1a\u4eae\u70b9</h2>\n\n<h3>\u9ed1\u5ba2\u5728\u8fd9\u91cc</h3>\n\n<p>\u4f60\u8fd8\u8bb0\u5f97 17 \u5e74\u524d\u7684\u90a3\u4e2a\u56db\u6708\u5417\uff1f\u5728\u53f0\u6e7e\uff0c\u6ca1\u6709\u5927\u660e\u6e56\u7554\u7684\u590f\u96e8\u8377\uff0c\u53ea\u6709\u4e00\u4e2a\u8ba9\u6280\u672f\u5b85\u4eec\u4e3a\u4e4b\u9707\u60ca\u3001\u8ba9\u5404\u4e2a\u56fd\u5bb6\u60f6\u6050\u7684\u7535\u8111\u9b3c\u624d\u2014\u2014CIH \u75c5\u6bd2\u5236\u9020\u8005\u9648\u76c8\u8c6a\u3002  </p>\n\n<p>1998 \u5e74 4 \u6708 26 \u65e5\uff0c\u5f53\u65f6\u8fd8\u662f\u5927\u5b66\u6bd5\u4e1a\u751f\u7684\u9648\u76c8\u8c6a\u5236\u9020\u51fa\u7684 CIH \u7535\u8111\u75c5\u6bd2\u5171\u9020\u6210\u5168\u7403  6000 \u4e07\u53f0\u7535\u8111\u762b\u75ea\uff0c\u97e9\u56fd\u3001\u571f\u8033\u5176\u3001\u5b5f\u52a0\u62c9\u3001\u65b0\u52a0\u5761\u3001\u9a6c\u6765\u897f\u4e9a\u3001\u4fc4\u7f57\u65af\u3001\u4e2d\u56fd\u5185\u5730\u7684\u7535\u8111\u5747\u60e8\u906d CIH \u75c5\u6bd2\u7684\u88ad\u51fb\u3002  </p>\n\n<p>\u8fd9\u4e2a\u590f\u5929\uff0c\u8fd9\u4f4d\u4f60\u66fe\u7ecf\u53ea\u80fd\u5728\u767e\u5ea6\u767e\u79d1\u770b\u5230\u7684\u7535\u8111\u5929\u624d\u5c06\u9996\u6b21\u4eae\u76f8\u5185\u5730\uff0c\u53c2\u4e0e\u4e4c\u4e91\u767d\u5e3d\u5b50\u5927\u4f1a\uff0c\u5750\u4e0a\u5706\u684c\u7b49\u4f60\u63d0\u95ee\uff01  </p>\n\n<p>\u6b64\u6b21\u5927\u4f1a\u5c06\u4e0a\u6f14\u53f0\u6e7e\u9ed1\u5ba2\u5927\u4f1a HITCON \u7684\u4fdd\u7559\u8282\u76ee\u300c\u7b97\u5366\u644a\u300d\uff0c\u7531\u77e5\u540d\u81ea\u5a92\u4f53\u6c60\u5efa\u5f3a\u8001\u5e08\u4e3b\u6301\uff0c\u4e4c\u4e91\u521b\u59cb\u4eba\u5251\u5fc3\u3001UCloud \u521b\u59cb\u4eba\u5b63\u6615\u534e\u3001\u963f\u91cc\u5b89\u5168 VP \u675c\u8dc3\u8fdb\u7b49\u6280\u672f\u5927\u5496\uff0c\u5c06\u643a\u624b\u6765\u81ea\u53f0\u6e7e\u7684 HITCON \u521b\u59cb\u4eba TT\u3001IBM \u5b89\u5168\u67b6\u6784\u5e08\u674e\u627f\u8fbe\u3001CIH \u75c5\u6bd2\u4f5c\u8005\u9648\u76c8\u8c6a\uff0c\u4e3a\u4f60\u8bb2\u8ff0\u4ed6\u4eec\u7684\u4e2a\u4eba\u7ecf\u5386\uff0c\u89e3\u7b54\u4f60\u5bf9\u884c\u4e1a\u548c\u6280\u672f\u7684\u76f8\u5173\u63d0\u95ee\uff01</p>\n\n<h3>\u6280\u672f\u5728\u8fd9\u91cc</h3>\n\n<p>DDos \u4f5c\u4e3a\u6d41\u6c13\u5f0f\u6ce2\u6d9b\u6c79\u6d8c\u7684\u653b\u51fb\u624b\u6bb5\uff0c\u5230\u5e95\u53c8\u6f14\u53d8\u51fa\u4e86\u54ea\u4e9b\u65b0\u7684\u65b9\u5f0f\uff1f\uff01\u542c\u8bf4\u505a\u7740\u5730\u4e0b\u9ed1\u4ea7\u7684\u9ed1\u5e3d\u4eec\u7684\u6280\u672f\u66f4\u65b0\u6bd4\u767d\u5e3d\u66f4\u5feb\u662f\u4e0d\u662f\u771f\u7684\uff1f\uff01\u8b66\u5bdf\u8700\u9ecd\u6765\u5206\u4eab\u4ece\u6848\u4ef6\u4e2d\u83b7\u53d6\u5230\u7684\u56fd\u5185 DDos \u6700\u65b0\u65b9\u5f0f\uff0c\u4f46\u4f60\u4e86\u89e3 DDos \u90a3\u4e0d\u4e3a\u4eba\u77e5\u7684\u8fdb\u5316\uff01  </p>\n\n<p>\u9664\u4e86\u8b66\u5bdf\u8700\u9ecd\u5e26\u6765\u7684\u5206\u4eab\u4ee5\u5916\uff0c\u8fd8\u6709\u591a\u6b21\u5728\u5404\u5927 CTF \u6bd4\u8d5b\u4e2d\u540d\u5217\u524d\u8305\u7684\u4e0a\u4ea4\u7684\u540c\u5b66\u901a\u8fc7\u771f\u5b9e\u7684\u73b0\u573a\u6f14\u793a\u4e3a\u4f60\u5206\u6790\u6bcf\u5929\u5728\u7528\u7684\u624b\u673a\u5361\u5230\u5e95\u5b89\u5168\u4e0d\u5b89\u5168\u3002  </p>\n\n<p>\u65e0\u4eba\u673a\u542c\u8d77\u6765\u5f88\u9177\u70ab\uff0c\u4f5c\u4e3a\u6781\u5ba2\u70ed\u8877\u7684\u73a9\u5177\uff0c\u98de\u884c\u8fd9\u4ef6\u5c0f\u4e8b\u5230\u5e95\u9664\u4e86\u80fd\u5e2e\u4eba\u7c7b\u5b9e\u73b0\u98de\u884c\u68a6\u60f3\u4ee5\u5916\uff0c\u6709\u6ca1\u6709\u9690\u85cf\u7740\u88ab\u5ffd\u89c6\u7684\u5b89\u5168\u95ee\u9898\uff1f\u5927\u4f1a\u4e0a\uff0c\u767d\u5e3d\u5b50\u5c06\u73b0\u573a\u6f14\u793a\u65e0\u4eba\u673a\u7684\u5b89\u5168\u95ee\u9898\uff0c\u5e26\u4f60\u5168\u65b9\u4f4d\u4e86\u89e3\u98de\u884c\u5668\u3002  </p>\n\n<p>\u8fd8\u6709\u66f4\u591a\u52b2\u7206\u7684\u73b0\u573a\u6f14\u793a\u53ca\u6280\u672f\u89e3\u5bc6\uff0c\u5e26\u4f60\u63ed\u5f00\u8fd9\u4e9b\u5b89\u5168\u6280\u672f\u795e\u79d8\u7684\u9762\u7eb1\uff01</p>\n\n<h2>GitCafe \u95e8\u7968\u653e\u9001</h2>\n\n<p>\u5c06\u4f60\u7684\u300cGitCafe \u7528\u6237\u540d\u300d\u7559\u8a00\u5728\u4e0b\u9762\uff0c\u5c31\u6709\u673a\u4f1a\u83b7\u5f97\u4e4c\u4e91 2015 \u767d\u5e3d\u5b50\u5927\u4f1a WhiteHat Day \u95e8\u7968\uff01\u6211\u4eec\u5c06\u4ece\u53c2\u4e0e\u6d3b\u52a8\u7684\u4eba\u4e2d\u62bd\u53d6 5 \u4f4d\u5e78\u8fd0\u7528\u6237\uff0c\u540d\u989d\u6709\u9650\uff01</p>\n\n<p>\u622a\u6b62\u65e5\u671f\uff1a7 \u6708 14 \u65e5</p>\n", 
      "date_published": "2015-07-10T10:34:24+00:00", 
      "title": "\u798f\u5229 | \u4e4c\u4e91 2015 \u767d\u5e3d\u5b50\u5927\u4f1a\uff0c\u95e8\u7968\u5927\u653e\u9001", 
      "id": "https://www.v2ex.com/t/204828"
    }, 
    {
      "author": {
        "url": "https://www.v2ex.com/member/irisgyq", 
        "name": "irisgyq", 
        "avatar": "https://cdn.v2ex.com/avatar/e664/f5ae/92071_large.png?m=1428561132"
      }, 
      "url": "https://www.v2ex.com/t/204808", 
      "date_modified": "2015-07-10T09:15:01+00:00", 
      "content_html": "<p>GitCafe \u7684\u5e2e\u52a9\u6587\u6863\u4e4b\u524d\u4e00\u76f4\u4ee5\u9879\u76ee Wiki \u7684\u5f62\u5f0f\u6765\u4e3a\u5927\u5bb6\u63d0\u4f9b\u670d\u52a1\uff0c\u4f46\u968f\u7740 GitCafe \u529f\u80fd\u7684\u4e0d\u65ad\u589e\u52a0\uff0c\u4e3a\u4e86\u66f4\u597d\u5730\u5448\u73b0\u6587\u6863\uff0c\u7ed9\u5927\u5bb6\u63d0\u4f9b\u66f4\u52a0\u6e05\u6670\u3001\u4fbf\u6377\u7684\u5e2e\u52a9\u670d\u52a1\uff0c\u6211\u4eec\u5bf9 GitCafe \u7684\u5e2e\u52a9\u6587\u6863\u8fdb\u884c\u4e86\u5168\u65b0\u6539\u7248\uff0c\u5e76\u5927\u5e45\u66f4\u65b0\u4e86\u6587\u6863\u5185\u5bb9\u3002</p>\n\n<p>\u73b0\u5728\uff0c\u4f60\u5c31\u53ef\u4ee5\u901a\u8fc7\u8bbf\u95ee <a target=\"_blank\" rel=\"nofollow\" href=\"https://help.gitcafe.com\">https://help.gitcafe.com</a> \u5148\u7779\u4e3a\u5feb\u3002</p>\n\n<p><img src=\"http://blog.gitcafe.com/wp-content/uploads/2015/07/help_index-2.jpg\" alt=\"\"></p>\n\n<p>\u9664\u4e86\u72ec\u7acb\u7684\u57df\u540d\u548c\u5168\u65b0\u7684\u8bbe\u8ba1\u4e4b\u5916\uff0c\u6211\u4eec\u8fd8\u9488\u5bf9\u6587\u6863\u5185\u5bb9\u505a\u4e86\u4ee5\u4e0b\u66f4\u65b0\uff1a</p>\n\n<ul>\n<li>\u5728\u5185\u5bb9\u7ec4\u7ec7\u4e0a\uff0c\u4ee5 GitCafe \u7684\u529f\u80fd\u6a21\u5757\u7ec4\u7ec7\u6587\u6863\u7ae0\u8282\u7ed3\u6784\uff0c\u4f60\u53ef\u4ee5\u5728\u7ae0\u8282\u4e2d\u627e\u5230\u67d0\u4e2a\u529f\u80fd\u6a21\u5757\u7684\u5168\u90e8\u529f\u80fd\u70b9\u8bf4\u660e</li>\n<li>\u5728\u5185\u5bb9\u64b0\u5199\u4e0a\uff0c\u5c3d\u91cf\u7b80\u77ed\u3001\u51c6\u786e\u5730\u8fdb\u884c\u8bf4\u660e\uff1b\u5728\u9700\u8981\u7684\u4f4d\u7f6e\u5f15\u5165\u914d\u56fe \u6216 Git \u56fe\u8fdb\u884c\u6f14\u793a</li>\n<li>\u5bf9 Pages\u3001Wiki\u3001\u5de5\u5355\u7b49\u529f\u80fd\u63d0\u4f9b\u5355\u72ec\u7684\u7ae0\u8282\u8fdb\u884c\u8be6\u7ec6\u8bf4\u660e</li>\n<li>\u63d0\u4f9b\u4e86\u4ece Git \u5b89\u88c5\u914d\u7f6e\u3001SSH \u5bc6\u94a5\u751f\u6210\u5230 GitCafe \u529f\u80fd\u5feb\u901f\u4e0a\u624b\u7b49\u9762\u5411\u65b0\u624b\u7684\u5168\u7a0b\u5e2e\u52a9</li>\n</ul>\n\n<h2>\u6700\u4f73\u5b9e\u8df5</h2>\n\n<p>\u9664\u4e86\u5bf9\u5e38\u89c1\u7684\u95ee\u9898\u64b0\u5199\u5e2e\u52a9\u6587\u6863\u4e4b\u5916\uff0c\u6211\u4eec\u8fd8\u5728\u65b0\u7248\u5e2e\u52a9\u6587\u6863\u4f53\u7cfb\u4e2d\u65b0\u589e\u4e86\u4e00\u4e2a\u540d\u4e3a <a target=\"_blank\" rel=\"nofollow\" href=\"https://help.gitcafe.com/practices\">\u300c\u6700\u4f73\u5b9e\u8df5\u300d</a> \u7684\u680f\u76ee\u3002</p>\n\n<p><img src=\"http://blog.gitcafe.com/wp-content/uploads/2015/07/help_practice-2.jpg\" alt=\"\"></p>\n\n<p>\u6700\u4f73\u5b9e\u8df5\u5185\u5bb9\u5b9a\u4f4d\u4e8e\u300c\u5bf9 Git \u548c GitCafe \u5728\u4e0d\u540c\u6280\u672f\u65b9\u5411\u548c\u9886\u57df\u7684\u4f7f\u7528\u7ecf\u9a8c\u5206\u4eab\u300d\uff1b\u8fd9\u4e2a\u680f\u76ee\u957f\u671f\u5f81\u7a3f\uff0c\u5982\u679c\u4f60\u6709\u57fa\u4e8e Git\u3001GitCafe \u7684\u6df1\u5165\u4f7f\u7528\u7ecf\u9a8c\u3001\u6280\u5de7\u6216\u57fa\u4e8e Git\u3001GitCafe \u5728\u5176\u4ed6\u9886\u57df\u505a\u4e86\u4e9b\u6709\u8da3\u7684\u5b9e\u8df5\uff0c\u6b22\u8fce\u7ed9\u6211\u4eec\u6295\u7a3f\u3002</p>\n\n<p>\u53ef\u4ee5\u5c06\u7a3f\u4ef6\u6216\u6587\u7ae0\u94fe\u63a5\u53d1\u9001\u5230 [<a target=\"_blank\" rel=\"nofollow\" href=\"mailto:support@gitcafe.com\">support@gitcafe.com</a>](<a target=\"_blank\" rel=\"nofollow\" href=\"mailto:support@gitcafe.com\">support@gitcafe.com</a>)\uff0c\u90ae\u4ef6\u6807\u9898\u8bf7\u6ce8\u660e\u300c\u6700\u4f73\u5b9e\u8df5\u6295\u7a3f\u300d\u3002\u6211\u4eec\u4f1a\u6839\u636e\u7a3f\u4ef6\u9009\u9898\u65b9\u5411\u548c\u8d28\u91cf\u6709\u9009\u62e9\u7684\u53d1\u5e03\uff0c\u5728\u6587\u7ae0\u4e2d\u6807\u660e\u4f5c\u8005\u548c\u51fa\u5904\uff0c\u5e76\u4e3a\u5165\u9009\u7684\u7a3f\u4ef6\u4f5c\u8005\u63d0\u4f9b\u4e30\u539a\u7684 GitCoin \u4f5c\u4e3a\u5956\u52b1\u3002</p>\n\n<h2>\u95ee\u9898\u53cd\u9988</h2>\n\n<p>\u5982\u679c\u9605\u8bfb\u5e2e\u52a9\u6587\u6863\u4e2d\u7684\u5185\u5bb9\u4f9d\u7136\u65e0\u6cd5\u89e3\u51b3\u4f60\u7684\u95ee\u9898\uff0c\u4f60\u8fd8\u53ef\u4ee5\u901a\u8fc7 <a target=\"_blank\" rel=\"nofollow\" href=\"https://gitcafe.com/GitCafe/Help/tickets\">\u63d0\u4ea4\u5de5\u5355</a> \u6216\u53d1\u9001\u95ee\u9898\u90ae\u4ef6\u81f3 [<a target=\"_blank\" rel=\"nofollow\" href=\"mailto:support@gitcafe.com\">support@gitcafe.com</a>](<a target=\"_blank\" rel=\"nofollow\" href=\"mailto:support@gitcafe.com\">support@gitcafe.com</a>) \u7684\u65b9\u5f0f\u5bfb\u6c42\u8fdb\u4e00\u6b65\u7684\u5e2e\u52a9\u3002\u5bf9\u4e8e Help \u6b64\u6b21\u6539\u7248\u7684\u610f\u89c1\uff0c\u4e5f\u53ef\u4ee5\u901a\u8fc7\u8fd9\u79cd\u65b9\u5f0f\u8fdb\u884c\u53cd\u9988\uff0c\u6211\u4eec\u671f\u5f85\u4f60\u7684\u5b9d\u8d35\u610f\u89c1\uff1a\uff09</p>\n\n<p>\u6b64\u5916\uff0c\u6211\u4eec\u4e5f\u5c06\u4fdd\u7559\u65e7\u7248\u7684\u5e2e\u52a9\u6587\u6863\uff0c\u53ef\u4ee5\u8bbf\u95ee  <a target=\"_blank\" rel=\"nofollow\" href=\"https://gitcafe.com/GitCafe/Help\">https://gitcafe.com/GitCafe/Help</a>\u3002</p>\n\n<p>\u5373\u523b\u542f\u7a0b\uff0c\u6211\u4eec\u4e3a\u4f60\u4fdd\u9a7e\u62a4\u822a\u3002</p>\n", 
      "date_published": "2015-07-10T09:14:28+00:00", 
      "title": "GitCafe Help \u5168\u65b0\u6539\u7248\uff0c\u5e2e\u52a9\u66f4\u597d\u7684\u4f60", 
      "id": "https://www.v2ex.com/t/204808"
    }, 
    {
      "author": {
        "url": "https://www.v2ex.com/member/irisgyq", 
        "name": "irisgyq", 
        "avatar": "https://cdn.v2ex.com/avatar/e664/f5ae/92071_large.png?m=1428561132"
      }, 
      "url": "https://www.v2ex.com/t/203910", 
      "date_modified": "2015-07-07T03:54:24+00:00", 
      "content_html": "<p>\u7ee7\u4e0a\u5468\u7684\u300c\u5c0f\u7ec4\u300d\u4e0e\u300c\u4ee3\u7801\u5bf9\u6bd4\u300d\u529f\u80fd\u51fa\u7089\u4ee5\u540e\uff0cGitCafe \u65b0\u589e\u4e86\u4ee3\u7801\u8d21\u732e\u7edf\u8ba1\u529f\u80fd\uff0c\u6709\u4e86\u5b83\u4f1a\u7ed9\u5927\u5bb6\u5e26\u6765\u600e\u6837\u7684\u60ca\u559c\u5462\uff0c\u5148\u6765\u4e00\u7779\u4e3a\u5feb\u5427\u3002</p>\n\n<p><img src=\"http://mmbiz.qpic.cn/mmbiz/SQzXM3j7YgfkYe9L0EZYIo7n0LTKQ5DWqG0gicicicZP6gDCZ0NoEBXltT0yhBS7EaS2oh3MiaKEQnqS154iaXS1pTA/640?wx_fmt=png&amp;tp=webp&amp;wxfrom=5\" alt=\"\"></p>\n\n<h2>\u4e3a\u4ec0\u4e48\u8981\u6709\u7edf\u8ba1\u529f\u80fd</h2>\n\n<p>\u5bf9\u4e8e\u5177\u6709\u4e00\u5b9a\u89c4\u6a21\u7684\u534f\u4f5c\u9879\u76ee\uff0c\u5f53\u60f3\u8981\u67e5\u770b\u5b83\u7684\u63d0\u4ea4 (commit) \u72b6\u51b5\u65f6\uff0c\u91c7\u7528\u53ef\u89c6\u5316\u7684\u65b9\u5f0f\u662f\u6700\u76f4\u63a5\u3001\u65b9\u4fbf\u4e14\u6709\u610f\u4e49\u7684\u3002</p>\n\n<p>\u9664\u6b64\u4e4b\u5916\uff0c\u53c2\u4e0e\u8005\u4e5f\u80fd\u968f\u65f6\u56de\u987e\u81ea\u5df1\u5bf9\u9879\u76ee\u7684\u8d21\u732e\u5ea6\uff0c\u63d0\u9ad8\u53c2\u4e0e\u70ed\u60c5\u3002</p>\n\n<p>\u800c\u5bf9\u4e8e\u666e\u901a\u7528\u6237\uff0c\u8d21\u732e\u7edf\u8ba1\u4e5f\u53ef\u4ee5\u4e3a\u4ed6\u4eec\u4e86\u89e3\u9879\u76ee\u7684\u6d3b\u8dc3\u5ea6\u63d0\u4f9b\u4e00\u5b9a\u53c2\u8003\u3002</p>\n\n<h2>\u5982\u4f55\u4f7f\u7528\u7edf\u8ba1\u529f\u80fd</h2>\n\n<ol>\n<li><p>\u70b9\u51fb\u300c\u9879\u76ee\u5bfc\u822a\u680f\u300d\u4e2d\u7684\u300c\u7edf\u8ba1\u56fe\u300d(Graph) \u94fe\u63a5\uff0c\u5373\u53ef\u663e\u793a\u5f53\u524d\u5206\u652f\u7684\u7edf\u8ba1\u7ed3\u679c\u3002<br>\n<img src=\"http://mmbiz.qpic.cn/mmbiz/SQzXM3j7YgfkYe9L0EZYIo7n0LTKQ5DW9z8Do2c6ibiad09dj63fFHSHnHvv1QBnO3Oj7VaO6hB8yRDlHkNcChsA/640?wx_fmt=png&amp;tp=webp&amp;wxfrom=5\" alt=\"\"></p></li>\n<li><p>\u7528\u6237\u672c\u8eab\u65e0\u9700\u505a\u4efb\u4f55\u8bbe\u7f6e\u3002\u8be5\u529f\u80fd\u4e5f\u4e0d\u4f1a\u6536\u53d6\u989d\u5916\u7684 GitCoin\u3002</p></li>\n<li><p>\u7528\u6237\u7684\u300c\u8d21\u732e\u300d\u6309\u7167\u300c\u63d0\u4ea4\u300d(commit) \u7684\u6570\u91cf\u8ba1\u7b97\uff0c\u5e76\u8fdb\u884c\u6392\u5e8f\u663e\u793a\u3002</p></li>\n<li><p>\u53ef\u4ee5\u9009\u5b9a\u4e0d\u540c\u7684\u65f6\u95f4\u6bb5\u663e\u793a\u7edf\u8ba1\u7ed3\u679c\u3002<br>\n<img src=\"http://mmbiz.qpic.cn/mmbiz/SQzXM3j7YgfkYe9L0EZYIo7n0LTKQ5DW5knsk3ZqhicibARD8VaOa9gvlQTYk9V4gkEYf9XmJD24p686j6SiagpsQ/640?wx_fmt=png&amp;tp=webp&amp;wxfrom=5\" alt=\"\"></p></li>\n<li><p>\u4e00\u6b21\u53ea\u8ba1\u7b97\u67d0\u4e00\u4e2a\u5206\u652f\u4e0a\u7684\u6240\u6709\u63d0\u4ea4\u3002\u4e0d\u5305\u62ec\u5408\u5e76 (merge) \u672c\u8eab\u7684\u90a3\u4e2a\u63d0\u4ea4\u3002</p></li>\n<li><p>\u9ed8\u8ba4\u663e\u793a\u9ed8\u8ba4\u5206\u652f\u7684\u7edf\u8ba1\u7ed3\u679c\u3002\u53ef\u4ee5\u901a\u8fc7\u6309\u94ae\u5207\u6362\u5206\u652f\u3002<br>\n<img src=\"http://mmbiz.qpic.cn/mmbiz/SQzXM3j7YgfkYe9L0EZYIo7n0LTKQ5DWaZvd1r8XcsT1P5RfxrSgdr5AkAWHnAib8TyV9MZtKsT5q8grBMrGAOg/640?wx_fmt=png&amp;tp=webp&amp;wxfrom=5\" alt=\"\"></p></li>\n<li><p>\u7531\u4e8e\u662f\u5b9e\u65f6\u7edf\u8ba1\uff0c\u5bf9\u4e8e\u8f83\u5927\u7684\u9879\u76ee\uff0c\u53ef\u80fd\u9700\u8981\u4e00\u5b9a\u7b49\u5f85\u7684\u65f6\u95f4\u624d\u4f1a\u663e\u793a\u9875\u9762\u3002</p></li>\n</ol>\n\n<h2>\u7edf\u8ba1\u529f\u80fd\u56fe\u793a\u8bf4\u660e</h2>\n\n<ol>\n<li><p>\u6307\u5b9a\u65f6\u95f4\u5185\u67d0\u4e2a\u7528\u6237\u63d0\u4ea4\u7684\u6570\u91cf\u3002\u5982\u679c\u6ca1\u6709\u6307\u5b9a\u5219\u8ba1\u7b97\u6574\u4e2a\u5206\u652f\u4e0a\u7684\u6240\u6709\u63d0\u4ea4\u3002</p></li>\n<li><p>\u7528\u6237\u6240\u6709\u63d0\u4ea4\u7684\u4fee\u6539\u884c\u6570\uff0c\u5305\u62ec\u589e\u52a0\u7684\u884c\u548c\u5220\u9664\u7684\u884c\u3002<br>\n<img src=\"http://mmbiz.qpic.cn/mmbiz/SQzXM3j7YgfkYe9L0EZYIo7n0LTKQ5DWia4QZyh4JdDkU6jWzQhoa5jZXCuQQ77TPVd68VVFhNowr81PQ6KiclNg/640?wx_fmt=png&amp;tp=webp&amp;wxfrom=5\" alt=\"\"></p></li>\n<li><p>\u5982\u679c\u53c2\u4e0e\u7684\u7528\u6237\u662f GitCafe \u7684\u6ce8\u518c\u7528\u6237\uff0c\u5219\u7528\u6237\u540d\u4f1a\u4ee5\u94fe\u63a5\u65b9\u5f0f\u663e\u793a\u3002<br>\n<img src=\"http://mmbiz.qpic.cn/mmbiz/SQzXM3j7YgfkYe9L0EZYIo7n0LTKQ5DWSd9v6MrHhfQw4CrclDmCjDvbNN7WWJ3W7WKe8bIh7K9p8d81WzT8Yg/640?wx_fmt=png&amp;tp=webp&amp;wxfrom=5\" alt=\"\"></p></li>\n</ol>\n\n<p>\u73b0\u5728\u5c31\u53bb GitCafe \u4f53\u9a8c\u6570\u636e\u53ef\u89c6\u5316\u7684\u9b45\u529b\u5427\u3002</p>\n", 
      "date_published": "2015-07-07T03:54:13+00:00", 
      "title": "GitCafe \u65b0\u589e\u4ee3\u7801\u8d21\u732e\u7edf\u8ba1\u529f\u80fd", 
      "id": "https://www.v2ex.com/t/203910"
    }, 
    {
      "author": {
        "url": "https://www.v2ex.com/member/kawaiiushio", 
        "name": "kawaiiushio", 
        "avatar": "https://cdn.v2ex.com/avatar/4979/feab/41874_large.png?m=1471706495"
      }, 
      "url": "https://www.v2ex.com/t/202702", 
      "date_modified": "2015-07-02T03:13:36+00:00", 
      "content_html": "<p><img src=\"https://gitcafe-image.b0.upaiyun.com/0a54afbaee6684b8e341dfec06b3d7f8.jpg\" alt=\"\"></p>\n\n<h2>\u6d3b\u52a8\u4ecb\u7ecd</h2>\n\n<blockquote>\n<p>\u4f17\u6240\u5468\u77e5\uff0c\u4e92\u8054\u7f51\u884c\u4e1a\u7684\u5174\u8d77\uff0c\u4ee5\u53ca\u4e91\u8ba1\u7b97\uff0c\u4e91\u5b58\u50a8\u7b49\u89e3\u51b3\u65b9\u6848\u7684\u5e7f\u6cdb\u5e94\u7528\u8ba9\u8d8a\u6765\u8d8a\u591a\u7684\u4f01\u4e1a\u4ee5\u53ca\u7528\u6237\u5bf9\u4e92\u8054\u7f51\u5b89\u5168\u8d8a\u6765\u8d8a\u91cd\u89c6\uff0c\u540c\u65f6\u4e92\u8054\u7f51\u5e94\u7528\u6240\u5e26\u6765\u7684\u8d8a\u6765\u8d8a\u591a\u7684\u5927\u6570\u636e\uff0c\u4e5f\u6210\u4e3a\u5173\u6ce8\u7684\u7126\u70b9\u3002</p>\n\n<p>\u4e3a\u6b64\uff0c\u60e0\u666e\u7279\u522b\u9488\u5bf9\u4e91\u89e3\u51b3\u65b9\u6848\u3001\u6570\u636e\u5b89\u5168\u53ca\u5206\u6790\u7b49\u5185\u5bb9\uff0c\u4e8e2015\u5e747\u6708\u5728\u5317\u4eac\u548c\u4e0a\u6d77\u4e3e\u529e\u201c\u60e0\u666e\u4e92\u8054\u7f51\u884c\u4e1a\u5ba2\u6237\u7814\u8ba8\u4f1a-\u66a8\u60e0\u666e\u9996\u5c4a\u9ed1\u5ba2\u9a6c\u62c9\u677e\u7ade\u8d5b\u201d\u3001\u901a\u8fc7\u6536\u96c6\u5ba2\u6237\u5728\u4e91\u3001\u5927\u6570\u636e\u7b49\u65b9\u9762\u7684\u95ee\u9898\u4f5c\u4e3a\u672c\u6b21\u5927\u8d5b\u7684\u547d\u9898\uff0c\u8ba9\u53c2\u8d5b\u201c\u9ed1\u5ba2\u4eec\u201d\u5404\u51fa\u5947\u62db\u3002</p>\n\n<p>\u6211\u4eec\u671f\u5f85\u5168\u56fd\u5f00\u53d1\u8005\u7684\u53c2\u52a0\uff0c\u4e0e\u6211\u4eec\u4e00\u8d77\u8fdb\u5165\u201c\u9ed1\u5ba2\u201d\u6a21\u5f0f\u3002</p>\n</blockquote>\n\n<h2>\u6bd4\u8d5b\u5730\u70b9</h2>\n\n<ul>\n<li>2015\u5e747\u670816\u65e5-17\u65e5 \u5317\u4eac 751D\uff65PARK\u65f6\u5c1a\u56de\u5eca (\u5317\u4eac\u5e02\u671d\u9633\u533a\u9152\u4ed9\u6865\u8def4\u53f7\uff09</li>\n</ul>\n\n<h2>\u6bd4\u8d5b\u65e5\u7a0b</h2>\n\n<p><img src=\"https://ruby-china-files.b0.upaiyun.com/photo/2015/db115bb1ed9f037954f4081734e9b211.png\" alt=\"\"></p>\n\n<h2>\u6bd4\u8d5b\u62a5\u540d</h2>\n\n<p><a target=\"_blank\" rel=\"nofollow\" href=\"http://www.mikecrm.com/f.php?t=V2KGUZ\">\u62a5\u540d\u94fe\u63a5</a></p>\n\n<h2><strong>\u5927\u8d5b\u5956\u54c1</strong></h2>\n\n<p><strong>\u300c\u795e\u79d8\u5956\u54c1\u300d/Apple Watch Sport/\u5c0f\u7c73\u7a7a\u6c14\u51c0\u5316\u5668</strong><br>\n<img src=\"https://gitcafe-image.b0.upaiyun.com/0ba3fd28441b6a2d7b5fc9fc021521d6.png\" alt=\"\"></p>\n\n<p><strong>\u53c2\u8d5b\u5956</strong><br>\n300 GitCoin</p>\n\n<ul>\n<li><p>\u51e1\u662f\u53c2\u52a0\u672c\u6b21\u300c\u60e0\u666e\u4e92\u8054\u7f51\u884c\u4e1a\u5ba2\u6237\u7814\u8ba8\u4f1a \u2014\u2014 \u66a8\u60e0\u666e\u9996\u5c4a\u9ed1\u5ba2\u9a6c\u62c9\u677e\u7ade\u8d5b\uff08\u5317\u4eac\u7ad9\uff09\u300d\u7684\u9009\u624b\u90fd\u53ef\u4ee5\u83b7\u5f97 GitCafe \u63d0\u4f9b\u7684 300 GitCoin \u7528\u4e8e\u521b\u5efa\u79c1\u6709\u9879\u76ee\u3002</p>\n\n<ul>\n<li>\u53c2\u8d5b GitCafe \u7528\u6237\u5728<a target=\"_blank\" rel=\"nofollow\" href=\"https://gitcafe.com/recharge\">\u5145\u503c\u9875\u9762</a>\u7684\u300c\u4f7f\u7528\u5151\u6362\u7801\u5145\u503c:\u300d\u4e00\u680f\u586b\u5199\u5151\u6362\u7801\uff0c\u9886\u53d6300 GitCoin\u3002\uff08\u53ef\u7528\u4e8e\u521b\u5efa\u79c1\u6709\u9879\u76ee\uff09</li>\n<li>\u6ce8\uff1a\u5151\u6362\u7801\u8bf7\u5728\u6d3b\u52a8\u73b0\u573a\u5411\u5de5\u4f5c\u4eba\u5458\u7d22\u8981\uff0c\u8be5\u5151\u6362\u7801\u5151\u6362\u6709\u6548\u671f\u4e3a 2015-07-29 ~ 2015-08-01</li>\n</ul></li>\n</ul>\n\n<h2>\u8bc4\u59d4</h2>\n\n<p><img src=\"https://gitcafe-image.b0.upaiyun.com/8d34832a20de43898753c69b58e101df.jpg\" alt=\"\"></p>\n\n<p>\u5434\u4e1a\u7fd4</p>\n\n<p>\u4e2d\u56fd\u60e0\u666e\u526f\u603b\u88c1</p>\n\n<p>\u4f01\u4e1a\u96c6\u56e2 \u4e92\u8054\u7f51\u521b\u65b0\u4e8b\u4e1a\u90e8\u603b\u7ecf\u7406</p>\n\n<p>\u5434\u4e1a\u7fd4\u5bf9\u4f01\u4e1a\u8425\u9500\u4e0eP&amp;L\u7ba1\u7406\uff0c\u6709\u4f18\u79c0\u7684\u4e1a\u7ee9\u8bb0\u5f55\uff0c\u5148\u540e\u670d\u52a1\u4e8e\u60e0\u666e\u4e0e\u6234\u5c14\u4e24\u5bb6\u8de8\u56fdIT\u4f01\u4e1a\uff0c\u51fa\u4efb\u591a\u4e2a\u90e8\u95e8\u4e4b\u9ad8\u7ba1\u3002\u62e5\u6709\u8d44\u6df1\u4e92\u8054\u7f51\u4e0e\u91d1\u878d\u884c\u4e1a\u8425\u9500\u7ecf\u9a8c\uff0c\u5176\u9886\u5bfc\u7684\u4e92\u8054\u7f51\u521b\u65b0\u4e8b\u4e1a\u56e2\u961f\u534f\u52a9\u591a\u5bb6\u4e92\u8054\u7f51\u4f01\u4e1a\u5728\u521b\u4e1a\u521d\u671f\u7684\u57fa\u7840\u67b6\u6784\u5efa\u8bbe\u4e0e\u8fd0\u7ef4\uff0c\u5e76\u6210\u4e3a\u591a\u5bb6\u4f01\u4e1a\u4e91\u6218\u7565\u5408\u4f5c\u4f19\u4f34\u3002</p>\n\n<p><img src=\"https://gitcafe-image.b0.upaiyun.com/b478e88b2f8200acd96fa6982b20cbdc.jpg\" alt=\"\"></p>\n\n<p>\u7b26\u5e86\u660e</p>\n\n<p>CTO \u5317\u4eac\u91d1\u5c71\u4e91\u7f51\u7edc\u6280\u672f\u6709\u9650\u516c\u53f8</p>\n\n<p>\u7b26\u5e86\u660e\u662f\u4e2d\u56fd\u4e91\u8ba1\u7b97\u884c\u4e1a\u7684\u9886\u519b\u7ea7\u4eba\u7269\uff0c\u5176\u4e00\u624b\u6784\u5efa\u4e86\u65b0\u6d6a\u79c1\u6709\u4e91\u548c\u516c\u6709\u4e91\uff0c\u7814\u53d1\u4e86\u56fd\u5185\u6700\u65e9\u7684PaaS\u5e73\u53f0\u30022015\u5e741\u6708\u52a0\u76df\u91d1\u5c71\u4e91\uff0c\u4e3a\u91d1\u5c71\u4e91\u6280\u672f\u56e2\u961f\u52a0\u4e86\u4e00\u5757\u91cd\u91cf\u7ea7\u7684\u781d\u7801\u3002</p>\n\n<p><img src=\"https://gitcafe-image.b0.upaiyun.com/78c82437ce50eed4ec8aeeefb28a53e7.jpg\" alt=\"\"></p>\n\n<p>\u738b\u5dcd</p>\n\n<p>\u65b0\u6d6a\u5fae\u535a</p>\n\n<p><img src=\"https://gitcafe-image.b0.upaiyun.com/ce170c4835d643bb6f367e3db539a2b4.jpg\" alt=\"\"></p>\n\n<p>\u77f3\u5efa\u5f3a</p>\n\n<p>\u60e0\u666e\u8f6f\u4ef6\u96c6\u56e2\u4e2d\u56fd\u533a \u5927\u6570\u636e\u5e73\u53f0\u603b\u7ecf\u7406</p>\n\n<p>\u77f3\u5efa\u5f3a\u5148\u751f\u5728\u5927\u6570\u636e\u5904\u7406\u65b9\u9762\u6709\u7740\u4e30\u5bcc\u7684\u7ecf\u9a8c\uff0c\u5305\u62ec\u7ed3\u6784\u5316\u548c\u975e\u7ed3\u6784\u5316\u4fe1\u606f\u5904\u7406\u9886\u57df\u3002\u4ed6\u672c\u4eba\u53c2\u4e0e\u8fc7\u591a\u4e2a\u5927\u578b\u5ba2\u6237\u7684\u76f8\u5173\u9879\u76ee\uff0c\u5305\u62ec\u56fd\u5bb6\u7535\u7f51\u3001\u4e2d\u56fd\u77f3\u6cb9\u3001CCTV\u3001\u4e2d\u56fd\u79fb\u52a8\u3001\u534e\u4e3a\u3001\u6df1\u5733\u8bc1\u5238\u4fe1\u606f\u516c\u53f8\u7b49\u7b49\u3002</p>\n\n<p><img src=\"https://gitcafe-image.b0.upaiyun.com/2bd5b9cc97d0568289b65a9009564a83.png\" alt=\"\"></p>\n\n<p>Thomas Yao</p>\n\n<p>GitCafe CEO &amp; Co-Founder</p>\n\n<h2>\u4f5c\u54c1\u63d0\u4ea4</h2>\n\n<p>\u9700\u8981\u5c06\u4ee3\u7801\u63d0\u4ea4\u5728 GitCafe \u5e73\u53f0\u3002<br>\n\u521b\u5efa\u9879\u76ee\u65f6\uff0c\u5728\u300c\u6b64\u9879\u76ee\u5c5e\u4e8e\u7ebf\u4e0a\u6d3b\u52a8\u300d\u4e00\u680f\u4e2d\uff0c\u8bf7\u9009\u62e9\u300c\u60e0\u666e\u4e92\u8054\u7f51\u884c\u4e1a\u5ba2\u6237\u7814\u8ba8\u4f1a \u2014\u2014 \u66a8\u60e0\u666e\u9996\u5c4a\u9ed1\u5ba2\u9a6c\u62c9\u677e\u7ade\u8d5b\uff08\u5317\u4eac\u7ad9\uff09\u300d\u9009\u9879\u3002</p>\n\n<p>\u8be6\u60c5\u8bf7\u89c1 <a target=\"_blank\" rel=\"nofollow\" href=\"https://campaign.gitcafe.com/hp-hackathon-bj\">https://campaign.gitcafe.com/hp-hackathon-bj</a></p>\n", 
      "date_published": "2015-07-02T03:09:22+00:00", 
      "title": "\u60e0\u666e\u4e92\u8054\u7f51\u884c\u4e1a\u5ba2\u6237\u7814\u8ba8\u4f1a \u2014\u2014 \u66a8\u60e0\u666e\u9996\u5c4a\u9ed1\u5ba2\u9a6c\u62c9\u677e\u7ade\u8d5b\uff08\u5317\u4eac\u7ad9\uff09", 
      "id": "https://www.v2ex.com/t/202702"
    }, 
    {
      "author": {
        "url": "https://www.v2ex.com/member/kawaiiushio", 
        "name": "kawaiiushio", 
        "avatar": "https://cdn.v2ex.com/avatar/4979/feab/41874_large.png?m=1471706495"
      }, 
      "url": "https://www.v2ex.com/t/202586", 
      "date_modified": "2015-07-01T12:48:54+00:00", 
      "content_html": "<p><img src=\"https://gitcafe-image.b0.upaiyun.com/eb616bf1a01c7589d48cd581a8768e24.png\" alt=\"\"></p>\n\n<blockquote>\n<p>\u300cNAO \u673a\u5668\u4eba\u521b\u5ba2\u7f16\u7a0b\u9a6c\u62c9\u677e\u300d\u662f Big Cyber \u5fc5\u9177\u8d5b\u535a , \u521b\u5ba2\u661f\u7403 , RoboMing \u4e0e GitCafe \u5408\u4f5c\u4e3e\u529e\u7684\u7ebf\u4e0a\u5f00\u53d1\u8005\u5927\u8d5b\u3002</p>\n\n<p>NAO\u673a\u5668\u4eba\u662f\u4e00\u6b3e\u4eba\u5de5\u667a\u80fd\u673a\u5668\u4eba\u3002\u5b83\u62e5\u6709\u8ba9\u4eba\u559c\u6b22\u7684\u5916\u5f62\uff0c\u5177\u5907\u4e00\u5b9a\u6c34\u5e73\u7684\u4eba\u5de5\u667a\u80fd\uff0c\u80fd\u591f\u4e0d\u4eba\u4eb2\u5207\u7684\u4e92\u52a8\uff0c\u662f\u76ee\u524d\u4e16\u754c<br>\n\u5b66\u672f\u9886\u57df\u5185\u8fd0\u7528\u6700\u5e7f\u6cdb\u7684\u7c7b\u4eba\u673a\u5668\u4eba\u3002NAO\u652f\u6301\u591a\u79cd\u7f16\u7a0b\u65b1\u5f0f\uff0c\u5141\u8bb8\u7528\u6237\u63a2\u7d22\u5404\u79cd\u5b9e\u9645\u5e94\u7528\u9886\u57df\uff0c\u5df2\u5728\u5168\u7403\u8303\u56f4\u5185\u5438\u5f15\u4e86\u4e00<br>\n\u5927\u6279\u7a0b\u5e8f\u5f00\u53d1\u4eba\u5458\u3002</p>\n\n<p>\u901a\u8fc7\u672c\u6b21NAO\u673a\u5668\u4eba\u521b\u5ba2\u7f16\u7a0b\u9a6c\u62c9\u677e\uff0c\u6211\u4eec\u5e0c\u671b\u63d0\u4f9b\u5168\u56fd\u521b\u5ba2\u4e00\u4e2a\u76f4\u63a5\u63a5\u89e6\u5168\u7403\u9876\u7ea7\u673a\u5668\u4eba\u786c\u4ef6\u548c\u8f6f\u4ef6\u5f00\u53d1\u73af\u5883\u7684\u4e00\u4e2a<br>\n\u5b66\u4e60\u4e0e\u4ea4\u6d41\u5e73\u53f0\uff0c\u5145\u5206\u53d1\u6325\u521b\u5ba2\u7684\u521b\u9020\u529b\u548c\u6280\u672f\u5b9e\u73b0\u80fd\u529b\uff0c\u4e3aNAO\u673a\u5668\u4eba\u4e43\u81f3\u6574\u4e2a\u670d\u52a1\u673a\u5668\u4eba\u884c\u4e1a\u66f4\u5feb\u8fdb\u5165\u5b9e\u7528\u3001\u878d\u5165\u6211\u4eec<br>\n\u65e5\u5e38\u7684\u5bb6\u5ead\u4e0e\u751f\u6d3b\u8d21\u732e\u4e00\u4efd\u529b\u3002</p>\n\n<p>\u96c6\u4f17\u521b\u60f3\uff0c\u821e\u52a8\u521b\u610f\u2014\u2014\u73b0\u9762\u5411\u5168\u56fd\u521b\u5ba2\u53d1\u51fa\u82f1\u96c4\u5e16\uff0c\u7b49\u4f60\u6765\u6218\uff01</p>\n</blockquote>\n\n<h2>\u6bd4\u8d5b\u5185\u5bb9</h2>\n\n<p><img src=\"http://7xjgix.com5.z0.glb.clouddn.com/nao_cop.jpg\" alt=\"\"></p>\n\n<h2>\u603b\u5219</h2>\n\n<ul>\n<li>\u5728\u4e2d\u56fdNAO\u673a\u5668\u4eba\u521b\u5ba2\u9a6c\u62c9\u677e\u4e0a\u6d77\u7ad9\u7ade\u8d5b\u4e2d\uff0c\u53c2\u8d5b\u961f\u4f0d\u9700\u4eceNAO\u673a\u5668\u4eba\u5728\u5b9e\u9645\u751f\u6d3b\u6216\u5546\u4e1a\u5e94\u7528\u89d2\u5ea6\u51fa\u53d1\uff0c\u8bbe\u8ba1\u521b\u65b0\u70b9\u53ca\u8868\u73b0\u5f62\u5f0f\u65e0\u9650\u5236\uff0c\u81ea\u7531\u53d1\u6325\u3002\u5404\u961f\u4f7f\u7528\u7edf\u4e00\u7684\u673a\u5668\u4eba\u8fdb\u884c\u7f16\u7a0b\u63a7\u5236\u4e0e\u5b9e\u8df5\u8c03\u8bd5\uff0c\u6700\u540e\u8fda\u884c\u5c55\u793a\u3002\u8bc4\u59d4\u5c06\u6839\u636e\u8bc4\u5206\u6807\u51c6\u5bf9\u5404\u4e2a\u53c2\u8d5b\u961f\u7684\u4f5c\u54c1\u8fdb\u884c\u8bc4\u6bd4\u3002\u6ce8\uff1a\u53c2\u8d5b\u961f\u4f0d\u53ef\u4ee5\u9009\u62e9\u5c06\u53c2\u8d5b\u4f5c\u54c1\u5f00\u6e90\u6216\u8005\u4fdd\u6709\u81ea\u5df1\u53c2\u8d5b\u4f5c\u54c1\u7684\u6240\u6709\u6743\uff0c\u4f46\u662f\u53ea\u6709\u9009\u62e9\u5f00\u6e90\u7684\u4f5c\u54c1\u624d\u53ef\u4ee5\u53c2\u4e0e\u6700\u7ec8\u7684\u8bc4\u5ba1\u3002</li>\n</ul>\n\n<h2>\u8bc4\u5206\u6807\u51c6</h2>\n\n<ul>\n<li>\u521b\u65b0\u6027\uff0830\u5206\uff09 \u673a\u5668\u4eba\u5e94\u7528\u7684\u521b\u65b0\uff0c\u8bbe\u8ba1\u601d\u8def\u65b0\u9896\uff0c\u6d89\u53ca\u4e86\u65b0\u7684\u5e94\u7528\u65b1\u5411\u548c\u5e94\u7528\u9886\u57df</li>\n<li>\u5b9e\u7528\u6027\uff0830\u5206\uff09 \u9879\u76ee\u7684\u8bbe\u8ba1\u3001\u5b9e\u73b0\u7684\u5b9e\u9645\u5e94\u7528\u53ef\u884c\u6027\u53ca\u53ef\u64cd\u4f5c\u6027</li>\n<li>\u8da3\u5473\u6027\uff0825\u5206\uff09 \u5c55\u73b0\u51fa\u53cc\u8db3\u4eba\u5f62\u673a\u5668\u4eba\u7684\u7279\u70b9\uff0c\u7a81\u51fa\u8da3\u5473\u6027\u548c\u89c2\u8d4f\u6027</li>\n<li><p>\u9879\u76ee\u8bf4\u660e\uff0825\u5206\uff09 \u6bcf\u7ec4\u961f\u4f0d\u6d3e\u4e00\u540d\u961f\u5458\u8fdb\u884c\u8bb2\u89e3\u53ca\u6f14\u793a\uff0c</p>\n\n<p>\u671f\u95f4\u505a\u51fa\u7684\u9879\u76ee\u8bb2\u89e3\u987b\u81f3\u5c11\u5305\u542b\uff1a</p>\n\n<ol>\n<li>\u8bbe\u8ba1\u76ee\u7684\u4e0d\u9884\u671f\u6548\u679c\uff0c</li>\n<li>\u9879\u76ee\u89e3\u51b3\u7684\u5b9e\u9645\u95ee\u9898\uff0c</li>\n<li>\u6280\u672f\u5b9e\u73b0\u7684\u89e3\u91ca\uff0c</li>\n<li>\u5f00\u53d1\u8fc7\u7a0b\u4e2d\u7684\u6545\u4e8b\u6212\u4f53\u4f1a\u3002</li>\n</ol></li>\n</ul>\n\n<h2>\u53c2\u8d5b\u4eba\u5458\u8981\u6c42</h2>\n\n<p><img src=\"http://7xjgix.com5.z0.glb.clouddn.com/nao_req.jpg\" alt=\"\"></p>\n\n<h2>\u53c2\u8d5b\u8005\u798f\u5229</h2>\n\n<p><img src=\"http://7xjgix.com5.z0.glb.clouddn.com/nao_fuli.jpg\" alt=\"\"></p>\n\n<h2>GitCafe \u7528\u6237\u798f\u5229</h2>\n\n<p>\u51e1\u662f\u53c2\u52a0\u672c\u6b21\u300cNAO \u673a\u5668\u4eba\u521b\u5ba2\u7f16\u7a0b\u9a6c\u62c9\u677e\u300d\u7684\u9009\u624b\u90fd\u53ef\u4ee5\u83b7\u5f97 GitCafe \u63d0\u4f9b\u7684 300 GitCoin \u7528\u4e8e\u521b\u5efa\u79c1\u6709\u9879\u76ee\u3002</p>\n\n<p>\u53c2\u8d5b GitCafe \u7528\u6237\u5728\u5145\u503c\u9875\u9762\u7684\u300c\u4f7f\u7528\u5151\u6362\u7801\u5145\u503c:\u300d\u4e00\u680f\u586b\u5199\u5151\u6362\u7801\uff0c\u9886\u53d6300 GitCoin\u3002\uff08\u53ef\u7528\u4e8e\u521b\u5efa\u79c1\u6709\u9879\u76ee\uff09<br>\n\u6ce8\uff1a\u5151\u6362\u7801\u8bf7\u5728\u6d3b\u52a8\u73b0\u573a\u5411\u5de5\u4f5c\u4eba\u5458\u7d22\u8981\uff0c\u8be5\u5151\u6362\u7801\u5151\u6362\u6709\u6548\u671f\u4e3a 2015-07-15 ~ 2015-07-20</p>\n\n<h2>\u6d3b\u52a8\u65e5\u7a0b</h2>\n\n<p><img src=\"http://7xjgix.com5.z0.glb.clouddn.com/nao_cal.jpg\" alt=\"\"></p>\n\n<h2>\u6d3b\u52a8\u6d41\u7a0b</h2>\n\n<p><img src=\"http://7xjgix.com5.z0.glb.clouddn.com/nao_thi.jpg\" alt=\"\"></p>\n\n<h2>\u8d5b\u4e8b\u5de1\u56de</h2>\n\n<p><img src=\"http://7xjgix.com5.z0.glb.clouddn.com/nao_cities.jpg\" alt=\"\"></p>\n\n<p><img src=\"http://7xjgix.com5.z0.glb.clouddn.com/nao_cn.jpg\" alt=\"\"></p>\n\n<h2>\u4f5c\u54c1\u63d0\u4ea4</h2>\n\n<p>\u9700\u8981\u5c06\u4ee3\u7801\u63d0\u4ea4\u5728 GitCafe \u5e73\u53f0\u3002\u60a8\u5728 GitCafe \u521b\u5efa\u9879\u76ee\u65f6\uff0c\u8bf7\u9009\u62e9\u300cNAO \u673a\u5668\u4eba\u521b\u5ba2\u7f16\u7a0b\u9a6c\u62c9\u677e\u300d\u9009\u9879\u3002</p>\n\n<h2>\u62a5\u540d\u53c2\u8d5b</h2>\n\n<ul>\n<li>\u62a5\u540d\u622a\u6b62\u65e5\u671f\uff1a2015\u5e747\u670820\u65e5</li>\n<li>\u8bf7\u5c06\u586b\u597d\u7684\u8868\u683c\u53d1\u9001\u81f3<a target=\"_blank\" rel=\"nofollow\" href=\"mailto:service@bigcyber.com.cn\">service@bigcyber.com.cn</a></li>\n<li>\u54a8\u8be2\u7535\u8bdd\uff1a13592531201\uff0c021-34185000-80171\uff0c021-61358998-123</li>\n<li>\u62a5\u540d\u9009\u624b\u9700\u81ea\u5907\u7535\u8111</li>\n</ul>\n\n<p>\u8be6\u60c5\u70b9\u51fb <a target=\"_blank\" rel=\"nofollow\" href=\"https://campaign.gitcafe.com/nao-robot-hackathon\">https://campaign.gitcafe.com/nao-robot-hackathon</a></p>\n", 
      "date_published": "2015-07-01T12:44:57+00:00", 
      "title": "NAO \u673a\u5668\u4eba\u521b\u5ba2\u7f16\u7a0b\u9a6c\u62c9\u677e", 
      "id": "https://www.v2ex.com/t/202586"
    }, 
    {
      "author": {
        "url": "https://www.v2ex.com/member/kawaiiushio", 
        "name": "kawaiiushio", 
        "avatar": "https://cdn.v2ex.com/avatar/4979/feab/41874_large.png?m=1471706495"
      }, 
      "url": "https://www.v2ex.com/t/202336", 
      "date_modified": "2015-06-30T15:56:03+00:00", 
      "content_html": "<p>\u7ec4\u7ec7 (Organization) \u662f GitCafe \u7528\u6237\u8fdb\u884c\u56e2\u961f\u534f\u4f5c\u7684\u57fa\u7840\uff0c\u793e\u533a\u6216\u4f01\u4e1a\u7684\u5f00\u53d1\u56e2\u961f\u53ef\u4ee5\u5728 GitCafe \u4e0a\u5efa\u7acb\u7ec4\u7ec7\uff0c\u5e76\u5728\u5176\u4e2d\u521b\u5efa\u5c5e\u4e8e\u8be5\u7ec4\u7ec7\u7684\u9879\u76ee\u3002\u4e3a\u4e86\u8ba9\u56e2\u961f\u534f\u4f5c\u6709\u66f4\u4fbf\u6377\u7684\u6743\u9650\u5206\u914d\u548c\u9879\u76ee\u534f\u4f5c\u7ba1\u7406\u65b9\u5f0f\uff0cGitCafe \u4e3a\u7ec4\u7ec7\u65b0\u589e\u4e86\u300c\u5c0f\u7ec4\u300d\u529f\u80fd\uff0c\u5728\u6b64\u5411\u5927\u5bb6\u4ecb\u7ecd\u65b0\u529f\u80fd\u7684\u5185\u5bb9\u3002</p>\n\n<p>\u300c\u5c0f\u7ec4\u300d\u529f\u80fd\u7684\u76ee\u7684\u662f\u8ba9\u7ba1\u7406\u8005\u80fd\u66f4\u65b9\u4fbf\u7684\u8bbe\u7f6e\u7ec4\u7ec7\u6210\u5458\u7684\u534f\u4f5c\u6743\u9650\u3001\u8fdb\u884c\u7ec4\u7ec7\u53ca\u9879\u76ee\u5230\u7684\u7ba1\u7406\u3002\u64cd\u4f5c\u65b9\u5f0f\u662f\u7531\u7ec4\u7ec7\u7ba1\u7406\u8005\u5728\u7ec4\u7ec7\u5185\u521b\u5efa\u82e5\u5e72\u4e2a\u5c0f\u7ec4\uff0c\u5e76\u5728\u521b\u5efa\u5c0f\u7ec4\u65f6\u8bbe\u7f6e\u8be5\u5c0f\u7ec4\u6210\u5458\u7684\u6743\u9650\u7ea7\u522b\uff0c\u5176\u540e\u518d\u4e8e\u5404\u8be5\u5c0f\u7ec4\u5185\u6dfb\u52a0\u6210\u5458\uff0c\u5e76\u7531\u9879\u76ee\u7ba1\u7406\u8005\u5c06\u5c0f\u7ec4\u6dfb\u52a0\u5230\u5404\u4e2a\u9879\u76ee\u4e2d\uff0c\u8ba9\u6210\u5458\u53ef\u4ee5\u5728\u5176\u6743\u9650\u8303\u56f4\u5185\u8fdb\u884c\u534f\u4f5c\u3002</p>\n\n<p><strong>\u4e8b\u4f8b\u8bf4\u660e</strong></p>\n\n<p>\u4ee5\u4e0b\u4e3e\u4e2a\u4f8b\u5b50\u8bf4\u660e\u300c\u5c0f\u7ec4\u300d\u7684\u5b9e\u9645\u64cd\u4f5c\uff0c\u5e2e\u52a9\u4f60\u66f4\u5feb\u901f\u7406\u89e3\uff1a</p>\n\n<p><img src=\"http://dn-coderq.qbox.me/uploads/default/1561/c96b7f796dbac08a.png\" alt=\"\"></p>\n\n<p>\u5173\u7fbd\u662f\u300c\u8d64\u5154\u7801\u6e38\u620f\u516c\u53f8\u300d\u7684\u521b\u59cb\u4eba\uff0c\u516c\u53f8\u51c6\u5907\u5f00\u53d1\u4e00\u6b3e\u300c\u9ed1\u5ba2\u4e09\u56fd\u300d\u6e38\u620f\uff0c\u9700\u8981\u534f\u540c\u5f00\u53d1\u548c\u4ee3\u7801\u6258\u7ba1\u7684\u670d\u52a1\uff0c\u56e0\u6b64\u4ed6\u9009\u7528 GitCafe \u521b\u5efa\u4e86\u4e00\u4e2a\u540d\u4e3a\u300cChiTuMa\u300d\u7684\u7ec4\u7ec7\u3002</p>\n\n<p><img src=\"http://dn-coderq.qbox.me/uploads/default/1562/ed16275b5f417422.png\" alt=\"\"></p>\n\n<p>\u8eab\u4e3a\u300c\u7ec4\u7ec7\u62e5\u6709\u8005 (Owner)\u300d\u7684\u5173\u7fbd\uff0c\u624b\u4e0b\u6709\u5f20\u98de\u548c\u8bf8\u845b\u4eae\u4e24\u4e2a\u6280\u672f\u603b\u76d1\uff0c\u4e3a\u4e86\u7ba1\u7406\u65b9\u4fbf\uff0c\u5173\u7fbd\u5c06\u5f20\u98de\u548c\u8bf8\u845b\u4eae\u52a0\u5165\u300cChiTuMa\u300d\u7684\u300c\u7ec4\u7ec7\u7ba1\u7406\u5c0f\u7ec4 (Admin)\u300d\u3002</p>\n\n<p><img src=\"http://dn-coderq.qbox.me/uploads/default/1563/bc4a0b598e3e55c4.png\" alt=\"\"></p>\n\n<p>Admin \u6210\u5458\u7686\u53ef\u8fdb\u884c\u7ec4\u7ec7\u7ba1\u7406\u4e8b\u52a1\uff0c\u540c\u65f6\u4e5f\u53ef\u4ee5\u521b\u5efa\u9879\u76ee\u4ee5\u53ca\u7ba1\u7406\u5404\u4e2a\u5c0f\u7ec4\u7684\u6743\u9650\u548c\u6210\u5458\u3002</p>\n\n<p><img src=\"http://dn-coderq.qbox.me/uploads/default/1564/624d78b601c96eb0.png\" alt=\"\"></p>\n\n<p>\u300c\u9ed1\u5ba2\u4e09\u56fd\u300d\u6e38\u620f\u9700\u8981 Web\u3001iOS \u548c Android \u4e09\u4e2a\u5ba2\u6237\u7aef\uff0c\u5f20\u98de (Admin) \u5fc3\u60f3\u5fc5\u987b\u8981\u5148\u5c06\u516c\u53f8\u4e2d\u7684\u5f00\u53d1\u4e3b\u7ba1\u3001\u5f00\u53d1\u4eba\u5458\u3001\u6e38\u620f\u7b56\u5212\u3001\u7f8e\u672f\u8bbe\u8ba1\u548c\u6280\u672f\u987e\u95ee\u5206\u7ec4\uff0c\u56e0\u6b64\u4ed6\u5728 ChiTuMa \u7ec4\u7ec7\u4e2d\u521b\u5efa\u4e86\u51e0\u4e2a\u4e0d\u540c\u6743\u9650\u7ea7\u522b\u7684\u300c\u534f\u4f5c\u5c0f\u7ec4 (Team)\u300d\uff0c\u518d\u5c06\u7528\u6237\u6dfb\u52a0\u5230 Team \u91cc\u9762\uff0c\u6210\u4e3a\u7ec4\u7ec7\u6210\u5458\u3002</p>\n\n<p><img src=\"http://blog.gitcafe.com/wp-content/uploads/2015/06/Screenshot-2015-06-30-15.32.05.png\" alt=\"\"></p>\n\n<p><img src=\"http://7xjgix.com5.z0.glb.clouddn.com/orgpic.jpg\" alt=\"\"></p>\n\n<p>\u7531\u4e0a\u8868\u53ef\u4ee5\u77e5\u9053\uff1a</p>\n\n<p>\u53ea\u6709 Admin\uff08\u62e5\u6709\u300c\u7ec4\u7ec7\u7ba1\u7406\u300d\u6743\u9650\uff09\u53ef\u4ee5\u65b0\u5efa Team\u3001\u8bbe\u7f6e\u6743\u9650\u7ea7\u522b\uff0c\u5e76\u5c06\u7528\u6237\u6dfb\u52a0\u5230 Team \u4e2d<br>\n\u62e5\u6709\u300c\u9879\u76ee\u7ba1\u7406\u300d\u6743\u9650\u7684 Team \u6210\u5458 (Project Manager, PM) \u53ef\u4ee5\u5c06\u82e5\u5e72\u4e2a Team \u6dfb\u52a0\u5230\u5176\u6240\u5c5e\u9879\u76ee\u5f53\u4e2d\u8fdb\u884c\u534f\u4f5c\uff0c\u4f46\u65e0\u6743\u9650\u65b0\u589e\uff0f\u7f16\u8f91\uff0f\u5220\u9664 Team \u4e2d\u7684\u6210\u5458\uff0c\u4e5f\u65e0\u6743\u53d8\u66f4 Team \u7684\u6743\u9650\u7ea7\u522b<br>\n<img src=\"http://dn-coderq.qbox.me/uploads/default/1565/159c42c276c4100a.png\" alt=\"\"></p>\n\n<p>\u5f20\u98de (Admin) \u628a\u7ec4\u7ec7\u4e2d\u7684\u65b0\u5efa\u5c0f\u7ec4\u3001\u8bbe\u7f6e\u6743\u9650\u548c\u6dfb\u52a0\u7528\u6237\u7b49\u5de5\u4f5c\u5b8c\u6210\u540e\uff0c\u63a5\u4e0b\u6765\u7684\u5de5\u4f5c\u5c31\u662f\u65b0\u5efa\u9879\u76ee\uff0c\u7531 admin \u81ea\u5df1\u6216\u662f\u5c5e\u4e8e PM \u5c0f\u7ec4\u7684\u5173\u5174\u3001\u9a6c\u8d85\u3001\u5e9e\u7edf\u3001\u8d75\u4e91\u3001\u9ec4\u5fe0\u3001\u9b4f\u5ef6\u7b49\u4eba\u6765\u65b0\u5efa\u5404\u4e2a\u9879\u76ee\uff0c\u5e76\u4e14\u9009\u62e9\u5408\u9002\u7684 Team \u6dfb\u52a0\u5230\u9879\u76ee\u5f53\u4e2d\u6210\u4e3a\u534f\u4f5c\u8005\uff0c\u5373\u53ef\u542f\u52a8\u9879\u76ee\u7684\u56e2\u961f\u534f\u4f5c\u5de5\u4f5c\u3002</p>\n\n<p>\u5c0f\u7ec4\u529f\u80fd\u7684\u597d\u5904<br>\n\u4f9d\u7167\u4e0a\u9762\u7684\u63cf\u8ff0\uff0c\u521b\u5efa\u7ec4\u7ec7\u3001\u65b0\u5efa\u5c0f\u7ec4\u5e76\u8bbe\u7f6e\u6743\u9650\u7b49\u5de5\u4f5c\uff0c\u786e\u5b9e\u9700\u8981\u8d39\u70b9\u5fc3\u601d\uff1b\u5f53\u7136\uff0c\u6211\u4eec\u4e0d\u4f1a\u5f92\u589e\u7528\u6237\u7684\u56f0\u6270\uff0c\u5982\u6b64\u8bbe\u8ba1\u6700\u5927\u7684\u597d\u5904\u5c31\u662f\u5728\u7ec4\u7ec7\u6210\u5458\u7684\u52a0\u5165\u548c\u9000\u51fa\u65f6\uff0c\u53ef\u4ee5\u66f4\u4e3a\u4fbf\u6377\u3002\u4f8b\u5982\uff1a</p>\n\n<p>\u6210\u5458\u52a0\u5165</p>\n\n<p>\u8d64\u5154\u7801\u6e38\u620f\u516c\u53f8\u62db\u8058\u4e86\u65b0\u4eba\u590f\u4faf\u9738\uff0c\u8d1f\u8d23 Android \u5f00\u53d1\u3002\u8fd9\u65f6\uff0cAdmin \u5c06\u4ed6\u52a0\u5165 Android-Dev \u5c0f\u7ec4\u540e\uff0c\u590f\u4faf\u9738\u5373\u53ef\u4e00\u6b21\u6027\u7684\u5728\u6240\u6709\u5df2\u6dfb\u52a0 Android-Dev \u5c0f\u7ec4\u7684\u9879\u76ee\u4e2d\u5f00\u59cb\u534f\u4f5c\u5f00\u53d1\uff0c\u4e0d\u5fc5\u4e00\u4e2a\u4e00\u4e2a\u9879\u76ee\u6dfb\u52a0\uff0c\u8fd8\u53ef\u80fd\u9057\u6f0f\u3002</p>\n\n<p>\u6210\u5458\u9000\u51fa</p>\n\n<p>\u8d75\u4e91\u8981\u79bb\u804c\u4e86\uff0c\u8fd9\u65f6\u53ea\u8981\u5230 ChiTuMa \u7ec4\u7ec7\u5f53\u4e2d\u7684\u6210\u5458\u5217\u8868\uff0c\u4e00\u6b21\u6027\u7684\u5c06\u4ed6\u9000\u51fa\u6240\u6709\u5c0f\u7ec4\uff0c\u5c31\u5b8c\u6210\u5de5\u4f5c\u4e86\uff0c\u4e0d\u5fc5\u62c5\u5fc3\u9879\u76ee\u4f17\u591a\u800c\u758f\u672a\u9000\u51fa\u3002\u56e0\u6b64\uff0cAdmin \u5728\u4eba\u5458\u7ba1\u7406\u65b9\u9762\u5c06\u66f4\u52a0\u65b9\u4fbf\u3002</p>\n\n<p>\u5c0f\u7ec4\u7684\u6743\u9650\u8bf4\u660e<br>\n\u82e5\u4f60\u9488\u5bf9\u672c\u6b21\u65b0\u63a8\u51fa\u7684\u300c\u5c0f\u7ec4\u300d\u529f\u80fd\u60f3\u8981\u6709\u66f4\u6df1\u5165\u7684\u7406\u89e3\uff0c\u8bf7\u9605\u8bfb\u6211\u4eec\u7684<a target=\"_blank\" rel=\"nofollow\" href=\"https://gitcafe.com/GitCafe/Help/wiki/%E5%B0%8F%E7%BB%84%E5%8A%9F%E8%83%BD\">\u5e2e\u52a9\u6587\u6863</a>\uff0c\u5176\u4e2d\u6709\u66f4\u8be6\u5c3d\u7684\u8bf4\u660e\u3002</p>\n\n<p><a target=\"_blank\" rel=\"nofollow\" href=\"https://gitcafe.com\">GitCafe</a> \u6301\u7eed\u52aa\u529b\u4e3a\u60a8\u4f18\u5316\u534f\u540c\u5f00\u53d1\u5de5\u4f5c\uff0c\u82e5\u6709\u4efb\u4f55\u610f\u89c1\u53ca\u7591\u95ee\uff0c\u6211\u4eec\u5f88\u6b22\u8fce\u60a8\u7684\u53cd\u9988\uff01</p>\n", 
      "date_published": "2015-06-30T15:55:54+00:00", 
      "title": "GitCafe \u4e3a\u7ec4\u7ec7\u65b0\u589e\u300c\u5c0f\u7ec4\u300d\u529f\u80fd", 
      "id": "https://www.v2ex.com/t/202336"
    }, 
    {
      "author": {
        "url": "https://www.v2ex.com/member/GuBonjour", 
        "name": "GuBonjour", 
        "avatar": "https://cdn.v2ex.com/avatar/f457/edf5/75353_large.png?m=1420346433"
      }, 
      "url": "https://www.v2ex.com/t/199273", 
      "date_modified": "2015-06-17T07:45:10+00:00", 
      "content_html": "<p><img src=\"https://wt-prj.oss.aliyuncs.com/684256bf8ed74a5fb36e83c203913d23/71e06dae-9021-4412-9a32-9e1835be2e39.png\" alt=\"\u66ff\u4ee3\u6587\u5b57\"><br>\nWorktile \u4ece\u8bde\u751f\u81f3\u4eca\uff0c\u59cb\u7ec8\u81f4\u529b\u4e8e\u4e3a\u4e2d\u5c0f\u56e2\u961f\u63d0\u4f9b\u6700\u57fa\u7840\u7684\u534f\u4f5c\u670d\u52a1\uff0c\u800c\u5728\u8fc7\u53bb\u7684\u65f6\u95f4\u91cc\uff0c\u6211\u4eec\u4ece\u5f88\u591a\u7684\u7528\u6237\u548c\u670b\u53cb\u4e2d\u770b\u5230\u4e86 Worktile \u65e0\u53ef\u9650\u7684\u62d3\u5c55\u6027\u3002\u8fd9\u4e5f\u662f Worktile Open API \u7684\u521d\u8877\u2014\u2014\u5c06 Worktile \u7684\u534f\u4f5c\u5c5e\u6027\u5e94\u7528\u5230\u66f4\u5e7f\u9614\uff0c\u66f4\u4e13\u4e1a\u7684\u573a\u666f\u4e2d\u3002</p>\n\n<p>\u6211\u4eec\u671f\u5f85\u9047\u89c1\u5bf9\u8fd9\u4e2a\u4e16\u754c\u5145\u6ee1\u70ed\u60c5\u4e0e\u667a\u6167\u7684\u4f60\uff0c\u8fce\u63a5\u6311\u6218\uff0c\u4e00\u8d77\u521b\u9020\u51fa\u66f4\u591a\u6709\u8da3\uff0c\u9177\u70ab\u7684\u4ea7\u54c1\uff01</p>\n\n<p>6\u670815\u65e5\uff0c\u5f00\u6218</p>\n\n<hr>\n\n<p><strong>Worktile Hackathon</strong></p>\n\n<hr>\n\n<p>\u300cWorktile Hackathon\u300d\u662f Worktile\u300136\u6c2a \u4e0e GitCafe \u5408\u4f5c\u4e3e\u529e\u7684\u7ebf\u4e0a\u5f00\u53d1\u8005\u5927\u8d5b\u3002\u5728\u4e3a\u671f\u4e24\u4e2a\u6708\u7684\u65f6\u95f4\u91cc\uff0c\u8bf7\u5f00\u53d1\u8005\u4eec\u57fa\u4e8e Worktile API \u5f00\u53d1\u51fa\u6709\u8da3\u7684\u6548\u7387\u7c7b\u4ea7\u54c1\uff0c\u4f60\u7684\u60f3\u6cd5\u6709\u53ef\u80fd\u6210\u4e3a\u5f53\u4e0b 10W+ \u56e2\u961f\u7684\u65e5\u5e38\u6240\u7528\uff0c\u5c06\u6765\u66f4\u6709\u53ef\u80fd\u4e3a\u767e\u4e07\u7ea7\u3001\u5343\u4e07\u7ea7\u7684\u56e2\u961f\u670d\u52a1\uff0c\u800c\u4f60\u4e5f\u6709\u53ef\u80fd\u4ece\u4e2d\u6536\u83b7\u5230\u4e30\u539a\u7684\u56de\u62a5\u3002</p>\n\n<hr>\n\n<p><strong>\u9009\u9898\u65b9\u5411</strong></p>\n\n<hr>\n\n<p><em>\u9996\u8981\u51c6\u5219\u4e3a\u57fa\u4e8e Worktile Open API \u5f00\u53d1\uff0c\u63a8\u8350\u5982\u4e0b\u9009\u9898\u65b9\u5411\uff08\u5305\u62ec\u4f46\u4e0d\u9650\u4e8e\uff09</em></p>\n\n<ul>\n<li>\u4e2a\u4eba GTD \u65b9\u5411\uff1a \u4f7f\u7528 Worktile \u7684 API \u8fdb\u884c\u4e2a\u4eba\u7ba1\u7406\u65b9\u5411\u7684\u4ea7\u54c1\u5f00\u53d1\uff0c\u4e2a\u4eba\u7684 TODO List\u3001\u65e5\u7a0b\u7ba1\u7406\u3001\u5065\u8eab\u8ba1\u5212\u7b49\uff1b</li>\n<li>\u884c\u4e1a\u89e3\u51b3\u65b9\u6848\uff1a \u9488\u5bf9\u7279\u5b9a\u7684\u884c\u4e1a\uff0c\u8fdb\u884c\u5b9a\u5411\u7684\u6269\u5c55\u5f00\u53d1\uff1b</li>\n<li>\u684c\u9762\u5ba2\u6237\u7aef\u65b9\u5411\uff1a\u5f00\u53d1\u51fa\u5207\u5b9e\u53ef\u7528\u7684\u684c\u9762\u5ba2\u6237\u7aef\uff0c\u6ee1\u8db3\u7528\u6237\u5bf9\u4e8e Windows \u7cfb\u7edf\u548c Mac \u7cfb\u7edf\u4e0b\u5bf9\u4e8e\u684c\u9762\u5ba2\u6237\u7aef\u7684\u9700\u6c42\uff0c\u6bd4\u5982\u63d0\u9192\u3001\u79bb\u7ebf\u64cd\u4f5c\u7b49\uff1b</li>\n<li>\u521b\u65b0\u65b9\u5411\uff1a\u5982\u679c\u6709\u4efb\u4f55\u5176\u4ed6\u6709\u8da3\u7684\u60f3\u6cd5\uff0c\u4e5f\u53ef\u4ee5\u4efb\u610f\u6325\u6d12\uff0cWorktile \u5c31\u50cf\u4e50\u9ad8\u79ef\u6728\u4e00\u6837\uff0c\u4f60\u7684\u5927\u8111\u624d\u662f Worktile \u7684\u6781\u9650\uff01</li>\n</ul>\n\n<hr>\n\n<p><strong>\u5956\u54c1\u62a2\u5148\u770b</strong></p>\n\n<hr>\n\n<p><img src=\"https://wt-prj.oss.aliyuncs.com/684256bf8ed74a5fb36e83c203913d23/58f47251-25f0-4d2a-9790-ce22c9ca1b23.jpg\" alt=\"\u66ff\u4ee3\u6587\u5b57\"></p>\n\n<hr>\n\n<p><strong>\u8bc4\u5ba1\u5609\u5bbe</strong></p>\n\n<hr>\n\n<p><img src=\"https://wt-prj.oss.aliyuncs.com/684256bf8ed74a5fb36e83c203913d23/19f18174-62d0-4b66-8c7c-952b5338fb4b.png\" alt=\"\u66ff\u4ee3\u6587\u5b57\"></p>\n\n<hr>\n\n<p><strong>\u4f5c\u54c1\u63d0\u4ea4</strong></p>\n\n<hr>\n\n<p>\u9700\u8981\u5c06\u4ee3\u7801\u63d0\u4ea4\u5728 GitCafe \u5e73\u53f0\u3002\u60a8\u5728 GitCafe \u521b\u5efa\u9879\u76ee\u65f6\uff0c\u8bf7\u9009\u62e9\u300cWorktile API \u5f00\u53d1\u5927\u8d5b\u300d\u9009\u9879\u3002</p>\n\n<p><strong>GitCafe \u7528\u6237\u798f\u5229:</strong>\u51e1\u662f\u53c2\u8d5b\u9009\u624b\uff0c\u90fd\u5c06\u83b7\u5f97 300-500 \u4e0d\u7b49\u7684 GitCoin \u7528\u6765\u521b\u5efa\u79c1\u6709\u5e93\u3002</p>\n\n<p>\u8be6\u60c5\u8bf7\u89c1\uff1a <a target=\"_blank\" rel=\"nofollow\" href=\"https://worktile.com/event/hackathon/\">https://worktile.com/event/hackathon/</a></p>\n", 
      "date_published": "2015-06-17T07:44:14+00:00", 
      "title": "\u300cWorktile x GitCafe \u5f00\u53d1\u5927\u8d5b\u300d\u5927\u7586\u65e0\u4eba\u673a\u3001\u82f9\u679c\u624b\u8868\u3001 iPhone 6\u3001\u9b54\u58f0 Diesel Vektr \u8033\u673a\u7b49\u5927\u5956\u7b49\u4f60\u62ff\uff01", 
      "id": "https://www.v2ex.com/t/199273"
    }, 
    {
      "author": {
        "url": "https://www.v2ex.com/member/irisgyq", 
        "name": "irisgyq", 
        "avatar": "https://cdn.v2ex.com/avatar/e664/f5ae/92071_large.png?m=1428561132"
      }, 
      "url": "https://www.v2ex.com/t/182572", 
      "date_modified": "2015-04-09T06:17:58+00:00", 
      "content_html": "<p>\u4e0a\u5468 GitCafe \u63a8\u51fa\u4e86 Webhooks \u529f\u80fd\u4e4b\u540e\uff0c\u5f88\u591a\u7528\u6237\u8868\u793a\u4ed6\u4eec\u7ec8\u4e8e\u53ef\u4ee5\u505a\u7b2c\u4e09\u65b9\u96c6\u6210\u4e86\uff0c\u90a3\u4e48\u672c\u5468\u6211\u4eec\u8fd8\u8981\u5e26\u6765\u4e00\u4e2a\u597d\u6d88\u606f\uff0c\u8fd9\u4e00\u6b21\u65b0\u51fa\u7684\u65b0\u529f\u80fd\u662f\u4ec0\u4e48\u5462\uff1f</p>\n\n<h2>Code Insight \u529f\u80fd\u7b80\u4ecb</h2>\n\n<p>Code Insight\uff08\u6e90\u7801\u8ffd\u8e2a\uff09\u529f\u80fd\u5e2e\u52a9 GitCafe \u7684\u7528\u6237\u66f4\u597d\u5730\u9605\u8bfb\u7406\u89e3\u6e90\u4ee3\u7801\uff1a</p>\n\n<ol>\n<li><p>\u5728\u5f00\u542f\u6e90\u7801\u8ffd\u8e2a\u7684\u9879\u76ee\u4e2d\u9605\u8bfb\u4ee3\u7801\u754c\u9762\uff0c\u6e90\u4ee3\u7801\u4e2d\u4efb\u4f55\u5df2\u77e5\u5b9a\u4e49\u4f4d\u7f6e\u7684\u53d8\u91cf\u3001\u51fd\u6570\u3001\u7c7b\u7b49\u7b26\u53f7\u4f1a\u5e26\u6709\u4e0b\u5212\u7ebf\u3002\u9f20\u6807\u5728\u5e26\u6709\u4e0b\u5212\u7ebf\u7684\u5df2\u77e5\u7b26\u53f7\u4e0a\u77ed\u6682\u505c\u7559\uff0c\u5c06\u4f1a\u770b\u5230\u8be5\u7b26\u53f7\u7684\u7c7b\u578b\u4fe1\u606f\u6216\u662f\u51fd\u6570\u539f\u578b\uff0c\u751a\u81f3\u8be6\u7ec6\u6587\u6863\u4fe1\u606f\u3002</p></li>\n<li><p>\u70b9\u51fb\u7b26\u53f7\u5c06\u4f1a\u76f4\u63a5\u8df3\u8f6c\u5230\u5b9a\u4e49\u8be5\u7b26\u53f7\u7684\u6e90\u4ee3\u7801\u6587\u4ef6\uff0c\u5e76\u5b9a\u4f4d\u5230\u6b64\u6587\u4ef6\u4e2d\u5b9a\u4e49\u8be5\u7b26\u53f7\u7684\u4ee3\u7801\u884c\u3002\u7b26\u53f7\u7684\u5b9a\u4e49\u4f4d\u7f6e\u5e76\u4e0d\u5c40\u9650\u4e8e\u5f53\u524d\u9879\u76ee\uff0c\u53ef\u4ee5\u662f GitCafe \u4e0a\u7684\u4efb\u4f55\u516c\u5f00\u9879\u76ee\u3002\u5982\u4e0b\u56fe\u6240\u793a\u4f1a\u8df3\u8f6c\u5230\u5bf9\u5e94\u7684 OpenJDK \u76f8\u5e94\u6e90\u4ee3\u7801\uff1a</p></li>\n</ol>\n\n<p><img src=\"http://blog.gitcafe.com/wp-content/uploads/2015/04/480p_2.gif\" alt=\"\"></p>\n\n<p>\u76ee\u524d Code Insight \u5904\u4e8e GA \u72b6\u6001\uff0c\u5bf9\u6240\u6709\u516c\u5f00\u9879\u76ee\u9ed8\u8ba4\u5206\u652f\u7684\u6700\u65b0\u7248\u672c\u6e90\u4ee3\u7801\u5f00\u653e\u3002\u5df2\u7ecf\u5b9e\u73b0\u5bf9 Ruby\u3001Python\u3001Java \u7b49\u8bed\u8a00\u7684\u652f\u6301\uff0c\u5e76\u5c06\u6301\u7eed\u52a0\u5165\u66f4\u591a\u8bed\u8a00\u7684\u652f\u6301\u3002</p>\n\n<p>\u53d7\u9650\u4e8e\u624b\u673a\u5c4f\u5e55\u5927\u5c0f\u548c\u5fae\u4fe1\u670d\u52a1\u5668\u7aef\u7684\u8fc7\u5ea6\u538b\u7f29\uff0c\u6f14\u793a\u56fe\u53ef\u80fd\u4e0d\u591f\u6e05\u6670\uff0c\u60a8\u53ef\u4ee5\u5728\u7535\u8111\u7aef\u5f00\u542f\u672c\u6587\u5e76\u70b9\u51fb\u300c\u9605\u8bfb\u539f\u6587\u300d\u8bbf\u95ee\u6211\u4eec\u7684\u535a\u5ba2\u67e5\u770b\u6e05\u6670\u7684\u6f14\u793a\u3002</p>\n\n<h2>GitCafe &amp; Lambda Lab</h2>\n\n<p>GitCafe \u81f4\u529b\u4e8e\u6253\u9020\u4e13\u4e1a\u7684\u4ee3\u7801\u6258\u7ba1\u670d\u52a1\u53ca\u9879\u76ee\u534f\u4f5c\u5e73\u53f0\uff0c\u5e2e\u52a9\u7814\u53d1\u56e2\u961f\u4f18\u5316\u9879\u76ee\u4ee3\u7801\u7684\u7ba1\u7406\u53ca\u534f\u4f5c\u6d41\u7a0b\uff0c\u4e3a\u4f01\u4e1a\u63d0\u4f9b\u66f4\u4e3a\u5b89\u5168\u4e25\u8c28\u7684\u4ee3\u7801\u7ba1\u7406\u89e3\u51b3\u65b9\u6848\u3002\u5728\u6b64\u57fa\u7840\u4e0a GitCafe \u672a\u6765\u5c06\u79ef\u6781\u4e0e\u7b2c\u4e09\u65b9\u56e2\u961f\u8fdb\u884c\u5408\u4f5c\uff0c\u6539\u5584\u5f00\u53d1\u4f53\u9a8c\uff0c\u63d0\u9ad8\u534f\u4f5c\u6548\u7387\u3002\u8fd9\u6b21\u7684 Code Insight\uff08\u6e90\u7801\u8ffd\u8e2a\uff09\u529f\u80fd\u5373\u662f\u7531 Lambda Lab \u548c GitCafe \u5f00\u53d1\u56e2\u961f\u5171\u540c\u5408\u4f5c\u5b8c\u6210\u3002</p>\n\n<p>Lambda Lab \u662f\u4e00\u652f\u6765\u81ea\u7845\u8c37\u7684\u5de5\u7a0b\u5e08\u56e2\u961f\uff0c\u6210\u5458\u5747\u6bd5\u4e1a\u4e8e\u5317\u7f8e\u9876\u7ea7\u8ba1\u7b97\u673a\u9662\u7cfb\uff0c\u81f4\u529b\u4e8e\u4e3a\u5f00\u53d1\u8005\u548c\u5f00\u6e90\u793e\u533a\u63d0\u4f9b\u6700\u597d\u7684\u5f00\u53d1\u4f53\u9a8c\u3002Lambda Lab  \u56e2\u961f\u6709\u7f16\u8bd1\u7cfb\u7edf\uff0c\u673a\u5668\u5b66\u4e60\u548c\u6570\u636e\u5e93\u4e13\u5bb6\uff0c\u4ee5\u53ca\u4e30\u5bcc\u7684\u5927\u578b\u5f00\u6e90\u9879\u76ee\u5f00\u53d1\u7ecf\u9a8c\u3002\u4e3a\u4e86\u89e3\u51b3\u5f00\u53d1\u8005\u5728\u7f51\u9875\u7aef\u641c\u7d22\u548c\u9605\u8bfb\u4ee3\u7801\u56f0\u96be\u7684\u95ee\u9898\uff0c\u4ed6\u4eec\u5f00\u53d1\u4e86  Codatlas (<a target=\"_blank\" rel=\"nofollow\" href=\"http://www.codatlas.com)%EF%BC%8C%E5%9C%A8%E7%BD%91%E9%A1%B5%E7%AB%AF%E6%8F%90%E4%BE%9B%E7%B1%BB\">www.codatlas.com)\uff0c\u5728\u7f51\u9875\u7aef\u63d0\u4f9b\u7c7b</a> IDE \u7684\u4ee3\u7801\u9605\u8bfb\u548c\u4ee3\u7801\u641c\u7d22\u4f53\u9a8c\uff0c\u5230\u76ee\u524d\u4e3a\u6b62\u5df2\u7ecf\u6536\u5f55\u4e86\u6570\u767e\u4e2a\u8457\u540d\u5f00\u6e90\u9879\u76ee\u5982 Apache Hadoop\u3001Apache Spark \u548c Android \u7b49\uff0c\u5e76\u652f\u6301 Scala\u3001Java\u3001Ruby\u3001Python \u548c Javascript \u7b49\u591a\u79cd\u7f16\u7a0b\u8bed\u8a00\uff0c\u4e3a\u4e16\u754c\u5404\u5730\u7684\u5f00\u6e90\u9879\u76ee\u7684\u8d21\u732e\u8005\u548c\u4f7f\u7528\u8005\u63d0\u4f9b\u5feb\u901f\u4ee3\u7801\u67e5\u8be2\u548c\u534f\u4f5c\u529f\u80fd\u3002</p>\n\n<p>\u73b0\u5728\uff0c\u5c31\u5728 <a target=\"_blank\" rel=\"nofollow\" href=\"https://gitcafe.com\">GitCafe Web \u7aef</a> \u4f53\u9a8c Code Insight \u5427\uff0c\u8ba9\u4f60\u81ea\u7531\u9068\u6e38\u5728\u6e90\u7801\u7684\u6d77\u6d0b\uff0c\u66f4\u597d\u5730\u9605\u8bfb\u548c\u7406\u89e3\u6e90\u4ee3\u7801\u3002</p>\n", 
      "date_published": "2015-04-09T06:17:50+00:00", 
      "title": "Code Insight \u8ba9\u4f60\u81ea\u7531\u8ffd\u8e2a\u5728 GitCafe \u4e0a\u7684\u6e90\u7801", 
      "id": "https://www.v2ex.com/t/182572"
    }, 
    {
      "author": {
        "url": "https://www.v2ex.com/member/irisgyq", 
        "name": "irisgyq", 
        "avatar": "https://cdn.v2ex.com/avatar/e664/f5ae/92071_large.png?m=1428561132"
      }, 
      "url": "https://www.v2ex.com/t/177955", 
      "date_modified": "2015-03-19T03:21:47+00:00", 
      "content_html": "<p><img src=\"https://gitcafe-image.b0.upaiyun.com/fccd078ae6a6c4622008e2f01bc26e03.jpg\" alt=\"\"></p>\n\n<p>\u4f60\u662f\u5426\u60f3\u8fc7\uff1a</p>\n\n<ul>\n<li><p>\u53ea\u9700\u6325\u52a8\u4e00\u53ea\u624b\u6307\u5373\u53ef\u6d4f\u89c8\u7f51\u9875\u3001\u9605\u8bfb\u6587\u7ae0\u3001\u7ffb\u770b\u7167\u7247\uff0c\u8fd8\u6709\u64ad\u653e\u97f3\u4e50\u3002\u5373\u4f7f\u4e0d\u4f7f\u7528\u4efb\u4f55\u753b\u7b14\u6216\u7b14\u5237\uff0c\u7528\u60a8\u7684\u6307\u5c16\u5373\u53ef\u4ee5\u7ed8\u753b\uff0c\u6d82\u9e26\u548c\u8bbe\u8ba1\u3002</p></li>\n<li><p>\u7528\u60a8\u7684\u624b\u6307\u5373\u53ef\u5207\u6c34\u679c\u3001\u6253\u574f\u86cb\uff1b\u7528\u60a8\u7684\u53cc\u624b\u5373\u53ef\u98d9\u8d5b\u8f66\uff0c\u70b8\u98de\u673a\u3002</p></li>\n<li><p>\u60a8\u53ef\u4ee5\u57283D\u7a7a\u95f4\u8fdb\u884c\u96d5\u523b\u3001\u6d47\u94f8\u3001\u62c9\u4f38\u3001\u5f2f\u66f2\u4ee5\u53ca\u6784\u5efa3D\u56fe\u50cf\uff0c\u8fd8\u53ef\u4ee5\u628a\u4ed6\u4eec\u62c6\u5f00\u4ee5\u53ca\u518d\u6b21\u62fc\u63a5\u3002</p></li>\n<li><p>\u4f53\u9a8c\u4e00\u79cd\u5168\u65b0\u7684\u5b66\u4e60\u65b9\u5f0f\uff0c\u7528\u60a8\u7684\u53cc\u624b\u63a2\u7d22\u5b87\u5b99\uff0c\u89e6\u6478\u661f\u661f\uff0c\u8fd8\u53ef\u4ee5\u56f4\u7ed5\u592a\u9633\u7ff1\u7fd4\u3002</p></li>\n<li><p>\u4e00\u79cd\u5168\u65b0\u7684\u4e50\u5668\u4f53\u9a8c\uff0c\u5f39\u594f\u7a7a\u6c14\u5409\u4ed6\u3001\u7a7a\u6c14\u7ad6\u7434\u548c\u7a7a\u4e2d\u7684\u4e00\u5207\u4e50\u5668\uff0c\u8fd8\u53ef\u4ee5\u4f53\u9a8c\u5168\u65b0\u7684\u91c7\u6458\u548c\u62fe\u8d77\u65b9\u5f0f\u3002</p></li>\n</ul>\n\n<p>\u73b0\u5728 Leap Motion \u8ba9\u4e00\u5207\u90fd\u6210\u4e3a\u4e86\u73b0\u5b9e\uff0c\u4e0d\u4ec5\u5982\u6b64\uff0c\u4f60\u751a\u81f3\u53ef\u4ee5\u6253\u5f00\u7535\u8111\uff0c\u6572\u51fb\u952e\u76d8\uff0c\u73a9\u8f6c\u7075\u611f\uff0c\u4eb2\u81ea\u4e3a\u5b83\u5f00\u53d1 APP \u5b9e\u73b0\u4f60\u60f3\u8981\u7684\u4e00\u5207\u529f\u80fd\uff01\u5e76\u4e14\uff0cGitCafe \u4e5f\u4f1a\u5168\u7a0b\u4e3a\u4f60\u4fdd\u9a7e\u62a4\u822a\uff0c\u8ba9\u6211\u4eec\u4e00\u8d77\u6fc0\u53d1\u7075\u611f\u3001\u5c3d\u60c5\u521b\u610f\u3001\u4e0e\u6307\u5c16\u5171\u821e\uff01</p>\n\n<p>\u7ed9\u51fa\u4f60\u7684\u6bd4\u8d5b\u63d0\u6848\uff0c\u5c31\u6709\u673a\u4f1a\uff08\u9700\u5ba1\u6838\uff09\u514d\u8d39\u5f97\u5230 Leap Motion \u5f00\u53d1\u673a\uff01</p>\n\n<h2>\u6d3b\u52a8\u7b80\u4ecb</h2>\n\n<p>Leap Motion \u5389\u52a8\u5728\u7ebf\u5f00\u53d1\u5927\u8d5b\u662f Leap Motion\u3001\u795e\u5dde\u6570\u7801\u4e0e GitCafe \u5408\u4f5c\u4e3e\u529e\u7684\u7ebf\u4e0a\u5f00\u53d1\u8005\u5927\u8d5b\u3002\u5728\u4e3a\u671f\u4e00\u4e2a\u534a\u6708\u7684\u65f6\u95f4\u91cc\uff0c\u5f00\u53d1\u8005\u4eec\u53ef\u4ee5\u4f7f\u7528 Leap Motion\uff08\u6216\u5176\u53d1\u5e03\u7684\u865a\u62df\u73b0\u5b9e\u5f00\u53d1\u7ec4\u4ef6\uff09\u8fdb\u884c App \u5f00\u53d1\uff0c\u6784\u5efa\u6e38\u620f\u3001\u97f3\u4e50\u3001\u827a\u672f\u3001\u6559\u80b2\u7b49\u9886\u57df\u7684\u70ab\u9177\u5e94\u7528\u3002</p>\n\n<p>\u6b64\u6b21\u6d3b\u52a8\u7684\u8303\u56f4\u9762\u5411\u5168\u56fd\uff0c\u5f00\u53d1\u8005\u53ef\u4ee5\u4ee5\u4e2a\u4eba\u8eab\u4efd\u53c2\u8d5b\uff0c\u4e5f\u53ef\u4ee5\u7ec4\u961f\u6216\u8005\u4ee5\u516c\u53f8\u8eab\u4efd\u53c2\u8d5b\uff0c\u6bcf\u4e2a\u56e2\u961f\u53ef\u4ee5\u63d0\u4ea4\u4e00\u4e2a\u6216\u591a\u4e2a\u4ea7\u54c1\u53c2\u4e0e\u89d2\u9010\u3002</p>\n\n<p>\u5927\u8d5b\u7ed3\u675f\u540e\uff0c\u6211\u4eec\u4f1a\u9009\u51fa\u4f18\u79c0\u7684\u5e94\u7528\u63a8\u8350\u81f3 Leap Motion \u5b98\u65b9\u5e94\u7528\u5546\u5e97\uff0c\u53ef\u4ee5\u5411\u5168\u4e16\u754c\u5c55\u793a\u4f60\u7684\u4f5c\u54c1\u3002</p>\n\n<h2>\u4f5c\u54c1\u8981\u6c42</h2>\n\n<ul>\n<li><p>\u4f7f\u7528 Leap Motion \u5f00\u53d1\u7684\u4e00\u5207 App\uff0c\u6e38\u620f\u3001\u97f3\u4e50\u3001\u6d4f\u89c8\u5668\u3001\u8f93\u5165\u6cd5\u3001\u5730\u56fe\u3001\u4e92\u52a8\u5c55\u793a\u3001\u865a\u62df\u73b0\u5b9e\u7b49\u4e3b\u9898\u5747\u53ef\uff0c\u6709\u4e00\u5b9a\u7684\u521b\u65b0\u6027\u3001\u8da3\u5473\u6027\u548c\u60f3\u8c61\u529b\u3002</p></li>\n<li><p>\u53ef\u4ee5\u4f7f\u7528\u4efb\u4f55\u4e00\u79cd Leap Motion \u5f00\u53d1\u5305\u652f\u6301\u7684\u7a0b\u5e8f\u8bbe\u8ba1\u8bed\u8a00\uff0c\u5982 C++\u3001C#\u3001JavaScript \u7b49\u3002</p></li>\n<li><p>\u5f00\u53d1\u7684\u4f5c\u54c1\u53ef\u4ee5\u652f\u6301 Mac\u3001Windows\u3001Linux \u5e73\u53f0\uff0c\u4e5f\u53ef\u4ee5\u662f\u57fa\u4e8e Web \u7684\u7f51\u9875\u7248\u5e94\u7528\u3002</p></li>\n<li><p>\u5f00\u53d1\u4f5c\u54c1\u652f\u6301\u4e2d\u82f1\u6587\u53cc\u8bed\uff08\u4fbf\u4e8e\u63a8\u8350\u81f3\u5b98\u65b9\u5e94\u7528\u5546\u5e97\uff09\u3002</p></li>\n<li><p>\u5f00\u53d1\u4f5c\u54c1\u63d0\u4ea4\u540e\u53ef\u4ee5\u5b8c\u6574\u6f14\u793a\uff0c\u6700\u597d\u9644\u5e26\u6f14\u793a\u5c0f\u89c6\u9891\u3002</p></li>\n<li><p>\u53c2\u8d5b\u56e2\u961f\u63d0\u4ea4\u7684\u53c2\u8d5b\u4f5c\u54c1\u4ece\u672a\u5728\u5176\u4ed6\u5728\u7ebf\u5f00\u53d1\u5927\u8d5b\u4e2d\u53c2\u4e0e\u53ca\u83b7\u5956\u3002</p></li>\n</ul>\n\n<p><strong>\u4e3a\u7edf\u4e00\u8bc4\u5ba1\uff0c\u8bf7\u6240\u6709\u53c2\u8d5b\u8005\u5c06\u4f5c\u54c1\u4ee3\u7801\u6258\u7ba1\u81f3 GitCafe\u3002</strong></p>\n\n<h2>\u6bd4\u8d5b\u65e5\u7a0b</h2>\n\n<ul>\n<li><p>3 \u6708 18 \u65e5 \u63d0\u4ea4\u63d0\u6848\uff0c\u514d\u8d39\u7533\u8bf7\u5f00\u53d1\u673a</p></li>\n<li><p>4 \u6708 18 \u65e5 UNITE 2015 BEIJING \u5927\u4f1a\u73b0\u573a\u63d0\u4f9b\u672c\u6d3b\u52a8\u62a5\u540d</p></li>\n<li><p>4 \u6708 20 \u65e5 \u5f00\u53d1\u5927\u8d5b\u6b63\u5f0f\u5f00\u59cb\uff0c\u65e0\u9700\u62a5\u540d\uff0c\u53ef\u4ee5\u76f4\u63a5\u5728 GitCafe \u5e73\u53f0\u8fdb\u884c\u9879\u76ee\u521b\u5efa</p></li>\n<li><p>6 \u6708 1 \u65e5 \u9879\u76ee\u63d0\u4ea4\u622a\u6b62\uff0c\u540c\u65f6\u542f\u52a8\u8bc4\u5ba1</p></li>\n<li><p>6 \u6708 14 \u65e5  \u8bc4\u5ba1\u7ed3\u675f</p></li>\n<li><p>6 \u6708 15 \u65e5  \u516c\u5e03\u83b7\u5956\u540d\u5355</p></li>\n</ul>\n\n<h2>\u53c2\u8d5b\u6d41\u7a0b</h2>\n\n<ul>\n<li><p>\u51c6\u5907\u53c2\u8d5b\uff1a\u63d0\u4ea4\u7533\u8bf7\uff0c\u5199\u660e\u63d0\u6848\u4f9b\u4e3b\u529e\u65b9\u5ba1\u6838\u662f\u5426\u53d1\u653e\u514d\u8d39\u5f00\u53d1\u673a</p></li>\n<li><p>\u5f00\u53d1\u673a\u53d1\u653e\uff1a\u4e3b\u529e\u65b9\u9009\u53d6 50 \u4e2a\u56e2\u961f\uff0c\u514d\u8d39\u53d1\u653e\u5f00\u53d1\u7528 Leap Motion\uff08\u6bcf\u4e2a\u56e2\u961f\u4e00\u4e2a\uff09\uff0c\u5176\u4ed6\u56e2\u961f\u5219\u53ef\u4ee5\u4ee5\u4e13\u5c5e\u6298\u6263\u4ef7\u8d2d\u4e70 Leap Motion \u7528\u4e8e\u5f00\u53d1</p></li>\n<li><p>\u9879\u76ee\u63d0\u4ea4\uff1a\u5c06\u5f00\u53d1\u7528\u4ee3\u7801\u7edf\u4e00\u6258\u7ba1\u81f3 GitCafe \u5e73\u53f0\uff0c\u540c\u65f6\u53ef\u4e00\u5e76\u63d0\u4ea4\u9879\u76ee\u89c6\u9891</p></li>\n<li><p>\u9879\u76ee\u5ba1\u6838\uff1a\u5927\u8d5b\u8bc4\u59d4\u6839\u636e\u63d0\u4ea4\u9879\u76ee\u8fdb\u884c\u5ba1\u6838\uff0c\u9009\u51fa 20 \u4e2a\u5165\u56f4\u9879\u76ee\u3002</p></li>\n<li><p>\u516c\u5e03\u5927\u5956\u540d\u5355</p></li>\n</ul>\n\n<h2>UNITE 2015 BEIJING\u5f00\u53d1\u8005\u5927\u4f1a</h2>\n\n<p>4 \u6708 18 \u65e5 UNITE 2015 BEIJING \u5f00\u53d1\u8005\u5927\u4f1a\u5f00\u653e\u73b0\u573a\u62a5\u540d\uff0c\u5f00\u53d1\u8005\u53ef\u4ee5\u76f4\u63a5\u5728 Leap Motion \u5c55\u4f4d\u62a5\u540d\u53c2\u8d5b\u3002</p>\n\n<h2>\u5956\u54c1</h2>\n\n<p>\u4e00\u7b49\u5956 1 \u540d\uff0c\u5956\u54c1\u4e3a Oculus Rift DK2 \u4e00\u53f0+iPad Mini 3</p>\n\n<p><img src=\"https://trello-attachments.s3.amazonaws.com/5508e1f0c12d46460ae6153e/250x124/7373576bca033ee1a7026b6e02cdd965/%E5%A5%96%E5%93%81%E4%B8%80.png\" alt=\"\"></p>\n\n<p><img src=\"https://trello-attachments.s3.amazonaws.com/5508e1f0c12d46460ae6153e/203x187/29b7693f31fb956a17d050f21790835a/%E5%B1%8F%E5%B9%95%E5%BF%AB%E7%85%A7_2015-03-18_%E4%B8%8B%E5%8D%8811.25.21.png\" alt=\"\"></p>\n\n<p>\u4e8c\u7b49\u5956 2 \u540d\uff0c\u5956\u54c1\u4e3a Apple Watch \u4e00\u5757</p>\n\n<p><img src=\"https://trello-attachments.s3.amazonaws.com/5508e1f0c12d46460ae6153e/251x152/fdc181f662650a4179dda8dcb7ec67ce/%E5%A5%96%E5%93%81%E4%BA%8C.png\" alt=\"\"></p>\n\n<p>\u4e09\u7b49\u5956 3 \u540d\uff0c\u5956\u54c1\u4e3a\u4ef7\u503c 1000 \u5143\u7684\u673a\u68b0\u952e\u76d8</p>\n\n<p><img src=\"https://trello-attachments.s3.amazonaws.com/5508e1f0c12d46460ae6153e/248x188/41818c6cb60888991adb5beca1a579fc/%E5%A5%96%E5%93%81%E4%B8%89.png\" alt=\"\"></p>\n\n<p>\u521b\u65b0\u5956 4 \u540d\uff0cbeats \u8033\u673a</p>\n\n<p><img src=\"https://trello-attachments.s3.amazonaws.com/5508e1f0c12d46460ae6153e/248x279/ba03fa2e396d3d9059a421ec0d0fc94f/%E5%A5%96%E5%93%81%E5%9B%9B.png\" alt=\"\"></p>\n\n<p>\u5165\u56f4\u5956\u82e5\u5e72\uff0c\u5956\u54c1\u4e3a Leap Motion \u5b9a\u5236\u7b14\u8bb0\u672c</p>\n\n<p><img src=\"https://trello-attachments.s3.amazonaws.com/5508e1f0c12d46460ae6153e/222x355/2f62bfb640cde28c30b94d55e135c3d1/%E5%B1%8F%E5%B9%95%E5%BF%AB%E7%85%A7_2015-03-18_%E4%B8%8B%E5%8D%8811.28.30.png\" alt=\"\"></p>\n\n<p>\u53c2\u8d5b\u5956\uff1a300 GitCoin</p>\n\n<ul>\n<li><p>\u51e1\u662f\u53c2\u52a0\u672c\u6b21\u300c\u6307\u5c16\u4e0a\u7684\u534e\u5c14\u5179--Leap Motion 2015\u5728\u7ebf\u5f00\u53d1\u5927\u8d5b\u300d\u7684\u9009\u624b\u90fd\u53ef\u4ee5\u83b7\u5f97 GitCafe \u63d0\u4f9b\u7684 300 GitCoin \u7528\u4e8e\u521b\u5efa\u79c1\u6709\u9879\u76ee\u3002</p></li>\n<li><p>\u53c2\u8d5b GitCafe \u7528\u6237\u5728\u5145\u503c\u9875\u9762\u7684\u300c\u4f7f\u7528\u5151\u6362\u7801\u5145\u503c:\u300d\u4e00\u680f\u586b\u5199\u300cLEAPMOTION2015\u300d\uff0c\u9886\u53d6300 GitCoin\u3002\uff08\u53ef\u7528\u4e8e\u521b\u5efa\u79c1\u6709\u9879\u76ee\uff09</p></li>\n</ul>\n\n<h2>\u8bc4\u5ba1\u6807\u51c6</h2>\n\n<p>\u8bc4\u59d4\u5c06\u57fa\u4e8e\u9879\u76ee\u7684\u5f00\u53d1\u96be\u5ea6\u3001\u4f7f\u7528\u524d\u666f\u3001\u72ec\u521b\u6027\u548c\u60f3\u8c61\u529b\u8fdb\u884c\u8bc4\u5206\uff0c\u5176\u4e2d</p>\n\n<ul>\n<li><p>\u5f00\u53d1\u96be\u5ea6 30%</p></li>\n<li><p>\u4f7f\u7528\u524d\u666f 30%</p></li>\n<li><p>\u72ec\u521b\u6027 20%</p></li>\n<li><p>\u60f3\u8c61\u529b 20%</p></li>\n</ul>\n\n<p>\u6ce8\uff1a\u300c\u79c1\u6709\u9879\u76ee\u300d\u8bf7\u5c06\u88c1\u5224\u8d26\u53f7\uff1aLeapMotionUSA \u4e0e LeapMotionChina \u6dfb\u52a0\u4e3a\u9879\u76ee\u7684\u534f\u4f5c\u8005\uff0c\u65b9\u4fbf\u8bc4\u59d4\u67e5\u770b\u9879\u76ee\u7684\u4ee3\u7801\u8d28\u91cf\u3002</p>\n\n<h2>\u8bc4\u5ba1</h2>\n\n<p><img src=\"https://trello-attachments.s3.amazonaws.com/5508e1f0c12d46460ae6153e/211x209/de2becb9c41da3575798a912fb5da240/%E8%AF%84%E5%A7%94%E4%B8%80.png\" alt=\"\"></p>\n\n<p>Michael Buckwald  </p>\n\n<p>Leap Motion President &amp; CEO, Co-founder</p>\n\n<p><img src=\"https://trello-attachments.s3.amazonaws.com/5508e1f0c12d46460ae6153e/208x210/3b3586ac13754fa22a23bae4b0c02d82/%E8%AF%84%E5%A7%94%E4%B8%89.png\" alt=\"\"></p>\n\n<p>\u5218\u5b81</p>\n\n<p>\u795e\u5dde\u6570\u7801 \u6d88\u8d39\u7535\u5b50\u4e1a\u52a1\u53d1\u5c55\u90e8 \u603b\u7ecf\u7406</p>\n\n<p><img src=\"https://trello-attachments.s3.amazonaws.com/5508e1f0c12d46460ae6153e/209x210/92ba5cd2d6ea1aff2c1ea4efd7546142/%E8%AF%84%E5%A7%94%E5%9B%9B.png\" alt=\"\"></p>\n\n<p>Thomas Yao</p>\n\n<p>GitCafe CEO &amp; Co-founder</p>\n\n<p>\u8fd8\u6709\u4e00\u4f4d\u795e\u79d8\u5609\u5bbe\u5c06\u4f5c\u4e3a\u8bc4\u59d4\u51fa\u5e2d\uff0c\u8bf7\u5bc6\u5207\u5173\u6ce8<a target=\"_blank\" rel=\"nofollow\" href=\"https://campaign.gitcafe.com/leapmotion2015\">\u6d3b\u52a8\u9875\u9762</a>\u8fdb\u884c\u67e5\u770b\u3002</p>\n\n<h2>\u4f5c\u54c1\u63d0\u4ea4</h2>\n\n<p>\u9700\u8981\u5c06\u4ee3\u7801\u63d0\u4ea4\u5728 GitCafe \u5e73\u53f0\u3002\u60a8\u5728 GitCafe \u521b\u5efa\u9879\u76ee\u65f6\uff0c\u8bf7\u9009\u62e9 \u201c\u300c\u6307\u5c16\u4e0a\u7684\u534e\u5c14\u5179\u300d--Leap Motion 2015 \u5728\u7ebf\u5f00\u53d1\u5927\u8d5b\u201d \u9009\u9879\u3002</p>\n\n<p>\u4f5c\u54c1\u4f7f\u7528\u8bf4\u660e\u53ca\u622a\u56fe\u3002\u9700\u8981\u4f7f\u7528 README \u7f16\u5199\u9879\u76ee\u8bf4\u660e\uff0c\u82e5\u64cd\u4f5c\u6027\u8981\u6c42\u9ad8\u7684\uff0c\u9700\u7f16\u5199\u64cd\u4f5c\u6b65\u9aa4\u624b\u518c\u3002</p>\n\n<h2>\u5f00\u53d1\u673a\u7533\u8bf7</h2>\n\n<p>\u70b9\u51fb<a target=\"_blank\" rel=\"nofollow\" href=\"http://www.mikecrm.com/f.php?t=GjqvUt\">\u8fd9\u91cc</a>\u8fdb\u884c\u5f00\u53d1\u673a\u7684\u7533\u8bf7</p>\n\n<hr>\n\n<h2>GitCafe \u4e3a\u4f60\u6b66\u88c5</h2>\n\n<p><a target=\"_blank\" rel=\"nofollow\" href=\"https://gitcafe.com\">GitCafe</a> \u662f\u4e00\u4e2a\u57fa\u4e8e\u4ee3\u7801\u6258\u7ba1\u670d\u52a1\u6253\u9020\u7684\u6280\u672f\u534f\u4f5c\u4e0e\u5206\u4eab\u5e73\u53f0\uff0c\u5f00\u53d1\u8005\u53ef\u4ee5\u901a\u8fc7\u4f7f\u7528 Git \u4ee3\u7801\u7248\u672c\u63a7\u5236\u7cfb\u7edf\u5c06\u5176\u5f00\u6e90\u6216\u5546\u4e1a\u9879\u76ee\u4ee3\u7801\u6258\u7ba1\u5728 GitCafe \u4e0a\uff0c\u4e0e\u5176\u4ed6\u7a0b\u5e8f\u5458\u534f\u4f5c\u5f00\u53d1\u3002</p>\n\n<p><a target=\"_blank\" rel=\"nofollow\" href=\"https://gitcafe.com/GitCafe/Help\">GitCafe \u5e2e\u52a9\u6587\u6863</a></p>\n\n<p><a target=\"_blank\" rel=\"nofollow\" href=\"https://developer.leapmotion.com\">Leap Motion SD \u4e0b\u8f7d\u5730\u5740</a></p>\n\n<p><a target=\"_blank\" rel=\"nofollow\" href=\"https://gitcafe.com/LeapMotion/LeapMotionDoc\">Leap Motion \u5e2e\u52a9\u6587\u6863</a></p>\n\n<p>\u6280\u672f\u652f\u6301</p>\n\n<ul>\n<li><p>\u672c\u6b21\u300cLeap Motion 2015 \u5728\u7ebf\u5f00\u53d1\u5927\u8d5b\u300dSupport \u91c7\u7528 Tickets\uff08\u5373\uff1a\u5de5\u5355\uff09\u7cfb\u7edf\u8fdb\u884c\uff0c\u5177\u4f53\u4f7f\u7528\u65b9\u5f0f\u53ef\u4ee5\u53c2\u8003\u8be5  Readme\u3002</p></li>\n<li><p>\u5f53\u7136\uff0c\u6211\u4eec\u4ecd\u7136\u63d0\u4f9b\u4e86E-mail\u7684\u65b9\u5f0f\u63d0\u4f9bsupport\uff1a<a target=\"_blank\" rel=\"nofollow\" href=\"mailto:leapmotion-hackathon@googlegroups.com\">leapmotion-hackathon@googlegroups.com</a> </p></li>\n</ul>\n\n<p>\u5927\u8d5b\u62a5\u540d\u6b63\u5f0f\u542f\u52a8\uff0c\u8bf7\u53bb\u5f80<a target=\"_blank\" rel=\"nofollow\" href=\"https://campaign.gitcafe.com/leapmotion2015\">\u6d3b\u52a8\u9875\u9762</a>\u4e86\u89e3\u66f4\u591a\u8be6\u60c5\uff0c\u8ba9\u6211\u4eec\u4e00\u8d77\u6fc0\u53d1\u7075\u611f\u3001\u5c3d\u60c5\u521b\u610f\u3001\u4e0e\u6307\u5c16\u5171\u821e\uff01</p>\n\n<p>\u6211\u4eec\u7b49\u7740\u4f60~</p>\n", 
      "date_published": "2015-03-19T03:20:27+00:00", 
      "title": "\u300c\u6307\u5c16\u4e0a\u7684\u534e\u5c14\u5179\u300d--Leap Motion 2015 \u5728\u7ebf\u5f00\u53d1\u5927\u8d5b\u5373\u5c06\u6765\u88ad\uff01", 
      "id": "https://www.v2ex.com/t/177955"
    }, 
    {
      "author": {
        "url": "https://www.v2ex.com/member/irisgyq", 
        "name": "irisgyq", 
        "avatar": "https://cdn.v2ex.com/avatar/e664/f5ae/92071_large.png?m=1428561132"
      }, 
      "url": "https://www.v2ex.com/t/171496", 
      "date_modified": "2015-02-17T06:43:40+00:00", 
      "content_html": "<p>\u4e34\u8fd1\u6625\u8282\uff0c<a target=\"_blank\" rel=\"nofollow\" href=\"https://gitcafe.com\">GitCafe</a> \u7ed9\u5404\u4f4d\u7a0b\u5e8f\u5458\u5e26\u6765\u4e86\u4e00\u4efd\u793c\u7269\uff0c\u4ece\u6b64\u5927\u5bb6\u53ef\u4ee5\u65b9\u4fbf\u5730\u5728\u79fb\u52a8\u7aef\u6d4f\u89c8 <a target=\"_blank\" rel=\"nofollow\" href=\"https://gitcafe.com\">GitCafe</a> \u7684\u7f51\u7ad9\u4e86\uff0c\u5988\u5988\u518d\u4e5f\u4e0d\u7528\u62c5\u5fc3\u6211\u4e0d\u80fd\u53ca\u65f6\u5730\u770b\u89c1\u5c0f\u4f19\u4f34\u7684\u9879\u76ee\u4e0e\u6700\u65b0\u52a8\u6001\u4e86\uff5e</p>\n\n<p>\u4e0b\u9762\u8ba9\u6211\u4eec\u6765\u770b\u770b <a target=\"_blank\" rel=\"nofollow\" href=\"https://gitcafe.com\">GitCafe</a> \u76ee\u524d\u5df2\u7ecf\u9002\u914d\u4e86\u624b\u673a\u7aef\u7684\u9875\u9762\u5427</p>\n\n<p>1 \u9996\u9875<br>\n<img src=\"https://gitcafe-image.b0.upaiyun.com/23d9f1440779159ab8a767afbed69ddb.jpg\" alt=\"\"><br>\n<img src=\"https://gitcafe-image.b0.upaiyun.com/acbf8143247470033d1a359c0f2a8ef3.jpg\" alt=\"\"></p>\n\n<p>2 \u6ce8\u518c\u767b\u5f55\u9875\u9762<br>\n<img src=\"https://gitcafe-image.b0.upaiyun.com/54d30d75cbe248f945e84819645b59c7.jpg\" alt=\"\"></p>\n\n<p>3 \u4e2a\u4eba\u4e3b\u9875<br>\n<img src=\"https://gitcafe-image.b0.upaiyun.com/dd88538c2d7997f6f601d28d5b6e02df.jpg\" alt=\"\"></p>\n\n<p>4 \u63a2\u7d22\uff0c\u53ef\u4ee5\u6d4f\u89c8\u63a8\u8350\u548c\u6700\u8fd1\u7684\u9879\u76ee<br>\n<img src=\"https://gitcafe-image.b0.upaiyun.com/dd266f1f985114229286f2ec80846807.jpg\" alt=\"\"></p>\n\n<p>5 \u9879\u76ee\u4e3b\u9875\uff0c\u53ef\u4ee5\u6d4f\u89c8\u9879\u76ee\u7684\u57fa\u672c\u4fe1\u606f\u548cReadme\u7684\u5185\u5bb9\u3002<br>\n<img src=\"https://gitcafe-image.b0.upaiyun.com/b9007119a34f42aaa9fc9a7c77fcc772.jpg\" alt=\"\"></p>\n\n<p>\u6211\u4eec\u4f1a\u9646\u7eed\u5b8c\u5584\u624b\u673a\u9002\u914d\u9875\u9762\uff0c\u4ee5\u6ee1\u8db3\u6211\u4eec\u53ef\u7231\u7684\u7528\u6237\u65e5\u76ca\u589e\u957f\u7684\u79fb\u52a8\u9700\u6c42\u3002</p>\n\n<p>\u4e3a\u4e86\u65b9\u4fbf\u7528\u6237\uff0c\u5927\u5bb6\u53ef\u4ee5\u4ece\u6211\u4eec\u7684\u5fae\u4fe1\u516c\u4f17\u53f7\uff08\u641c\u7d22 \u201cGitCafe\u201d\uff09\u7684\u81ea\u5b9a\u4e49\u83dc\u5355\u91cc\u7684 \u201c\u5de5\u5177 Cafe\u201d \u8fdb\u5165\u767b\u5f55 GitCafe \u7684\u9875\u9762\uff0c\u5f00\u59cb\u6109\u5feb\u7684\u65c5\u7a0b\u3002</p>\n\n<p>\u6211\u4eec\u6b22\u8fce\u5404\u4f4d\u901a\u8fc7\u70b9\u51fb<a target=\"_blank\" rel=\"nofollow\" href=\"http://www.mikecrm.com/f.php?t=HLi4ee\">\u8fd9\u91cc</a> \u586b\u5199\u8868\u5355\uff0c\u6307\u51fa\u4f60\u4eec\u627e\u5230\u7684 bug\uff0c\u6216\u662f\u5bf9\u6211\u4eec\u7684\u9875\u9762\u6709\u4ec0\u4e48\u597d\u7684\u5efa\u8bae\uff0c\u4e4b\u540e\u6211\u4eec\u4f1a\u6709\u7cbe\u7f8e\u5c0f\u793c\u7269\u9001\u51fa\u54e6\uff1a\uff09</p>\n\n<p>\u6700\u540e\uff0c\u795d\u5927\u5bb6\u7f8a\u5e74\u5feb\u4e50\uff01</p>\n", 
      "date_published": "2015-02-17T06:43:31+00:00", 
      "title": "[\u65b0\u529f\u80fd] GitCafe \u73b0\u5df2\u652f\u6301\u79fb\u52a8\u7aef\u9002\u914d\uff01", 
      "id": "https://www.v2ex.com/t/171496"
    }, 
    {
      "author": {
        "url": "https://www.v2ex.com/member/irisgyq", 
        "name": "irisgyq", 
        "avatar": "https://cdn.v2ex.com/avatar/e664/f5ae/92071_large.png?m=1428561132"
      }, 
      "url": "https://www.v2ex.com/t/169916", 
      "date_modified": "2015-02-10T10:46:50+00:00", 
      "content_html": "<p><img src=\"http://mmbiz.qpic.cn/mmbiz/SQzXM3j7YgcxCDCJYl1xEPVT9uTiaZP0hsxKn8Rh0kbyDDcYFgV33tbFhuY5VKX1hNxff9YxfJXnlMrnrPZCQXQ/0?wxfrom=5\" alt=\"\"><br>\n2015 \u5e74 2 \u6708 10 \u65e5-3 \u6708 20 \u65e5\uff0c\u5f00\u6e90\u793e\u6210\u5458\u5fae\u8f6f\u5f00\u653e\u6280\u672f\uff0cGitCafe\uff0c\u6781\u5ba2\u5b66\u9662\u8054\u5408\u4e3e\u529e \u201dOpen XML SDK\u5728\u7ebf\u7f16\u7a0b\u9ed1\u5ba2\u677e\u201c\uff0c\u4e3a\u4e13\u6ce8\u4e8e\u5f00\u53d1\u63d0\u9ad8\u751f\u4ea7\u529b\u7684\u5e94\u7528\u53ca\u670d\u52a1\u7684\u7a0b\u5e8f\u733f\u4eec\u63d0\u4f9b\u4e00\u4e2a\u5728\u7ebf\u52a8\u624b\u5f00\u53d1\uff0c\u5b66\u4e60\u4ea4\u6d41\uff0c\u6280\u672f\u5206\u4eab\uff0c\u53d1\u6325\u521b\u610f\u4e0e\u7ade\u6280\u7684\u76db\u5bb4\u3002</p>\n\n<p>\u6211\u4eec\u4e3a\u53c2\u8d5b\u961f\u4f0d\u51c6\u5907\u4e86\u4e30\u5bcc\u7684\u6280\u672f\u5e72\u8d27\uff0c\u56fd\u5185\u5916\u9ad8\u624b\u65e0\u79c1\u5206\u4eab\u4ee5\u53ca\u6280\u672f\u652f\u6301\uff0c\u9010\u6b65\u5f15\u5bfc\u7684\u5728\u7ebf\u5b66\u4e60\u89c6\u9891\u6559\u7a0b\u4e0e\u6280\u672f\u6587\u6863\uff0c\u573a\u666f\u8303\u4f8b\uff0c\u5728\u7ebf\u7f16\u7a0b\u53ca\u6f14\u793a\u73af\u5883\uff0c\u793e\u533a\u4e92\u52a8\uff0c\u4e30\u5bcc\u793c\u54c1\uff08\u5982\u6781\u5ba2\u5b66\u9662\u7279\u522b\u4e3a\u6bcf\u4f4d\u53c2\u8d5b\u4eba\u5458\u63d0\u4f9b\u6708 VIP \u7801\uff0c\u7528\u6237\u53ef\u4ee5\u514d\u8d39\u5b66\u4e60\u6781\u5ba2\u5b66\u9662\u5168\u7f51\u8bfe\u7a0b\uff09\u53ca\u4f18\u80dc\u5956\u54c1\uff08\u5982\u5fae\u8f6f\u6700\u8c6a\u534e\u7684 MSDN \u8ba2\u9605\u670d\u52a1\u65d7\u8230\u7248 (Visual Studio Ultimate with MSDN Subscriptions) \u4e00\u5e74\u514d\u8d39\u8ba2\u9605\uff09\u7b49\u5927\u5956\u3002\u5fc3\u52a8\u4e0d\u5982\u884c\u52a8\uff0c\u5e26\u7740\u60a8\u7684\u521b\u610f\u6216\u662f\u5f97\u610f\u4f5c\u54c1\u7684\u6e90\u4ee3\u7801\uff0c\u5373\u523b<a target=\"_blank\" rel=\"nofollow\" href=\"http://www.huodongxing.com/event/4266795395700\">\u62a5\u540d\u53c2\u52a0</a>\u5427\uff01</p>\n\n<h2>\u5927\u8d5b\u6d41\u7a0b</h2>\n\n<ul>\n<li>\u62a5\u540d\u53c2\u52a0\uff1a2015 \u5e74 2 \u6708 10 \u65e5-3 \u6708 8 \u65e5\uff0c\u901a\u8fc7<a target=\"_blank\" rel=\"nofollow\" href=\"http://www.huodongxing.com/event/4266795395700\">\u6d3b\u52a8\u884c\u62a5\u540d</a>\u3002</li>\n<li>\u53c2\u8d5b\u5ba1\u6838\uff1a2015 \u5e74 3 \u6708 10 \u65e5\u622a\u6b62\uff0848 \u5c0f\u65f6\u5185\u7535\u5b50\u90ae\u4ef6\u56de\u590d\u662f\u5426\u5ba1\u6838\u901a\u8fc7\uff09\u3002</li>\n<li>\u90ae\u4ef6\u9080\u8bf7\uff1a\u5ba1\u6838\u901a\u8fc7\u8005\u83b7\u5f97\u9080\u8bf7\u90ae\u4ef6\uff0c\u767b\u9646 GitCafe Open XML SDK \u5728\u7ebf\u7f16\u7a0b\u9ed1\u5ba2\u677e\u5927\u8d5b\u5b98\u65b9\u7f51\u7ad9\u3002</li>\n<li>\u5efa\u7acb\u9879\u76ee\uff1a\u53c2\u8d5b\u8005\u4f7f\u7528 GitCafe \u8d26\u53f7\u5728\u672c\u6b21\u9ed1\u5ba2\u677e\u6d3b\u52a8\u7f51\u9875\u5efa\u7acb\u9879\u76ee \uff08\u65e0\u5e10\u53f7\u8005\u8bf7\u524d\u5f80 <a target=\"_blank\" rel=\"nofollow\" href=\"https://gitcafe.com\">https://gitcafe.com</a> \u6ce8\u518c\uff09\u3002</li>\n<li>\u5728\u7ebf\u7f16\u7a0b\uff1a\u53c2\u8d5b\u8005\u4ee5 GitCafe \u8d26\u53f7\u767b\u9646\u5f00\u653e\u9ed1\u5ba2\u677e\u5e73\u53f0\uff0c\u5f00\u59cb\u5728\u7ebf\u7f16\u7a0b\u3002</li>\n<li>\u5728\u7ebf\u5b66\u4e60\uff1a\u53c2\u8d5b\u8005\u6ce8\u518c\u6781\u5ba2\u5b66\u9662\u8d26\u53f7\uff0c\u514d\u8d39\u5b66\u4e60\u5fae\u8f6f\u5f00\u653e\u6280\u672f\u548c\u6781\u5ba2\u5b66\u9662\u5171\u540c\u5f00\u53d1\u7684\u5728\u7ebf Open XML SDK \u89c6\u9891\u6559\u7a0b\u3002</li>\n<li>\u9879\u76ee\u63d0\u4ea4\uff1a2015 \u5e74 3 \u6708 16 \u65e5\u96f6\u65f6\u524d\uff0c\u5c06\u5b8c\u6210\u9879\u76ee\u6e90\u4ee3\u7801\u63d0\u4ea4\u5e76\u6258\u7ba1\u4e8e GitCafe\u3002</li>\n<li>\u9879\u76ee\u6f14\u793a\uff1a2015 \u5e74 3 \u6708 16 \u65e5\u96f6\u65f6\u524d\uff0c\u63d0\u4ea4\u5b8c\u6210\u9879\u76ee\u7684\u5e7b\u706f\u7247\u7b80\u4ecb\uff0c\u6f14\u793a\u622a\u5c4f\u6216\u89c6\u9891\u3002</li>\n<li>\u9879\u76ee\u8bc4\u5ba1\uff1a2015 \u5e74 3 \u6708 20 \u65e5\u96f6\u65f6\u5b8c\u6210\u8bc4\u5ba1\u3002</li>\n<li>\u516c\u5e03\u7ed3\u679c\uff1a2015 \u5e74 3 \u6708 20 \u65e5\u516c\u5e03\u5927\u8d5b\u83b7\u5956/\u4f18\u80dc\u540d\u5355\u3002</li>\n</ul>\n\n<h2>\u5927\u8d5b\u5956\u54c1</h2>\n\n<p>\u4e30\u5bcc\u5956\u54c1\uff1a<br>\n<img src=\"http://mmbiz.qpic.cn/mmbiz/SQzXM3j7YgcPYuCpNe68MZcibgrvXFnFtyLvYV20Jtt6Jo4u9dBXauJ3cPhbzlNPaQOuYn14zRqbKSFnrXqsH2Q/640?wxfrom=5\" alt=\"\"><br>\n\u5f00\u6e90\u793e\u5927\u793c\u5305</p>\n\n<p><img src=\"http://mmbiz.qpic.cn/mmbiz/SQzXM3j7YgcPYuCpNe68MZcibgrvXFnFtrUoVUZSds1A5TWB8M4XIDViamc4uezs6DlrI1o72icZakXLF6PKxCRqA/640?wxfrom=5\" alt=\"\"><br>\n\u5fae\u8f6f\u5f00\u653e\u6280\u672f\u5e3d\u886b</p>\n\n<p><img src=\"http://mmbiz.qpic.cn/mmbiz/SQzXM3j7YgcPYuCpNe68MZcibgrvXFnFtBIGX80KPPwkjfNRjqjA2DhXwhZvVB0xkLmibyR1xQzwXAaTb2vKJBWw/640?wxfrom=5\" alt=\"\"><br>\nGitCafe \u5927\u793c\u5305</p>\n\n<p>\u53c2\u52a0\u5956\uff1a<br>\n<img src=\"http://mmbiz.qpic.cn/mmbiz/SQzXM3j7YgcPYuCpNe68MZcibgrvXFnFtfruqEWbZo7HnEILIWGGw2x2ibqWTVYEZ5lshMgVstDMUxPW4Tw8FMgQ/640?wxfrom=5\" alt=\"\"><br>\nGitCoin\uff1a\u4e3b\u8981\u7528\u4e8e\u79c1\u6709\u9879\u76ee\u6258\u7ba1\u4ee3\u7801\u7684\u4f7f\u7528\u3002GitGoin \u53ef\u4ee5\u8d2d\u4e70 GitCafe\uff08\u4e0d\u9650\u4e8e\uff09\u989d\u5916\u6258\u7ba1\u7a7a\u95f4\u5347\u7ea7\u548c\u79c1\u6709\u9879\u76ee\u6258\u7ba1\u5728\u5185\u7684\u670d\u52a1\u3002</p>\n\n<p><img src=\"http://mmbiz.qpic.cn/mmbiz/SQzXM3j7YgcPYuCpNe68MZcibgrvXFnFt64L8icytibakFaM3WzPFfZxmpI6wOQCt4gfSzQu6pic2ncUoBgRbZxdBw/640?wxfrom=5\" alt=\"\"><br>\n\u5b66\u9738 VIP\uff1a\u6781\u5ba2\u5b66\u9662\u7279\u522b\u4e3a\u6bcf\u4f4d\u53c2\u8d5b\u4eba\u5458\u63d0\u4f9b\u6708 VIP \u7801\uff0c\u7528\u6237\u53ef\u4ee5\u514d\u8d39\u5b66\u4e60\u6781\u5ba2\u5b66\u9662\u5168\u7f51\u8bfe\u7a0b\u3002</p>\n\n<p>\u4f18\u80dc\u5956\uff1a<br>\n<img src=\"http://mmbiz.qpic.cn/mmbiz/SQzXM3j7YgcPYuCpNe68MZcibgrvXFnFtw5NLfGRCP7WXnkUqt0DLL05J0fK9Uj4m8fEjicibGPEyX1QfcTSWGYlA/640?wxfrom=5\" alt=\"\"><br>\nMSDN \u65d7\u8230\u7248\uff1a\u5fae\u8f6f\u6700\u8c6a\u534e\u7684 MSDN \u8ba2\u9605\u670d\u52a1\u65d7\u8230\u7248 (Visual Studio Ultimate with MSDN Subscriptions) \u4e00\u5e74\u514d\u8d39\u8ba2\u9605</p>\n\n<h2>\u6280\u672f\u5e72\u8d27</h2>\n\n<p>\u6211\u4eec\u51c6\u5907\u4e86\u4e00\u7cfb\u5217\u7684\u6559\u7a0b\u3001\u5c0f\u6311\u6218\u3001\u6280\u672f\u6587\u6863\u3001\u573a\u666f\u8303\u4f8b\u3001\u76f8\u5173\u793e\u533a\uff1a</p>\n\n<p>\u9996\u5148\uff0c\u767b\u9646\u6781\u5ba2\u5b66\u9662\u5728\u7ebf\u5b66\u4e60\u89c6\u9891\u6559\u7a0b (<a target=\"_blank\" rel=\"nofollow\" href=\"http://www.jikexueyuan.com/partner#msopentech\">www.jikexueyuan.com/partner#msopentech</a>)<br>\n1. Open XML SDK \u7b80\u4ecb</p>\n\n<ol>\n<li><p>\u4e0b\u8f7d\u548c\u7f16\u8bd1Open XML SDK\uff08Windows\u7cfb\u7edf\uff09</p></li>\n<li><p>\u4e0b\u8f7d\u548c\u7f16\u8bd1Open XML SDK\uff08Linux\u7cfb\u7edf\uff09</p></li>\n<li><p>\u4f7f\u7528PowerTools for Open XML\uff08Windows\u7cfb\u7edf\uff09</p></li>\n</ol>\n\n<p>\u6211\u4eec\u4e5f\u4e3a\u5927\u5bb6\u642d\u5efa\u4e86\u5728\u516c\u6709\u4e91 (Azure) \u8fd0\u884c\u7684\u5728\u7ebf\u7f16\u7a0b\u670d\u52a1\uff08\u5305\u542b\u5f00\u53d1/\u5b66\u4e60/\u6f14\u793a/\u90e8\u7f72\uff09 \u201c\u5f00\u653e\u9ed1\u5ba2\u677e\u201d\uff0c\u8ba9\u60a8\u65e0\u8bba\u4f55\u65f6\u4f55\u5730\uff0c\u53ea\u8981\u6709\u6d4f\u89c8\u5668\uff0c\u5c31\u53ef\u4ee5\u5f00\u59cb\u4efb\u6027\u7f16\u7a0b\uff0c\u800c\u4e0d\u9700\u8981\u8f9b\u8f9b\u82e6\u82e6\u642d\u5efa\u73af\u5883\uff0c\u5b89\u88c5\u8f6f\u4ef6\u3002\u8981\u8bb0\u5f97\u5148\u62a5\u540d\u53c2\u52a0\uff0c\u5ba1\u6838\u901a\u8fc7\u540e\uff0c\u518d\u53d6\u5f97 GitCafe \u8d26\u53f7\uff0c\u624d\u80fd\u767b\u9646 \u201c\u5f00\u653e\u9ed1\u5ba2\u677e\u201d \u5e73\u53f0\u54df\uff01</p>\n\n<p>\u9488\u5bf9\u672c\u6b21 Open XML SDK \u9ed1\u5ba2\u677e\uff0c\u201c\u5f00\u653e\u9ed1\u5ba2\u677e\u201d \u5e73\u53f0\u9664\u4e86\u8ba9\u60a8\u4efb\u6027\u5730\u5728\u7ebf\u7f16\u7a0b/\u6f14\u793a/\u90e8\u7f72\u4e4b\u5916\uff0c\u4e5f\u63d0\u4f9b\u4e86\u5404\u79cd\u5b66\u4e60\u5e2e\u52a9\uff0c\u5982\u96be\u5ea6\u4e0d\u4e00\u7684\u5c0f\u6311\u6218\uff0c\u4e30\u5bcc\u7684\u6280\u672f\u6587\u6863\uff0c\u573a\u666f\u8303\u4f8b\u53ca\u63d0\u793a\uff0c\u5f00\u53d1\u8005\u793e\u533a\u94fe\u63a5\uff0cOpen XML SDK \u6e90\u4ee3\u7801\u7b49\u3002</p>\n\n<h2>\u76f8\u5173\u6280\u672f\u6587\u6863</h2>\n\n<ul>\n<li><a target=\"_blank\" rel=\"nofollow\" href=\"https://gitcafe.com/GitCafe/Help\">GitCafe \u5e2e\u52a9\u6587\u6863</a></li>\n<li><a target=\"_blank\" rel=\"nofollow\" href=\"https://gitcafe.com/MSOpenTech_China/Open-XML-SDK\">Open-XML-SDK \u9879\u76ee\u5730\u5740</a></li>\n<li>Open-XML-SDK \u5b98\u65b9\u6280\u672f\u6587\u6863\uff1a\n<a target=\"_blank\" rel=\"nofollow\" href=\"https://msdn.microsoft.com/zh-cn/library/office/bb448854(v=office.1).aspx\">https://msdn.microsoft.com/zh-cn/library/office/bb448854(v=office.1).aspx</a>)</li>\n<li>\u5404\u79cd\u573a\u666f\u8303\u4f8b</li>\n</ul>\n\n<h2>\u5c0f\u6311\u6218</h2>\n\n<p>\u5efa\u8bae\u5148\u4e0a\u5b8c\u6781\u5ba2\u5b66\u9662\u5728\u7ebf\u5b66\u4e60\u89c6\u9891\u6559\u7a0b\u540e\uff0c\u518d\u6765 PK\u3002</p>\n\n<p>1.\u4ece Word \u6587\u6863\u4e2d\u63d0\u53d6\u5185\u5bb9 (Extract Text from Open XML WordprocessingML Document)</p>\n\n<p>2.\u589e\u52a0\u96be\u5ea6\uff01\u4ece\u542b\u6709\u4fee\u8ba2\u6807\u8bb0\u7684 Word \u6587\u6863\u4e2d\u63d0\u53d6\u5185\u5bb9 (Extract Text from a DOCX that Contains Tracked Revisions)</p>\n\n<p>3.\u5feb\u901f\u6784\u5efa\u4e00\u4e2a ASP.NET \u7f51\u7ad9\uff0c\u5728\u7f51\u9875\u4e0a\u5c55\u793a Open XML \u6587\u6863\u5185\u5bb9 (Build a Simple ASP.NET Web Site that Displays an Open XML Document in a Page)</p>\n\n<h2>\u53ef\u80fd\u573a\u666f\u63d0\u793a</h2>\n\n<p>1.\u901a\u8fc7\u4e00\u4e2a CRM \u7cfb\u7edf\u7684\u7f51\u9875\u6765\u9884\u89c8 Open XML \u6587\u6863\u5185\u5bb9 (Previewing Open XML Documents in a Web-Based Content Management System)</p>\n\n<p>2.\u57fa\u4e8e\u8868\u5355\u5f62\u5f0f\u7684\u95ee\u5377\u7cfb\u7edf (Form-Based Survey System)</p>\n\n<p>3.\u7cfb\u7edf\u5316\u751f\u6210\u5b9a\u5236\u5316\u65b9\u6848 (Custom Proposal Custom Proposal Generation System)</p>\n\n<p>4.\u4f01\u4e1a\u6587\u6863\u6807\u51c6\u5316\u7684\u6267\u884c (Enforcement of Standards for Corporate Documents)</p>\n\n<p>5.\u6587\u6863\u4e2d\u7684\u6d4b\u8bd5\u4ee3\u7801 (Test Code in Documents)</p>\n\n<p>6.\u751f\u6210\u5b9a\u5236 PPTX \u5e7b\u706f\u7247 (Generation of Custom PPTX Presentations)</p>\n\n<p>7.\u5927\u91cf\u751f\u6210\u5ba2\u6237\u8d26\u5355 (Mass Generation of Customer Statements)</p>\n\n<p>8.\u751f\u6210\u5b9a\u5236\u62a5\u544a (Custom Report Generation)</p>\n\n<p>9.\u751f\u6210\u6cd5\u5f8b\u5408\u540c (Legal Contract Generation)</p>\n\n<p>10.\u4ece Excel \u91cc\u5bfc\u51fa\u5927\u91cf\u6570\u636e\u4f5c\u5206\u6790 (Exporting Huge Data Sets for Analysis in Excel)<br>\n11.\u4f7f\u7528 Excel \u6765\u7ef4\u62a4\u4f01\u4e1a\u4fe1\u606f\u7ba1\u7406\u7cfb\u7edf\u7684\u6570\u636e (Using Excel to Maintain Data Sets from Enterprise Management Information Systems)</p>\n\n<p>12.\u4f7f\u7528 Word \u6765\u7ef4\u62a4\u542b\u4e30\u5bcc\u8bed\u4e49\u7684\u5185\u5bb9 (Using Word to Maintain Rich Semantic Content)</p>\n\n<p>13.\u5904\u7406\u63d0\u4ea4\u7684\u5185\u5bb9 (Processing Content Submissions)</p>\n\n<p>14.\u5904\u7406\u4eba\u4e8b\u7ee9\u6548 (Human Resources Review Processing)</p>\n\n<p>15.\u5b9a\u5236 Word \u6587\u6863\u5230 XML \u7684\u8f6c\u6362 (Custom Transformations of Word Documents to XML)</p>\n\n<p>16.\u4ece\u6587\u6863\u4e2d\u62bd\u53d6\u5143\u6570\u636e (Extraction of Metadata from Documents)</p>\n\n<h2>\u6280\u672f\u652f\u6301</h2>\n\n<p>\u5b98\u65b9\u9009\u624b\u6280\u672f\u4ea4\u6d41\u7fa4\uff1aQQ\u7fa4\u53f7 - 371539827</p>\n\n<p>\u9ed1\u5ba2\u677e\u6280\u672f\u652f\u6301\u90ae\u7bb1\uff1a <a target=\"_blank\" rel=\"nofollow\" href=\"mailto:hackathon@kaiyuanshe.cn\">hackathon@kaiyuanshe.cn</a></p>\n\n<h2>\u5f00\u53d1\u8005\u793e\u533a</h2>\n\n<p><a target=\"_blank\" rel=\"nofollow\" href=\"http://openxmldeveloper.org/\">http://openxmldeveloper.org/</a></p>\n\n<p><a target=\"_blank\" rel=\"nofollow\" href=\"http://www.csdn.net/tag/openxml/\">http://www.csdn.net/tag/openxml/</a></p>\n\n<h2>\u8bc4\u5ba1\u5609\u5bbe</h2>\n\n<p>Eric White<br>\n<img src=\"http://mmbiz.qpic.cn/mmbiz/SQzXM3j7YgcxCDCJYl1xEPVT9uTiaZP0hXickMCaibyBleK3VzHdERWV9QciaBj8LVe8OYMlzNnkqBuJmicHpZ1SLeQ/640?wxfrom=5\" alt=\"\"><br>\n.NET developer, technical writer, blogger. Experience with Open XML using LINQ to XML and the Open XML SDK, Office 2010 client development, and SharePoint 2010 development. Experience with .NET technologies, including ASP.NET, HTML, CSS, XML, XSLT, XSD, and document transformations.</p>\n\n<p>\u8521\u660e\u5cf0<br>\n<img src=\"http://mmbiz.qpic.cn/mmbiz/SQzXM3j7YgcxCDCJYl1xEPVT9uTiaZP0hljUax7ibeiaUiciah5Vfhkic4n60GqjFmWjAQVickUofHpO6cV237u78V1eQ/640?wxfrom=5\" alt=\"\"><br>\n\u5c31\u804c\u4e8e\u5fae\u8f6f\u5f00\u653e\u6280\u672f\uff0c\u4efb\u8d44\u6df1\u9879\u76ee\u7ecf\u7406\uff0c\u6709\u516b\u5e74\u7684\u5fae\u8f6f\u7ecf\u5386\uff0c\u66fe\u53c2\u4e0e\u8fc7\u4f01\u4e1aIT\u89e3\u51b3\u65b9\u6848\u3001\u533b\u7597\u8f6f\u4ef6\u3001\u5168\u7403\u5e7f\u544a\u5e73\u53f0\u7684\u7814\u53d1\u8fd0\u7ef4\uff0c\u73b0\u5168\u5fc3\u6295\u5165\u5728\u4e0e\u5fae\u8f6f\u6280\u672f\u76f8\u5173\u7684\u5f00\u6e90\u8f6f\u4ef6\u9879\u76ee\u4e2d\u3002</p>\n\n<p>Raniux<br>\n<img src=\"http://mmbiz.qpic.cn/mmbiz/SQzXM3j7YgcxCDCJYl1xEPVT9uTiaZP0hELNicQM144tlXnjGOWicr8fLknnmB97ICtovYuly8LbZgkoUVt3RQ7Gw/640?wxfrom=5\" alt=\"\"><br>\nGitCafe CTO\uff0c\u5199\u4e0b\u4e86 GitCafe \u7684\u7b2c\u4e00\u884c\u4ee3\u7801\u3002A life-long learner, a problem solver, and a developer. Also a pianist and a StarCraft player.</p>\n\n<p>\u80e1\u5fb7\u6c11<br>\n<img src=\"http://mmbiz.qpic.cn/mmbiz/SQzXM3j7YgcxCDCJYl1xEPVT9uTiaZP0hica1mWm3tibk4icknRz5VX7yA0O5ekicK5VWQkricEFQplxSnBYL6qJEaicQ/640?wxfrom=5\" alt=\"\"><br>\n\u73b0\u4efb\u5fae\u8f6f\u516c\u53f8\u5927\u4e2d\u534e\u533a\u5f00\u53d1\u5de5\u5177\u9ad8\u7ea7\u4ea7\u54c1\u7ecf\u7406\uff0c\u5177\u590715 \u5e74 IT \u4e13\u4e1a\u6280\u672f\u670d\u52a1\u7684\u7ecf\u9a8c\uff0c\u5386\u4efb\u7a0b\u5e8f\u5458\u3001\u8bb2\u5e08\u3001\u9879\u76ee\u7ecf\u7406\u3001\u6280\u672f\u987e\u95ee\uff0c\u4e8e2004 \u5e74\u52a0\u5165\u5fae\u8f6f\u516c\u53f8\uff0c\u8d1f\u8d23.NET \u5e73\u53f0\u4ee5\u53ca\u5f00\u53d1\u5de5\u5177 Visual Studio \u5e02\u573a\u63a8\u5e7f\uff0c\u63a8\u52a8\u4f01\u4e1a\u7814\u53d1\u56e2\u961f\u5728\u79fb\u52a8\u4e0e\u4e92\u8054\u7f51\u8d8b\u52bf\u4e0b\u7684\u8f6c\u578b\uff0c\u5e76\u81f4\u529b\u4e8e\u8f6f\u4ef6\u5de5\u7a0b\u4e0e ALM \u5de5\u5177\u7684\u843d\u5730\u4e0e\u5b9e\u8df5\u3002</p>\n\n<p>\u90dd\u51a0\u519b<br>\n<img src=\"http://mmbiz.qpic.cn/mmbiz/SQzXM3j7YgcxCDCJYl1xEPVT9uTiaZP0hUOrFkBVNEqzXF9dSj4t65452HImBj4Bn8kXwGc5n6UPniaicV3zibtPbw/640?wxfrom=5\" alt=\"\"><br>\n\u591a\u5e74\u6765\u5de5\u4f5c\u5728\u5f00\u53d1\u4e00\u7ebf\uff0c\u70ed\u7231\u8f6f\u4ef6\u5f00\u53d1\u5de5\u4f5c\uff0c\u5bf9\u6280\u672f\u6709\u6bd4\u8f83\u6df1\u5165\u7406\u89e3\uff0c 2011\u202f\u5e74\u51fa\u7248\u4e86\u300aASP.NET\u202f\u672c\u8d28\u8bba\u300b\uff0c\u8fde\u7eed\u56db\u5c4a\u5fae\u8f6f\u6700\u6709\u4ef7\u503c\u4e13\u5bb6\uff08MVP\uff09\uff0c\u79ef\u6781\u53c2\u4e0e\u6280\u672f\u793e\u533a\u6d3b\u52a8\u3002</p>\n\n<h2>\u4f5c\u54c1\u6295\u7968\uff08\u9879\u76ee\u5c55\u793a\uff09</h2>\n\n<p><a target=\"_blank\" rel=\"nofollow\" href=\"https://campaign.gitcafe.com/openxml-hackathon2015/candidates\">\u53c2\u8d5b\u4f5c\u54c1\u5c55\u793a\u5730\u5740</a></p>\n\n<h2>\u5408\u4f5c\u4f19\u4f34</h2>\n\n<p>\u4e3b\u529e\u65b9\uff1a<br>\n<img src=\"http://mmbiz.qpic.cn/mmbiz/SQzXM3j7YgcxCDCJYl1xEPVT9uTiaZP0hODosPyx1hI9FplLXblficC45NUDf34aj2icCv1LEOn40g2yzibWPfQy0A/640?wxfrom=5\" alt=\"\"><br>\n<img src=\"http://mmbiz.qpic.cn/mmbiz/SQzXM3j7YgcxCDCJYl1xEPVT9uTiaZP0hPAEljLTB6uGb1Z6Dkyc4NzQqa8n0f66AHgKct7VceV6mRfmL380ELg/640?wxfrom=5\" alt=\"\"><br>\n<img src=\"http://mmbiz.qpic.cn/mmbiz/SQzXM3j7YgcPYuCpNe68MZcibgrvXFnFtDd6CocQ7pr7sg4NDhk4kkOaq9iaqtEp89dSV6sgzTFBjkCsdR3OzYXA/640?wxfrom=5\" alt=\"\"><br>\n<img src=\"http://mmbiz.qpic.cn/mmbiz/SQzXM3j7YgcPYuCpNe68MZcibgrvXFnFtEY8ZIAV9EkPvyc6azLk0n79q1cncB1wbzIv545UCZn4DQhLPHibZkyA/640?wxfrom=5\" alt=\"\"></p>\n\n<p>\u652f\u6301\u5355\u4f4d\uff1a<br>\n<img src=\"http://mmbiz.qpic.cn/mmbiz/SQzXM3j7YgcxCDCJYl1xEPVT9uTiaZP0hqicyIbEnSBRYuJ6Ux4UAJ5EmjAhFzEFfiaIf8zoDiaCeiaVia2SaUTv3k0w/640?wxfrom=5\" alt=\"\"><br>\n<img src=\"http://mmbiz.qpic.cn/mmbiz/SQzXM3j7YgcxCDCJYl1xEPVT9uTiaZP0h0SofqX6FibibmicHUvrMS1amZh0UxRaXjMrBy0bx8CqVImib8ZICzHkOfA/640?wxfrom=5\" alt=\"\"><br>\n<img src=\"http://mmbiz.qpic.cn/mmbiz/SQzXM3j7YgcxCDCJYl1xEPVT9uTiaZP0hRMRUB9ruUHiajejJlyfFJlBPyHUVxCsWJ7q9LE4D6e3B6s9iaITjFtcw/640?wxfrom=5\" alt=\"\"><br>\n<img src=\"http://mmbiz.qpic.cn/mmbiz/SQzXM3j7YgcxCDCJYl1xEPVT9uTiaZP0hNU7AJJdicbwnhFHlknUU91hpY79F99hfCH4mZKTyDDnSIXibqbYvkXKQ/640?wxfrom=5\" alt=\"\"><br>\n<img src=\"http://mmbiz.qpic.cn/mmbiz/SQzXM3j7YgcxCDCJYl1xEPVT9uTiaZP0hwHiaWsp9d5PibVKxibk0OemrsmbMDiaE0qlcycWulKddTNPmrFlhIuCnfQ/640?wxfrom=5\" alt=\"\"><br>\n<img src=\"http://mmbiz.qpic.cn/mmbiz/SQzXM3j7YgcxCDCJYl1xEPVT9uTiaZP0htwtX2Xb8qoxM65sFUORn9cSgncKw3iaosQEDCuaEYAqKLflTxbVl3tg/640?wxfrom=5\" alt=\"\"><br>\n<img src=\"http://mmbiz.qpic.cn/mmbiz/SQzXM3j7YgcxCDCJYl1xEPVT9uTiaZP0hI6yF5ajxGrlJZY9H4xs7ZwZI8MJWSc0WZz4nh4NppUZhMmWrkJibP1A/640?wxfrom=5\" alt=\"\"><br>\n<img src=\"http://mmbiz.qpic.cn/mmbiz/SQzXM3j7YgcxCDCJYl1xEPVT9uTiaZP0h01EIiarT8GyZ2xjtTVgg5WE0GSCX62Y9GSHWo0S6DX6KtQFZIIFCT6Q/640?wxfrom=5\" alt=\"\"><br>\n<img src=\"http://mmbiz.qpic.cn/mmbiz/SQzXM3j7YgcxCDCJYl1xEPVT9uTiaZP0hsMibBEglCd0vww80uT2d04ul9tKsia73aJpvcaaL3LSze15F61NuRa7A/640?wxfrom=5\" alt=\"\"></p>\n", 
      "date_published": "2015-02-10T10:46:33+00:00", 
      "title": "[\u7ebf\u4e0a\u6d3b\u52a8] Open XML SDK \u5728\u7ebf\u7f16\u7a0b\u9ed1\u5ba2\u677e", 
      "id": "https://www.v2ex.com/t/169916"
    }, 
    {
      "author": {
        "url": "https://www.v2ex.com/member/irisgyq", 
        "name": "irisgyq", 
        "avatar": "https://cdn.v2ex.com/avatar/e664/f5ae/92071_large.png?m=1428561132"
      }, 
      "url": "https://www.v2ex.com/t/169909", 
      "date_modified": "2015-02-10T10:14:01+00:00", 
      "content_html": "<p><img src=\"https://trello-attachments.s3.amazonaws.com/54d98996cd53ebd7bc3058b6/1024x196/036f0b66f1a23402ea3318f2be5e617b/hack-song_1024.png\" alt=\"\"><br>\n\u6625\u5929\uff0c\u662f\u5e0c\u671b\uff0c\u662f\u68a6\u60f3\u3002\u4e00\u5e74\u4e4b\u8ba1\u5728\u4e8e\u6625\uff0c\u662f\u65f6\u5019\u91ca\u653e\u70ed\u60c5\u4e0e\u521b\u9020\u529b\u4e86\u30022015 \u5f00\u6625\u4e4b\u9645 GitCafe \u7279\u6b64\u732e\u4e0a\u56db\u573a\u7ebf\u4e0a\u9ed1\u5ba2\u9a6c\u62c9\u677e\u6bd4\u8d5b\uff0c\u6b22\u8fce\u4e00\u8d77\u6765 hack \u51fa\u6e29\u6696\u8fd9\u4e2a\u6625\u5929\u7684\u4ee3\u7801\u3002</p>\n\n<p>\u5982\u679c\u4f60\u8fd8\u62c5\u5fc3\u6625\u8282\u671f\u95f4\u65e0\u4e8b\u53ef\u505a\uff0c\u4e0d\u59a8\u6253\u5f00\u7535\u8111\uff0c\u6572\u4e0b\u4e00\u884c\u627f\u8f7d\u7075\u611f\u7684\u4ee3\u7801\uff1b\u5982\u679c\u4f60\u8fd8\u62c5\u5fc3\u521b\u610f\u65e0\u5904\u5b89\u653e\uff0c\u4e0d\u59a8\u70b9\u51fb\u62a5\u540d\uff0c\u5f00\u59cb\u521b\u5efa\u4e00\u4e2a\u9177\u70ab\u7684\u9879\u76ee\uff1b\u5982\u679c\u4f60\u8fd8\u62c5\u5fc3\u9ed1\u5ba2\u68a6\u60f3\u65e0\u6cd5\u5b9e\u73b0\uff0c\u4e0d\u59a8\u52a0\u5165\u6211\u4eec\uff0c\u4e00\u8d77\u8e0f\u4e0a\u8fd9\u6bb5\u6700\u68d2\u7684\u300c\u9ed1\u5ba2\u677e\u4e4b\u6625\u300d\u65c5\u7a0b\u3002</p>\n\n<p>\u6211\u4eec\u671f\u5f85\u9047\u89c1\u5bf9\u8fd9\u4e2a\u4e16\u754c\u5145\u6ee1\u70ed\u60c5\u4e0e\u6597\u5fd7\u7684\u4f60\uff0c\u8fce\u63a5\u6311\u6218\uff0c\u4e00\u8d77\u5ea6\u8fc7\u8fd9\u4e2a\u975e\u6bd4\u5bfb\u5e38\u7684\u6625\u5929\u3002</p>\n\n<p>2 \u6708 10 \u65e5\uff0c\u6b63\u5f0f\u542f\u822a\u3002</p>\n\n<h2>\u9ed1\u5ba2\u677e\u4e4b\u6625</h2>\n\n<p>\u300c\u9ed1\u5ba2\u677e\u4e4b\u6625\u300d\u662f\u7531 GitCafe \u8054\u5408\u56db\u5bb6\u516c\u53f8\u4e00\u8d77\u5728\u6625\u8282\u957f\u5047\u671f\u95f4\u540c\u65f6\u5f00\u5c55\u7684\u5728\u7ebf\u9ed1\u5ba2\u9a6c\u62c9\u677e\u5927\u8d5b\uff0c\u53c2\u8d5b\u8005\u4eec\u4f7f\u7528\u4e91\u9002\u914d\u3001\u9b54\u8c46\u3001Depth-VR \u6216 BearyChat \u7684\u4ea7\u54c1\u6216\u8005\u63a5\u53e3\uff0c\u5e76\u5c06\u9879\u76ee\u4e0e\u4ee3\u7801\u6258\u7ba1\u5728 GitCafe \u4e0a\uff0c\u8fdb\u884c\u4e3a\u671f\u4e00\u4e2a\u6708\u7684\u5f00\u53d1\u3002</p>\n\n<p>\u4e3a\u4f60\u5949\u4e0a\u6bcf\u4e00\u573a hackathon \u8bda\u631a\u7684\u5bc4\u8bed\uff0c\u5e0c\u671b\u4f60\u80fd\u591f\u5728\u8fd9\u573a\u65c5\u7a0b\u4e2d\u4eab\u53d7\u5230\u5feb\u4e50\u3002</p>\n\n<h3>\u4e91\u9002\u914d</h3>\n\n<p><img src=\"https://trello-attachments.s3.amazonaws.com/54d98996cd53ebd7bc3058b6/640x123/c61270d4904c80f09fa3614e05aedaba/6401.jpeg\" alt=\"\"><br>\nAmaze UI \u4ece 2014 \u5e74 8 \u6708\u5f00\u6e90\u81f3\u4eca\u5df2\u7ecf 6 \u4e2a\u6708\uff0c\u8fd9\u534a\u5e74\u95f4 Amaze UI \u56e2\u961f\u81f4\u529b\u4e8e\u4e00\u4ef6\u4e8b\uff1a\u4e3a\u5f00\u53d1\u8005\u6253\u9020\u6700\u597d\u7528\u7684\u524d\u7aef\u6846\u67b6\u3002\u76ee\u524d\u770b\u6ca1\u6709\u504f\u79bb\u8fd9\u4e2a\u65b9\u5411\u3002</p>\n\n<p>Amaze UI \u56e2\u961f\u5f88\u9ad8\u5174\u80fd\u4e0e GitCafe \u56e2\u961f\u5408\u4f5c\u4e3e\u529e\u7ebf\u4e0a\u9ed1\u5ba2\u9a6c\u62c9\u677e\uff0c\u4e5f\u5e0c\u671b\u672c\u6b21\u6d3b\u52a8\u80fd\u5f97\u5230\u5f00\u53d1\u8005\u7684\u8ba4\u53ef\uff0c\u5e2e\u52a9 Amaze UI \u66f4\u597d\u7684\u6210\u957f\u3002</p>\n\n<h3>\u9b54\u8c46</h3>\n\n<p><img src=\"https://trello-attachments.s3.amazonaws.com/54d98996cd53ebd7bc3058b6/640x123/57ae407326cf998bcb3047a6b6ccb3c5/6403.jpeg\" alt=\"\"><br>\n\u9b54\u8c46\u8def\u7531\u5668\u662f\u4e00\u6b3e\u975e\u5e38\u72ec\u7279\u7684\u667a\u80fd\u8def\u7531\u5668\uff0c\u72ec\u7279\u4e4b\u5904\u5728\u4e8e\u5b83\u6709\u4e00\u5757\u53ef\u89e6\u63a7\u7684\u5c4f\u5e55\uff0c\u8fd9\u4e00\u70b9\u5f7b\u5e95\u6539\u53d8\u4e86\u4f20\u7edf\u8def\u7531\u5668\u4e0e\u7528\u6237\u4ea4\u4e92\u7684\u65b9\u5f0f\u3002\u4f60\u53ef\u4ee5\u4e0d\u7528\u501f\u52a9\u7535\u8111\u3001\u624b\u673a\u5c31\u80fd\u76f4\u63a5\u8bbe\u7f6e\u8def\u7531\u5668\uff0c\u67e5\u770b\u7f51\u7edc\u72b6\u6001\u3001\u8054\u7f51\u8bbe\u5907\u7b49\u3002\u800c\u66f4\u91cd\u8981\u7684\u662f\uff0c\u6211\u4eec\u73b0\u5728\u5df2\u7ecf\u53ef\u4ee5\u8ba9\u7528\u6237\u76f4\u63a5\u5728\u8fd9\u5757\u89e6\u63a7\u5c4f\u4e0a\u5b89\u88c5\u548c\u4f7f\u7528\u5e94\u7528\u4e86\uff1b\u6bd4\u5982\u5929\u6c14\u9884\u62a5\uff0c\u8fd9\u662f\u7531\u4e00\u4f4d\u9b54\u8c46\u70ed\u5fc3\u7528\u6237\u5f00\u53d1\u7684\u5e94\u7528\uff0c\u6253\u5f00\u5b83\uff0c\u7528\u6237\u5c31\u53ef\u4ee5\u76f4\u63a5\u5728\u8def\u7531\u5668\u4e0a\u67e5\u770b\u5929\u6c14\uff0c\u751a\u81f3\u96fe\u973e\u6307\u6570\u3002\u4e0d\u4ec5\u5982\u6b64\uff0c\u5f00\u53d1\u8005\u5f00\u53d1\u4e00\u6b3e\u5e94\u7528\u8fd8\u53ef\u4ee5\u76f4\u63a5\u81ea\u52a8\u9002\u914d\u5230 Android/iOS \u7248\u672c\u7684\u9b54\u8c46\u8def\u7531\u5b9d\u548c\u8def\u7531\u5668\u7684 Web \u7ba1\u7406\u540e\u53f0\uff1b\u4e00\u6b21\u5f00\u53d1\uff0c\u5c31\u652f\u6301\u4e09\u79cd\u9014\u5f84\u7684\u524d\u7aef\u5c55\u73b0\u3002</p>\n\n<p>\u6211\u4eec\u8fd8\u9700\u8981\u66f4\u591a\u529f\u80fd\u66f4\u4e30\u5bcc\u66f4\u6709\u8da3\u7684\u5e94\u7528\uff0c\u6765\u6ee1\u8db3\u7528\u6237\u7684\u4f7f\u7528\u9700\u6c42\uff0c\u56e0\u6b64\u6211\u4eec\u5c31\u9700\u8981\u66f4\u591a\u6709\u80fd\u529b\u7684\u5f00\u53d1\u8005\u52a0\u5165\u5230\u9b54\u8c46\u8def\u7531\u5668\u5e94\u7528\u5f00\u53d1\u7684\u5de5\u4f5c\u4e2d\u6765\u3002\u6211\u4eec\u5e0c\u671b\u672a\u6765\u6240\u6709\u666e\u901a\u7684\u7528\u6237\u90fd\u80fd\u8f7b\u677e\u81ea\u5982\u5730\u64cd\u63a7\u8def\u7531\u5668\uff0c\u4e3a\u751f\u6d3b\u5e26\u6765\u66f4\u5927\u7684\u4fbf\u5229\u548c\u4e50\u8da3\u3002</p>\n\n<h3>Depth-VR</h3>\n\n<p><img src=\"http://mmbiz.qpic.cn/mmbiz/SQzXM3j7YgcxCDCJYl1xEPVT9uTiaZP0hXXhXaYn65fvpBpMHmY8wFLbXGzRs8CmahiaYNuBicxUm3J8k2yeUL9DA/640?wxfrom=5\" alt=\"\"><br>\n\u4e5f\u8bb8\uff0c\u4f60\u65f6\u5e38\u6d3b\u5728 \u201c\u4ee3\u7801\u201d \u7684\u4e16\u754c\u91cc\uff0c\u5728\u90a3\u91cc\u4f60\u53ef\u80fd\u4f1a\u89c9\u5f97\u5f88\u8212\u670d\u3002</p>\n\n<p>\u90a3\u4e48\uff0c\u4f60\u5e0c\u671b\u627e\u5230\uff0c\u751a\u81f3\u521b\u9020\u4e00\u4e2a\u7531\u4ee3\u7801\u6784\u6210\u7684 \u201c\u4e16\u754c\u201d \u5417\uff1f</p>\n\n<p>\u4e00\u4e2a \u201c\u865a\u62df\u201d \u7684 \u201c\u73b0\u5b9e\u201d\u3002</p>\n\n<p>\u770b\u5230\u8fd9\u91cc\uff0c\u5982\u679c\u4f60\u60f3\u9009\u62e9\u7684\u662f\u90a3\u4e00\u9897\u84dd\u8272\u7684\u836f\u4e38\uff0c\u90a3\u4e48\u6211\u4eec\u6709\u5fc5\u8981\u544a\u8bc9\u4f60\uff0c\u8fd9\u6b63\u662f Depth-VR \u4e00\u76f4\u5728\u505a\u7684\u4e8b\u60c5\uff0c\u800c\u4e14\u6211\u4eec\u5e0c\u671b\u548c\u4f60\u4e00\u5757\u513f\u505a\u3002</p>\n\n<p>\u4e5f\u8bb8\u4f60\u5bf9 Depth-VR \u5e76\u65e0\u51e0\u5206\u4e86\u89e3\uff0c\u6ca1\u5173\u7cfb\uff0c\u73b0\u5728\u4f60\u53ea\u9700\u8981\u77e5\u9053\u4e00\u4ef6\u4e8b\uff1a\u201c\u865a\u62df\u73b0\u5b9e\u201d \u88ab\u6211\u4eec\u627f\u5305\u4e86\uff01</p>\n\n<p>\u6211\u4eec\u5e76\u4e0d\u9700\u8981\u5404\u4f4d\u80fd\u4eba\u5f02\u58eb\u5e2e\u6211\u4eec\u5f00\u53d1\u6216\u8005\u6539\u8fdb\u4ec0\u4e48 \u201c\u4ea7\u54c1\u201d\uff0c\u800c\u662f\u5404\u4f4d\u5f3a\u58ee\u7684\u53f3\uff08\u5de6\uff09\u624b\uff0c\u548c\u6211\u4eec\u4e00\u8d77\u521b\u5efa\u8fd9\u6837\u4e00\u4e2a\u771f\u5b9e\u7684\u4e4c\u6258\u90a6\uff0c\u4e00\u4e2a\u5b9e\u5b9e\u5728\u5728\u7684 Cybercity\uff0c\u8ba9 Depth-VR \u80fd\u8d21\u732e\u51fa\u4e00\u4e2a\u66f4\u597d\u7684\u865a\u62df\u73b0\u5b9e\u5e73\u53f0\uff0c\u4ece\u800c\u8ba9\u66f4\u591a\u7684\u5f00\u53d1\u8005\u6765\u8fd9\u91cc \u201c\u5b89\u5bb6\u201d\u3002</p>\n\n<p>\u5c31\u7b97\u662f\u6765\u642c\u7816\u4e5f\u597d\u554a\uff01</p>\n\n<h3>BearyChat</h3>\n\n<p><img src=\"https://trello-attachments.s3.amazonaws.com/54d98996cd53ebd7bc3058b6/640x123/41db8d255a8077fcc58298fd443a0a7d/6404.png\" alt=\"\"><br>\n\u8fd9\u53ef\u80fd\u662f\u4e00\u6b21\u6700\u5bcc\u6709\u7406\u60f3\u3001\u575a\u6301\uff0c\u6fc0\u60c5\u7684\u9ed1\u5ba2\u9a6c\u62c9\u677e\u3002</p>\n\n<p>\u5728\u8fd9\u4e2a\u65b0\u6625\u4f0a\u59cb\uff0c\u6210\u767e\u4e0a\u5343\u7684\u4f19\u4f34\u4f1a\u8ddf\u4f60\u540c\u5728\u4e00\u8d77\uff0c\u4e3a\u4e86\u4e00\u4e2a\u76ee\u6807\u7ed3\u4f34\u524d\u8fdb\u3002\u5728\u8fd9\u91cc\uff0c\u300cBearyChat\u300d \u4f1a\u4f34\u968f\u5728\u4f60\u7684\u5de6\u53f3\uff0c\u7528\u5f3a\u5927\u7684\u4fe1\u606f\u96c6\u6210\uff0c\u5feb\u901f\u7a33\u5b9a\u7684\u6c9f\u901a\u4f53\u9a8c\uff0c\u8ba9\u4f60\u62e5\u6709\u4e00\u4e2a\u975e\u540c\u51e1\u54cd\u7684\u6625\u5929\u3002</p>\n\n<p>\u65e0\u8bba\u4f60\u51b3\u5b9a\u5728\u54ea\u4e2a\u9879\u76ee\u4e2d\u7528\u4ee3\u7801\u7ec4\u6210\u7f8e\u5999\u7684\u4e50\u7ae0\uff0c\u6211\u4eec\u90fd\u771f\u8bda\u7684\u5e0c\u671b\u4f60\u80fd\u591f\u4f7f\u7528\u300cBearyChat\u300d\u6765\u8fdb\u884c\u7ebf\u4e0a\u7684\u6c9f\u901a\u548c\u534f\u4f5c\uff1a\u5f53\u4f60\u4f7f\u7528\u300cTrello\u300d \u638c\u63a7\u9879\u76ee\u8fdb\u5ea6\u3001\u7528\u300cJIRA\u300d \u8ddf\u8e2a\u9879\u76ee\u4e8b\u52a1\u3001\u7528\u300cSentry\u300d \u5b9e\u65f6\u6536\u96c6\u5f02\u5e38\u548c\u65e5\u5fd7\u8bb0\u5f55\uff0c\u300cBearyChat\u300d\u90fd\u4f1a\u5c06\u8fd9\u4e9b\u4fe1\u606f\u5b9e\u65f6\u63a8\u9001\u7ed9\u4f60\uff1b\u540c\u65f6\uff0c\u4f60\u8fd8\u53ef\u4ee5\u6839\u636e\u8bdd\u9898\u8fdb\u884c\u5206\u7ec4\u6216\u8005\u79c1\u5bc6\u5373\u65f6\u6c9f\u901a\u3002\u603b\u4e4b\uff0c\u4f60\u5c06\u4f1a\u5728\u300cBearyChat\u300d\u4e0a\u5373\u65f6\u6c9f\u901a\u3001\u8ba8\u8bba\u4e00\u4e9b\u4f60\u5173\u5fc3\u7684\u4fe1\u606f\uff0c\u8ba9\u5de5\u4f5c\u66f4\u52a0\u4e13\u6ce8\u3002</p>\n\n<p>\u73b0\u5728\uff0c\u300cBearyChat\u300d\u4e2d\u8fd8\u6709\u66f4\u591a\u7684\u667a\u80fd\u673a\u5668\u4eba\u9700\u8981\u4f60\u6765\u4e3a\u6211\u4eec\u5f00\u53d1\uff0c\u5b83\u53ef\u4ee5\u662f\uff1a\u667a\u80fd\u7684\u4fe1\u606f\u6536\u96c6\u5668\u3001\u53ef\u4ee5\u662f\u5b9a\u65f6\u63d0\u9192\u4f60\u559d\u6c34\u7684\u8d34\u5fc3\u5c0f\u52a9\u624b\uff0c\u8fd8\u53ef\u4ee5\u662f\u8bb0\u5f97\u4f60\u91cd\u8981\u7eaa\u5ff5\u65e5\u5e76\u9001\u4e0a\u795d\u798f\u7684\u631a\u53cb\u2026\u2026.\u5f53\u7136\uff0c\u522b\u5177\u5320\u5fc3\u7684\u4f60\u8fd8\u53ef\u4ee5\u5929\u9a6c\u884c\u7a7a\u7684\u6253\u9020\u51fa\u66f4\u591a\u673a\u5668\u4eba\uff0c\u8fd9\u4e00\u5207\u90fd\u7531\u4f60\u6765\u51b3\u5b9a\uff0c\u4f60\u5c31\u662f\u8fd9\u4e2a\u6625\u5929\u7684\u9020\u7269\u4e3b\u3002</p>\n\n<h2>GitCafe \u4e3a\u4f60\u6b66\u88c5</h2>\n\n<p>GitCafe \u662f\u4e00\u4e2a\u57fa\u4e8e\u4ee3\u7801\u6258\u7ba1\u670d\u52a1\u6253\u9020\u7684\u6280\u672f\u534f\u4f5c\u4e0e\u5206\u4eab\u5e73\u53f0\uff0c\u5f00\u53d1\u8005\u53ef\u4ee5\u901a\u8fc7\u4f7f\u7528 Git \u4ee3\u7801\u7248\u672c\u63a7\u5236\u7cfb\u7edf\u5c06\u5176\u5f00\u6e90\u6216\u5546\u4e1a\u9879\u76ee\u4ee3\u7801\u6258\u7ba1\u5728 GitCafe \u4e0a\uff0c\u4e0e\u5176\u4ed6\u7a0b\u5e8f\u5458\u534f\u4f5c\u5f00\u53d1\u3002</p>\n\n<p>\u8fd9\u4e00\u6b21\uff0cGitCafe \u4e3a\u4f60\u63d0\u4f9b\u5168\u90e8\u9879\u76ee\u4e0e\u4ee3\u7801\u7684\u6258\u7ba1\u548c\u5728\u7ebf\u534f\u4f5c\u7684\u670d\u52a1\uff0c\u5e76\u6709\u5de5\u4f5c\u4eba\u5458\u4e3a\u5927\u5bb6\u8fdb\u884c\u73b0\u573a\u7684\u6307\u5bfc\u3002</p>\n\n<h3>\u5982\u4f55\u4f7f\u7528 GitCafe</h3>\n\n<p><a target=\"_blank\" rel=\"nofollow\" href=\"https://gitcafe.com/GitCafe/Help/\">GitCafe \u5e2e\u52a9\u6587\u6863</a> </p>\n\n<h2>\u62a5\u540d\u901a\u9053</h2>\n\n<p>2 \u6708 10 \u65e5\uff0c\u300c\u9ed1\u5ba2\u677e\u4e4b\u6625\u300d\u6b63\u5f0f\u542f\u822a\u3002</p>\n\n<p>\u8bf7\u8fdb\u5165\u6211\u4eec\u7684<a target=\"_blank\" rel=\"nofollow\" href=\"https://campaign.gitcafe.com/hackspring2015-index/\">\u62a5\u540d\u9875\u9762</a>\uff0c\u9009\u62e9\u4f60\u60f3\u8981\u53c2\u52a0\u7684\u9ed1\u5ba2\u9a6c\u62c9\u677e\uff0c\u8fdb\u884c\u62a5\u540d\uff0c\u5c31\u53ef\u4ee5\u81ea\u7531\u7684\u5f00\u59cb hack \u4e86\uff01</p>\n\n<p>\u5f53\u4f60\u63a5\u4e0b\u4e86\u6218\u4e66\uff0c\u6b66\u88c5\u4e86\u81ea\u5df1\uff0c\u6253\u8d77\u7cbe\u795e\u6765\u8e0f\u4e0a\u9ed1\u5ba2\u4e4b\u65c5\uff0c\u4e5f\u522b\u5fd8\u4e86\uff0c\u65e0\u8bba\u7ed3\u679c\u5982\u4f55\uff0c\u6211\u4eec\u90fd\u5e0c\u671b\u4f60\u5728\u8fd9\u573a\u76db\u5bb4\u4e2d\u83b7\u5f97\u771f\u6b63\u7684\u5feb\u4e50\u3002</p>\n\n<p>\u8fd8\u5728\u72b9\u8c6b\u4ec0\u4e48\uff0c\u8d76\u5feb\u62a5\u540d\u5427\uff5e</p>\n\n<p><img src=\"https://trello-attachments.s3.amazonaws.com/54d98996cd53ebd7bc3058b6/380x380/65a5735554f8254b4d09edeab140eb3d/996c8f42ce1386c84f10b6b00f762cfe.jpg\" alt=\"\"><br>\n<img src=\"https://trello-attachments.s3.amazonaws.com/54d98996cd53ebd7bc3058b6/400x77/203ac39f58fddd86df22e03d3e666247/a52aef492551e5d2a529e1533bb2999c.png\" alt=\"\"><br>\n<img src=\"http://mmbiz.qpic.cn/mmbiz/SQzXM3j7YgcxCDCJYl1xEPVT9uTiaZP0hTaV6Quq0ibe3wITibkcHQG4VpygtrUaanjE6mAxrZvI8FygbKkmVnpVA/640?wxfrom=5\" alt=\"\"><br>\n<img src=\"https://trello-attachments.s3.amazonaws.com/54d98996cd53ebd7bc3058b6/300x180/7b8d965839352181872babe86428ba79/a9c14d91969134bb1c6d228e40ee0546.png\" alt=\"\"></p>\n\n<p>\u8bda\u631a\u9080\u8bf7\uff5e</p>\n", 
      "date_published": "2015-02-10T10:13:51+00:00", 
      "title": "\u300c\u9ed1\u5ba2\u677e\u4e4b\u6625\u300d\u65c5\u7a0b\u6b63\u5f0f\u542f\u52a8\uff0c\u4e00\u8d77\u6765 hack\uff01", 
      "id": "https://www.v2ex.com/t/169909"
    }, 
    {
      "author": {
        "url": "https://www.v2ex.com/member/irisgyq", 
        "name": "irisgyq", 
        "avatar": "https://cdn.v2ex.com/avatar/e664/f5ae/92071_large.png?m=1428561132"
      }, 
      "url": "https://www.v2ex.com/t/167017", 
      "date_modified": "2015-01-31T05:47:20+00:00", 
      "content_html": "<p>GitCafe \u65b0\u7684\u9879\u76ee\u8f6c\u8ba9\u529f\u80fd\uff0c\u8ba9\u4f60\u53ef\u4ee5\u4e0d\u7528\u518d\u70e6\u607c\u5982\u4f55\u5728\u4e2a\u4eba\u6216\u7ec4\u7ec7\u95f4\u8fc1\u79fb\u9879\u76ee\u3002</p>\n\n<p>\u65e0\u8bba\u662f\u4e2a\u4eba\u8f6c\u7ec4\u7ec7\uff0c\u8fd8\u662f\u7ec4\u7ec7\u8f6c\u4e2a\u4eba\uff0c\u8fd8\u662f\u7ec4\u7ec7\u95f4\u8f6c\u8ba9\u2026\u2026\u73b0\u5728\u53ea\u9700\u8981\u7b80\u5355\u7684\u4e24\u6b65\u64cd\u4f5c\u5373\u53ef\u5b8c\u6210\u3002</p>\n\n<p><strong>\u7b2c\u4e00\u6b65\uff1a\u7533\u8bf7\u9879\u76ee\u8f6c\u8ba9</strong><br>\n\u8fdb\u5165\u9879\u76ee\u7ba1\u7406<br>\n<img src=\"https://trello-attachments.s3.amazonaws.com/54c5bb245844652197a21ca6/959x85/33e6e53a422323c4df67d74a64450dbe/%E5%B1%8F%E5%B9%95%E6%88%AA%E5%9B%BE_2015-01-30_08.55.57.png\" alt=\"\"></p>\n\n<p>\u70b9\u51fb\u8f6c\u8ba9<br>\n<img src=\"https://trello-attachments.s3.amazonaws.com/54c5bb245844652197a21ca6/936x170/a1a07ff73e4719e4f818cb0bc92b13ee/%E5%B1%8F%E5%B9%95%E6%88%AA%E5%9B%BE_2015-01-31_08.26.46.png\" alt=\"\"></p>\n\n<p>\u8f93\u5165\u63a5\u53d7\u8005\u7684\u7528\u6237\u540d\u53ca\u4f60\u7684\u767b\u5f55\u5bc6\u7801\uff0c\u70b9\u51fb\u786e\u8ba4\u540e\u7cfb\u7edf\u4f1a\u81ea\u52a8\u53d1\u9001\u4e00\u5c01\u90ae\u4ef6\u7ed9\u9879\u76ee\u63a5\u53d7\u8005\u3002<br>\n<img src=\"https://trello-attachments.s3.amazonaws.com/54c5bb245844652197a21ca6/441x336/ee440cb846627ba247fa8edf8f77f857/%E5%B1%8F%E5%B9%95%E6%88%AA%E5%9B%BE_2015-01-31_08.31.14.png\" alt=\"\"></p>\n<div class=\"highlight\"><pre>Tips\uff1a\u4e0b\u5217\u4e09\u79cd\u60c5\u51b5\u8f6c\u8ba9\u4f1a\u81ea\u52a8\u5b8c\u6210\u800c\u65e0\u9700\u90ae\u4ef6\u786e\u8ba4\uff1a\n1.\u9879\u76ee\u8f6c\u5165\u81ea\u5df1\u62e5\u6709/\u7ba1\u7406\u7684\u7ec4\u7ec7\u4e0b\n2.\u9879\u76ee\u4ece\u81ea\u5df1\u62e5\u6709\u7684\u7ec4\u7ec7\u4e0b\u9762\u8f6c\u5165\u5230\u81ea\u5df1\u540d\u4e0b\n3.\u9879\u76ee\u5728\u81ea\u5df1\u62e5\u6709\u7684\u591a\u4e2a\u7ec4\u7ec7\u91cc\u9762\u4e92\u8f6c\n</pre></div>\n\n<p><img src=\"https://trello-attachments.s3.amazonaws.com/54c5bb245844652197a21ca6/914x518/d31743a811155be6f0b46cb30e6301fa/%E5%B1%8F%E5%B9%95%E6%88%AA%E5%9B%BE_2015-01-30_12.37.40.png\" alt=\"\"></p>\n\n<p><strong>\u7b2c\u4e8c\u6b65\uff1a\u786e\u8ba4\u63a5\u53d7\u9879\u76ee</strong><br>\n\u9879\u76ee\u63a5\u53d7\u8005\u4f1a\u6536\u5230\u4e00\u5c01\u6765\u81ea GitCafe \u7684\u786e\u8ba4\u90ae\u4ef6\uff0c\u5982\u679c\u786e\u5b9a\u63a5\u53d7\u9879\u76ee\u8f6c\u8ba9\uff0c\u76f4\u63a5\u70b9\u51fb &quot;\u786e\u8ba4&quot; \u3002</p>\n\n<p>\u5982\u679c\u4e0d\u60f3\u63a5\u53d7\u9879\u76ee\u8f6c\u8ba9\uff0c\u65e0\u9700\u8fdb\u884c\u4efb\u4f55\u64cd\u4f5c\uff0c\u4e09\u5929\u540e\u8f6c\u8ba9\u7533\u8bf7\u4f1a\u81ea\u52a8\u5931\u6548\u3002</p>\n<div class=\"highlight\"><pre>Tips\uff1a\u5728\u63a5\u53d7\u8005\u8fd8\u6ca1\u786e\u8ba4\u4e4b\u524d\u9879\u76ee\u4f9d\u7136\u5c5e\u4e8e\u539f\u6240\u6709\u8005\uff0c\u800c\u4e14\u6240\u6709\u4ee3\u7801\u90fd\u53ef\u4ee5\u6b63\u5e38\u63d0\u4ea4\u64cd\u4f5c\u3002\n</pre></div>\n\n<p>\u73b0\u5728\u5c31\u5f00\u59cb\u4f53\u9a8c\u65b0\u529f\u80fd\u5427\uff01\u5982\u6709\u4efb\u4f55\u95ee\u9898\uff0c\u8bf7\u53d1\u9001\u90ae\u4ef6\u81f3 <a target=\"_blank\" rel=\"nofollow\" href=\"mailto:support@gitcafe.com\">support@gitcafe.com</a> \u4e0e\u6211\u4eec\u8054\u7cfb\uff0c\u8c22\u8c22\uff01</p>\n", 
      "date_published": "2015-01-31T05:47:07+00:00", 
      "title": "[\u65b0\u529f\u80fd] \u8ba9\u4f60\u5728 GitCafe \u4e0a\u7684\u9879\u76ee\u8f6c\u8d77\u6765\uff01", 
      "id": "https://www.v2ex.com/t/167017"
    }, 
    {
      "author": {
        "url": "https://www.v2ex.com/member/irisgyq", 
        "name": "irisgyq", 
        "avatar": "https://cdn.v2ex.com/avatar/e664/f5ae/92071_large.png?m=1428561132"
      }, 
      "url": "https://www.v2ex.com/t/166849", 
      "date_modified": "2015-01-30T10:21:12+00:00", 
      "content_html": "<p>1 \u6708 28 \u65e5\uff0c\u7814\u7a76\u4eba\u5458\u5728 Linux glibc \u5e93\u4e2d\u53d1\u73b0\u4e86\u4e00\u4e2a\u4e25\u91cd\u7684\u5b89\u5168\u95ee\u9898\u2014\u2014\u5e7d\u7075\u6f0f\u6d1e\uff0c\u5b83\u53ef\u4ee5\u8ba9\u653b\u51fb\u8005\u5728\u4e0d\u4e86\u89e3\u7cfb\u7edf\u7684\u4efb\u4f55\u60c5\u51b5\u4e0b\u8fdc\u7a0b\u83b7\u53d6\u64cd\u4f5c\u7cfb\u7edf\u7684\u63a7\u5236\u6743\u9650\u3002\u76ee\u524d\u5b83\u7684 CVE \u7f16\u53f7\u4e3a CVE-2015-0235\u3002</p>\n\n<p>GitCafe \u5728\u63a5\u5230\u6d88\u606f\u540e\u7b2c\u4e00\u65f6\u95f4\u91c7\u53d6\u884c\u52a8\u89e3\u51b3\u4e86\u8fd9\u4e2a\u95ee\u9898\uff0c\u8bf7\u5e7f\u5927\u7528\u6237\u653e\u5fc3\u3002</p>\n\n<h2>glibc \u662f\u4ec0\u4e48</h2>\n\n<p>glibc \u662f GNU \u53d1\u5e03\u7684 libc \u5e93\uff0c\u5373 C \u8fd0\u884c\u5e93\u3002glibc \u662f Linux \u7cfb\u7edf\u4e2d\u6700\u5e95\u5c42\u7684 API\uff0c\u51e0\u4e4e\u5176\u5b83\u4efb\u4f55\u8fd0\u884c\u5e93\u90fd\u4f1a\u4f9d\u8d56\u4e8e glibc\u3002glibc \u9664\u4e86\u5c01\u88c5 Linux \u64cd\u4f5c\u7cfb\u7edf\u6240\u63d0\u4f9b\u7684\u7cfb\u7edf\u670d\u52a1\u5916\uff0c\u5b83\u672c\u8eab\u4e5f\u63d0\u4f9b\u4e86\u8bb8\u591a\u5176\u5b83\u4e00\u4e9b\u5fc5\u8981\u529f\u80fd\u670d\u52a1\u7684\u5b9e\u73b0\u3002glibc \u56ca\u62ec\u4e86\u51e0\u4e4e\u6240\u6709\u7684 UNIX \u901a\u884c\u7684\u6807\u51c6\u3002</p>\n\n<h2>GHOST \u6f0f\u6d1e</h2>\n\n<p>\u4ee3\u7801\u5ba1\u8ba1\u516c\u53f8 Qualys \u7684\u7814\u7a76\u4eba\u5458\u5728 glibc \u5e93\u4e2d\u7684 __nss_hostname_digits_dots() \u51fd\u6570\u4e2d\u53d1\u73b0\u4e86\u4e00\u4e2a\u7f13\u51b2\u533a\u6ea2\u51fa\u7684\u6f0f\u6d1e\uff0c\u8fd9\u4e2a bug \u53ef\u4ee5\u7ecf\u8fc7 gethostbyname() \u51fd\u6570\u88ab\u672c\u5730\u6216\u8005\u8fdc\u7a0b\u7684\u89e6\u53d1\u3002\u5e94\u7528\u7a0b\u5e8f\u4e3b\u8981\u4f7f\u7528 gethostbyname() \u51fd\u6570\u53d1\u8d77 DNS \u8bf7\u6c42\uff0c\u8fd9\u4e2a\u51fd\u6570\u4f1a\u5c06\u4e3b\u673a\u540d\u79f0\u8f6c\u6362\u4e3a ip \u5730\u5740\u3002</p>\n\n<p>\u8fd9\u4e2a\u6f0f\u6d1e\u9020\u6210\u4e86\u8fdc\u7a0b\u4ee3\u7801\u6267\u884c\uff0c\u653b\u51fb\u8005\u53ef\u4ee5\u5229\u7528\u6b64\u6f0f\u6d1e\u83b7\u53d6\u7cfb\u7edf\u7684\u5b8c\u5168\u63a7\u5236\u6743\u3002</p>\n\n<p>\u7b2c\u4e00\u4e2a\u53d7\u5f71\u54cd\u7684\u7248\u672c\u662f GNU C \u5e93\u7684 glibc-2.2\uff0c2000 \u5e74 11 \u6708 10 \u53f7\u53d1\u5e03\u3002\u6211\u4eec\u5df2\u627e\u51fa\u591a\u79cd\u53ef\u4ee5\u51cf\u8f7b\u6f0f\u6d1e\u7684\u65b9\u5f0f\u3002\u6211\u4eec\u53d1\u73b0\u5b83\u5728 2013 \u5e74 5 \u6708 21 \u53f7\uff08\u5728 glibc-2.17 \u548c glibc-2.18 \u53d1\u5e03\u4e4b\u95f4\uff09\u5df2\u7ecf\u4fee\u590d\u3002\u4e0d\u5e78\u7684\u662f\u4ed6\u4eec\u4e0d\u8ba4\u4e3a\u8fd9\u662f\u4e2a\u5b89\u5168\u6f0f\u6d1e\u3002\u4ece\u800c\u5bfc\u81f4\u8bb8\u591a\u7a33\u5b9a\u7248\u672c\u548c\u957f\u671f\u7248\u672c\u66b4\u9732\u5728\u5916\uff0c\u5176\u4e2d\u5305\u62ec Debian 7 (wheezy)\uff0cRed Hat Enterprise 6 &amp; 7\uff0cCentOS 6 &amp; 7\uff0cUbuntu 12.04 \u7b49\u3002</p>\n\n<p>\u4ee5\u4e0a\u4fe1\u606f\u53c2\u8003\u81ea <a target=\"_blank\" rel=\"nofollow\" href=\"http://bobao.360.cn/news/detail/1166.html\">360 \u5b89\u5168\u64ad\u62a5</a>\uff0c\u67e5\u770b <a target=\"_blank\" rel=\"nofollow\" href=\"http://www.openwall.com/lists/oss-security/2015/01/27/9#rd?sukey=4093a841665b25f2cb87953fbbce44e056c67790eba995b712db0e51a25a7a332940c54ad5c7e533f06c05b9fdbbd215\">GHOST \u6f0f\u6d1e\u62a5\u544a</a>\uff01</p>\n", 
      "date_published": "2015-01-30T10:20:24+00:00", 
      "title": "[\u901a\u77e5] Linux glibc \u4e2d\u53d1\u73b0\u5e7d\u7075\u6f0f\u6d1e\uff0c\u8bf7\u53ca\u65f6\u4fee\u590d", 
      "id": "https://www.v2ex.com/t/166849"
    }, 
    {
      "author": {
        "url": "https://www.v2ex.com/member/GuBonjour", 
        "name": "GuBonjour", 
        "avatar": "https://cdn.v2ex.com/avatar/f457/edf5/75353_large.png?m=1420346433"
      }, 
      "url": "https://www.v2ex.com/t/164844", 
      "date_modified": "2015-01-23T08:39:00+00:00", 
      "content_html": "<p>\u672c\u6587\u4f5c\u8005\uff1aWang Hyde<br>\n\u4ee3\u7801\u4ed3\u5e93\uff1a<br>\n<a target=\"_blank\" rel=\"nofollow\" href=\"https://gitcafe.com/callmewhy\">https://gitcafe.com/callmewhy</a><br>\n\u535a\u5ba2\u5730\u5740\uff1a<br>\n<a target=\"_blank\" rel=\"nofollow\" href=\"http://callmewhy.gitcafe.io\">http://callmewhy.gitcafe.io</a></p>\n\n<p>\u6700\u8fd1\u5728\u7ed9\u4ee5\u524d\u7684\u8001\u9879\u76ee\u7ef4\u62a4\uff0c\u8bf4\u8d77\u6765\u5de5\u4f5c\u5f88\u7b80\u5355\uff0c\u4e00\u4e2a\u5b57\uff1a\u6539 Bug\u3002\u8fd9\u770b\u8d77\u6765\u5e73\u6de1\u65e0\u5e38\u7684\u5de5\u4f5c\uff0c\u5b9e\u9645\u4e0a\u51f6\u9669\u65e0\u6bd4\uff0c\u85cf\u5751\u65e0\u6570\u3002\u65f6\u81f3\u4eca\u65e5\uff0c\u611f\u89c9\u6574\u4e2a\u4eba\u90fd\u5f97\u5230\u4e86\u5347\u534e\u3002\u5728\u7761\u89c9\u524d\u62bd\u7a7a\u5199\u7bc7\u535a\u5ba2\uff0c\u548c\u5404\u4f4d\u5206\u4eab\u4e00\u4e0b\u8e29\u5751\u7ecf\u5386\uff0c\u4e00\u8d77\u54c1\u5473\u5176\u4e2d\u7684\u79cd\u79cd\u9178\u82e6\u8fa3\uff08\u6ca1\u751c\uff09\u3002</p>\n\n<p>\u4e3a\u4fdd\u8bc1\u4e2a\u7801\u9690\u79c1\uff0c\u6587\u4e2d\u4ee3\u7801\u5747\u4e3a\u5316\u540d\uff0c\u8fd8\u671b\u8c05\u89e3\u3002\u5982\u6709\u96f7\u540c\uff0c\u7eaf\u5c5e\u5de7\u5408\uff08\u53ef\u4ee5\u901a\u8fc7 <code>git blame</code> \u67e5\u770b\u662f\u8c01\u5199\u7684\uff09\u3002</p>\n\n<h2>\u7b2c\u4e00\u56de\uff1a\u53d8\u91cf\u547d\u540d\u6ca1\u70b9\u6570\uff0c\u6709\u65f6\u5199\u7740\u8fd8\u624b\u8bef</h2>\n\n<p>\u5982\u679c\u8981\u6298\u78e8\u4e00\u4e2a\u5f3a\u8feb\u75c7\uff0c\u6700\u597d\u7684\u65b9\u6cd5\u5c31\u662f\u7528\u5404\u79cd\u6076\u5fc3\u7684\u53d8\u91cf\u540d\u6076\u5fc3\u6b7b\u4ed6\u3002</p>\n\n<p>\u4ec0\u4e48\uff1f\u4f60\u8bf4\u9996\u5b57\u6bcd\u8981\u5927\u5199\uff1f</p>\n<div class=\"highlight\"><pre>@property (nonatomic, assign) PERSONTYPE personType;\n</pre></div>\n\n<p>\u4ec0\u4e48\uff1f\u4f60\u8bf4\u5355\u8bcd\u91cc\u9762\u8981\u5c0f\u5199\uff1f</p>\n<div class=\"highlight\"><pre>typedef enum tagPersonType{\n  person_type = 1,\n  group_type,\n} PERSONTYPE;\n</pre></div>\n\n<p>\u4ec0\u4e48\uff1f\u4f60\u8bf4\u8981\u7528\u82f1\u6587\u5355\u8bcd\u547d\u540d\uff1f</p>\n<div class=\"highlight\"><pre>- (void)uploadSeccess:(MessageEntity *)message;\n</pre></div>\n\n<p>\u4ec0\u4e48\uff1f\u4f60\u8bf4\u7c7b\u524d\u9762\u8981\u52a0\u524d\u7f00\u907f\u514d\u51b2\u7a81\uff1f</p>\n<div class=\"highlight\"><pre>@interface PMWLogger : NSObject\n...\n@interface PMTool : NSObject\n...\n@interface MainControler : NSObject\n</pre></div>\n\n<p>\u4ec0\u4e48\uff1f\u4f60\u8bf4\u6587\u4ef6\u8981\u6309\u7167\u76ee\u5f55\u5b58\u653e\uff1f</p>\n<div class=\"highlight\"><pre>- Classes\n      - MainControllers\n        - MyController\n        - Controllers\n        - SettingControllers\n        - ChatModel.h\n        - ChatModel.m\n        - SettingControllers (\u4e0d\u662f\u624b\u8bef)\n      - Chatting\n      - SearchView.h\n      - SearchView.m\n      - Voice\n      - AgentModels\n   - Public \n     - Common\n     - PublicDef.h\n     - PublicDef.m\n</pre></div>\n\n<p>\u4ec0\u4e48\uff1f\u542c\u8bf4 OC \u53ef\u4ee5\u7528\u5b8f\u5b9a\u4e49\uff1f</p>\n<div class=\"highlight\"><pre>#define STRHASSBUSTR(str,subStr) ...\n</pre></div>\n\n<p>\u5404\u4f4d\u770b\u5b98\uff0c\u8fd9\uff0c\u80fd\u5fcd\uff1f</p>\n\n<p>\u6b63\u6240\u8c13\uff1a</p>\n\n<blockquote>\n<p>\u547d\u540d\u62fc\u5199\u770b\u5fc3\u60c5\uff0c\u6587\u4ef6\u76ee\u5f55\u4e0d\u5206\u660e\u3002<br>\n\u968f\u673a\u63ba\u6742\u5b8f\u5b9a\u4e49\uff0c\u9e21\u4e0d\u5b89\u4e5f\u72ac\u4e0d\u5b81\u3002</p>\n</blockquote>\n\n<h2>\u7b2c\u4e8c\u56de\uff1a\u754c\u9762\u5168\u9760\u795e\u5947\u6570\uff0c\u4fdd\u51c6\u770b\u5230\u5c31\u53d1\u6035</h2>\n\n<p>\u524d\u9635\u5b50\u5728\u505a iPhone4 \u548c iPhone6 \u4ee5\u53ca iPhone6 Plus \u7684\u9002\u914d\u5de5\u4f5c\u3002</p>\n\n<p>\u7531\u4e8e\u5386\u53f2\u539f\u56e0\u6ca1\u6709\u7528 AutoLayout \uff0c\u4e5f\u7531\u4e8e\u5386\u53f2\u539f\u56e0\u8001\u4ee3\u7801\u7684\u5e03\u5c40\u5168\u662f\u7528\u6570\u5b57\u4e00\u4e2a\u4e00\u4e2a\u5199\u6b7b\u7684\u3002\u8fd9\u5c31\u7ed9\u9002\u914d\u5e26\u6765\u4e86\u83ab\u5927\u7684\u56f0\u96be\u3002</p>\n\n<p>\u968f\u4fbf\u62e3\u70b9\u4ee3\u7801\u7ed9\u5927\u5bb6\u6b23\u8d4f\u6b23\u8d4f\uff1a</p>\n<div class=\"highlight\"><pre>UILabel *infoLabel = [[UILabel alloc] initWithFrame:CGRectMake(0, 241, 320, 28)];\n</pre></div>\n\n<p>0 \u8fd9\u79cd\u6570\u5b57\u8fd8\u597d\u8bf4\uff0c241 \u5c31\u5b8c\u5168\u8ba9\u4eba\u6478\u4e0d\u7740\u5934\u8111\uff0c\u81f3\u4e8e 320 \u8fd9\u4e2a\u6539\u6210\u5c4f\u5e55\u5bbd\u5ea6\u5012\u4e5f\u5c31\u8fd8\u597d\uff0c\u4f46\u662f 28 \u8fd9\u79cd\u795e\u5947\u6570\u5b57\u53c8\u662f\u4ec0\u4e48\u5462\uff1f</p>\n\n<p>\u8fd9\u79cd\u4ee3\u7801\u5c31\u662f\u51b2\u7740\u5e72\u6b7b\u961f\u53cb\u7684\u4e0d\u507f\u547d\u7684\u6001\u5ea6\u53bb\u7684\u3002\u867d\u7136\u5199\u8d77\u6765\u5bb9\u6613\uff0c\u4f46\u662f\u7ef4\u62a4\u56f0\u96be\uff0c\u53ef\u8bfb\u6027\u6781\u5dee\uff0c\u5c24\u5176\u662f\u6709\u591a\u4e2a\u63a7\u4ef6\u5e03\u5c40\u7684\u65f6\u5019\uff0c\u4f9d\u8d56\u5173\u7cfb\u4e0d\u660e\u663e\uff0c\u5982\u679c\u8c03\u6574\u5e03\u5c40\u9700\u8981\u6328\u4e2a\u91cd\u65b0\u8ba1\u7b97\u5e76\u8bbe\u7f6e\u503c\uff0c\u7ef4\u62a4\u8d77\u6765\u7684\u9178\u723d\uff0c\u8c01\u7528\u8c01\u77e5\u9053\u3002</p>\n\n<p>\u8981\u8bf4\u795e\u5947\u6570\u5b57\uff0c\u96c6\u5927\u6210\u8005\u83ab\u8fc7\u4e8e\u6b64\uff1a</p>\n<div class=\"highlight\"><pre>CGRect rect = CGRectMake(12.2+(page-1)*320+42.5*(i%7),((totalRows-1)%3)*55+2,42.5,42.5);\n</pre></div>\n\n<p>\u90a3\u5929\u65e9\u4e0a\u770b\u5230\u8fd9\u4ee3\u7801\u5dee\u70b9\u5c31\u62b1\u7740\u952e\u76d8\u59d4\u5c48\u7684\u54ed\u4e86\u51fa\u6765\u3002</p>\n\n<p>\u6b63\u6240\u8c13\uff1a<br>\n\u754c\u9762\u5199\u6cd5\u5404\u4e0d\u540c\uff0c\u6b6a\u95e8\u90aa\u9053\u5343\u4e07\u79cd\u3002<br>\n\u6709\u671d\u4e00\u65e5\u88ab\u8f9e\u4e86\uff0c\u4f60\u7684\u4ee3\u7801\u6211\u4e0d\u61c2\u3002</p>\n\n<h2>\u7b2c\u4e09\u56de\uff1a\u79c1\u6709\u516c\u6709\u6df7\u4e00\u5904\uff0c\u4ee3\u7406\u59d4\u6258\u4ea6\u7cca\u6d82</h2>\n\n<p>\u5728\u804a\u5929\u7684\u65f6\u5019\u6709\u8fd9\u6837\u4e00\u4e2a\u6570\u636e\u7c7b\uff1a</p>\n<div class=\"highlight\"><pre>@interface HBTalkData : NSObject\n    {\n      UIImage *_firstImage;\n      NSArray *_imageArry;\n      id _contents;\n    }\n    @property (nonatomic, assign) NSInteger messageId;\n    @property (nonatomic, strong) id contents;\n    @property (nonatomic, assign) NSTimeInterval timeInterval;\n    @property (nonatomic) BOOL fromSelf;\n    @property (nonatomic) BOOL isGroup;\n    @property (nonatomic, assign) HBTalkDataStatus talkDataStatus;\n    @property (nonatomic) HBTalkDataContentType contentType;\n    @property (nonatomic, strong) PersonInfo *personInfo;\n    @property (nonatomic, strong) UserInfo *cardUser;\n    @property (nonatomic, assign) CallType callType;\n    @property (nonatomic, strong) NSString *duartion;\n    @property (nonatomic, strong) NSString *mPhoneNumber;\n    @property (nonatomic, strong) NSString *imageList;\n    @property (nonatomic, strong) NSString *msgDesc;\n    @property (nonatomic, readonly) UIImage *firstImage;\n    @property (nonatomic, readonly) NSArray *imageArry;\n    @property (nonatomic, assign) float     cellHeight;\n    @property (nonatomic, assign) CGSize    textSize;\n    @property (nonatomic) NSTimeInterval voiceDuration;\n    @property (nonatomic) CGFloat dataSize;\n    @property (nonatomic) NSUInteger bubbleCount;\n    @property (nonatomic, copy) NSString *chatUserName;\n    @property (nonatomic, strong) MessageEntity *originalMessage;\n    @property (nonatomic, strong) HBTalkDataRegisterInfo *registerInfo;    \n    -(void)reset;\n    -(NSString *)bubbleDescription;\n    ...\n    @end\n</pre></div>\n\n<p>\u7ea4\u5f31\u7684\u5934\u6587\u4ef6\u91cc\u585e\u6ee1\u4e86\u5404\u79cd\u5c5e\u6027\u5b9a\u4e49\u548c\u65b9\u6cd5\u5b9a\u4e49\uff0c\u4eff\u4f5b\u53ef\u4ee5\u542c\u5230\u5934\u6587\u4ef6\u7684\u4e0d\u6ee1\u548c\u5a07\u5598\u3002</p>\n\n<p>\u7ed9\u5927\u5bb6\u51fa\u4e2a\u9898\uff1a\u770b\u4e0b\u4e0b\u9762\u7684\u5185\u5bb9\uff0c\u731c\u4e00\u4e0b\u8fd9\u4e2a\u7c7b\u7684\u6587\u4ef6\u540d\u662f\u4ec0\u4e48\uff1a</p>\n<div class=\"highlight\"><pre>... // \u6b64\u5904\u7701\u756520\u884c\n\n@interface PersonInfo : NSObject\n... // \u6b64\u5904\u7701\u756520\u884c\n@property (nonatomic, assign)BOOL     isGrey;\n@property (nonatomic, assign)BOOL     isBlack;\n@property (nonatomic, assign)BOOL     isTop;\n@property (nonatomic, assign)BOOL     isStar;\n\n- (BOOL)isStranger;\n- (BOOL)isIndividual;\n- (BOOL)isDuDuSecretary;\n\n@end\n\n@interface UserInfo : PersonInfo\n... // \u6b64\u5904\u518d\u770120\u884c\n@property (nonatomic, assign)BOOL     mobileVerified;\n@property (nonatomic, strong)NSString *countryCode;\n@property (nonatomic, readonly)NSString *dialogName;\n@end\n\n@interface GroupInfo : PersonInfo\n... // \u6b64\u5904\u53c8\u770120\u884c\n@property (nonatomic, strong)NSString *creater;\n@property (nonatomic, assign)int      memberCount;\n@property (nonatomic, strong)NSString *members;\n@end\n</pre></div>\n\n<p>\u55ef\u7136\u540e\u8fd9\u4e2a\u6587\u4ef6\u53eb\u505a <code>UserInfo.h</code> \uff0c\u5934\u6587\u4ef6\u5c06\u8fd1 100 \u884c\u3002\u5927\u5144\u5f1f\uff0c\u6211\u8bfb\u4e66\u5c11\uff0c\u4f60\u4e0d\u8981\u9a97\u6211\u3002\u628a\u4e09\u4e2a\u7c7b\u585e\u5728\u4e00\u4e2a\u6587\u4ef6\u91cc\u8fd9\u79cd\u884c\u4e3a\uff0c\u9664\u4e86\u96be\u4e3a\u961f\u53cb\uff0c\u5b9e\u5728\u662f\u6ca1\u770b\u51fa\u6765\u6709\u4ec0\u4e48\u5176\u4ed6\u52a8\u673a\u53ef\u8a00\u3002</p>\n\n<p>\u6b63\u6240\u8c13\uff1a</p>\n\n<blockquote>\n<p>\u5934\u6587\u4ef6\u91cc\u5730\u65b9\u5c0f\uff0c\u585e\u5230\u4e00\u5904\u5e76\u4e0d\u597d\u3002<br>\n\u5916\u90e8\u5bf9\u8c61\u90fd\u77e5\u9053\uff0c\u5b89\u5168\u95ee\u9898\u53ef\u4e0d\u5c0f\u3002</p>\n</blockquote>\n\n<h2>\u7b2c\u56db\u56de\uff1a\u6d88\u606f\u901a\u77e5\u6ee1\u5929\u98de\uff0c\u59d4\u6258\u65b9\u6cd5\u4e00\u5927\u5806</h2>\n\n<p>\u6211\u4e00\u76f4\u5728\u60f3\uff0c\u5230\u5e95\u662f\u4ec0\u4e48\uff0c\u8ba9\u8fd9\u4e2a\u9879\u76ee\u7684\u5f00\u53d1\u4eba\u5458\u5bf9 <code>NSNotificationCenter</code> \u5982\u6b64\u75f4\u8ff7\uff0c\u75f4\u8ff7\u7684\u4ee4\u4eba\u9676\u9189\u3002</p>\n\n<p>\u5728\u901a\u8fc7 Model \u8c03\u7528\u4e1a\u52a1\u903b\u8f91\u7684\u65f6\u5019\uff0c\u5b83\u8fd9\u6837\u53d1\u4e86\u4e00\u6761\u547d\u4ee4\uff1a</p>\n<div class=\"highlight\"><pre>// \u5582\uff0cLOGIN_MODEL\uff0c\u5e2e\u6211\u67e5\u4e0b\u6709\u6ca1\u6709\u66f4\u65b0\n[LOGIN_MODEL versionCheckFromAbout:YES];\n</pre></div>\n\n<p>\u8fd9\u4e2a\u4e1a\u52a1\u662f\u7528 GCD \u5f00\u4e86\u65b0\u7ebf\u7a0b\u6765\u505a\u7684\uff0c\u5728\u540e\u53f0\u68c0\u67e5\u6709\u6ca1\u6709\u66f4\u65b0\uff0c\u5982\u679c\u6709\u66f4\u65b0\u90a3\u4e48\u7248\u672c\u53f7\u540e\u9762\u4f1a\u52a0\u4e2a\u611f\u53f9\u53f7\u3002\u90a3\u4e48\u95ee\u9898\u6765\u4e86\uff1a\u4f60\u548b\u544a\u8bc9\u6211\u4f60\u68c0\u67e5\u7684\u7ed3\u679c\u662f\u6709\u66f4\u65b0\u8fd8\u662f\u6ca1\u66f4\u65b0\u5450\uff1f\u96be\u9053\u8981\u5199 \u4e2a\u59d4\u6258\uff1f\u7136\u540e\u5b9a\u4e49\u4e2a\u65b9\u6cd5\uff1f\u7136\u540e\u66f4\u65b0\u7684\u65f6\u5019\u6307\u8ba4\u59d4\u6258\uff1f\u7136\u540e\u6709\u4e86\u7ed3\u679c\u518d\u544a\u8bc9\u59d4\u6258\uff1f\u542c\u8d77\u6765\u5c31\u5f88\u70e6\u8e81\u561b\u90a3\u5e72\u8106\u5c31\u7528\u901a\u77e5\u597d\u4e86\uff1a</p>\n<div class=\"highlight\"><pre>if (self.versionStatus != VersionStatusNormal) {\n    [[NSNotificationCenter defaultCenter] postNotificationName:NOTIFY_HAS_NEW_VERSION object:nil];\n}\n</pre></div>\n\n<p>\u7136\u540e\u5728\u9700\u8981\u505a\u5904\u7406\u7684\u7c7b\u91cc\u9762\u6dfb\u52a0 <code>Observer</code> \u5c31\u53ef\u4ee5\u4e86\uff1a</p>\n<div class=\"highlight\"><pre>[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(myIconShouldChange) name:NOTIFY_HAS_NEW_VERSION object:nil];\n</pre></div>\n\n<p>\u54c8\u54c8\u54c8\u54c8\u641e\u5b9a\u4e86\u3002</p>\n\n<p>\u54c8\u54c8\u54c8\u54c8\u4f60\u4e2a\u5934\u554a\uff01\u6574\u4e2a\u9879\u76ee\u91cc\u7c7b\u4f3c\u4e8e\u8fd9\u79cd\u7684\u901a\u77e5\u5c31\u6709\u5341\u6765\u4e2a\uff0c\u8fd9\u8fd8\u662f\u6709\u5b8f\u5b9a\u4e49\u7684\uff0c\u597d\u8ffd\u6740\u4e00\u70b9\u3002\u5bf9\u4e8e\u90a3\u4e9b\u6ca1\u6709\u5b8f\u5b9a\u4e49\u7684\uff0c\u968f\u624b\u4e00\u5199\u590d\u5236\u7c98\u8d34\u7684\uff0c\u4e0d\u77e5\u9053\u8fd8\u8981\u586b\u5751\u591a\u5c11\u3002</p>\n\n<p>\u901a\u77e5\u867d\u597d\uff0c\u4f46\u4e5f\u4e0d\u8981\u8d2a\u676f\u554a\u3002</p>\n\n<p>\u770b\u8d77\u6765\u8f7b\u677e\uff0c\u53ea\u662f <code>post</code> \u4e86\u4e00\u4e0b\u5c31\u641e\u5b9a\u4e86\uff0c\u4f46\u662f\u5728 Debug \u7684\u65f6\u5019\u6709\u70b9\u9ebb\u70e6\u3002\u5c24\u5176\u662f\u5982\u679c\u6709\u591a\u4e2a <code>Observer</code> \uff0c\u6539\u52a8\u7684\u65f6\u5019\u7275\u4e00\u53d1\u800c\u52a8\u5168\u8eab\u3002\u5982\u679c\u771f\u7684\u662f\u6709\u8fd9\u6837\u4f7f\u7528\u7684\u5fc5\u8981\u5012\u4e5f\u7f62\u4e86\uff0c\u4f46\u662f\u672c\u6765\u4e00\u4e2a <code>block</code> \u6216\u8005 <code>delegate</code> \u5c31\u80fd\u7b80\u5355\u6e05\u6670\u7684\u89e3\u51b3\uff0c\u73b0\u5728\u5374\u88ab\u641e\u5f97\u8fd9\u4e48\u7e41\u91cd\uff0c\u5b9e\u5728\u662f\u6ca1\u6709\u5fc5\u8981\u3002</p>\n\n<p>\u800c\u4e14 <code>NSNotificationCenter</code> \u7684\u4ee3\u7801\u57fa\u672c\u662f\u4e00\u79cd\u53d8\u76f8\u7684\u590d\u5236\u7c98\u8d34\uff0c\u5341\u5206\u7684\u4e0d\u5de5\u6574\u3002\u8fd9\u662f\u4e2a\u4eba\u6069\u6028\u4e86\uff0c\u6487\u5f00\u4e0d\u63d0\u3002</p>\n\n<p><code>NSNotificationCenter</code> \u8fd9\u79cd\u53ea\u662f\u4e0d\u75db\u4e0d\u75d2\u7684\u5c0f\u95ee\u9898\uff0c\u4ec5\u4ec5\u662f\u903b\u8f91\u4e0d\u591f\u4f18\u96c5\uff0c\u5173\u7cfb\u4e0d\u591f\u6e05\u6670\u7f62\u4e86\u3002\u4f46\u662f\u5982\u679c\u59d4\u6258\u4f7f\u7528\u4e0d\u5f53\u90a3\u662f\u6076\u5fc3\u7684\u4e0d\u884c\u3002\u770b\u4e0b\u8fd9\u4e2a\u804a\u5929\u9875\u9762\uff1a</p>\n<div class=\"highlight\"><pre>@interface ChattingViewController () &lt;UITableViewDataSource, UITableViewDelegate, UITextViewDelegate, ChattingActionsPanelDelegate, ChatModelDelegate, UIImagePickerControllerDelegate, UINavigationControllerDelegate, HBTalkTableViewCellDelegate, EGORefreshTableHeaderDelegate, XTImagePickerControllerDelegate, ChattingInputPanelDelegate, VoiceRecordingButtonTrashBinViewContainer, ChattingUserDetailPanelDelegate, VoiceRecordingButtonDelegate&gt;\n</pre></div>\n\n<p>\u8fd9\u662f\u4e00\u4e2a\u771f\u5b9e\u7684\u6545\u4e8b \u3002\u6574\u4e2a\u7c7b\u5c06\u8fd1 3000 \u884c\uff0c\u6709 2000 \u591a\u884c\u662f\u59d4\u6258\u91cc\u5b9a\u4e49\u7684\u65b9\u6cd5\uff0c\u4f60\u80fd\u4fe1\uff1f</p>\n\n<p>\u5728\u8fd9\u4e09\u5343\u884c\u4ee3\u7801\u91cc\u6f2b\u6b65\uff0c\u4e07\u4e8b\u90fd\u8981\u5c0f\u5fc3\u3002\u56e0\u4e3a\u4f60\u4e0d\u77e5\u9053 <code>callIn</code> \u8fd9\u79cd\u65b9\u6cd5\u5230\u5e95\u662f\u5b9a\u4e49\u7684\u79c1\u6709\u65b9\u6cd5\uff0c\u8fd8\u662f\u5728\u59d4\u6258\u91cc\u5b9a\u4e49\u7684\u65b9\u6cd5\u3002<code>#pragma mark</code> \u81ea\u7136\u4e5f\u662f\u770b\u5fc3\u60c5\u52a0\u7684\uff0c\u8bf4\u4e0d\u5b9a\u52a0\u9519\u4e86\u4f60\u4e5f\u4e0d\u8981\u5f53\u771f\u3002</p>\n\n<p>\u6709\u65f6\u5019\u59d4\u6258\u90fd\u5220\u4e86\u4e0d\u89c1\u5f71\u5b50\u4e86\uff0c\u4f46\u662f\u59d4\u6258\u91cc\u7684\u5404\u79cd\u65b9\u6cd5\u8fd8\u7559\u5728\u4ee5\u524d\u7684\u7c7b\u91cc\u3002</p>\n\n<p>\u6ca1\u4eba\u6562\u52a8\u3002</p>\n\n<p>How to play.</p>\n\n<p>\u6b63\u6240\u8c13\uff1a</p>\n\n<blockquote>\n<p>\u5f02\u6b65\u56de\u8c03\u7528\u901a\u77e5\uff0c\u59d4\u6258\u591a\u7684\u4ee4\u4eba\u75f4\u3002<br>\n\u53cd\u6b63\u8001\u5b50\u770b\u4e0d\u61c2\uff0c\u4e0d\u5199\u4ee3\u7801\u5149\u5199\u8bd7\u3002</p>\n</blockquote>\n\n<h2>\u7b2c\u4e94\u56de\uff1a\u7b2c\u4e09\u65b9\u5e93\u65e0\u51fa\u5904\uff0c\u968f\u624b\u6539\u52a8\u65e0\u5907\u6ce8</h2>\n\n<p>\u76f8\u4fe1\u505a iOS \u7684\u90fd\u77e5\u9053 <code>AFNetworking</code> \u8fd9\u4e2a\u7f51\u7edc\u5e93\uff0c\u5728\u6211\u4eec\u7684\u9879\u76ee\u91cc <code>AFNetworking</code> \u5206\u4e24\u79cd\uff0c\u4e00\u4e2a\u662f\u522b\u4eba\u5bb6\u7684 <code>AFNetworking</code> \uff0c\u4e00\u4e2a\u662f\u54b1\u4eec\u7684 <code>AFNetworking</code>\u3002\u5bf9\u594f\u662f\u8fd9\u4e48\u4efb\u6027\u3002\u5728\u4e00\u4e2a 300 \u884c\u7684\u5934\u6587\u4ef6\u91cc\uff0c\u5728 99 \u884c\u8fd9\u6837\u4f4e\u8c03\u7684\u4f4d\u7f6e\u91cc\uff0c\u9759\u9759\u7684\u63d2\u4e0a\u4e86\u81ea\u5df1\u7684\u65b9\u6cd5\uff0c\u8fd8\u5728\u4e0a\u9762\u8ba4\u8ba4\u771f\u771f\u7684\u5199\u4e0a\u4e86\u51c6\u786e\u7684\u6ce8\u91ca\uff1a</p>\n<div class=\"highlight\"><pre>/*\u6269\u5c55*/\n-(void)setDDCImageWithURL:(NSURL *)url\n         placeholderImage:(UIImage *)placeholderImage\n                  success:(void (^)(NSURLRequest *request, NSHTTPURLResponse *response, UIImage *image))success\n                  failure:(void (^)(NSURLRequest *request, NSHTTPURLResponse *response, NSError *error))failure;\n</pre></div>\n\n<p>\u6269\u5c55\u4e2a\u5934\u554a\uff01\u4f60\u52a0\u5728\u4eba\u5bb6\u7684\u5934\u6587\u4ef6\u91cc\u4f60\u8bf4\u4f60\u662f\u6269\u5c55\uff0c\u8c01\u4fe1\uff1f</p>\n\n<p>\u8fd9\u79cd\u6539\u52a8\u904d\u5730\u90fd\u662f\uff0c\u7279\u70b9\u662f\u6781\u5176\u4f4e\u8c03\uff0c\u96be\u4ee5\u5bdf\u89c9\uff0c\u751a\u81f3 <code>TTTAttributedLabel</code> \u8fd9\u79cd UI \u5e93\u4e5f\u4e0d\u80fd\u907f\u514d\uff1a\u6539\u4e86 <code>init</code> \u4e3a\u4e86\u7edf\u4e00\u5b57\u4f53\u548c\u989c\u8272\u3002\u3002\u3002</p>\n\n<p>\u4f60\u8bf4\u8fd9\u4ee3\u7801\uff0c\u8c01\u6562\u6539\uff1f</p>\n\n<p>\u6211\u8fd8\u66fe\u7ecf\u5355\u7eaf\u7684\u60f3\u7ed9\u9879\u76ee\u52a0\u4e0a <code>Cocoapods</code> \u66f4\u65b0\u4e00\u4e0b\u7b2c\u4e09\u65b9\u5e93\uff0c\u73b0\u5728\u60f3\u60f3\uff0cNaive\u3002\u7b49\u4ee5\u540e\u5199\u5230\u65b0\u7684\u72ec\u7acb\u6a21\u5757\u7684\u65f6\u5019\u518d\u8bf4\u5427\u3002</p>\n\n<p>\u6b63\u6240\u8c13\uff1a</p>\n\n<blockquote>\n<p>\u9879\u76ee\u52e4\u7528\u4e09\u65b9\u5e93\uff0c\u968f\u610f\u7a7f\u63d2\u6539\u65e0\u6570\u3002<br>\n\u5373\u4f7f\u7c7b\u5e93\u6709\u66f4\u65b0\uff0c\u8bd5\u95ee\u4ee3\u7801\u8c01\u7ef4\u62a4\u3002</p>\n</blockquote>\n\n<h2>\u7b2c\u516d\u56de\uff1a\u5355\u4e2a\u5bf9\u8c61\u591a\u804c\u8d23\uff0c\u60b2\u4f24\u9006\u5411\u6d41\u6210\u6cb3</h2>\n\n<p>\u5728\u804a\u5929\u6a21\u5757\u6709\u8fd9\u6837\u4e00\u4e2a\u7c7b\uff1a<code>ChatModel</code>\uff0c\u7b80\u76f4\u5c31\u662f\u4e2a\u591a\u9762\u624b\u3002</p>\n\n<p>\u4e0a\u80fd\u548c\u670d\u52a1\u5668\u804a\u5929\uff0c\u4e0a\u4f20\u804a\u5929\u6d88\u606f\u540c\u6b65\u804a\u5929\u8bb0\u5f55\uff1a</p>\n<div class=\"highlight\"><pre>- (void)reSendMessages;\n- (void)receiveSecretaryMessage:(MessageEntity *)msgEntity;\n- (void)deleteMessagesByUserInfo:(UserInfo *)user;\n- (void)setAudioMessageBePlayed:(AudioMessageEntity *)audioMessage;\n- (void)sendBubbleReplyWithCallMessage:(CallMessageEntity *)callMessage;\n- (int)saveMessage:(MessageEntity *)message;\n</pre></div>\n\n<p>\u4e0b\u80fd\u505a\u672c\u5730\u7f13\u5b58\u7ba1\u7406\uff0c\u589e\u5220\u6539\u67e5\u6837\u6837\u7cbe\u901a\uff1a</p>\n<div class=\"highlight\"><pre>- (void)saveCacheMsg:(NSString *)msg UserMd5:(NSString *)md5;\n- (NSString *)loadCacheMsgWithMd5:(NSString *)md5;\n- (void)clearCacheMsgWithMd5:(NSString *)md5;\n</pre></div>\n\n<p>\u81f3\u4e8e\u4ec0\u4e48\u5f39\u7a97\u63d0\u9192\uff0c\u4e0a\u4f20\u8fdb\u5ea6\uff0c\u5b8c\u6210\u63d0\u793a\uff0c\u4ea6\u662f\u8f7b\u677e\u62ff\u4e0b\u3002</p>\n\n<p>\u4ee5\u81f3\u4e8e\u4f60\u6539\u7740\u6539\u7740\u4e0d\u77e5\u4e0d\u89c9\u90fd\u4f1a\u8d70\u5230\u8fd9\u91cc\uff0c\u56e0\u4e3a\u5b83\u5904\u7406\u4e86\u592a\u591a\u592a\u591a\u7684\u4e1a\u52a1\u903b\u8f91\uff0c\u6bcf\u6b21 DEBUG \u8ffd\u6740\u65ad\u70b9\u56de\u5230\u8fd9\u91cc\uff0c\u90fd\u50cf\u662f\u4e00\u573a\u4e45\u522b\u91cd\u9022\u65f6\u7684\u76f8\u9047\uff0c\u4f3c\u66fe\u76f8\u8bc6\u3002</p>\n\n<p>\u6b63\u6240\u8c13\uff1a</p>\n\n<blockquote>\n<p>\u4e00\u4eba\u505a\u4e8b\u4e00\u4eba\u5f53\uff0c\u5207\u5fcc\u90fd\u5f80\u7c7b\u91cc\u88c5\u3002<br>\n\u5f00\u53d1\u4eba\u5458\u5e72\u7684\u723d\uff0c\u7ef4\u62a4\u4eba\u5458\u5f88\u53d7\u4f24\u3002</p>\n</blockquote>\n\n<h2>\u7b2c\u4e03\u56de\uff1a\u4ea7\u54c1\u7a81\u589e\u65b0\u529f\u80fd\uff0c\u4e00\u884c\u4ee3\u7801\u53d8\u5927\u795e</h2>\n\n<p>\u6709\u65f6\u5019\u9700\u6c42\u6765\u4e5f\u5306\u5306\u53bb\u4e5f\u5306\u5306\uff0c\u8ba9\u4eba\u731d\u4e0d\u53ca\u9632\u3002\u6bd4\u5982\u4e00\u4e2a\u7b80\u5355\u7684\u767b\u5f55\u903b\u8f91\uff1a</p>\n<div class=\"highlight\"><pre>@interface LoginModel ()\n@property (nonatomic, strong)NSString *tcpURL;\n@property (nonatomic, strong)UserInfo *offlineCallUser;\n@property (nonatomic, assign)VersionStatus versionStatus;\n@end\n</pre></div>\n\n<p>\u7a81\u7136\u53d1\u73b0\u9700\u8981\u5728\u7248\u672c\u66f4\u65b0\u7684\u65f6\u5019\u591a\u4e2a API \u68c0\u67e5\uff0c\u7b80\u5355\uff0c\u52a0\u4e2a <code>BOOL</code> \uff0c\u9700\u8981\u7684\u65f6\u5019\u8bbe\u7f6e\u6210 YES \u5c31\u884c\uff1a</p>\n<div class=\"highlight\"><pre>@property (nonatomic, assign)BOOL isShowVersionUpdate;\n</pre></div>\n\n<p>\u4f46\u662f\u8fd9\u4e2a\u529f\u80fd\u5728 <code>About</code> \u9875\u9762\u53c8\u6709\u70b9\u6539\u52a8\uff0c\u7b80\u5355\uff0c\u518d\u52a0\u4e2a BOOL \u5c31\u884c\uff1a</p>\n<div class=\"highlight\"><pre>@property (nonatomic, assign)BOOL checkVersionFromAbout;\n</pre></div>\n\n<p>\u7136\u540e\u5982\u679c\u5df2\u7ecf\u663e\u793a\u4e86\u6ce8\u518c\u9875\u9762\u53c8\u8981\u5c11\u4e00\u4e9b\u8bf7\u6c42\uff0c\u884c\uff0c\u90a3\u518d\u52a0\u4e2a <code>BOOL</code> \u503c\uff1a </p>\n<div class=\"highlight\"><pre>@property (nonatomic, assign)BOOL isRegisterShow;\n</pre></div>\n\n<p>\u5f97\u4e86\uff0c\u8fd9\u4ee3\u7801\u53ea\u6709\u4f60\u80fd\u61c2\u4e86\uff1a</p>\n<div class=\"highlight\"><pre>@interface LoginModel ()\n@property (nonatomic, strong)NSString *tcpURL;\n@property (nonatomic, strong)UserInfo *offlineCallUser;\n@property (nonatomic, assign)VersionStatus versionStatus;\n@property (nonatomic, assign)BOOL isShowVersionUpdate;\n@property (nonatomic, assign)BOOL checkVersionFromAbout;\n@property (nonatomic, assign)BOOL isRegisterShow;\n@end\n</pre></div>\n\n<p>\u60f3\u8c61\u4e00\u4e0b\u5b9e\u73b0\u65b9\u6cd5\u91cc\u5404\u79cd\u5bf9 <code>BOOL</code> \u6807\u8bb0\u7684\u7279\u6b8a\u5904\u7406\uff0c\u60f3\u8c61\u4e00\u4e0b N \u4e2a <code>if</code> \u5d4c\u5957\u7684\u58ee\u89c2\u573a\u666f\u3002</p>\n\n<p>\u5fc3\u585e\u3002</p>\n\n<p>\u6b63\u6240\u8c13\uff1a</p>\n\n<blockquote>\n<p>\u51e1\u662f\u90fd\u8981\u542c\u4ea7\u54c1\uff0c\u5404\u79cd\u4e1a\u52a1\u50ac\u7684\u7d27\u3002<br>\n\u5929\u584c\u4e0b\u6765\u4e5f\u522b\u6015\uff0c\u903b\u8f91\u6e05\u6670\u81ea\u7136\u633a\u3002</p>\n</blockquote>\n\n<h2>\u7b2c\u516b\u56de\uff1a\u6765\u4e86\u4efb\u52a1\u6709\u59d4\u6258\uff0c\u591a\u5199\u4e00\u884c\u90fd\u5acc\u591a</h2>\n\n<p>\u6240\u8c13\u60b2\u54c0\u5c31\u662f\uff0c\u5f53\u7a0b\u5e8f\u5458\u53d1\u73b0\u4e00\u4e2a <code>delegate</code> \u5c31\u80fd\u8bbf\u95ee\u4e0a\u7ea7\u7684\u5bf9\u8c61\uff0c\u4e8e\u662f\u4fbf\u628a\u5404\u79cd\u9700\u8981\u901a\u77e5\u4e0a\u7ea7\u7684\u4e8b\u60c5\u90fd\u653e\u5728\u4e86\u59d4\u6258\u65b9\u6cd5\u91cc\uff0c\u5c3d\u7ba1\u8fd9\u4e9b\u4e8b\u60c5\u4e0e\u59d4\u6258\u672c\u8eab\u65e0\u5173\uff0c\u4f46\u662f\u4e3a\u4e86\u5b9e\u73b0\u529f\u80fd\u5df2\u7ecf\u4e0d\u5728\u610f\u8fd9\u4e9b\u6240\u8c13\u7684\u8bbe\u8ba1\u4e0e\u7f8e\u89c2\u3002</p>\n\n<p>\u4e00\u4e2a\u7b80\u5355\u7684 <code>@optional</code>\uff0c\u751a\u81f3\u53ef\u4ee5\u7528\u540c\u4e00\u4e2a <code>@protocol</code> \u83b7\u53d6\u5230\u5404\u79cd\u4e0d\u540c\u7684\u4e0a\u7ea7\u5bf9\u8c61\uff0c\u53ea\u9700\u8981\u6bcf\u6b21\u8c03\u7528\u7684\u65f6\u5019\u52a0\u4e2a <code>respondsToSelector</code> \u5c31\u884c\u4e86\u3002\u5199\u4e0a\u5341\u51e0\u4e2a\u53ef\u9009\u65b9\u6cd5\uff0c\u53d6\u4e00\u4e2a\u901a\u4fd7\u7684\u59d4\u6258\u540d\uff0c\u6bd4\u5982 <code>MyDelegate</code> \uff0c\u7136\u540e\u5982\u679c\u4f60\u6301\u6709\u4e86\u6211\u4f46\u662f\u6211\u8fd8\u60f3\u8c03\u7528\u4f60\u7684\u65b9\u6cd5\uff0c so easy\uff0c\u628a\u4f60\u7684\u65b9\u6cd5\u6254\u5230 <code>MyDelegate</code> \u5373\u53ef\u3002</p>\n\n<p>\u6b64\u65f6\u7684\u4ee3\u7801\u4fbf\u5df2\u7ecf\u4e0d\u518d\u662f\u4e00\u4ef6\u827a\u672f\u54c1\uff0c\u800c\u53ea\u662f\u4e00\u4e2a\u5e73\u51e1\u666e\u901a\u3001\u6beb\u65e0\u751f\u673a\u7684\u82b1\u74f6\u4e86\u3002</p>\n\n<h2>\u5c0f\u7ed3\uff1a</h2>\n\n<p>\u539f\u672c\u8fd8\u662f\u633a\u6b22\u5feb\u7684\u5410\u69fd\uff0c\u7a81\u7136\u5c31\u4e0d\u60f3\u5199\u4e86\u3002</p>\n\n<p>\u770b\u7740\u4ee5\u524d\u7684\u4eba\u5199\u7684\u4ee3\u7801\uff0c\u4e0d\u7981\u6709\u4e9b\u51c4\u51c9\u3002</p>\n\n<p>\u5728\u9879\u76ee\u91cc\u7528\u5c3d\u4e86\u5404\u79cd\u4f4e\u7ea7\u4e0b\u6d41\u7684\u624b\u6bb5\uff0c\u53ea\u4e3a\u4e86\u5b9e\u73b0\u81ea\u5df1\u7684\u4e1a\u52a1\u3002</p>\n\n<p>\u8fd9\u662f\u5bf9\u827a\u672f\u7684\u4fae\u8fb1\u3002</p>\n\n<p>\u672c\u6587\u4f5c\u8005\uff1aWang Hyde<br>\n\u4ee3\u7801\u4ed3\u5e93\uff1a<br>\n<a target=\"_blank\" rel=\"nofollow\" href=\"https://gitcafe.com/callmewhy\">https://gitcafe.com/callmewhy</a><br>\n\u535a\u5ba2\u5730\u5740\uff1a<br>\n<a target=\"_blank\" rel=\"nofollow\" href=\"http://callmewhy.gitcafe.io\">http://callmewhy.gitcafe.io</a></p>\n\n<p>\u539f\u6587\u5730\u5740\uff1a <a target=\"_blank\" rel=\"nofollow\" href=\"http://callmewhy.gitcafe.io/2015/01/20/wtf-in-old-code/\">http://callmewhy.gitcafe.io/2015/01/20/wtf-in-old-code/</a></p>\n", 
      "date_published": "2015-01-23T08:38:49+00:00", 
      "title": "\u8981\u4f60\u547d\u4e09\u5343\u2014\u2014\u8001\u4ee3\u7801\u4e2d\u7684\u90a3\u4e9b\u5751", 
      "id": "https://www.v2ex.com/t/164844"
    }, 
    {
      "author": {
        "url": "https://www.v2ex.com/member/irisgyq", 
        "name": "irisgyq", 
        "avatar": "https://cdn.v2ex.com/avatar/e664/f5ae/92071_large.png?m=1428561132"
      }, 
      "url": "https://www.v2ex.com/t/163148", 
      "date_modified": "2015-01-18T02:25:53+00:00", 
      "content_html": "<h2>GitCafe SSL \u5b89\u5168\u63d0\u5347</h2>\n\n<p>\u4e3a\u4e86\u4fdd\u8bc1\u7528\u6237\u5728 GitCafe \u7684\u6570\u636e\u5b89\u5168,\u6211\u4eec\u5c06\u4e0d\u518d\u652f\u6301 SSL \u4e2d\u7684 RC4 \u534f\u8bae\u3002RC4 \u7684\u79fb\u9664\u5f71\u54cd\u4f7f\u7528 HTTPS \u534f\u8bae\u5bf9 GitCafe.com \u7684 Web \u8bbf\u95ee\u548c Git repo \u8bbf\u95ee\uff0c\u4e0d\u5f71\u54cd SSH \u534f\u8bae\u8fdb\u884c\u7684 Git repo \u8bbf\u95ee\u3002\u51c6\u786e\u5730\u8bf4\uff0c\u53ea\u6709 Windows XP \u4e0a\u7684 IE 6 \u4f1a\u53d7\u5230\u8d1f\u9762\u5f71\u54cd\uff0c\u73b0\u4ee3\u6d4f\u89c8\u5668\u90fd\u4e0d\u4f1a\u53d7\u5230\u8d1f\u9762\u5f71\u54cd\u3002Firefox \u7684\u7279\u5b9a\u65b0\u7248\u672c\u4e0d\u4f1a\u518d\u770b\u5230\u5173\u4e8e RC4 \u7684\u8b66\u544a\u3002 \u6211\u4eec\u5f3a\u70c8\u63a8\u8350 Windows XP \u7528\u6237\u5347\u7ea7\u5230\u66f4\u9ad8\u7248\u672c\u7684\u7cfb\u7edf\u6216\u8005\u4f7f\u7528 Chrome \u6216 Firefox \u6765\u8bbf\u95ee GitCafe \u3002</p>\n\n<h2>\u5173\u4e8eRC4</h2>\n\n<h3>RC4\u7684\u8d77\u6e90</h3>\n\n<p>\u57282011\u5e74\u7684\u65f6\u5019\uff0c\u5404\u5927\u4e3b\u6d41\u6d4f\u89c8\u5668\u90fd\u652f\u6301 TLS 1.0 \u534f\u8bae\u5e76\u4e14\u5e7f\u6cdb\u7684\u91c7\u7528\u4e86AES-CBC\u7684\u52a0\u5bc6\u65b9\u5f0f\u30029\u6708\u4efd Thai Duong \u548c Juliano Rizzo \u53d1\u73b0\u4e86\u4e00\u4e2a\u79f0\u4e4b\u4e3a<br>\n<a target=\"_blank\" rel=\"nofollow\" href=\"https://en.wikipedia.org/wiki/Transport_Layer_Security#BEAST_attack\">BEAST attack</a> \u7684\u6f0f\u6d1e\uff0c\u8fd9\u4e2a\u6f0f\u6d1e\u4e13\u95e8\u9488\u5bf9 TLS ,\u5f53\u4e00\u4e2a\u7528\u6237\u91c7\u7528\u4e86 CBC-based \u52a0\u5bc6\u65b9\u5f0f\u540e\uff0c\u653b\u51fb\u8005\u53ef\u4ee5\u8ba9\u7528\u6237\u8df3\u8f6c\u5230\u4e00\u4e2a\u6076\u610f\u7684\u7f51\u7ad9\u3002\u5f53\u65f6\u91c7\u7528\u7684\u4e00\u4e2a\u89e3\u51b3\u529e\u6cd5\u662f\u7528\u4e86\u552f\u4e00\u4e00\u4e2a\u652f\u6301 non-CBC \u5e76\u4e14\u597d\u7528\u7684 RC4 \u534f\u8bae\u3002</p>\n\n<h3>\u4eca\u5929\u7684RC4</h3>\n\n<p>\u4eca\u5929\u5305\u62ec Firefox \u548c Chrome \u5728\u5185\u7684\u4e3b\u6d41\u6d4f\u89c8\u5668\u90fd\u5df2\u7ecf\u4e0d\u518d\u50cf\u5f53\u5e74\u90a3\u6837\u4f9d\u9760\u7cfb\u7edf\u5c42\u7684 TLS \u52a0\u5bc6\u65b9\u5f0f\u4e86\uff0c\u5927\u591a\u4e3b\u6d41\u6d4f\u89c8\u5668\u90fd\u5df2\u7ecf\u652f\u6301 TLS 1.2 \u534f\u8bae\uff0c\u5bf9 BEAST \u653b\u51fb\u514d\u75ab\u4e14\u8fd8\u6ca1\u6709\u53d1\u73b0\u4efb\u4f55\u5df2\u77e5\u7684\u53ef\u80fd\u7684\u5a01\u80c1\u3002</p>\n\n<p>RC4 \u5f53\u521d\u63d0\u51fa\u7684\u76ee\u7684\u662f\u89e3\u51b3 BEAST \u653b\u51fb\uff0c\u4f46\u73b0\u5728\u5df2\u7ecf\u8d8a\u6765\u8d8a\u663e\u5f97\u6709\u4e9b\u9e21\u808b\u4e86\u3002\u800c\u4e14 RC4 \u7b97\u6cd5\u91c7\u7528\u7684\u7528xor\u7684\u4e00\u79cd\u5bf9\u79f0<a target=\"_blank\" rel=\"nofollow\" href=\"http://zh.wikipedia.org/wiki/%E6%B5%81%E5%8A%A0%E5%AF%86#WEP\">\u6d41\u52a0\u5bc6</a>\u3002\u8fd9\u79cd\u52a0\u5bc6\u65b9\u5f0f\u5728\u5f31\u5bc6\u94a5\u7684\u60c5\u51b5\u4e0b\u6709\u53ef\u80fd\u88ab\u7834\u89e3\uff08 \u4e00\u4e2a\u5931\u8d25\u7684\u4f8b\u5b50\u5c31\u662fWEP \u7f51\u7edc\u4f20\u8f93\u534f\u8bae \uff09\u3002\u6240\u4ee5\u91c7\u7528 RC4 \u52a0\u5bc6\u65b9\u5f0f\u53ef\u80fd\u4f1a\u5371\u5bb3\u4f60\u7684\u6570\u636e\u5b89\u5168\u3002</p>\n\n<h3>\u5c0f\u77e5\u8bc6</h3>\n\n<ol>\n<li><h5>\u5f02\u6216\u5bc6\u7801</h5>\n\n<p>\u5f02\u6216\u52a0\u5bc6\u65f6\u57fa\u4e8e\u903b\u8f91\u8fd0\u7b97\u4e2d\u7684\u5f02\u6216\u64cd\u4f5c:</p>\n\n<p>A^0 = A</p>\n\n<p>A^A = 0</p>\n\n<p>(A^B)^C = A^(B^C)</p>\n\n<p>(B^A)^A = B^0 = B</p>\n\n<p>** Talk is cheap , show me the code **</p>\n<div class=\"highlight\"><pre>data,key=1,2\n\ndata=data^key # data \u7684\u503c\u7b49\u4e8e 3 \ndata=data^key # data \u7684\u503c\u7b49\u4e8e 1\n</pre></div>\n\n<p>\u91c7\u7528\u5f02\u6216\u7684\u6d41\u52a0\u5bc6\u662f\u4e00\u79cd\u5bf9\u79f0\u52a0\u5bc6\uff0c \u5ba2\u6237\u7aef\u548c\u670d\u52a1\u5668\u4e4b\u95f4\u4f7f\u7528\u540c\u4e00\u4e2a\u5bc6\u94a5\u6765\u52a0\u5bc6\u89e3\u5bc6\u3002</p></li>\n<li><h5><a target=\"_blank\" rel=\"nofollow\" href=\"http://zh.wikipedia.org/wiki/%E6%B5%81%E5%8A%A0%E5%AF%86#.E6.B5.81.E5.8A.A0.E5.AF.86.E6.94.BB.E5.87.BB\">\u6d41\u52a0\u5bc6</a></h5>\n\n<p>\u6d41\u52a0\u5bc6\u65f6\u5bf9\u79f0\u52a0\u5bc6\u65b9\u5f0f\uff0c\u52a0\u5bc6\u548c\u89e3\u5bc6\u53cc\u65b9\u4f7f\u7528\u76f8\u540c\u7684\u4f2a\u968f\u673a\u52a0\u5bc6\u6570\u636e\u6d41\u4f5c\u4e3a\u5bc6\u94a5\uff0c\u660e\u6587\u6570\u636e\u987a\u6b21\u52a0\u5bc6\u5e76\u5f97\u5230\u79d8\u6587\u3002\u5b9e\u8df5\u4e2d\u901a\u5e38\u662f\u5bf9\u4e00\u4e2a\u4f4d\u505a\u5f02\u6216\u64cd\u4f5c\u3002\u8fd9\u79cd\u505a\u6cd5\u5728\u5bc6\u94a5\u592a\u5f31\u6216\u8005\u5176\u5b83\u4e00\u4e9b\u9519\u8bef\u64cd\u4f5c\u7684\u60c5\u51b5\u4e0b\u4f1a\u88ab\u7834\u89e3\u3002<br>\n\u6d41\u52a0\u5bc6\u4e00\u4e2a\u5178\u578b\u7684\u4f8b\u5b50\u5c31\u662f WEP \u52a0\u5bc6\u65e0\u7ebf\u7f51\u7edc\uff0c\u6211\u4eec\u7ecf\u5e38\u901a\u8fc7\u6293\u53d6\u63e1\u624b\u5305\u6765\u7834\u89e3\u5bc6\u7801\u3002</p></li>\n<li><h4><a target=\"_blank\" rel=\"nofollow\" href=\"http://zh.wikipedia.org/wiki/RC4\"> RC4 \u52a0\u5bc6\u7b97\u6cd5</a></h4>\n\n<p>RC4 \u52a0\u5bc6\u7b97\u6cd5\u662f\u4e00\u79cd\u5bc6\u94a5\u957f\u5ea6\u53ef\u53d8\u7684\u6d41\u52a0\u5bc6\u7b97\u6cd5\uff0c\u7531\u4f2a\u968f\u673a\u6570\u751f\u6210\u5668\u548c\u5f02\u6216\u8fd0\u7b97\u7ec4\u6210\u3002</p></li>\n</ol>\n", 
      "date_published": "2015-01-18T02:25:37+00:00", 
      "title": "[\u52a8\u6001] GitCafe \u79fb\u9664 SSL \u4e2d\u7684 RC4 \u534f\u8bae", 
      "id": "https://www.v2ex.com/t/163148"
    }, 
    {
      "author": {
        "url": "https://www.v2ex.com/member/GuBonjour", 
        "name": "GuBonjour", 
        "avatar": "https://cdn.v2ex.com/avatar/f457/edf5/75353_large.png?m=1420346433"
      }, 
      "url": "https://www.v2ex.com/t/162736", 
      "date_modified": "2015-01-16T07:55:32+00:00", 
      "content_html": "<blockquote>\n<p>\u4e0a\u4e2a\u5468\u672b\uff0c\u5728\u5317\u822a\u65b0\u4e3b\u697c\u4f1a\u8bae\u5385\u91cc\u4e3e\u884c\u4e86\u9996\u5c4a CSS \u5f00\u53d1\u8005\u5927\u4f1a\uff0cGitCafe \u7684\u524d\u7aef\u5de5\u7a0b\u5e08 Jaych Su \u5728\u4f1a\u4e0a\u505a\u4e86\u6f14\u8bb2\uff0c\u4e0e\u5927\u5bb6\u5206\u4eab\u4e86\u4e00\u6b3e\u66f4\u4f18\u96c5\u7684\u524d\u7aef\u5e03\u5c40\u2014\u2014Flexbox\u3002\u73b0\u5728\uff0c\u6211\u4eec\u5c31\u9080\u8bf7\u4ed6\u6765\u4e3a\u5927\u5bb6\u8bb2\u4e00\u4e0b Flexbox \u7684\u76f8\u5173\u77e5\u8bc6\u5427\uff5e</p>\n</blockquote>\n\n<p><img src=\"https://gitcafe-image.b0.upaiyun.com/1eb6590f92d562e6e0acee03bcd8a840.jpg\" alt=\"\"></p>\n\n<p>\u5728\u8bbe\u8ba1\u7684\u773c\u4e2d\uff0c\u6392\u7248\u7684\u64cd\u4f5c\u662f\u4e00\u4ef6\u5f88\u7b80\u5355\u7684\u4e8b\u60c5\uff0c\u9760\u5de6\u3001\u7f6e\u4e2d\u3001\u9760\u53f3\uff0c\u6211\u53ea\u8981\u70b9\u4e00\u4e0b\uff0c\u6240\u6709\u5143\u7d20\uff0c\u5c31\u4f1a\u4e56\u4e56\u7684\u5230\u6307\u5b9a\u7684\u4f4d\u7f6e\u3002</p>\n\n<p>\u4f46\u5230\u4e86\u524d\u7aef\u5728\u6392\u7248\u7684\u5b9e\u73b0\u4e0a\uff0c\u5c31\u4e0d\u662f\u8fd9\u6837\u4e86\u3002</p>\n\n<p>\u6211\u4eec\u5e38\u5e38\u5f97\u7528\u4e00\u5806\u5176\u5b9e\u672c\u6765\u4e0d\u662f\u8fd9\u6837\u7528\u7684\u5c5e\u6027\u6765\u505a hack\uff0c\u6bd4\u5982\u8bf4\u7528 line-height \u6765\u505a\u5782\u76f4\u7f6e\u4e2d\uff0c\u8fd9\u6837\u505a\u7684\u786e\u80fd\u8fbe\u5230\u6548\u679c\uff0c\u4f46\u662f\u5728\u8bed\u610f\u4e0a\u5c31\u6709\u70b9\u4e0d\u987a\uff0c\u62ff\u521a\u521a\u63d0\u5230\u7684 line-height \u6765\u8bf4\uff0c\u8fd9\u672c\u6765\u662f\u7528\u6765\u5f53\u4f5c\u6bb5\u843d\u4e2d\u7684\u884c\u8ddd\uff0c\u4f46\u5374\u56e0\u4e3a\u8fd9\u4e2a\u5c5e\u6027\u80fd\u6269\u5c55\u6587\u5b57\u7684\u4e0a\u4e0b\u7a7a\u95f4\uff0c\u7ed3\u679c\u4e5f\u88ab\u62ff\u6765\u505a\u5782\u76f4\u7f6e\u4e2d\u3002\u90a3\u6709\u6ca1\u6709\u4e00\u4e2a\u65b9\u6cd5\u80fd\u7528\u6765\u66f4\u597d\u5730\u5b9e\u73b0 Web \u5e03\u5c40\u5462\uff1f</p>\n\n<p><img src=\"https://gitcafe-image.b0.upaiyun.com/c554877169ef401cf67968bbccdafb23.jpg\" alt=\"\"></p>\n\n<p>\u8fd9\u662f Google \u7684 Angular\u3002\u4ed6\u4eec\u51e0\u4e2a\u6708\u524d\u505a\u4e86\u4e00\u5957 UI \u6765\u5b9e\u73b0\u5728 Angular \u4e0a\u7684 Material Design\u3002\u8fd9\u5957\u6846\u67b6\u7528\u6765\u5b9e\u73b0\u5e03\u5c40\u7684\u65b9\u5f0f\uff0c\u4e0d\u662f\u4ee5\u5f80\u7684 float\uff0c\u800c\u662f\u7528\u4e86 Flexbox\u3002</p>\n\n<p>Flexbox \u662f\u4ec0\u4e48\u5462\uff1f\u5c31 W3C \u5b98\u65b9\u7ed9\u5230\u7684\u89e3\u91ca\u662f\uff0c\u8fd9\u662f\u8bbe\u8ba1\u6765\u5b9e\u73b0\u66f4\u590d\u6742\u7684\u7248\u9762\u5e03\u5c40\u3002\u90a3\u6211\u81ea\u5df1\u5bf9\u4ed6\u7684\u5b9a\u4e49\u662f\uff0cFlexbox \u4ece\u672c\u8d28\u4e0a\u5c31\u662f\u4e00\u4e2a Box-model \u7684\u5ef6\u4f38\uff0c\u6211\u4eec\u90fd\u77e5\u9053 Box-model \u5b9a\u4e49\u4e86\u4e00\u4e2a\u5143\u7d20\u7684\u76d2\u6a21\u578b\uff0c\u7136\u800c Flexbox \u66f4\u8fdb\u4e00\u6b65\u7684\u53bb\u89c4\u8303\u4e86\u8fd9\u4e9b\u76d2\u6a21\u578b\u4e4b\u95f4\u5f7c\u6b64\u7684\u76f8\u5bf9\u5173\u7cfb\u3002\u800c\u4e0d\u9700\u8981\u53bb\u7528\u4e00\u4e9b\u5f88 cheat \u7684\u505a\u6cd5\uff0c\u53bb hack \u4e00\u4e9b\u672c\u6765\u5176\u5b9e\u4e0d\u5e94\u8be5\u7528\u6765\u505a\u7248\u9762\u5e03\u5c40\u7684\u5c5e\u6027\u3002</p>\n\n<p><img src=\"https://gitcafe-image.b0.upaiyun.com/fd95d7523b00943cea02a1205bc0849a.jpg\" alt=\"\"></p>\n\n<p>\u8eab\u4e3a\u4e00\u4e2a\u559c\u6b22\u53bb\u73a9\u4e00\u4e9b\u65b0\u4e1c\u897f\u7684\u524d\u7aef\uff0c\u5e94\u8be5\u8bf4\u6bcf\u4e2a\u8ddf\u4e92\u8054\u7f51\u6709\u6240\u63a5\u89e6\u7684\u4eba\uff0c\u90fd\u9700\u8981\u53bb\u5b66\u65b0\u4e1c\u897f\u3002</p>\n\n<p>\u8fd9\u662f\u6211\u78b0\u5230\u65b0\u4e1c\u897f\u7684\u65f6\u5019\uff0c\u4e00\u5b9a\u4f1a\u95ee\u81ea\u5df1\u7684\u4e09\u4e2a\u95ee\u9898\uff1a<br>\n1. \u8fd9\u80fd\u505a\u4ec0\u4e48\uff1f\u4e5f\u5c31\u662f\u4ed6\u80fd\u89e3\u51b3\u4ec0\u4e48\u95ee\u9898\uff1f<br>\n2. \u80fd\u7528\u5728\u54ea\u88e1\uff1f\u5728\u54ea\u4e9b\u5730\u65b9\u80fd\u7528\u8fd9\u4e2a\u65b9\u6cd5\uff1f<br>\n3. \u4e3a\u4ec0\u4e48\u80fd\u7528\uff1f\u4ed6\u5b9e\u73b0\u6240\u7528\u5230\u7684\u903b\u8f91\u662f\u4ec0\u4e48\uff1f</p>\n\n<p>\u63a5\u4e0b\u6765\u5c31\u8ddf\u5927\u5bb6\u5206\u4eab\u4e00\u4e0b\uff0c\u5f53\u521d\u770b\u5230 Flexbox \u7684\u6211\u95ee\u4e86\u81ea\u5df1\u8fd9\u4e2a\u4e09\u4e2a\u95ee\u9898\u4e4b\u540e\uff0c\u5230\u76ee\u524d\u4e3a\u6b62\u6211\u627e\u5230\u7684\u7b54\u6848\u3002</p>\n\n<h3>\u529f\u80fd</h3>\n\n<p>\u4e3e\u4e00\u4e2a\u4f8b\u5b50\uff0c\u6240\u6709\u524d\u7aef\u90fd\u4f1a\u6709\u7684\u75db\u70b9\uff0c\u7f6e\u4e2d\uff0c\u6211\u4eec\u4ee5\u524d\u662f\u600e\u4e48\u5b9e\u73b0\u7684\uff1f<br>\n<img src=\"https://gitcafe-image.b0.upaiyun.com/a651b17876c21368478630abb2ad3e05.jpg\" alt=\"\"></p>\n\n<p>\u6700\u5e38\u770b\u5230\u5c31\u662f\u7528\u7edd\u5bf9\u5b9a\u4f4d\uff0c\u7136\u540e\u628a top \u548c left \u504f\u79fb \u4e94\u96f6%\uff0c\u5728\u7528 margin \u504f\u79fb\u56de\u53bb\u3002\u4f46\u662f\u8fd9\u53ea\u9002\u7528\u5728\u5df2\u7ecf\u56fa\u5b9a\u5927\u5c0f\u7684\u5143\u7d20\u3002<br>\n<img src=\"https://gitcafe-image.b0.upaiyun.com/4af7ae21330b5cfb9de9536f35049666.jpg\" alt=\"\"></p>\n\n<p>\u6700\u8fd1\u51e0\u5e74\u5e38\u770b\u5230\u7684\u505a\u6cd5\u662f\u8fd9\u6837\uff0c\u5728\u60f3\u7f6e\u4e2d\u7684\u5143\u7d20\u4e4b\u524d\uff0c\u52a0\u4e0a\u4e00\u4e2a\u5143\u7d20\uff0c\u4e0d\u60f3\u7ba1\u592a\u65e7\u7684 IE \u7684\u8bdd\uff0c\u751a\u81f3\u4f2a\u5143\u7d20\u4e5f\u53ef\u4ee5\u3002\u5728\u5bb9\u5668\u7528 text-align\uff0c\u7136\u540e\u628a\u5e95\u4e0b\u7684\u4e24\u4e2a\u5143\u7d20\u5f04\u6210 inline \u7684\u5f62\u5f0f\uff0c\u5728\u7528 vertical-align\u3002\u4ed6\u7684\u597d\u5904\u5c31\u662f\uff0c\u5373\u4f7f\u5e95\u4e0b\u7684\u5143\u7d20\u4f1a\u968f\u5185\u5bb9\u6539\u53d8\u5927\u5c0f\uff0c\u4f46\u4e0d\u7ba1\u600e\u4e48\u6539\u53d8\uff0c\u5c31\u662f\u53ef\u4ee5\u59cb\u7ec8\u7ef4\u6301\u5782\u76f4\u548c\u6c34\u5e73\u7f6e\u4e2d\u3002</p>\n\n<p>\u5f53\u7136\u5566\uff0c\u8fd8\u6709\u5f88\u591a\u7f6e\u4e2d\u7684\u65b9\u6cd5\uff0c\u5c31\u4e0d\u4e00\u4e00\u4ecb\u7ecd\u4e86\uff0c\u6211\u4eec\u6765\u770b\u4e00\u4e0b\u7528 flex \u7684\u8bdd\u600e\u4e48\u7f6e\u4e2d\u3002</p>\n\n<p><img src=\"https://gitcafe-image.b0.upaiyun.com/505cb52cde7ebf1470a50f00b6127989.jpg\" alt=\"\"></p>\n\n<p>\u7528 Flex \u6765\u505a\u7f6e\u4e2d\u7684\u8bdd\uff0c\u4f60\u53ef\u4ee5\u5f88\u4ece\u5bb9\u5730\u505a\u5230\u7f6e\u4e2d\uff0c\u4e0d\u7528\u4e00\u5806\u5373\u4f7f\u672c\u6765\u4e0d\u662f\u8fd9\u6837\u7528\u7684\u5c5e\u6027\u3002\u6211\u53ea\u8981\u5148\u6307\u5b9a\u5bb9\u5668\u4e3a\u4e00\u4e2a Flex \u5bb9\u5668\uff0c\u7136\u540e justify-content \u8ba9\u4ed6\u6c34\u5e73\u65b9\u5411\u7f6e\u4e2d\uff0c\u518d align-items \u8ba9\u4ed6\u5782\u76f4\u65b9\u5411\u7f6e\u4e2d\u3002\u6211\u53ef\u4ee5\u5f88\u7b80\u5355\u5f88\u4f18\u96c5\u7684\u5c31\u505a\u5230\u7f6e\u4e2d\u3002</p>\n\n<p>\u90a3\u4e5f\u8bb8\u4f60\u4f1a\u8bf4\uff0c\u6b38\uff1f\u65e2\u7136\u4e00\u4e2a\u53ef\u4ee5\u7684\u8bdd\uff0c\u90a3\u6211\u518d\u591a\u653e\u51e0\u4e2a\u53ef\u4e0d\u53ef\u4ee5\uff1f\u5176\u5b9e\u53ef\u4ee5\u7684\u3002</p>\n\n<p><img src=\"https://gitcafe-image.b0.upaiyun.com/46dc6bec304c50cfa94c6230000b75cd.jpg\" alt=\"\"></p>\n\n<p>\u5047\u8bbe\u6211\u4eec\u73b0\u5728\u5bb9\u5668\u5e95\u4e0b\u6709\u4e09\u4e2a\u5143\u7d20\uff0c\u5594\uff0c\u8fd9\u88e1\u5c31\u8981\u63d0\u5230 Flexbox \u53e6\u5916\u4e00\u4e2a\u5c4c\u70b8\u5929\u7684\u529f\u80fd\u3002</p>\n\n<p>\u5047\u8bbe\u4e00\u4e2a\u5143\u7d20\u662f\u56db\u96f6%\uff0c\u53e6\u4e00\u4e2a\u662f\u4e00\u4e8c%\uff0c\u90a3\u5728\u4e00\u4e2a Flex \u5bb9\u5668\u4e2d\uff0c\u53ea\u8981\u4f60\u6709\u8bbe\u5b9a flex-grow \u8fd9\u9879\u5c5e\u6027\u7684\u8bdd\uff0c\u4ed6\u7684\u7b2c\u4e09\u4e2a\u5143\u7d20\u5c31\u4f1a\u81ea\u9002\u5e94\u5bbd\u5ea6\uff0c\u586b\u6ee1\u5269\u4e0b\u5bb9\u5668\u7684\u7a7a\u767d\u3002\u800c\u5728\u591a\u4e2a\u5143\u7d20\u7684\u72b6\u6001\u4e4b\u4e0b\uff0c\u6211\u4eec\u4ecd\u7136\u80fd\u5f88\u8f7b\u6613\u7684\u5c31\u7f6e\u4e2d\u3002</p>\n\n<p><img src=\"https://gitcafe-image.b0.upaiyun.com/5a67fb3809c9d84d7df7cb138a2c8d85.jpg\" alt=\"\"></p>\n\n<p>\u521a\u521a\u6211\u4eec\u63d0\u5230\u8fc7\uff0cflexbox \u662f\u7528\u6765\u89c4\u8303\u76d2\u6a21\u578b\u4e4b\u95f4\u7684\u76f8\u5bf9\u5173\u7cfb\uff0c\u4ece\u8fd9\u88e1\u4f60\u5c31\u53ef\u4ee5\u770b\u5230\u3002\u73b0\u5728\u6211\u5c06 justify-content \u8bbe\u6210 space-around\uff0c\u5143\u7d20\u5c31\u4f1a\u53d8\u6210\u5df2\u5206\u6563\u5bf9\u9f50\u7684\u65b9\u5f0f\u53bb\u5206\u4f48\u5728 flex \u5bb9\u5668\u4e2d\u3002</p>\n\n<p>\u5173\u4e8e\u5143\u7d20\u7684\u5206\u6b65\uff0c\u6211\u4eec\u518d\u6765\u770b\u51e0\u4e2a\u4f8b\u5b50\u3002</p>\n\n<p><img src=\"https://gitcafe-image.b0.upaiyun.com/c60c746946627d677221af6c6361c43a.jpg\" alt=\"\"></p>\n\n<p>\u8fd9\u662f\u4e00\u4e2a\u6211\u6700\u8fd1\u770b\u5230\u7684\u7f51\u7ad9\u3002\u6211\u4eec\u53ef\u4ee5\u770b\u5230\u4ed6\u5e95\u4e0b\u6709\u4e00\u4e2a Slider\uff0c\u8fd9\u6709\u4e2a\u95ee\u9898\uff0c\u800c\u4e14\u4e5f\u5e38\u5e38\u662f\u524d\u7aef\u5728\u7248\u9762\u4e0a\u7684\u4e00\u4e2a\u75db\u70b9\uff0c\u6211\u4eec\u60f3\u8ba9\u6240\u6709\u7684\u5b50\u5143\u7d20\u80fd\u591f\u7b49\u9ad8\u3002\u5728\u4ee5\u524d\u6211\u4eec\u5f88\u96be\u53ea\u7528 CSS \u53bb\u505a\u5230\u8fd9\u6837\u3002</p>\n\n<p><img src=\"https://gitcafe-image.b0.upaiyun.com/958034c6964caf46c70b89db28439586.jpg\" alt=\"\"></p>\n\n<p>\u800c flexbox \u53ef\u4ee5\u5f88\u8f7b\u6613\u5730\u53ea\u7528 CSS \u505a\u5230\u8fd9\u70b9\u3002\u53ea\u9700\u8981\u5728 flex \u5bb9\u5668\u52a0\u4e0a align-items \u5c31\u597d\u3002\u5c31\u80fd\u5b9e\u73b0\u5bb9\u5668\u5e95\u4e0b\u7684\u6240\u6709\u5143\u7d20\uff0c\u4e0e\u6700\u9ad8\u7684\u90a3\u4e2a\u5143\u7d20\u7b49\u9ad8\u3002</p>\n\n<p><img src=\"https://gitcafe-image.b0.upaiyun.com/9d7487f3005891993185e8fe7f22f232.jpg\" alt=\"\"></p>\n\n<p>\u5373\u4f7f\u6211\u5728\u672c\u6765\u6700\u9ad8\u7684\u90a3\u4e2a\u5143\u7d20\u591a\u52a0\u4e00\u4e9b\u5185\u5bb9\uff0c\u5176\u4ed6\u7684\u5143\u7d20\u4e5f\u4e00\u5b9a\u4f1a\u7ef4\u6301\u7b49\u9ad8\u3002</p>\n\n<h3>\u517c\u5bb9</h3>\n\n<p><img src=\"https://gitcafe-image.b0.upaiyun.com/10ea02861a905ff205b796c23df2e732.jpg\" alt=\"\"></p>\n\n<p>Flex \u6700\u521d\u88ab W3C \u4e8e 09 \u5e74\u5236\u5b9a\u51fa\u6765\uff0c\u968f\u540e\u5c31\u88ab\u5927\u91cf\u7684\u8ba8\u8bba\u3002\u62ff\u6307\u5b9a\u5143\u7d20\u4e3a\u4e00\u4e2a flex \u5bb9\u5668\u6765\u8bb2\uff0c\u7b2c\u4e00\u4e2a\u7248\u672c\u88e1\u662f display:box\uff0c\u7b2c\u4e8c\u4e2a\u7248\u672c\u662f display: flexbox\uff0c\u7b2c\u4e09\u4e2a\u7248\u672c\u662f display: flex\u3002\u5b9e\u5728\u592a\u590d\u6742\uff0c\u8fd8\u597d\u73b0\u5728\u5728\u5f00\u6e90\u7684\u4e16\u754c\u91cc\u5df2\u7ecf\u6709\u5927\u5927\u628a\u8fd9\u4e09\u4e2a\u7248\u672c\u7684 flex \u505a\u6210\u4e00\u4e9b mixin\uff0c\u4f7f\u7528\u7684\u65f6\u5019\uff0c\u4f60\u53ea\u8981 include \u8fdb\u6765\u5c31\u53ef\u4ee5\u3002</p>\n\n<p><img src=\"https://gitcafe-image.b0.upaiyun.com/10ada5f7ca45c3edb216c7474791cdfb.jpg\" alt=\"\"><br>\n<img src=\"https://gitcafe-image.b0.upaiyun.com/8bc9422464df70d77a285c44b3a9f458.jpg\" alt=\"\"></p>\n\n<p>\u5c31\u8ddf IE \u7684\u4f7f\u7528\u4f53\u9a8c\u4e00\u6837\uff0c\u6240\u6709\u7684\u597d\u4e1c\u897f\u8ddf IE \u57fa\u672c\u90fd\u6cbe\u4e0d\u4e0a\u8fb9\uff0c\u6240\u4ee5\u5982\u679c\u4f60\u9700\u8981\u8003\u8651 IE \u7528\u6237\uff0c\u90a3\u8bf7\u614e\u5165\u3002\u6240\u4ee5\u6709\u4eba\u8bf4 IE \u7684\u529f\u80fd\u53ea\u5269\u4e0b\u7528\u6765\u4e0b\u8f7d Chrome \u548c Firefox\u3002</p>\n\n<h3>\u539f\u7406</h3>\n\n<p>\u5982\u679c\u4f60\u5230\u7f51\u4e0a\u641c flex\uff0c\u5927\u591a\u90fd\u4f1a\u8457\u58a8\u5728 \u4ed6\u7684\u5bf9\u9f50\u3001\u4ed6\u7684\u63a7\u5236 DOM \u987a\u5e8f\u662f\u5982\u4f55\u5982\u4f55\u597d\u7528\u3002\u4f46\u4eca\u5929\u6211\u4eec\u60f3\u804a\u4e00\u804a\u66f4\u6df1\u4e00\u70b9\u7684\u4e1c\u897f\uff0cflex item \u5bbd\u5ea6\u7684\u8ba1\u7b97\uff0c\u5927\u591a\u6570\u60c5\u51b5\u4e0b\uff0c\u6211\u4eec\u53ea\u5728\u610f\u663e\u793a\u7684\u6bd4\u4f8b\uff0c\u8fd9\u4e5f\u662f\u5bbd\u5ea6\u7684\u8ba1\u7b97\u6bd4\u8f83\u5c11\u88ab\u8ba8\u8bba\u7684\u539f\u56e0\uff0c\u4f46\u5982\u679c\u4f60\u60f3\u8981\u66f4\u7cbe\u786e\u7684\u63a7\u5236 item \u7684\u663e\u793a\u5bbd\u5ea6\uff0c\u5176\u5b9e\u4f60\u662f\u9700\u8981\u53bb\u4e86\u89e3\uff0c\u5728\u4e00\u4e2a flex \u5bb9\u5668\u5f53\u4e2d\uff0citem \u7684\u5bbd\u5ea6\u662f\u5982\u4f55\u88ab\u8ba1\u7b97\u51fa\u6765\u7684\u3002</p>\n\n<p><img src=\"https://gitcafe-image.b0.upaiyun.com/f146242e926b66e3c4086fb9d2e0cf07.jpg\" alt=\"\"><br>\n<img src=\"https://gitcafe-image.b0.upaiyun.com/8cc7cc87598450c88a41ef9363fc914e.jpg\" alt=\"\"></p>\n\n<p>\u5f53\u6211\u4eec\u628a\u4e00\u4e2a\u5bb9\u5668\u6307\u5b9a\u4e3a flex \u5bb9\u5668\u65f6\uff0c\u5b83\u88e1\u9762\u7684 item \u5176\u5b9e\u662f\u6709\u8457\u8fd9\u6837\u7684\u8bbe\u5b9a\uff1aflex: 0 1 auto</p>\n\n<p>\u8fd9\u4e09\u4e2a\u6570\u5b57\u5176\u5b9e\u5206\u522b\u4ee3\u8868\uff1aflex-grow\u3001flex-shrink\u3001flex-basis\uff0c\u8fd9\u4e09\u4e2a\u5c5e\u6027\u53ef\u4ee5\u8bf4\u662f flex \u4e4b\u6240\u4ee5\u667a\u80fd\u7684\u539f\u56e0\u3002</p>\n\n<p><img src=\"https://gitcafe-image.b0.upaiyun.com/fce68f2ddd8913264844f028b95c3eb0.jpg\" alt=\"\"></p>\n\n<p>\u6211\u4eec\u5148\u6765\u804a\u804a flex-basis \u597d\u4e86\uff0c\u8fd9\u4e2a\u5c5e\u6027\u5728 flex \u5bb9\u5668\u4e3a\u6a2a\u5411\u7684\u65f6\u5019\uff0c\u5176\u5b9e\u5c31\u662f\u5bbd\u5ea6\uff0c\u5f53\u6211\u4eec\u628a item \u6307\u5b9a\u6210 flex: 0 0 480px \u65f6\uff0c\u5176\u5b9e\u5c31\u662f\u628a\u5b83\u7684\u5bbd\u5ea6\u8bbe\u5b9a\u6210 480px\u3002\u4f46\u662f\u8fd9\u6837\u5e76\u4e0d\u80fd\u8868\u73b0\u51fa flex \u6709\u4ec0\u4e48\u7279\u522b\u7684\u5730\u65b9\u554a\uff1f\u4e3a\u4ec0\u9ebd\u8981\u91cd\u8907\u8bbe\u5b9a\u5bbd\u5ea6\uff1f</p>\n\n<p>\u8fd9\u65f6\u5019\u5c31\u8981\u8bb2\u5230\u53e6\u5916\u4e24\u4e2a\u5c5e\u6027\uff1aflex-grow\u3001flex-shrink</p>\n\n<p><img src=\"https://gitcafe-image.b0.upaiyun.com/6ede88a1cf23b986dc12ee2d0f2bda9d.jpg\" alt=\"\"></p>\n\n<p>\u8fd9\u4e24\u4e2a\u5c5e\u6027\u5176\u5b9e\u662f\u53cc\u80de\u80ce\uff0cgrow \u8868\u793a\u5728 item \u603b\u5bbd\u5ea6\u6bd4\u5bb9\u5668\u5c0f\u7684\u65f6\u5019\uff0c\u4e3a\u4e86\u8ba9 item \u586b\u6ee1\u5bb9\u5668\uff0c\u6bcf\u4e2a item \u589e\u52a0\u7684\u5bbd\u5ea6\u3002\u5047\u8bbe\u6709\u4e09\u4e2a basis \u4e3a 100px \u7684 item\u3002\u6211\u4eec\u4ece\u5de6\u5230\u53f3\u7ed9\u4e88 grow \u503c\u5206\u522b\u4e3a 3\u30012\u30011\uff0c\u90a3\u4e48\u5f53 flex \u4f5c\u7528\u4e4b\u540e\uff0c\u6700\u5de6\u8fb9\u7684 item \u5b9e\u9645\u589e\u52a0\u7684\u5bbd\u5ea6\u662f\u591a\u5c11\uff1f\u4ece\u56fe\u4e2d\u53ef\u4ee5\u7b97\u5230\u589e\u52a0\u7684\u5bbd\u5ea6\u662f 90px\uff0c\u4e8e\u662f\u6700\u540e\u6700\u5de6\u8fb9 item \u7684\u5bbd\u5ea6\u662f 190px\u3002</p>\n\n<p><img src=\"https://gitcafe-image.b0.upaiyun.com/e59fb75de66ba49cbb0ed6f1abb59e8f.jpg\" alt=\"\"></p>\n\n<p>\u6211\u4eec\u521a\u624d\u63d0\u5230 grow \u8ddf shrink \u5176\u5b9e\u662f\u53cc\u80de\u80ce\uff0c\u5176\u5b9e\u4ed6\u4eec\u771f\u7684\u5f88\u50cf\uff0cshrink \u8868\u793a\u5728 item \u603b\u5bbd\u5ea6\u6bd4\u5bb9\u5668\u5927\u7684\u65f6\u5019\uff0c\u4e3a\u4e86\u8ba9 item \u586b\u6ee1\u5bb9\u5668\uff0c\u6bcf\u4e2a item \u51cf\u5c11\u7684\u5bbd\u5ea6\u3002\u4f46\u662f\u8ba1\u7b97\u7684\u516c\u5f0f\u5374\u662f\u4e0d\u4e00\u6837\u7684\u3002\u4e3a\u4ec0\u4e48\uff1f\u56e0\u4e3a\u5f53\u4f60\u5728\u52a0\u7684\u65f6\u5019\u65e0\u6240\u8c13\uff0c\u4f46\u662f\u5728\u51cf\u7684\u65f6\u5019\uff0c\u5982\u679c\u53ea\u8ba1\u7b97\u8d4b\u4e88\u7684 shrink \u503c\uff0c\u90a3\u4e48\u5f88\u6709\u53ef\u80fd\u6700\u540e\u51cf\u5c11\u7684\u5bbd\u5ea6\u6bd4 basis \u5927\uff0c\u4e8e\u662f item \u7684\u5bbd\u5ea6\u5c31\u53d8\u6210\u8d1f\u503c\u3002\u90a3\u6211\u4eec\u8be5\u600e\u4e48\u4fee\u6b63\uff1f\u628a basis \u5f53\u6210\u53c2\u6570\u8ba1\u7b97\u8fdb\u53bb\uff0c\u8fd9\u6837\u5c31\u80fd\u4fdd\u8bc1\u51cf\u5c11\u7684\u5bbd\u5ea6\u6c38\u8fdc\u5c0f\u4e8e basis\u3002\u6240\u4ee5\u6211\u4eec\u53ef\u4ee5\u5f97\u5230\u4fee\u6b63\u540e\u7684\u516c\u5f0f\uff0c\u4e00\u6837\u4ee5\u6700\u5de6\u8fb9\u4e3a\u4f8b\u5b50\uff0c\u6700\u540e\u8ba1\u7b97\u51fa\u6765\u51cf\u5c11 60px\uff0c\u4e8e\u662f item \u5c31\u53d8\u6210 140px\u3002\u4ee5\u4e0a\u8111\u5b50\u4e0d\u597d\u4f7f\uff0c\u6ca1\u5173\u7cfb\uff0c\u5b9e\u9645\u4e0a\u6700\u5e38\u7528\u7684\u53ea\u662f flex: 1\u3002</p>\n\n<p><img src=\"https://gitcafe-image.b0.upaiyun.com/ba95e447ee4950b8eedf7ab2a2239bae.jpg\" alt=\"\"></p>\n\n<p>\u8bb2\u5230\u8fd9\u91cc\uff0c\u4f60\u521a\u521a\u8bb2\u7684\u597d\u50cf\u8fd9\u4e1c\u897f\u5f88\u5389\u5bb3\u7684\u6837\u5b50\uff0c\u90a3\u4f60\u6709\u6ca1\u6709\u4e00\u4e2a\u6700\u5feb\u6700\u7b80\u5355\u7c97\u66b4\u7684\u65b9\u5f0f\u53bb\u8bf4 Flexbox \u771f\u7684\u662f\u4e2a\u597d\u4e1c\u897f\uff1f</p>\n\n<p>\u55ef\u22ef\u22ef\u6709\u70b9\u96be\uff0c\u4e0d\u8fc7\u6211\u60f3\u5e94\u8be5\u53ef\u4ee5\u3002</p>\n\n<p><img src=\"https://gitcafe-image.b0.upaiyun.com/ff0b86a564279b495a0dbeeb4e26dadc.jpg\" alt=\"\"></p>\n", 
      "date_published": "2015-01-16T07:55:06+00:00", 
      "title": "[\u524d\u7aef\u77e5\u8bc6] Flexbox\uff0c\u66f4\u4f18\u96c5\u7684\u5e03\u5c40", 
      "id": "https://www.v2ex.com/t/162736"
    }, 
    {
      "author": {
        "url": "https://www.v2ex.com/member/irisgyq", 
        "name": "irisgyq", 
        "avatar": "https://cdn.v2ex.com/avatar/e664/f5ae/92071_large.png?m=1428561132"
      }, 
      "url": "https://www.v2ex.com/t/162666", 
      "date_modified": "2015-01-16T04:49:39+00:00", 
      "content_html": "<p>\u9996\u5148\uff0c\u611f\u8c22@<a target=\"_blank\" rel=\"nofollow\" href=\"http://www.v2ex.com/member/Livid\">Livid</a> \u5bf9 GitCafe \u7684\u8ba4\u53ef\u548c\u652f\u6301\uff0c\u6211\u4eec\u5728 V2EX \u4e0a\u6709\u8282\u70b9\u5566\uff0c\u5c0f\u4f19\u4f34\u4eec\u5feb\u6765\u627e\u4f60\u4eec\u7684\u7ec4\u7ec7\uff01 </p>\n\n<h2>\u8036\uff0c\u4f60\u8fd8\u6ca1\u6709\u542c\u8bf4\u8fc7 GitCafe?</h2>\n\n<p>GitCafe \u662f\u4e00\u4e2a\u57fa\u4e8e\u4ee3\u7801\u6258\u7ba1\u670d\u52a1\u6253\u9020\u7684\u6280\u672f\u534f\u4f5c\u4e0e\u5206\u4eab\u5e73\u53f0\uff0c\u5f00\u53d1\u8005\u53ef\u4ee5\u901a\u8fc7\u4f7f\u7528 Git \u4ee3\u7801\u7248\u672c\u63a7\u5236\u7cfb\u7edf\u5c06\u5176\u5f00\u6e90\u6216\u5546\u4e1a\u9879\u76ee\u4ee3\u7801\u6258\u7ba1\u5728 GitCafe \u4e0a\uff0c\u4e0e\u5176\u4ed6\u7a0b\u5e8f\u5458\u5728\u7ebf\u534f\u4f5c\u5f00\u53d1\u3002 GitCafe \u7684\u4f7f\u547d\u662f\u4fc3\u8fdb\u56fd\u5185 IT \u884c\u4e1a\u79ef\u6781\u826f\u6027\u7684\u53d1\u5c55\u3002 \u6211\u4eec\u5e2e\u52a9\u7814\u53d1\u56e2\u961f\u66f4\u597d\u7684\u8fdb\u884c\u4ee3\u7801\u7684\u7ba1\u7406\u4e0e\u534f\u4f5c\uff0c\u4e3a\u4f01\u4e1a\u63d0\u4f9b\u4f18\u5316\u7684\u5de5\u4f5c\u6d41\u7a0b\u4e0e\u89e3\u51b3\u65b9\u6848\uff1b\u540c\u65f6\u52a9\u529b\u56fd\u5185\u5916 IT \u4f01\u4e1a\u6253\u9020\u66f4\u597d\u7684\u5f00\u53d1\u8005\u751f\u6001\u7cfb\u7edf\uff0c\u83b7\u5f97\u5f3a\u6709\u529b\u7684\u4f01\u4e1a\u7ea7\u6280\u672f\u63a8\u5e7f\u5e73\u53f0\u3002 </p>\n\n<p>\u53ef\u4ee5\u5148\u53bb <a target=\"_blank\" rel=\"nofollow\" href=\"https://gitcafe.com/\">https://gitcafe.com</a>  \u611f\u53d7\u4e00\u4e0b\u3002</p>\n\n<h2>2014\uff0c\u6211\u4eec\u8d70\u8fc7\u8fd9\u6837\u7684\u8def</h2>\n\n<p>GitCafe \u643a\u624b\u53c8\u62cd\u4e91\u3001bong\u3001LeanCloud\u3001\u4e03\u725b\u4e91\u5b58\u50a8\u3001ping++\u3001\u4e0a\u6d77\u7ebd\u7ea6\u5927\u5b66\u548c\u6e05\u534e Thacks\u7b49\u4e3e\u529e\u4e86\u7ebf\u4e0a\u7ebf\u4e0b\u7684\u9ed1\u5ba2\u9a6c\u62c9\u677e\u6bd4\u8d5b\uff1bGitCafe \u8d70\u8fdb\u53f0\u6e7e COSCUP \u5e74\u4f1a\u3001\u4e0a\u6d77 QCon\u3001\u5317\u4eac GDG Devfest\u3001\u590d\u65e6\u5927\u5b66\u535a\u58eb\u751f\u5b66\u672f\u8bba\u575b\u3001\u9999\u6e2f BIP Asia \u7b49\u5927\u4f1a\u5206\u4eab\u4e86\u7cbe\u5f69\u7684\u6f14\u8bb2\uff1bGitCafe \u643a\u624b\u5f00\u6e90\u793e\u9ad8\u6821\u5de1\u56de\u5ba3\u8bb2\u8d70\u8bbf\u4e86\u6e05\u534e\u3001\u5317\u822a\u3001\u590d\u65e6\u7b49\u5168\u56fd 13 \u6240\u9ad8\u6821\uff0c\u4e3a\u540c\u5b66\u4eec\u5e26\u53bb\u4e86\u4e30\u5bcc\u7684\u5f00\u6e90\u6587\u5316\u4e0e\u77e5\u8bc6\uff1b\u5fae\u8f6f Open XML SDK\u3001\u5de8\u6749\u6570\u636e\u5e93\u3001UCloud \u8054\u624b 9 \u79d2\u793e\u56e2\u5c06\u53d8\u8272\u9f99 SDK \u4ee5\u53ca CrossApp \u7b49\u5f00\u6e90\u9879\u76ee\u6258\u7ba1\u5728\u4e86 GitCafe \u7684\u5e73\u53f0\u4e0a\uff1bGitCafe \u63a8\u51fa\u4e86\u5168\u65b0\u7684 UI 2.0 \u4e0e\u4f01\u4e1a\u7ea7\u89e3\u51b3\u65b9\u6848\uff0cPages \u670d\u52a1\u542f\u7528\u9876\u7ea7\u57df\u540d gitcafe.io\uff1bGitCafe \u7684 HTML5 \u5c0f\u6e38\u620f\u2014\u2014<a target=\"_blank\" rel=\"nofollow\" href=\"http://gitbubble.gitcafe.io/\">GitBubble</a> \u4e0a\u7ebf\u4e86\uff01 </p>\n\n<h2>2015\uff0c\u6211\u4eec\u5e0c\u671b\u4e0e\u4f60\u4e00\u8d77\u8d70\u8fc7</h2>\n\n<p>\u6211\u4eec\u52aa\u529b\u4e3a\u5f00\u53d1\u8005\u6253\u9020\u4e00\u4e2a\u826f\u597d\u7684\u751f\u6001\u73af\u5883\uff0c\u4e3a\u5f00\u53d1\u8005\u63d0\u4f9b\u4fbf\u5229\u7684\u670d\u52a1\uff0c\u6211\u4eec\u56e2\u961f\u4f1a\u7ee7\u7eed\u8ba4\u771f\u52aa\u529b\uff0c\u52a9\u529b\u4e8e\u5927\u5bb6\u7684\u68a6\u60f3\u3002\u4e00\u8def\u8d70\u6765\uff0c\u4e5f\u79bb\u4e0d\u5f00\u5927\u5bb6\u5bf9\u6211\u4eec\u7684\u652f\u6301\u3001\u9f13\u52b1\u4e0e\u5efa\u8bae\uff0c\u624d\u80fd\u8ba9\u6211\u4eec\u53d8\u5f97\u66f4\u597d\u3002</p>\n\n<p>\u63a5\u4e0b\u6765\u7684\u8def\uff0c\u6211\u4eec\u8bda\u631a\u9080\u8bf7\u5404\u4f4d V2EXer \u4e0e\u6211\u4eec\u4e00\u8d77\u8d70\u8fc7\uff0c\u89c1\u8bc1\u6211\u4eec\u7684\u53d1\u5c55\uff0c\u4e5f\u80fd\u591a\u63d0\u5efa\u8bae\uff0c\u8ba9\u6211\u4eec\u66f4\u52a0\u5b8c\u5584\u3002</p>\n\n<p>\u8fd9\u4e2a\u8282\u70b9\uff0c\u7559\u7ed9\u6bcf\u4e00\u4e2a\u4eba\uff0c\u53d1\u8868\u4f60\u4eec\u7684\u610f\u89c1\uff0c\u6211\u4eec\u4e5f\u4f1a\u5206\u4eab\u4e00\u4e9b\u6709\u8da3\u7684\u65b0\u9c9c\u4e8b\u3001\u6280\u672f\u5e72\u8d27\u7684\u5206\u4eab\u548c\u5f00\u6e90\u6587\u5316\u3002</p>\n\n<p>\u518d\u6b21\u611f\u8c22\u5927\u5bb6\uff01</p>\n\n<hr>\n\n<p>GitCafe \u56e2\u961f\u81f4\u4e0a</p>\n\n<p>\u6b22\u8fce\u5173\u6ce8\u6211\u4eec\u7684\u5fae\u4fe1\u516c\u4f17\u8d26\u53f7\uff1a<br>\n<img src=\"https://trello-attachments.s3.amazonaws.com/54b87f9beae5bc59d54635b8/430x430/56965f1a517d6b877d2c9d6fbd4edc58/qrcode_for_gh_23324bb4d5ce_430.jpg\" alt=\"Alt text\"></p>\n\n<p>\u4e5f\u53ef\u4ee5\u901a\u8fc7 \u201c\u641c\u7d22 GitCafe\u201d \u5173\u6ce8\u6211\u4eec\u7684\u5fae\u535a\u8d26\u53f7</p>\n", 
      "date_published": "2015-01-16T04:42:13+00:00", 
      "title": "GitCafe \u5165\u4f4f V2EX \u5566\uff0c\u5c0f\u4f19\u4f34\u4eec\u5feb\u6765\u627e\u7ec4\u7ec7\uff01", 
      "id": "https://www.v2ex.com/t/162666"
    }
  ]
}