{
  "version": "https://jsonfeed.org/version/1", 
  "title": "LeanCloud", 
  "description": "\u6700\u597d\u7684\u79fb\u52a8\u5e94\u7528\u5f00\u53d1\u4e00\u7ad9\u5f0f\u670d\u52a1\uff0c\u8ba9\u5c0f\u56e2\u961f\u4e5f\u80fd\u505a\u51fa\u5927\u4ea7\u54c1\u3002", 
  "home_page_url": "https://www.v2ex.com/go/leancloud", 
  "feed_url": "https://www.v2ex.com/feed/leancloud.json", 
  "icon": "https://cdn.v2ex.com/navatar/7c59/0f01/795_large.png?m=1740160934", 
  "favicon": "https://cdn.v2ex.com/navatar/7c59/0f01/795_normal.png?m=1740160934", 
  "items": [
    {
      "author": {
        "url": "https://www.v2ex.com/member/badboy200600", 
        "name": "badboy200600", 
        "avatar": "https://cdn.v2ex.com/avatar/86a7/250f/151776_large.png?m=1775106733"
      }, 
      "url": "https://www.v2ex.com/t/1185041", 
      "title": "LeanCloud \u65e0\u4e86?", 
      "id": "https://www.v2ex.com/t/1185041", 
      "date_published": "2026-01-12T13:10:57+00:00", 
      "content_html": "<p>\u5173\u4e8e LeanCloud \u505c\u6b62\u5bf9\u5916\u63d0\u4f9b\u670d\u52a1\u7684\u901a\u77e5\n\u5c0a\u656c\u7684 LeanCloud \u7528\u6237\uff1a</p>\n<p>\u611f\u8c22\u60a8\u4e00\u76f4\u4ee5\u6765\u5bf9 LeanCloud \u7684\u4fe1\u4efb\u4e0e\u652f\u6301\u3002\u81ea\u5e73\u53f0\u4e0a\u7ebf\u4ee5\u6765\uff0c\u6211\u4eec\u966a\u4f34\u5e76\u89c1\u8bc1\u4e86\u65e0\u6570\u5f00\u53d1\u8005\u7684\u6210\u957f\u4e0e\u521b\u65b0\uff0c\u80fd\u4e0e\u5927\u5bb6\u5171\u540c\u8d70\u8fc7\u8fd9\u5341\u4f59\u5e74\uff0c\u6211\u4eec\u6df1\u611f\u8363\u5e78\u3002</p>\n<p>\u4e3a\u4e86\u56e2\u961f\u80fd\u805a\u7126\u6253\u9020\u66f4\u4f18\u8d28\u7684\u4ea7\u54c1\uff0c\u7ecf\u8fc7\u614e\u91cd\u8003\u8651\uff0c\u6211\u4eec\u51b3\u5b9a\u9010\u6b65\u505c\u6b62 LeanCloud \u7684\u670d\u52a1\u3002</p>\n<p>\u4e3a\u4fdd\u969c\u60a8\u7684\u4e1a\u52a1\u5e73\u7a33\u8fc7\u6e21\uff0c\u6211\u4eec\u5236\u5b9a\u4e86\u4e3a\u671f\u4e00\u5e74\u7684\u540e\u7eed\u670d\u52a1\u53ca\u5584\u540e\u8ba1\u5212\uff0c\u5177\u4f53\u5b89\u6392\u5982\u4e0b\uff1a</p>\n<p>\u529f\u80fd\u51bb\u7ed3\n\u4ece 2026 \u5e74 1 \u6708 12 \u65e5\u8d77\uff1a</p>\n<p>\u505c\u6b62\u65b0\u7528\u6237\u6ce8\u518c\n\u505c\u6b62\u521b\u5efa\u65b0\u7684\u5e94\u7528\uff08 App \uff09\n\u73b0\u6709\u5b58\u91cf\u5e94\u7528\u5728\u6b63\u5f0f\u505c\u6b62\u670d\u52a1\u524d\uff0c\u4ecd\u53ef\u7ee7\u7eed\u6b63\u5e38\u4f7f\u7528\u3002</p>\n<p>\u6b63\u5f0f\u505c\u6b62\u670d\u52a1\u65f6\u95f4\u8868\n\u6b63\u5f0f\u505c\u6b62\u670d\u52a1\u65f6\u95f4\uff1a\u81ea\u672c\u516c\u544a\u53d1\u5e03\u4e4b\u65e5\u8d77\u6ee1\u4e00\u5e74\uff0c\u5373 2027 \u5e74 1 \u6708 12 \u65e5\u3002</p>\n<p>\u5c4a\u65f6\uff0c\u5e73\u53f0\u5c06\u6b63\u5f0f\u5173\u95ed\u6240\u6709\u9762\u5411\u516c\u4f17\u7684\u670d\u52a1\uff0c\u5305\u62ec\u5e94\u7528\u8bbf\u95ee\u3001\u6570\u636e\u8bfb\u5199\u3001API \u8c03\u7528\u3001\u63a7\u5236\u53f0\u4f7f\u7528\u7b49\u3002</p>\n"
    }, 
    {
      "author": {
        "url": "https://www.v2ex.com/member/Stendan", 
        "name": "Stendan", 
        "avatar": "https://cdn.v2ex.com/gravatar/f9de90ec72bec48eda14ec2131b181f8?s=73&d=retro"
      }, 
      "url": "https://www.v2ex.com/t/867289", 
      "title": "8 \u6708 1 \u65e5\u8d77\uff0c LeanCloud \u56fd\u9645\u7248\u5171\u4eab\u57df\u540d\u4e0d\u518d\u5411\u4e2d\u56fd\u5927\u9646\u63d0\u4f9b\u670d\u52a1", 
      "id": "https://www.v2ex.com/t/867289", 
      "date_published": "2022-07-19T07:37:51+00:00", 
      "content_html": "<p>valine gg \u4e86</p>\n"
    }, 
    {
      "author": {
        "url": "https://www.v2ex.com/member/lovepplforever", 
        "name": "lovepplforever", 
        "avatar": "https://cdn.v2ex.com/gravatar/2b0f0fddd095190dbcf2850407eeaab9?s=73&d=retro"
      }, 
      "url": "https://www.v2ex.com/t/866516", 
      "title": "LeanCloud \u51c9\u4e86\u5417\uff1f", 
      "id": "https://www.v2ex.com/t/866516", 
      "date_published": "2022-07-15T12:32:00+00:00", 
      "content_html": ""
    }, 
    {
      "author": {
        "url": "https://www.v2ex.com/member/adjusted", 
        "name": "adjusted", 
        "avatar": "https://cdn.v2ex.com/avatar/f0b5/7183/15707_large.png?m=1614095986"
      }, 
      "url": "https://www.v2ex.com/t/768350", 
      "title": "LeanCloud \u5c06\u52a0\u5165\u5fc3\u52a8/TapTap", 
      "id": "https://www.v2ex.com/t/768350", 
      "date_published": "2021-04-06T05:12:50+00:00", 
      "content_html": "<p><a href=\"https://leancloudblog.com/new-chapter\" rel=\"nofollow\">https://leancloudblog.com/new-chapter</a></p>\n"
    }, 
    {
      "author": {
        "url": "https://www.v2ex.com/member/moshou", 
        "name": "moshou", 
        "avatar": "https://cdn.v2ex.com/avatar/e5e9/37a8/175875_large.png?m=1737987913"
      }, 
      "url": "https://www.v2ex.com/t/750546", 
      "date_modified": "2021-02-02T17:49:05+00:00", 
      "content_html": "<p>\u6211\u81ea\u5df1\u7684\u540e\u7aef\u670d\u52a1\u548c\u524d\u7aef\u4e00\u4e9b\u76f8\u5173 SDK \u4e00\u76f4\u4f7f\u7528\u7684\u662f LeanCloud \u63d0\u4f9b\u7684\u3002</p>\n<p>\u4e0a\u5468\u53d1\u5e03\u65b0\u7248\u672c\u540e\uff0c\u53d1\u73b0 App \u51fa\u73b0\u4e00\u4e2a bug\uff0c\u7528\u6237\u767b\u5f55\u540e\uff0ckill \u6389 App\uff0c\u518d\u6b21\u6253\u5f00 App \u9700\u8981\u91cd\u65b0\u767b\u5f55\u3002</p>\n<p>\u8fd9\u4e2a bug \u6211\u627f\u8ba4\u662f\u6211\u6d4b\u8bd5\u4e0d\u5230\u4f4d\u5bfc\u81f4\u6d41\u5165\u7ebf\u4e0a\u7684\uff0c\u4f46\u662f\u6392\u67e5\u95ee\u9898\u540e\uff0c\u53d1\u73b0\u662f LeanCloud \u63d0\u4f9b\u7684 SDK \u4e2d\u7684 bug\uff0c\u63d0\u4ea4\u5de5\u5355\u548c\u4ed6\u4eec\u7684\u5de5\u4f5c\u4eba\u5458\u4e00\u8d77\u786e\u8ba4\u4e86\u8fd9\u4e2a\u95ee\u9898\u7684\u786e\u662f LeanCloud \u63d0\u4f9b\u7684\u3002</p>\n<p><img alt=\"image.png\" class=\"embedded_image\" loading=\"lazy\" referrerpolicy=\"no-referrer\" rel=\"noreferrer\" src=\"https://i.loli.net/2021/02/02/o7DdM6fIrLRZqts.png\"/></p>\n<hr/>\n<p>\u786e\u8ba4\u95ee\u9898\u540e\uff0c\u6211\u5c31\u54a8\u8be2\u4e86\u4e0b\u8d54\u507f\u7684\u4e8b\u5b9c\uff0c\u4f5c\u4e3a\u987e\u5ba2\uff0c\u6211\u80af\u5b9a\u5e0c\u671b\u5f97\u5230\u4e00\u4e9b\u8d54\u507f\u3002</p>\n<p>\u7136\u540e\u4ed6\u4eec\u7684\u7b54\u590d\u662f\u6839\u636e SDK \u7684\u4f7f\u7528\u534f\u8bae\uff0c\u662f\u6ca1\u6709\u4efb\u4f55\u8d54\u507f\u7684\u3002</p>\n<p><img alt=\"image.png\" class=\"embedded_image\" loading=\"lazy\" referrerpolicy=\"no-referrer\" rel=\"noreferrer\" src=\"https://i.loli.net/2021/02/02/H6jg1CTGIbmzES2.png\"/></p>\n<hr/>\n<p>\u5f53\u7136\u6211\u89c9\u5f97\u6709\u534f\u8bae\u5728\u5148\uff0c\u4e0d\u8d54\u507f\u4e5f\u662f\u7406\u89e3\u7684\uff0c\u6211\u53ea\u662f\u602a\u6211\u5f53\u521d\u4f7f\u7528\u7684\u65f6\u5019\u6ca1\u9605\u8bfb\u534f\u8bae\u3002</p>\n<p>\u53d1\u8fd9\u4e2a\u5e16\u5b50\u4e5f\u662f\u5206\u4eab\u4e0b\u81ea\u5df1\u5728\u8fd9\u91cc\u8e29\u7684\u5751\uff0c\u5927\u5bb6\u5728\u4f7f\u7528\u76f8\u5173\u670d\u52a1\u65f6\u5019\uff0c\u591a\u8bfb\u8bfb\u534f\u8bae\u3002</p>\n", 
      "date_published": "2021-02-02T03:20:53+00:00", 
      "title": "\u5173\u4e8e\u6211\u5728\u4f7f\u7528 LeanCloud \u65f6\u5019\u9047\u5230\u7684\u7684\u4e00\u4e9b\u60c5\u51b5\u5206\u4eab", 
      "id": "https://www.v2ex.com/t/750546"
    }, 
    {
      "author": {
        "url": "https://www.v2ex.com/member/omi4399", 
        "name": "omi4399", 
        "avatar": "https://cdn.v2ex.com/avatar/7e81/45ab/64899_large.png?m=1720167908"
      }, 
      "url": "https://www.v2ex.com/t/619797", 
      "date_modified": "2019-11-15T03:04:00+00:00", 
      "content_html": "\u6240\u6709\u670d\u52a1\u5168\u6302\uff0c\u4e3b\u7ad9\u548c\u5de5\u5355\u4e5f\u8fdb\u4e0d\u53bb\u4e86 = =<br /><a target=\"_blank\" href=\"/i/dO8YP3Hul.png\" rel=\"nofollow\" target=\"_blank\" title=\"\u5728\u65b0\u7a97\u53e3\u6253\u5f00\u56fe\u7247 dO8YP3Hul.png\"><img src=\"//i.v2ex.co/dO8YP3Hul.png\" class=\"embedded_image\"></a>", 
      "date_published": "2019-11-15T03:02:31+00:00", 
      "title": "Leancloud \u53c8\u53cc\u53d2\u53d5\u6302\u4e86\uff0c\u70b8\u7ad9\u4e86", 
      "id": "https://www.v2ex.com/t/619797"
    }, 
    {
      "author": {
        "url": "https://www.v2ex.com/member/paloalto", 
        "name": "paloalto", 
        "avatar": "https://cdn.v2ex.com/avatar/ea8f/cd92/1380_large.png?m=1755097894"
      }, 
      "url": "https://www.v2ex.com/t/596283", 
      "date_modified": "2019-08-29T09:28:58+00:00", 
      "content_html": "<a target=\"_blank\" href=\"/i/qWXKs58R.png\" rel=\"nofollow\" target=\"_blank\" title=\"\u5728\u65b0\u7a97\u53e3\u6253\u5f00\u56fe\u7247 qWXKs58R.png\"><img src=\"//i.v2ex.co/qWXKs58R.png\" class=\"embedded_image\"></a><br /><br /><br /><a target=\"_blank\" href=\"/i/xfH2w510.png\" rel=\"nofollow\" target=\"_blank\" title=\"\u5728\u65b0\u7a97\u53e3\u6253\u5f00\u56fe\u7247 xfH2w510.png\"><img src=\"//i.v2ex.co/xfH2w510.png\" class=\"embedded_image\"></a><br /><br /><br />\u662f\u6ca1\u8003\u8651\u6c47\u7387\u5bfc\u81f4\u7684 bug \u8fd8\u662f\u7279\u610f\u8fd9\u4e48\u8bbe\u8ba1\u7684 feature?", 
      "date_published": "2019-08-29T09:27:34+00:00", 
      "title": "\u4e3a\u4ec0\u4e48 LeanCloud \u4e2d\u56fd\u7248\u4e91\u5f15\u64ce\u7684\u6807\u51c6\u7248\u5b9e\u4f8b\u4ef7\u683c\u662f \uffe5 1/\u5929\uff0c\u56fd\u9645\u7248\u7684\u662f $1/\u5929\uff1f", 
      "id": "https://www.v2ex.com/t/596283"
    }, 
    {
      "author": {
        "url": "https://www.v2ex.com/member/bgm004", 
        "name": "bgm004", 
        "avatar": "https://cdn.v2ex.com/avatar/56f7/577e/364273_large.png?m=1718931843"
      }, 
      "url": "https://www.v2ex.com/t/590872", 
      "date_modified": "2020-06-17T09:53:33+00:00", 
      "content_html": "<p>\u96be\u53d7\u554a\uff0c\u521a\u521a\u6536\u5230 leancloud \u7684\u901a\u77e5\u90ae\u4ef6\u3002\u5f3a\u5236\u6240\u6709\u5e94\u7528\u7ed1\u5b9a\u57df\u540d\u3002</p>\n<p>\u53ea\u80fd gitment \u548c disqus\uff0c2 \u9009\u4e00\u4e86\u3002</p>\n", 
      "date_published": "2019-08-11T01:24:47+00:00", 
      "title": "leancloud \u5f3a\u5236\u7ed1\u5b9a\u57df\u540d\uff0c valine \u6ca1\u5f97\u73a9\u4e86", 
      "id": "https://www.v2ex.com/t/590872"
    }, 
    {
      "author": {
        "url": "https://www.v2ex.com/member/dustin2016", 
        "name": "dustin2016", 
        "avatar": "https://cdn.v2ex.com/avatar/2a0d/05de/181553_large.png?m=1659600027"
      }, 
      "url": "https://www.v2ex.com/t/576817", 
      "date_modified": "2019-06-24T02:35:35+00:00", 
      "content_html": "<p>\u6302\u4e86\u597d\u51e0\u6b21\u4e86</p>\n<p>\u6240\u8c13\u7684 serverLess \u8fd9\u4e48\u4e0d\u9760\u8c31\u5417\uff1f</p>\n<p>\u521a\u51c6\u5907\u4e0a\u8f66\uff0c\u5c31\u7ffb\u8f66\u4e86</p>\n<p>\u4f59\u989d\u5462?</p>\n<p><img src=\"https://file.smallzhiyun.com/Snipaste_2019-06-24_10-27-03.png\" alt=\"\"></p>\n", 
      "date_published": "2019-06-24T02:35:06+00:00", 
      "title": "Leancloud \u53c8\u6302\u4e86", 
      "id": "https://www.v2ex.com/t/576817"
    }, 
    {
      "author": {
        "url": "https://www.v2ex.com/member/erDaren", 
        "name": "erDaren", 
        "avatar": "https://cdn.v2ex.com/avatar/abbf/c0d2/108879_large.png?m=1560824596"
      }, 
      "url": "https://www.v2ex.com/t/576307", 
      "date_modified": "2019-06-21T15:58:20+00:00", 
      "content_html": "<a target=\"_blank\" href=\"https://blog.avoscloud.com/6812/\" rel=\"nofollow\">https://blog.avoscloud.com/6812/</a>", 
      "date_published": "2019-06-21T13:15:50+00:00", 
      "title": "\u8fd9\u56de Leancloud \u57df\u540d\u88ab\u9501\u5b9a\u5230\u5e95\u662f\u56e0\u4e3a\u5565", 
      "id": "https://www.v2ex.com/t/576307"
    }, 
    {
      "author": {
        "url": "https://www.v2ex.com/member/TangMonk", 
        "name": "TangMonk", 
        "avatar": "https://cdn.v2ex.com/avatar/c5f1/ae9e/55793_large.png?m=1644466105"
      }, 
      "url": "https://www.v2ex.com/t/576082", 
      "title": "Leancloud \u6302\u4e86", 
      "id": "https://www.v2ex.com/t/576082", 
      "date_published": "2019-06-21T01:51:40+00:00", 
      "content_html": "\u8fd8\u6ca1\u6062\u590d"
    }, 
    {
      "author": {
        "url": "https://www.v2ex.com/member/jankerli", 
        "name": "jankerli", 
        "avatar": "https://cdn.v2ex.com/gravatar/1b7ef78dfab957d200d7272ac481de85?s=73&d=retro"
      }, 
      "url": "https://www.v2ex.com/t/401111", 
      "title": "LeanCloud \u600e\u4e48\u4f7f\u7528 JavaScript \u7684 API \u4fdd\u5b58\u5bcc\u6587\u672c\uff1f", 
      "id": "https://www.v2ex.com/t/401111", 
      "date_published": "2017-10-27T01:35:28+00:00", 
      "content_html": "<p>\u6587\u6863\u91cc\u8bf4 AVObject \u6709\u5927\u5c0f\u9650\u5236\uff0c\u6240\u4ee5\u8d85\u8fc7 128 KB \u7684\u6570\u636e\u4e0d\u80fd\u76f4\u63a5\u5b58\u50a8\u5230 AVObject \u91cc\u9762\uff0c\u53ef\u4ee5\u4f7f\u7528\u300c AVFile \u300d\u6587\u4ef6\u7c7b\u578b\u6765\u5b58\u50a8\uff0c\u4f46\u662f\u4e00\u76f4\u6ca1\u627e\u5230\u5982\u4f55\u628a\u5185\u5bb9\uff08\u6587\u5b57\u548c\u56fe\u7247\u94fe\u63a5\uff09\u5b58\u50a8\u7684\u529e\u6cd5\u3002\u6587\u6863\u91cc\u7684 demo \u90fd\u662f\u5982\u4f55\u4e0a\u4f20\u56fe\u7247\u6587\u4ef6\u7684\u3002\u5728\u8fd9\u91cc\u8bf7\u6559\u4e0b\u5404\u4f4d\u4e86\uff01</p>\n"
    }, 
    {
      "author": {
        "url": "https://www.v2ex.com/member/NemoAlex", 
        "name": "NemoAlex", 
        "avatar": "https://cdn.v2ex.com/avatar/f51d/c802/7746_large.png?m=1680446277"
      }, 
      "url": "https://www.v2ex.com/t/388724", 
      "date_modified": "2017-09-06T11:34:54+00:00", 
      "content_html": "\u6700\u8fd1\u505a\u4e86\u5f88\u591a\u5c0f\u578b\u7684\u6d3b\u52a8\uff0c\u5f80\u5f80\u662f\u7528\u6237\u4f1a\u4ea7\u751f\u4e00\u4e9b\u6570\u636e\uff0c\u4f8b\u5982\u62a5\u540d\uff0c\u63d0\u4ea4\u4e00\u4e2a\u8868\u5355\u4e4b\u7c7b\u7684\u3002\r<br />\u8fd9\u79cd\u7b80\u5355\u7684\u9700\u6c42\u7528 LeanCloud \u6765\u5b9e\u73b0\u662f\u975e\u5e38\u65b9\u4fbf\u7684\u3002\u4e0d\u7528\u5199\u540e\u7aef\u4ee3\u7801\uff0c\u4e0d\u7528\u90e8\u7f72\u540e\u7aef\u5e94\u7528\uff0c\u628a\u8fd0\u8425\u4eba\u5458\u7684\u8d26\u53f7\u52a0\u5165\u5230\u534f\u4f5c\uff0c\u4ed6\u4eec\u5c31\u53ef\u4ee5\u968f\u65f6\u67e5\u770b\u6570\u636e\u4e86\uff0c\u751a\u81f3\u90fd\u4e0d\u7528\u5199\u7ba1\u7406\u754c\u9762\u4e86\u3002\r<br />\u7f8e\u4e2d\u4e0d\u8db3\u7684\u662f\uff0cLeanCloud \u7684\u6570\u636e\u5b58\u50a8\u7ba1\u7406\u754c\u9762\u9762\u5411\u7684\u7528\u6237\u7fa4\u4f53\u8fd8\u662f\u4ee5\u5f00\u53d1\u8005\u4e3a\u4e3b\uff0c\u8fd0\u8425\u7684\u540c\u5b66\u7528\u8d77\u6765\u4f1a\u4e0d\u592a\u987a\u624b\u3002\r<br />\u53e6\u5916\u4e00\u4e2a\u9700\u6c42\u5c31\u662f\u5bfc\u51fa\u6570\u636e\u5230 Excel\uff0c\u8fd0\u8425\u540c\u5b66\u5bf9\u4e8e Excel \u7684\u4f7f\u7528\u8fd8\u662f\u5f97\u5fc3\u5e94\u624b\u7684\u3002\r<br />\r<br />\u4e8e\u662f\u5c31\u6709\u4e86\u8fd9\u4e2a\u5de5\u5177\uff1a\r<br /><a target=\"_blank\" href=\"https://github.com/ROYL-Design/leanstorage-exporter\" rel=\"nofollow\">https://github.com/ROYL-Design/leanstorage-exporter</a>\r<br />Demo \u653e\u5728 Github Pages \u4e0a\uff1a\r<br /><a target=\"_blank\" href=\"https://royl-design.github.io/leanstorage-exporter/\" rel=\"nofollow\">https://royl-design.github.io/leanstorage-exporter/</a>\r<br />\r<br />\u53ef\u4ee5\u67e5\u8be2 LeanStorage \u7684\u6570\u636e\uff0c\u5e76\u4e14\u5bfc\u51fa\u4e3a Excel\u3001CSV \u7b49\u683c\u5f0f\u7684\u6587\u4ef6\u3002\r<br />\u4f60\u53ef\u4ee5\u76f4\u63a5\u4f7f\u7528 Demo\uff0c\u6216\u8005\u90e8\u7f72\u5728\u672c\u5730\uff0c\u53c8\u6216\u8005\u81ea\u5df1\u7684\u670d\u52a1\u5668\u4e0a\u3002\r<br />\u4f7f\u7528 Vue.js + SheetJS\uff0c100%\u524d\u7aef\u5b9e\u73b0\uff0c100%\u5f00\u6e90\uff0c\u65e0\u9700\u62c5\u5fc3\u6570\u636e\u98ce\u9669\u3002\r<br />\u5e0c\u671b\u53ef\u4ee5\u5e2e\u5230\u5927\u5bb6\u3002", 
      "date_published": "2017-09-06T11:30:06+00:00", 
      "title": "\u505a\u4e86\u4e00\u4e2a LeanCloud \u6570\u636e\u5b58\u50a8\u7684\u5bfc\u51fa\u5de5\u5177", 
      "id": "https://www.v2ex.com/t/388724"
    }, 
    {
      "author": {
        "url": "https://www.v2ex.com/member/TangMonk", 
        "name": "TangMonk", 
        "avatar": "https://cdn.v2ex.com/avatar/c5f1/ae9e/55793_large.png?m=1644466105"
      }, 
      "url": "https://www.v2ex.com/t/370665", 
      "title": "Leancloud \u7684\u4ef7\u683c\u65b9\u6848\u662f\u4e0d\u662f\u6709\u70b9\u4e0d\u5408\u7406\u554a", 
      "id": "https://www.v2ex.com/t/370665", 
      "date_published": "2017-06-23T11:44:00+00:00", 
      "content_html": "<p>\u4e00\u5929 30\u00a5\u8fd8\u662f\u6709\u70b9\u8d35\u554a</p>\n"
    }, 
    {
      "author": {
        "url": "https://www.v2ex.com/member/hjiang", 
        "name": "hjiang", 
        "avatar": "https://cdn.v2ex.com/avatar/e43a/5db4/23827_large.png?m=1757052635"
      }, 
      "url": "https://www.v2ex.com/t/368684", 
      "date_modified": "2017-06-15T12:28:48+00:00", 
      "content_html": "<p>\u7b80\u5355\u5730\u8bf4\u6211\u4eec\u53d1\u5e03\u4e86\u4e00\u4e2a\u5728\u5ba2\u6237\u7aef\u8ba2\u9605\u6ee1\u8db3\u7279\u5b9a\u6761\u4ef6\u7684\u6570\u636e\u53d8\u5316\u7684 API\uff0c\u8be6\u60c5\u89c1\uff1a\n<a href=\"https://blog.leancloud.cn/5916/\" rel=\"nofollow\">https://blog.leancloud.cn/5916/</a></p>\n<p>\u8fd9\u5bf9\u4e8e\u9700\u8981\u5b9e\u73b0\u5b9e\u65f6\u534f\u4f5c\u3001\u5b9e\u65f6\u901a\u77e5\u7b49\u529f\u80fd\u7684\u5e94\u7528\u5f88\u6709\u7528\u3002</p>\n", 
      "date_published": "2017-06-15T10:27:41+00:00", 
      "title": "LeanCloud \u53d1\u5e03\u4e86\u591a\u5ba2\u6237\u7aef\u5b9e\u65f6\u540c\u6b65\u6570\u636e\u7684\u529f\u80fd\uff0c\u6b22\u8fce\u8bd5\u7528", 
      "id": "https://www.v2ex.com/t/368684"
    }, 
    {
      "author": {
        "url": "https://www.v2ex.com/member/wuyazi", 
        "name": "wuyazi", 
        "avatar": "https://cdn.v2ex.com/avatar/f103/7e48/26272_large.png?m=1369188749"
      }, 
      "url": "https://www.v2ex.com/t/359411", 
      "title": "\u5982\u4f55\u5728 LeanCloud \u5f00\u901a cdn \u52a0\u901f", 
      "id": "https://www.v2ex.com/t/359411", 
      "date_published": "2017-05-05T10:17:38+00:00", 
      "content_html": "\u7533\u8bf7 cdn \u52a0\u901f\u9700\u8981\u5f00\u901a\u5546\u4e1a\u7248\uff0c\u6709\u5907\u6848\u57df\u540d\uff0c\u5982\u679c\u662f iPhone \u5e94\u7528\uff0c\u6700\u597d\u5f00\u901a https\u3002\r<br />\u8fd9\u91cc\u6709\u7533\u8bf7\u90ae\u7bb1\uff1a <a target=\"_blank\" href=\"https://forum.leancloud.cn/t/cdn/14318\" rel=\"nofollow\">https://forum.leancloud.cn/t/cdn/14318</a>\r<br />\r<br />LeanCloud \u7684\u5907\u6848\u6d41\u7a0b\u5927\u6982\u662f\uff1a\u521d\u5ba1-\u7533\u8bf7\u5e55\u5e03-\u4e0a\u4f20\u7167\u7247-\u90ae\u5bc4\u8d44\u6599-\u590d\u5ba1-\u63d0\u4ea4\r<br />\u5176\u5b9e\u4f60\u5728\u4e0a\u6d77\u6216\u5317\u4eac\u7684\u8bdd\uff0c\u521d\u5ba1\u540e\u6709\u4e2a\u5730\u5740\u4f60\u76f4\u63a5\u53bb\u5c31\u884c\uff0c\u6211\u53bb\u7684\u662f Ucloud\u3002\u7136\u540e\u76f4\u63a5\u5230\u590d\u5ba1\uff0c\u4f1a\u7701\u6389\u4e0d\u5c11\u65f6\u95f4\u3002\r<br />\r<br />\u5907\u6848\u7684\u540c\u65f6\u7533\u8bf7 ssl \u8bc1\u4e66\uff0c\u6211\u7528\u7684\u662f <a target=\"_blank\" href=\"https://www.aliyun.com/product/cas\" rel=\"nofollow\">https://www.aliyun.com/product/cas</a> \u514d\u8d39\u7248\r<br />\r<br />\u8d70\u4e86\u4e0d\u5c11\u5f2f\u8def\uff0c\u6298\u817e\u4e86\u534a\u4e2a\u591a\u6708\uff0c\u5e0c\u671b\u540e\u6765\u8005\u4e0d\u8981\u8e29\u5751\u3002"
    }, 
    {
      "author": {
        "url": "https://www.v2ex.com/member/TangMonk", 
        "name": "TangMonk", 
        "avatar": "https://cdn.v2ex.com/avatar/c5f1/ae9e/55793_large.png?m=1644466105"
      }, 
      "url": "https://www.v2ex.com/t/343990", 
      "date_modified": "2017-03-01T08:06:37+00:00", 
      "content_html": "<p>leancloud \u6d4b\u8bd5\u5e76\u53d1\u5982\u4e0b, \u5e26\u6570\u636e\u5e93\u67e5\u8be2\uff1a</p>\n<pre><code>Running 10s test @ http://xxxx.leanapp.cn/?id=58b62dfa61ff4b006ccc0113\n  12 threads and 100 connections\n  Thread Stats   Avg      Stdev     Max   +/- Stdev\n    Latency   172.36ms  159.26ms   1.37s    80.84%\n    Req/Sec    54.37     21.85   128.00     63.17%\n  6459 requests in 10.09s, 9.06MB read\n  Non-2xx or 3xx responses: 4756\nRequests/sec:    640.04\nTransfer/sec:      0.90MB\n</code></pre>\n<p>\u963f\u91cc\u4e91\u7684\u5e76\u53d1\u6d4b\u8bd5, 1 \u6838 1G \u6700\u4f4e\u914d, \u4e0d\u5e26\u6570\u636e\u5e93\u67e5\u8be2:</p>\n<pre><code>Running 10s test @ http://xxx.76.215.104:3000/\n  12 threads and 100 connections\n  Thread Stats   Avg      Stdev     Max   +/- Stdev\n    Latency   312.36ms  139.82ms   1.89s    92.13%\n    Req/Sec    21.15     11.70    70.00     63.86%\n  2007 requests in 10.10s, 0.94MB read\n  Socket errors: connect 0, read 0, write 0, timeout 43\nRequests/sec:    198.80\nTransfer/sec:     95.13KB\n</code></pre>\n<p><img alt=\"\" src=\"http://ww2.sinaimg.cn/large/006cjvqUgy1fd75338e90j30ev05o0su.jpg\"></p>\n<p>0.5 CPU \u5177\u4f53\u662f\u4ec0\u4e48\u914d\u7f6e</p>\n", 
      "date_published": "2017-03-01T02:45:02+00:00", 
      "title": "LeanCloud \u7684\u4e91\u5f15\u64ce\u662f\u4ec0\u4e48\u914d\u7f6e\uff0c\u4e3a\u4ec0\u4e48\u514d\u8d39\u7248\u7684\u6027\u80fd\u8fd8\u6bd4\u963f\u91cc\u4e91\u7684\u6700\u4f4e\u914d\u8981\u5feb\uff1f", 
      "id": "https://www.v2ex.com/t/343990"
    }, 
    {
      "author": {
        "url": "https://www.v2ex.com/member/dibage", 
        "name": "dibage", 
        "avatar": "https://cdn.v2ex.com/avatar/55e5/5042/167132_large.png?m=1484730652"
      }, 
      "url": "https://www.v2ex.com/t/332311", 
      "title": "\u6709\u6ca1\u6709 leancloud \u4ee3\u66ff\u65b9\u6848\u6216\u5f00\u6e90\u4ea7\u54c1\u63a8\u8350\uff1f", 
      "id": "https://www.v2ex.com/t/332311", 
      "date_published": "2017-01-05T01:54:15+00:00", 
      "content_html": "<p>RT</p>\n<p>\u6700\u8fd1 leancloud \u8c03\u6574\u4e86\u6536\u8d39\u653f\u7b56\uff0c\u8981\u4e48\u7528\u514d\u8d39\u4f46\u8d44\u6e90\u5c11\u7684\u5f00\u53d1\u7248\uff0c\u8981\u4e48\u6bcf\u4e2a\u6708 900 \u7528\u5546\u4e1a\u7248\uff5e\n\u5f88\u5947\u602a\u4e3a\u4ec0\u4e48\u4e0d\u518d\u589e\u52a0\u4e00\u4e2a\u5f39\u6027\u8ba1\u7b97\u7248\uff1f@LeanCloud</p>\n<p>\u6240\u4ee5\u5728\u6b64\u95ee\u95ee\u5927\u5bb6\u6709\u6ca1\u6709\u7c7b\u4f3c\u7684\u5e73\u53f0\u63a8\u8350\uff1f\u6216\u8005\u6e90\u7801\u4e5f\u662f\u6781\u597d\u7684\u3002</p>\n<p>\u8981\u6c42\u4e0d\u591a\uff0c\u6709\u7528\u6237\u7ba1\u7406\u4ee5\u53ca\u6570\u636e\u5b58\u50a8\u529f\u80fd\u5373\u53ef\uff08\u5305\u62ec\u6570\u636e\u5b58\u53d6\u65f6\u7684\u7528\u6237\u6743\u9650\u63a7\u5236</p>\n<p>\u8c22\u8c22\u5927\u5bb6\ud83d\ude4f</p>\n"
    }, 
    {
      "author": {
        "url": "https://www.v2ex.com/member/LeanCloudRRY", 
        "name": "LeanCloudRRY", 
        "avatar": "https://cdn.v2ex.com/avatar/278f/c5d5/103427_large.png?m=1430102721"
      }, 
      "url": "https://www.v2ex.com/t/293423", 
      "title": "\u56fd\u5185\u77ed\u4fe1\u4ef7\u683c\u4e0b\u8c03 17%\uff0c 2016 \u5e74 7 \u6708 5 \u65e5\u96f6\u65f6\u751f\u6548", 
      "id": "https://www.v2ex.com/t/293423", 
      "date_published": "2016-07-19T04:01:56+00:00", 
      "content_html": "<p><img alt=\"\" src=\"https://blog.leancloud.cn/wp-content/uploads/2016/06/sms-discount.png\"></p>\n<p>\u81ea 2016 \u5e74 7 \u6708 5 \u65e5\u5468\u4e8c\u96f6\u65f6\u8d77\uff0c\u901a\u8fc7 LeanCloud \u53d1\u9001\u56fd\u5185\u6587\u672c\u77ed\u4fe1\u7684\u4ef7\u683c\u5c06\u4ece\u6bcf\u6761 0.06 \u5143\u4e0b\u8c03\u81f3 0.05 \u5143\uff0c\u964d\u5e45\u8fbe\u5230 17%\u3002</p>\n<p>\u8fd9\u662f\u5728\u6211\u4eec\u4e0e\u6e20\u9053\u670d\u52a1\u5546\u7684\u5171\u540c\u52aa\u529b\u4e0b\u8fdb\u4e00\u6b65\u4f18\u5316\u4e86\u901a\u9053\u6210\u672c\u7684\u7ed3\u679c\uff0c\u6211\u4eec\u613f\u610f\u8ba9 LeanCloud \u7528\u6237\u4eab\u53d7\u7531\u6b64\u5e26\u6765\u7684\u4ef7\u683c\u4f18\u60e0\u3002</p>\n<p>\u77ed\u4fe1\u53d1\u9001\u8bb0\u5f55\u53ef\u4ee5\u5728 <a href=\"https://leancloud.cn/applist.html#/apps\" rel=\"nofollow\">\u5e94\u7528\u63a7\u5236\u53f0</a> &gt; <strong>\u6d88\u606f</strong> &gt; <strong>\u77ed\u4fe1</strong> \u4e2d\u67e5\u8be2\uff0c\u77ed\u4fe1\u8d39\u7528\u4f1a\u5728\u90ae\u4ef6\u8d26\u5355\u4e2d\u5217\u51fa\u3002\u5982\u679c\u6709\u4efb\u4f55\u7591\u95ee\uff0c\u8bf7\u8054\u7cfb <a href=\"mailto:support@leancloud.cn\">support@leancloud.cn</a>\u3002</p>\n"
    }, 
    {
      "author": {
        "url": "https://www.v2ex.com/member/LeanCloudRRY", 
        "name": "LeanCloudRRY", 
        "avatar": "https://cdn.v2ex.com/avatar/278f/c5d5/103427_large.png?m=1430102721"
      }, 
      "url": "https://www.v2ex.com/t/280917", 
      "title": "LeanCloud \u548c\u963f\u91cc\u4e91\u5230\u5e95\u6709\u4ec0\u4e48\u533a\u522b\uff1f", 
      "id": "https://www.v2ex.com/t/280917", 
      "date_published": "2016-05-24T07:34:19+00:00", 
      "content_html": "<p><img alt=\"\" src=\"https://blog.leancloud.cn/wp-content/uploads/2016/05/68ade2e65311e998714f53999c925fb0-625x347.jpg\"></p>\n<p>\u4e0d\u662f\u5f88\u4e86\u89e3<a href=\"http://leancloud.cn\" rel=\"nofollow\"> LeanCloud </a>\u7684\u5f00\u53d1\u8005\u7ecf\u5e38\u4f1a\u95ee\u300c LeanCloud \u4e0e\u5df2\u6709\u7684\u5f88\u591a\u4e91\u670d\u52a1\u6709\u4ec0\u4e48\u533a\u522b\u5462\uff1f\u300d\u4e0b\u9762\u6211\u4eec\u5c31\u4ee5\u56fd\u5185\u6bd4\u8f83\u6709\u4ee3\u8868\u6027\u7684\u963f\u91cc\u4e91\u4e3a\u4f8b\uff0c\u8ddf\u6211\u4eec\u505a\u4e0b\u5bf9\u6bd4\u3002</p>\n<h2>\u4ea7\u54c1\u7684\u533a\u522b</h2>\n<p>\u8fdb\u5165\u963f\u91cc\u4e91\u7f51\u7ad9\u53ef\u4ee5\u770b\u5230\u963f\u91cc\u4e91\u7684\u4ea7\u54c1\u4ecb\u7ecd\u3002\u4ea7\u54c1\u5217\u8868\u6709\u5f39\u6027\u8ba1\u7b97\u3001\u6570\u636e\u5e93\u3001\u5b58\u50a8\u4e0e CDN \u3001\u7f51\u7edc\u3001\u5927\u89c4\u6a21\u8ba1\u7b97\u3001\u4e91\u76fe\u3001\u7ba1\u7406\u4e0e\u76d1\u63a7\u3001\u5e94\u7528\u670d\u52a1\u3001\u4e92\u8054\u7f51\u4e2d\u95f4\u4ef6\u3001\u79fb\u52a8\u670d\u52a1\u3001\u57df\u540d\u4e0e\u7f51\u7ad9\u7b49\uff0c\u6bcf\u4e2a\u9009\u9879\u4e0b\u9762\u53c8\u6709\u975e\u5e38\u591a\u7684\u5b50\u4ea7\u54c1\u5217\u8868\uff0c\u63d0\u4f9b\u7684\u670d\u52a1\u79cd\u7c7b\u7e41\u591a\u3002\u4e2a\u4eba\u611f\u89c9\u51e0\u4e4e\u5f00\u53d1\u4e2d\u9700\u8981\u4f7f\u7528\u7684\u670d\u52a1\u5668\u4ea7\u54c1\uff0c\u963f\u91cc\u4e91\u5e94\u8be5\u90fd\u63d0\u4f9b\u4e86\u3002\u8fd9\u4e9b\u4ea7\u54c1\u66f4\u504f\u5411\u4e8e\u8f83\u5e95\u5c42\u7684\u670d\u52a1\uff0c\u7528\u6237\u8981\u60f3\u4f7f\u7528\u8d77\u6765\u9700\u8981\u5177\u5907\u4e00\u5b9a\u7684\u80fd\u529b\u3002</p>\n<p><img alt=\"\u963f\u91cc\u4e91\u5b98\u7f51\u90e8\u5206\u622a\u56fe\" src=\"https://blog.leancloud.cn/wp-content/uploads/2016/05/2842285608ad9ad6450436eb121be2bf-625x238.png\"></p>\n<p>LeanCloud \u5219\u5b8c\u5168\u4e0d\u540c\u3002\u5b83\u63d0\u4f9b\u4e86\u56db\u9879\u4ea7\u54c1\uff0c\u5206\u522b\u662f LeanStorage \uff08\u6570\u636e\u3001\u6587\u4ef6\u5b58\u50a8\u53ca\u4e91\u5f15\u64ce\uff09\u3001 LeanMessage \uff08\u77ed\u4fe1\u3001\u63a8\u9001\u53ca\u5b9e\u65f6\u901a\u8baf\u670d\u52a1\uff09\u3001 LeanAnalytics \uff08\u7edf\u8ba1\u5206\u6790\u670d\u52a1\uff09\u3001 LeanModules \uff08\u5404\u79cd\u5176\u4ed6\u901a\u7528\u7ec4\u4ef6\uff09\u3002\u770b\u8d77\u6765\u5f88\u7cbe\u7b80\u5374\u6709\u4e9b\u62bd\u8c61\uff0c\u90a3\u8fd9\u4e9b\u4ea7\u54c1\u5177\u4f53\u53c8\u80fd\u6ee1\u8db3\u4ec0\u4e48\u9700\u6c42\u5462\uff1f</p>\n<p><img alt=\"\" src=\"https://blog.leancloud.cn/wp-content/uploads/2016/05/w-625x353.png\"></p>\n<h2>\u6982\u5ff5\u4e0a\u7684\u533a\u522b</h2>\n<p>\u963f\u91cc\u4e91\u63d0\u4f9b\u7684\u662f\u7c7b\u4f3c\u4e8e AWS \uff08\u4e9a\u9a6c\u900a\u7684\u4e91\u670d\u52a1\uff09\u4e00\u6837\u7684\u4f20\u7edf\u4e91\u670d\u52a1\u3002\u4f7f\u7528\u4e86\u963f\u91cc\u4e91\u4f60\u5c31\u4e0d\u7528\u518d\u53bb\u64cd\u5fc3\u90a3\u4e9b\u4e0e\u786c\u4ef6\u548c\u5e95\u5c42\u8fd0\u7ef4\u76f8\u5173\u7684\u4e8b\u60c5\uff0c\u6bd4\u5982\u786c\u76d8\u635f\u574f\u3001\u4e3b\u673a\u6258\u7ba1\u3001\u670d\u52a1\u5668\u914d\u7f6e\u7f51\u7edc\u7b49\u7b49\u3002</p>\n<p>\u4f46\u5982\u679c\u60f3\u8981\u5f00\u53d1\u4e00\u4e2a\u81ea\u5df1\u7684 App \uff0c\u4f60\u4ecd\u7136\u9700\u8981\u5728\u963f\u91cc\u4e91\u4e0a\u8d2d\u4e70\u673a\u5668\uff0c\u9009\u62e9\u90e8\u7f72\u5230\u54ea\u4e2a\u673a\u623f\uff0c\u8fd8\u8981\u8d2d\u4e70\u6570\u636e\u5e93\uff0c\u9009\u62e9\u6570\u636e\u5177\u4f53\u662f\u600e\u6837\u7684\u89c4\u683c\uff0c\u7136\u540e\u8fd8\u8981\u5bf9\u8fd9\u53f0\u673a\u5668\u8fdb\u884c\u5b8c\u6574\u7684\u914d\u7f6e\u3002\u867d\u7136\u6bd4\u6ca1\u6709\u4e91\u670d\u52a1\u7684\u65e5\u5b50\u5df2\u7ecf\u8f7b\u677e\u4e86\u8bb8\u591a\uff0c\u4f46\u8fd9\u4e9b\u64cd\u4f5c\u4ecd\u7136\u9700\u8981\u4e00\u4e2a\u4e13\u4e1a\u7684\u5de5\u7a0b\u5e08\u624d\u80fd\u5f88\u597d\u5730\u5b8c\u6210\u3002</p>\n<p>\u800c\u4f7f\u7528 LeanCloud \u7528\u6237\u5374\u4e0d\u9700\u8981\u64cd\u5fc3\u8fd9\u4e9b\u4e8b\u60c5\uff0c\u53ef\u4ee5\u8bf4\u57fa\u672c\u4e0a\u4e0d\u7528\u8003\u8651\u670d\u52a1\u5668\u7684\u7ec6\u8282\u3002</p>\n<p>LeanCloud \u63d0\u4f9b\u7684\u662f BaaS \u670d\u52a1\uff08 Backend as a Service \u540e\u7aef\u5373\u670d\u52a1\uff09\uff0c\u53c8\u88ab\u79f0\u4e3a\u4e91\u670d\u52a1 2.0 \u3002\u7b80\u800c\u8a00\u4e4b\uff0c\u4e91\u670d\u52a1 1.0 \u89e3\u51b3\u7684\u662f\u4e0d\u518d\u8ba9\u4f60\u62c5\u5fc3\u670d\u52a1\u5668\uff0c\u800c BaaS \u7684\u76ee\u6807\u662f\u5e2e\u4f60\u89e3\u51b3\u5168\u90e8\u670d\u52a1\u5668\u8fd0\u7ef4\uff0c\u751a\u81f3\u662f\u90e8\u5206\u540e\u7aef\u4e1a\u52a1\u903b\u8f91\u3002\u90a3 LeanCloud \u7a76\u7adf\u662f\u600e\u4e48\u505a\u5230\u7684\u5462\uff1f\u56de\u7b54\u8fd9\u4e2a\u95ee\u9898\u4e4b\u524d\uff0c\u6211\u4eec\u770b\u4e0b\u4e00\u4e2a App \u4e00\u822c\u90fd\u662f\u4ec0\u4e48\u6837\u5b50\u3002</p>\n<p><img alt=\"\" src=\"https://blog.leancloud.cn/wp-content/uploads/2016/05/q-625x351.png\">\n\u4ee5 LeanCloud \u7684\u7528\u6237\u300c\u61c2\u7403\u5e1d\u300d\u4e3a\u53c2\u8003\uff0c\u4e0d\u8bba\u4ec0\u4e48\u4ea7\u54c1\u57fa\u672c\u4e0a\u90fd\u9700\u8981\u4e00\u5957\u8d26\u53f7\u7cfb\u7edf\uff0c\u76ee\u524d\u8f83\u901a\u7528\u7684\u505a\u6cd5\u662f\u4f7f\u7528\u624b\u673a\u53f7\u7801\u6ce8\u518c\uff0c\u53d1\u9001\u77ed\u4fe1\u9a8c\u8bc1\uff1b\u57fa\u4e8e\u8fd9\u4e2a\u8d26\u53f7\u8fd8\u8981\u5b58\u50a8\u4e00\u4e9b\u6570\u636e\u9879\uff0c\u5982\u6635\u79f0\u3001\u5934\u50cf\u7b49\u4fe1\u606f\uff0c\u518d\u5230\u771f\u6b63\u7684\u4e3b\u4e1a\u52a1\u903b\u8f91\uff0c\u9700\u8981\u901a\u8fc7\u670d\u52a1\u5668\u57fa\u4e8e\u67d0\u4e2a\u903b\u8f91\u8fd0\u7b97\u51fa\u7ed3\u679c\u4ea4\u7ed9\u5ba2\u6237\u7aef\u505a\u5c55\u793a\u3002</p>\n<p>\u90a3\u4e48\u6211\u4eec\u518d\u8003\u8651\u4e00\u4e2a\u95ee\u9898\uff0c\u4e3a\u4ec0\u4e48\u6211\u4eec\u6bcf\u6b21\u505a\u4e00\u4e2a\u4ea7\u54c1\u90fd\u8981\u53cd\u53cd\u590d\u590d\u5730\u5f00\u53d1\u8fd9\u4e9b\u5dee\u4e0d\u591a\u4e00\u6837\u7684\u903b\u8f91\u5462\uff1f\u6bd4\u5982\u8d26\u53f7\u7cfb\u7edf\u3001\u6570\u636e\u5b58\u50a8\u3001\u77ed\u4fe1\u9a8c\u8bc1\u3001\u90ae\u4ef6\u9a8c\u8bc1\u3001\u63a8\u9001\u670d\u52a1\u751a\u81f3\u662f\u5373\u65f6\u804a\u5929\uff0c\u6709\u6ca1\u6709\u529e\u6cd5\u8ba9\u8fd9\u4e9b\u4e1c\u897f\u62ff\u6765\u5c31\u7528\uff0c\u8ba9\u81ea\u5df1\u80fd\u591f\u6700\u5feb\u901f\u5730\u6295\u5165\u5f00\u53d1\u5462\uff1f\u5f53\u7136\u6709\u529e\u6cd5\uff0c\u8fd9\u5c31\u662f LeanCloud \u6240\u505a\u7684\u4e8b\u60c5\u3002</p>\n<h2>\u5177\u4f53\u4f7f\u7528 LeanCloud</h2>\n<p>\u6765\u4e3e\u4e2a\u5177\u4f53\u4f8b\u5b50\u3002\u5728 LeanCloud \u4e2d\u60f3\u8981\u5b9e\u73b0\u4e00\u5957\u8d26\u53f7\u7cfb\u7edf\u5171\u5206\u4e3a\u4e09\u6b65\uff1a\u6ce8\u518c\u8d26\u53f7\u3001\u521b\u5efa\u4e00\u4e2a\u5e94\u7528\u3001\u4e0b\u8f7d\u5bf9\u5e94\u7684 SDK \u3002\u5c31\u8fd9\u4e09\u6b65\uff1f\u96be\u9053\u4e0d\u7528\u5199\u4ee3\u7801\u5417\uff1f\u662f\u7684\uff0c\u4e0d\u7528\u5199\u4ee3\u7801\u4f60\u5176\u5b9e\u5df2\u7ecf\u62e5\u6709\u4e86\u4e00\u5957\u652f\u6301 ACL \uff08\u8bbf\u95ee\u6743\u9650\u63a7\u5236\uff09\u3001\u652f\u6301\u77ed\u4fe1\u9a8c\u8bc1\u6ce8\u518c\u3001\u652f\u6301\u90ae\u4ef6\u6ce8\u518c\u8fd9\u6837\u5177\u5907\u5b8c\u6574\u5b89\u5168\u4f53\u7cfb\u7684\u8d26\u53f7\u7cfb\u7edf\uff0c\u5ba2\u6237\u7aef\u5de5\u7a0b\u5e08\u53ea\u9700\u76f4\u63a5\u4f7f\u7528\u5373\u53ef\u3002\u4f8b\u5982\uff0c Web \u524d\u7aef\u901a\u8fc7 JavaScript SDK \u5728\u6d4f\u89c8\u5668\u4f7f\u7528\u8d26\u6237\u7cfb\u7edf\uff0c\u5177\u4f53\u4ee3\u7801\u5982\u4e0b\uff1a</p>\n<pre><code>// \u521b\u5efa\u4e00\u4e2a\u5b9e\u4f8b\nconst user = new AV.User();\n// \u8bbe\u7f6e\u7528\u6237\u540d\nuser.set('username', 'wangxiao);\n// \u8bbe\u7f6e\u5bc6\u7801\nuser.set('password', 123456789);\n// \u6ce8\u518c\nuser.signUp().then(user =&gt; {\n  // \u6ce8\u518c\u6210\u529f\n}, error =&gt; {\n  // \u6ce8\u518c\u5931\u8d25\n});\n</code></pre>\n<p>\u518d\u5982\u7ecf\u5e38\u88ab\u4f7f\u7528\u7684\u77ed\u4fe1\u9a8c\u8bc1\u529f\u80fd\uff0c\u4f60\u4e0d\u9700\u8981\u53bb\u627e\u670d\u52a1\u7aef\u5de5\u7a0b\u5e08\u53bb\u5f00\u53d1\u4e00\u4e2a\u4e13\u7528\u63a5\u53e3\uff0c\u800c\u662f\u76f4\u63a5\u5728\u6d4f\u89c8\u5668\u4e2d\u8c03\u7528 JavaScript SDK \u7684\u65b9\u6cd5\uff08\u652f\u6301\u6a21\u677f\u6765\u5b9a\u5236\u77ed\u4fe1\u5185\u5bb9\uff09\uff0c\u5177\u4f53\u4ee3\u7801\u5982\u4e0b\uff1a</p>\n<pre><code>// \u53d1\u9001\u624b\u673a\u9a8c\u8bc1\u7801\nAV.Cloud.requestSmsCode({\n  mobilePhoneNumber: '182xxxx5548'\n}).then(() =&gt; {\n  // \u53d1\u9001\u6210\u529f\n}, error =&gt; {\n  // \u53d1\u9001\u5931\u8d25\n});\n\n// \u6821\u9a8c\u9a8c\u8bc1\u7801\nAV.Cloud.verifySmsCode('1234', '182xxxx5548')\n.then(() =&gt; {\n  // \u9a8c\u8bc1\u6210\u529f\n}, error =&gt; {\n  // \u9a8c\u8bc1\u5931\u8d25\n});\n\n// \u77ed\u4fe1\u6a21\u677f\nAV.Cloud.requestSmsCode({\n  mobilePhoneNumber: '182xxxx5548',\n  template: 'Template_Name',\n  ttttName: '\u81ea\u5b9a\u4e49\u6a21\u677f\u53d8\u91cf\u540d'\n}).then(() =&gt; {\n  // \u53d1\u9001\u6210\u529f\n}, error =&gt; {\n  // \u53d1\u9001\u5931\u8d25\n});\n</code></pre>\n<p>\u77ed\u4fe1\u9a8c\u8bc1\u4ec5\u4ec5\u662f\u6211\u4eec\u6240\u5f00\u653e\u7684\u4f17\u591a\u529f\u80fd\u4e2d\u7684\u4e00\u9879\uff0c\u4f60\u8fd8\u53ef\u4ee5\u4f7f\u7528 SDK \u8f7b\u677e\u5b9e\u73b0\u6570\u636e\u5b58\u50a8\u3001\u6587\u4ef6\u5b58\u50a8\uff08 CDN \uff09\u3001\u63a8\u9001\u3001\u5373\u65f6\u804a\u5929\u7b49\u5b9e\u7528\u529f\u80fd\u3002\u5982\u6b64\u4ee5\u6765\u4f60\u7684\u5f00\u53d1\u6548\u7387\u4f1a\u5927\u5e45\u63d0\u5347\uff0c\u670d\u52a1\u5668\u7aef\u5bf9\u4e8e\u4f60\u6765\u8bf4\u5b8c\u5168\u662f\u900f\u660e\u7684\uff0c\u8fd9\u6837\u5c31\u80fd\u628a\u6240\u6709\u7cbe\u529b\u96c6\u4e2d\u5230\u7814\u53d1\u6838\u5fc3\u4ea7\u54c1\u4e0a\u53bb\uff0c\u800c\u540e\u7eed\u7684\u6570\u636e\u8fd0\u8425\u548c\u7ba1\u7406\u5de5\u4f5c\u53ef\u4ee5\u76f4\u63a5\u5728 LeanCloud \u7684\u63a7\u5236\u53f0\u4e2d\u8fdb\u884c\uff0c\u751a\u81f3\u5728\u521d\u671f\u4f60\u90fd\u4e0d\u9700\u8981\u7ed9\u8fd0\u8425\u4eba\u5458\u7f16\u5199\u4e00\u4e2a\u5bf9\u5e94\u7684\u7ba1\u7406\u540e\u53f0\u3002</p>\n<p><img alt=\"\u63a7\u5236\u53f0\u4e2d\u7684\u6570\u636e\u7ba1\u7406\u754c\u9762\" src=\"https://blog.leancloud.cn/wp-content/uploads/2016/05/pngbase64606aa9e72c25d38a-625x358.png\"></p>\n<h2>\u6210\u672c\u7684\u533a\u522b</h2>\n<p>\u9009\u62e9\u4f20\u7edf\u7684\u4e91\u670d\u52a1\uff0c\u4f60\u53ef\u80fd\u9700\u8981\u66f4\u591a\u5730\u53bb\u4e86\u89e3\u670d\u52a1\u7aef\u7684\u7ed3\u6784\uff0c\u8981\u7efc\u5408\u8003\u8651\u5728\u4e91\u670d\u52a1\u4e0a\u642d\u5efa\u51fa\u4e00\u5957\u81ea\u5df1\u7684\u7cfb\u7edf\u6240\u4ed8\u51fa\u7684\u6210\u672c\uff0c\u8fd8\u9700\u8981\u627e\u5230\u5408\u9002\u7684\u5de5\u7a0b\u5e08\u53bb\u7ef4\u62a4\u8fd9\u4e9b\u670d\u52a1\uff0c\u627e\u5230\u540e\u7aef\u5de5\u7a0b\u5e08\u6765\u5f00\u53d1\u670d\u52a1\u7aef\u5f88\u591a\u901a\u7528\u7684\u4e1a\u52a1\u903b\u8f91\u3002</p>\n<p>\u5982\u679c\u4f7f\u7528 LeanCloud \u8fd9\u4e9b\u4e8b\u60c5\u90fd\u4e0d\u7528\u53bb\u8003\u8651\uff0c\u76f4\u63a5\u4f7f\u7528\u76f8\u5e94\u7684\u670d\u52a1\u5373\u53ef\u3002\u540c\u65f6\u6211\u4eec\u7684\u4e91\u670d\u52a1\u6309\u7167\u4f7f\u7528\u91cf\u8ba1\u8d39\uff0c\u5e76\u63d0\u4f9b\u4e86\u4e00\u5b9a\u989d\u5ea6\u7684\u514d\u8d39\u4f7f\u7528\u91cf\uff0c\u5728\u521d\u671f\u7528\u6237\u91cf\u5c11\u7684\u65f6\u5019\u57fa\u672c\u4e0d\u4f1a\u4ea7\u751f\u4ec0\u4e48\u8d39\u7528\uff0c\u53ea\u6709\u5f53\u7528\u6237\u91cf\u589e\u957f\u5230\u4e00\u5b9a\u91cf\u7ea7\u65f6\u624d\u4f1a\u4ea7\u751f\u76f8\u5e94\u7684\u8d39\u7528\u3002\u603b\u4e4b\u4f7f\u7528 LeanCloud \u4e0d\u4ec5\u4ec5\u7701\u53bb\u4e86\u540e\u671f\u8fd0\u7ef4\u7684\u6210\u672c\uff0c\u8fd8\u51cf\u5c11\u4e86\u540e\u7aef\u5de5\u7a0b\u5e08\u7684\u5de5\u4f5c\u91cf\uff0c\u52a0\u901f\u4ea7\u54c1\u8fed\u4ee3\u3002</p>\n"
    }, 
    {
      "author": {
        "url": "https://www.v2ex.com/member/LeanCloudRRY", 
        "name": "LeanCloudRRY", 
        "avatar": "https://cdn.v2ex.com/avatar/278f/c5d5/103427_large.png?m=1430102721"
      }, 
      "url": "https://www.v2ex.com/t/280032", 
      "title": "\u600e\u6837\u624d\u80fd\u5199\u5f97\u4e00\u624b\u597d\u4ee3\u7801\uff1f", 
      "id": "https://www.v2ex.com/t/280032", 
      "date_published": "2016-05-20T07:01:27+00:00", 
      "content_html": "<p><img alt=\"\" src=\"https://blog.leancloud.cn/wp-content/uploads/2016/03/83b7b5f668ec98ab909f6d9255f4c2c2-625x347.jpg\"></p>\n<h2>\u300c\u58f9\u671f\u58f9\u95ee\u300d VOL.4 \u6536\u5f55\u7684\u95ee\u9898</h2>\n<p>\u771f\u6b63\u4f18\u8d28\u7684\u4ee3\u7801\u5177\u5907\u4ec0\u4e48\u6761\u4ef6\uff1f\u5982\u4f55\u9ad8\u6548\u7684\u7f16\u5199\u4f18\u8d28\u4ee3\u7801\uff1f\u2014\u2014\u6765\u81ea\u7528\u6237 yuklng</p>\n<h2>\u6765\u81ea LeanCloud iOS \u5f00\u53d1\u5de5\u7a0b\u5e08\u9648\u5b9c\u9f99\u7684\u56de\u7b54</h2>\n<h2>\u771f\u6b63\u4f18\u8d28\u7684\u4ee3\u7801\u5177\u5907\u4ec0\u4e48\u6761\u4ef6?</h2>\n<blockquote>\n<p>\u4f18\u8d28\u7684\u4ee3\u7801\u57fa\u672c\u7684\u6761\u4ef6\uff1a\u8f7b\u91cf\u7ea7\u3001\u4f4e\u8026\u5408\uff08\u677e\u8026\u5408\uff09\u3001\u6613\u66ff\u6362\u3001\u6613\u5220\u9664\u3002</p>\n</blockquote>\n<p><strong>\u4ec0\u4e48\u53eb\u4f4e\u8026\u5408\uff1f</strong></p>\n<p><code>\u4f60\u5982\u679c\u53ef\u4ee5\u4ece\u4f60\u7684\u4ee3\u7801\u4e2d\u5220\u9664\u67d0\u4e00\u6a21\u5757\u800c\u4e0d\u7528\u56e0\u6b64\u53bb\u91cd\u5199\u5176\u4ed6\u6a21\u5757\u7684\u8bdd\uff0c\u4f60\u7684\u4ee3\u7801\u5c31\u901a\u5e38\u88ab\u79f0\u4e3a\u662f\u4f4e\u8026\u5408\u7684\u3002</code></p>\n<p>\u6211\u4eec\u90fd\u559c\u6b22\u8f7b\u91cf\u7ea7\u7684\u6846\u67b6\uff0c\u56e0\u4e3a\u4f60\u5e94\u8be5\u65f6\u523b\u4fdd\u6301\u7740\u8fd9\u6837\u7684\u8b66\u89c9\uff1a\u8fdf\u65e9\u6709\u4e00\u5929\uff0c\u8fd9\u4e2a\u5e93\u3001\u8fd9\u5768\u4ee3\u7801\u4f1a\u88ab\u66ff\u6362\u3001\u79fb\u9664\u6389\u3002</p>\n<p>\u8fd9\u53ef\u80fd\u8ba9\u4f60\u8054\u60f3\u8d77\u4e86 iOS \u9886\u57df\u4e00\u4e2a\u6559\u79d1\u4e66\u7ea7\u522b\u7684\u4e8b\u4ef6\u2014\u2014 ASI \u5207\u6362 AFN \u3002 ASI \u66fe\u7ecf\u662f iOS \u5f00\u53d1\u9996\u9009\u7684\u7b2c\u4e09\u65b9\u7f51\u7edc\u6846\u67b6\uff0c\u540e\u6765\u4f5c\u8005\u5ba3\u5e03\u505c\u6b62\u7ef4\u62a4\uff0c\u5f00\u53d1\u8005\u7eb7\u7eb7\u5f00\u59cb\u8fc1\u79fb\u5230 AFN \u3002\u5b83\u6559\u4f1a\u6211\u4eec\u4e00\u4e2a\u9053\u7406\uff1a</p>\n<p><code>\u8ba9\u4f60\u7684\u4ee3\u7801\u300c\u6613\u66ff\u6362\u3001\u6613\u5220\u9664\u300d\uff0c\u7b2c\u4e09\u65b9\u6846\u67b6\u4ee3\u7801\u8d28\u91cf\u662f\u4e00\u65b9\u9762\uff0c\u4f7f\u7528\u8005\u4e5f\u6709\u8d23\u4efb\u3002</code></p>\n<h2>\u5982\u4f55\u9ad8\u6548\u7684\u7f16\u5199\u4f18\u8d28\u4ee3\u7801?</h2>\n<p><strong>\u60f3\u5199\u4f18\u8d28\u4ee3\u7801\uff0c\u9996\u5148\u8981\u6562\u4e8e\u5199\u5783\u573e\u4ee3\u7801\u3002</strong></p>\n<p>\u6b63\u5982\u7a0b\u5e8f\u5458\u5fc3\u4e2d\u7684\u4e0a\u53e4\u5de8\u795e Alen Jay Perlis \u5728<a href=\"http://epigrams-on-programming.readthedocs.org/zh_CN/latest/epigrams.html\" rel=\"nofollow\"> \u300a Epigrams on Programming \u7f16\u7a0b\u8b66\u53e5\u300b </a> \u6240\u8bf4\uff1a</p>\n<blockquote>\n<p>Everything should be built top-down, except the first time.</p>\n</blockquote>\n<blockquote>\n<p>\u51e1\u4e8b\u90fd\u5e94\u8be5\u9ad8\u5c4b\u5efa\u74f4\uff0c\u9664\u975e\u4f60\u662f\u7b2c\u4e00\u6b21\u5e72\u3002</p>\n</blockquote>\n<p>\u6240\u4ee5\uff0c\u5728 beta \u7248\u672c\u91cc\u72af\u9519\uff0c\u4e0a\u5e1d\u90fd\u4f1a\u539f\u8c05\u3002</p>\n<p>\u4e0d\u8981\u5728\u5f00\u59cb\u5199\u4e00\u4e2a\u5e94\u7528\u4e4b\u524d\u5c31\u53bb\u60f3\u7740\u80fd\u5199\u4e00\u4e2a\u4e07\u5168\u7684\u67b6\u6784\u3002\u9053\u7406\u5f88\u7b80\u5355\uff0c\u5c31\u50cf\u4f60\u5728\u65e9\u4e0a 8:00 \u51fa\u95e8\u4e0a\u73ed\u524d\u8bb8\u613f\u300c\u4e00\u8def\u7eff\u706f\u300d\uff0c\u5373\u4f7f\u5f53\u65f6\u613f\u671b\u5b9e\u73b0\u4e86\uff0c 8:00 \u5168\u5317\u4eac\u7684\u706f\u90fd\u53d8\u7eff\u4e86\uff0c\u4f46\u7b49\u4f60\u5230\u4e0b\u4e2a\u8def\u53e3\uff0c\u4e00\u6837\u8fd8\u662f\u8be5\u7ea2\u706f\u65f6\u7ea2\u706f\u3002\u6211\u4eec\u662f\u5f88\u96be\u9884\u5148\u731c\u6d4b\uff0c\u4f46\u6211\u4eec\u5374\u53ef\u4ee5\u5728\u53d1\u751f\u5c0f\u53d8\u5316\u65f6\uff0c\u5c31\u53ca\u65e9\u53bb\u60f3\u529e\u6cd5\u5e94\u5bf9\u53d1\u751f\u66f4\u5927\u53d8\u5316\u7684\u53ef\u80fd\u3002\u4e5f\u5c31\u662f\u8bf4\uff0c\u7b49\u5230\u53d8\u5316\u53d1\u751f\u65f6\u7acb\u5373\u91c7\u53d6\u884c\u52a8\u3002</p>\n<p>\u7b2c\u4e00\u6b21\u7684\u65f6\u5019\u5c3d\u7ba1\u5927\u80c6\u7684\u53bb\u5199\u4e00\u5806\u4e71\u4e03\u516b\u7cdf\u7684\u4ee3\u7801\u3002</p>\n<p>\u4f46\u5783\u573e\u4ee3\u7801\u59cb\u7ec8\u8fd8\u662f\u8981\u8f6c\u6362\u6210\u4f18\u8d28\u4ee3\u7801\u7684\uff0c\u5982\u4f55\u8f6c\u6362\uff1f\u9075\u5faa\u300c\u5f00\u653e-\u5c01\u95ed\u539f\u5219\u300d\uff0c\u5373 The Open-Closed Principle \uff08\u7b80\u79f0 OCP \uff09\u53bb\u8f6c\u6362\uff1a</p>\n<blockquote>\n<p>\u8fd9\u4e2a\u539f\u5219\u5176\u5b9e\u662f\u6709\u4e24\u4e2a\u7279\u5f81\uff0c\u4e00\u4e2a\u662f\u8bf4 \u300c\u5bf9\u4e8e\u6269\u5c55\u662f\u5f00\u653e\u7684\uff0c Open for extension \u300d\uff0c\u53e6\u4e00\u4e2a\u662f\u8bf4 \u300c\u5bf9\u4e8e\u66f4\u6539\u662f\u5c01\u95ed\u7684\uff0c Closed for modification \u300d\u3002\u6211\u4eec\u5728\u505a\u4efb\u4f55\u9879\u76ee\u7684\u65f6\u5019\uff0c\u90fd\u4e0d\u8981\u6307\u671b\u9879\u76ee\u4e00\u5f00\u59cb\u65f6\u9700\u6c42\u786e\u5b9a\u5c31\u518d\u4e5f\u4e0d\u4f1a\u53d8\u5316\uff0c\u8fd9\u662f\u4e0d\u73b0\u5b9e\u4e5f\u4e0d\u79d1\u5b66\u7684\u60f3\u6cd5\uff0c\u800c\u65e2\u7136\u9700\u6c42\u662f\u4e00\u5b9a\u4f1a\u53d8\u5316\u7684\uff0c\u90a3\u4e48\u5982\u4f55\u5728\u9762\u5bf9\u9700\u6c42\u7684\u53d8\u5316\u65f6\uff0c\u8bbe\u8ba1\u7684\u8f6f\u4ef6\u53ef\u4ee5\u76f8\u5bf9\u5bb9\u6613\u4fee\u6539\uff0c\u4e0d\u81f3\u4e8e\u8bf4\u65b0\u9700\u6c42\u4e00\u6765\uff0c\u5c31\u8981\u628a\u6574\u4e2a\u7a0b\u5e8f\u63a8\u5012\u91cd\u6765\u3002</p>\n</blockquote>\n<p>\u4e0a\u9762\u662f\u300a\u5927\u8bdd\u8bbe\u8ba1\u6a21\u5f0f\u300b\u4e2d\u7684\u4e00\u6bb5\u8bdd\uff0c\u4e66\u4e2d\u4e5f\u7ed9\u51fa\u4e86\u4e00\u4e2a\u4f8b\u5b50\uff1a</p>\n<blockquote>\n<p>\u6bd4\u5982\u4f60\u5728\u5199\u4e00\u4e2a\u52a0\u6cd5\u7a0b\u5e8f\uff0c\u4f60\u5f88\u5feb\u5728\u4e00\u4e2a client \u7c7b\u4e2d\u5c31\u5b8c\u6210\u3002\u6b64\u65f6\u53d8\u5316\u8fd8\u6ca1\u6709\u53d1\u751f\u3002\u7136\u540e\u6211\u8ba9\u4f60\u52a0\u4e00\u4e2a\u51cf\u6cd5\u529f\u80fd\uff0c\u4f60\u53d1\u73b0\uff0c\u589e\u52a0\u529f\u80fd\u9700\u8981\u4fee\u6539\u539f\u6765\u8fd9\u4e2a\u7c7b\uff0c\u8fd9\u5c31\u8fdd\u80cc\u4e86\u300c\u5f00\u653e-\u5c01\u95ed\u539f\u5219\u300d\uff0c\u4e8e\u662f\u4f60\u5c31\u8be5\u8003\u8651\u91cd\u6784\u7a0b\u5e8f\uff0c\u589e\u52a0\u4e00\u4e2a\u62bd\u8c61\u7684\u8fd0\u7b97\u7c7b\uff0c\u901a\u8fc7\u4e00\u4e9b\u9762\u5411\u5bf9\u8c61\u7684\u624b\u6bb5\uff0c\u5982\u7ee7\u627f\u3001\u591a\u6001\u7b49\u6765\u9694\u79bb\u5177\u4f53\u52a0\u6cd5\u548c\u51cf\u6cd5\u4e0e client \u8026\u5408\uff0c\u9700\u6c42\u4f9d\u7136\u53ef\u4ee5\u6ee1\u8db3\uff0c\u8fd8\u80fd\u5e94\u5bf9\u53d8\u5316\u3002\u8fd9\u65f6\u6211\u53c8\u8981\u4f60\u518d\u52a0\u4e58\u9664\u6cd5\u529f\u80fd\uff0c\u4f60\u5c31\u4e0d\u9700\u8981\u518d\u53bb\u66f4\u6539 client \u4ee5\u53ca\u52a0\u6cd5\u51cf\u6cd5\u7684\u7c7b\u4e86\uff0c\u800c\u662f\u589e\u52a0\u4e58\u6cd5\u548c\u9664\u6cd5\u5b50\u7c7b\u5c31\u53ef\u3002\u5373\u9762\u5bf9\u9700\u6c42\uff0c\u5bf9\u7a0b\u5e8f\u7684\u6539\u52a8\u662f\u901a\u8fc7\u589e\u52a0\u65b0\u4ee3\u7801\u8fdb\u884c\u7684\uff0c\u800c\u4e0d\u662f\u66f4\u6539\u73b0\u6709\u7684\u4ee3\u7801\u8fd9\u5c31\u662f\u300c\u5f00\u653e-\u5c01\u95ed\u539f\u5219\u300d\u7684\u7cbe\u795e\u6240\u5728\u3002</p>\n</blockquote>\n<p>\u4f60\u5e94\u8be5\u5927\u80c6\u5c1d\u8bd5\uff0c\u5728\u6bcf\u4e00\u6b21\u5c1d\u8bd5\u65f6\u90fd\u5f00\u65b0\u7684\u5751\uff0c\u53bb\u72af\u65b0\u7684\u9519\uff0c\u7136\u540e\u901a\u8fc7\u8fed\u4ee3\u6162\u6162\u6765\u5b8c\u5584\u3002\u6210\u4e3a\u4e00\u4e2a\u4e13\u4e1a\u7684\u8f6f\u4ef6\u5f00\u53d1\u8005\u7684\u8fc7\u7a0b\u5c31\u662f\u4e0d\u65ad\u79ef\u7d2f\u540e\u6094\u548c\u300c error check list \u300d \u7684\u8fc7\u7a0b\u3002\u4f60\u4ece\u300c Run Success \u300d\u8eab\u4e0a\u5b66\u4e0d\u5230\u4efb\u4f55\u4e1c\u897f\uff0c\u77e5\u9053\u4f18\u8d28\u4ee3\u7801\u957f\u4ec0\u4e48\u6837\uff0c\u4f5c\u7528\u4e5f\u5fae\u4e4e\u5176\u5fae\uff0c\u4f60\u9700\u8981\u7684\u662f\uff1a\u5bf9\u5783\u573e\u4ee3\u7801\u8bb0\u5fc6\u72b9\u65b0\u3002</p>\n<p>Perlis \u4e5f\u8bf4\u8fc7\uff1a</p>\n<blockquote>\n<p>In programming, as in everything else, to be in error is to be reborn.</p>\n</blockquote>\n<p>\u540c\u65f6\u6562\u4e0d\u6562\u5199\u5783\u573e\u4ee3\u7801\uff0c\u5b8c\u5168\u53d6\u51b3\u4e8e\u5fc3\u6001\u3002\u5199\u7a0b\u5e8f\u5176\u5b9e\u6709\u4e24\u79cd\u5fc3\u6001\uff0c\u4e00\u79cd\u662f\u505a Demo \u7684\u5fc3\u6001\uff0c\u4e00\u79cd\u662f\u505a\u9879\u76ee\u7684\u5fc3\u6001\u3002\u8ba9\u6211\u4eec\u6765\u5bf9\u6bd4\u4e0b\u8fd9\u4e24\u4e2a\u5fc3\u6001\uff1a</p>\n<img alt=\"\u4e24\u79cd\u72b6\u6001\" src=\"https://blog.leancloud.cn/wp-content/uploads/2016/04/c6fc633cc3da8f1aa3d73a755e84b53b-625x607.png\">\n<p>\u5bf9\u4e8e\u4e1a\u52a1\u903b\u8f91\uff0c\u5783\u573e\u4ee3\u7801\u6709\u65f6\u5019\u662f\u66f4\u597d\u7684\u9009\u62e9\uff0c\u5426\u5219\u6781\u5c0f\u7684\u5c01\u88c5\u90fd\u53ef\u4ee5\u5c06\u4f60\u518d\u6b21\u5e26\u5165\u300c\u8fc7\u5ea6\u5c01\u88c5\u300d\u7684\u9677\u9631\u3002\u4e1a\u52a1\u903b\u8f91\u662f\u90a3\u79cd\u6709\u7740\u65e0\u5c3d\u7684 if else \u3001\u8fb9\u754c\u60c5\u51b5\u548c\u5feb\u901f\u800c dirty \u7684 hack \u7684\u4ee3\u7801\u3002</p>\n<p>\u73b0\u5728\u4f60\u518d\u56de\u8fc7\u5934\u6765\u601d\u8003\u4e0b\uff1a\u4e00\u5927\u5768\u5783\u573e\u4ee3\u7801\uff0c\u548c\u8fc7\u5ea6\u5c01\u88c5\u7684\u4e1a\u52a1\u903b\u8f91\u4ee3\u7801\uff0c\u54ea\u4e2a\u66f4\u597d\uff1f</p>\n<p>\u6709\u65f6\u5019\u5220\u6389\u4e00\u4e2a\u5927\u7684\u9519\u8bef\u6bd4\u5220\u6389 18 \u4e2a\u5f7c\u6b64\u76f8\u5173\u8054\u7684\u5c0f\u9519\u8bef\u66f4\u4e3a\u5bb9\u6613\u3002</p>\n<h2>\u6452\u5f03\u4ee3\u7801\u6d01\u7656\uff0c\u62e5\u62b1\u5408\u7406\u7684\u5197\u4f59</h2>\n<p>\u5197\u4f59\u4e00\u6837\u88ab\u8d34\u7740\u300c\u5783\u573e\u4ee3\u7801\u300d\u7684\u6807\u7b7e\uff0c\u96be\u9053\u5197\u4f59\u5c31\u6ca1\u6709\u4e00\u70b9\u597d\u5904\uff1f\u4f60\u5fc5\u987b\u8bd5\u7740\u62e5\u62b1\u5408\u7406\u7684\u5197\u4f59\u3002</p>\n<p>\u6211\u4eec\u4f1a\u901a\u8fc7\u590d\u5236\u548c\u7c98\u8d34\u6765\u5c06\u90e8\u5206\u4ee3\u7801\u91cd\u590d\u4f7f\u7528\u4ee5\u907f\u514d\u5f15\u5165\u4f9d\u8d56\u6027\uff0c\u63d0\u9ad8\u7075\u6d3b\u5ea6\uff0c\u4f46\u4ee3\u4ef7\u5c31\u662f\u5197\u4f59\u3002</p>\n<p>\u300c\u4e00\u5768\u4ee3\u7801\u88ab\u4f7f\u7528\u4e24\u6b21\uff0c\u5c31\u5e94\u8be5\u5c01\u88c5\u300d\u8fd9\u4e2a\u8bba\u8c03\u4e0d\u5e94\u8be5\u88ab\u63d0\u5021\u3002\u5f80\u5f80\u662f\u521a\u5f00\u59cb\u5f88\u65b9\u4fbf\uff0c\u8d8a\u5f80\u540e\uff0c\u968f\u7740\u9700\u6c42\u7684\u53d8\u66f4\uff0c\u8d8a\u6210\u4e3a\u4e00\u79cd\u7d2f\u8d58\u3002 \u4e3a\u4e86\u4e00\u4e2a\u5c0f\u529f\u80fd\u5c31\u53bb\u5199\u4e00\u4e2a\u5e93\uff0c\u751a\u81f3\u8fd9\u4e2a\u5e93\u53ea\u6709\u4e00\u4e2a\u65b9\u6cd5\uff0c\u8fd9\u6837\u4f1a\u5e26\u6765\u4ec0\u4e48\u95ee\u9898\uff1f\u4f60\u524a\u51cf\u4e86\u4f7f\u7528\u5230\u4e86\u8fd9\u4e2a\u5e93\u7684\u6240\u6709\u6a21\u5757\u4e4b\u95f4\u7684\u72ec\u7acb\u6027\uff0c\u8fd9\u6837\u505a\u6beb\u65e0\u5fc5\u8981\u3002</p>\n<h2>\u60f3\u5199\u4f18\u8d28\u4ee3\u7801\uff0c\u8981\u5b66\u4f1a\u5982\u4f55\u4e0d\u5199\u4ee3\u7801</h2>\n<p>\u4ee3\u7801\u8d8a\u5c11\uff0c Bug \u8d8a\u5c11\uff0c\u4ee3\u7801\u4e5f\u5c31\u8d8a\u4f18\u8d28\u3002</p>\n<p>\u6b63\u5982<a href=\"https://medium.com/ios-os-x-development/ios-architecture-patterns-ecba4c38de52#.f32o0mmib\" rel=\"nofollow\"> <strong><em>iOS Architecture Patterns</em></strong> </a> \u8fd9\u7bc7\u535a\u5ba2\u6240\u8a00\uff1a</p>\n<blockquote>\n<p>The less code you have, the less bugs you have.</p>\n</blockquote>\n<blockquote>\n<p>The best code is the code that has never been written.</p>\n</blockquote>\n<p>\u4f60\u5e94\u8be5\u59cb\u7ec8\u660e\u767d\u4ec0\u4e48\u662f\u6700\u4f18\u96c5\u7684\u89e3\u51b3\u65b9\u5f0f\u3002</p>\n<h2>\u4e3a\u7b2c\u4e09\u65b9\u5e93\u5199\u5de5\u5177\u7c7b\u3001\u6a21\u677f\u7c7b</h2>\n<blockquote>\n<p>\u6211\u4eec\u6784\u5efa\u6a21\u5757\u4e0d\u662f\u4e3a\u4e86\u590d\u7528\uff0c\u800c\u662f\u4e3a\u4e86\u6613\u4e8e\u4fee\u6539\u3002</p>\n</blockquote>\n<p>\u5efa\u5de5\u5177\u7c7b\uff0c\u51fa\u4e8e\u4e24\u4e2a\u5b8c\u5168\u76f8\u53cd\u7684\u539f\u56e0\uff1a\u4f4e\u8026\u5408\u3001\u7d27\u8026\u5408\u3002</p>\n<p><strong>\u4f4e\u8026\u5408</strong></p>\n<p>\u4e0a\u9762\u63d0\u5230\u7684\u300c ASI \u5207\u6362 AFN \u300d\u6559\u4f1a\u6211\u4eec\uff1a\u8981\u4e3a\u7b2c\u4e09\u65b9\u5e93\u5c01\u88c5\u3002\u5c3d\u91cf\u4e0d\u8981\u76f4\u63a5\u4f7f\u7528\u7b2c\u4e09\u65b9\u5e93\uff0c\u800c\u662f\u4e3a\u5b83\u4eec\u5c01\u88c5\u4e00\u5c42\uff0c\u901a\u5e38\u6211\u4eec\u53eb\u8fd9\u4e9b\u7c7b Tool \u3001 Handler \u3001 Helper \u3001 Manager \uff08\u5148\u4e0d\u5410\u69fd\u547d\u540d\u4e86\uff09\u3002\u8003\u8651\u5230\u7684\u662f\u66ff\u6362\u9700\u6c42\uff0c\u7531\u7b2c\u4e09\u65b9\u5e93\u800c\u884d\u751f\u51fa\u6765\u7684\u5de5\u5177\u7c7b\uff0c\u901a\u5e38\u4e5f\u653e\u5728\u53eb Tool \u7684\u6587\u4ef6\u5939\u4e0b\u3002\u8fd9\u6837\u505a\u7684\u76ee\u7684\u662f\u5c3d\u53ef\u80fd\u5c06\u53d8\u5316\u9891\u7e41\u7684\u90e8\u5206\u548c\u76f8\u5bf9\u66f4\u7a33\u5b9a\u7684\u90e8\u5206\u9694\u5f00\u6765\u5b9e\u73b0\u4f4e\u8026\u5408\u3002\u8fd9\u4e5f\u540c\u6837\u9002\u7528\u4e8e\u6570\u636e\u5e93\u4ee5\u53ca\u5404\u79cd\u53ef\u80fd\u4f1a\u53d8\u66f4\u7684 UI \u7ec4\u4ef6\u3002</p>\n<p><strong>\u7d27\u8026\u5408</strong></p>\n<p>\u4f46\u4e5f\u4e0d\u8981\u4e00\u5473\u8ffd\u6c42\u300c\u4f4e\u8026\u5408\u300d\uff0c\u8981\u6839\u636e\u5b9e\u9645\u60c5\u51b5\u6765\u9009\u62e9\u300c\u7d27\u8026\u5408 tight coupling \u300d\u3002\u6bd4\u5982\u9519\u8bef\u5904\u7406\u5c31\u662f\u4e00\u4e2a\u9700\u8981\u4e0e\u9879\u76ee\u7d27\u5bc6\u7ed3\u5408\u5728\u4e00\u8d77\u7684\u64cd\u4f5c\u3002\u8fd9\u4e2a\u7d27\u8026\u5408\u7684\u90e8\u5206\uff0c\u6211\u4eec\u5c31\u8981\u653e\u5230 Tool \u91cc\uff0c\u8fd9\u4e5f\u662f\u5efa Tool \u7684\u53e6\u4e00\u8981\u8003\u8651\u7684\u539f\u56e0\uff1a\u5e93\u603b\u662f\u8bd5\u56fe\u8fce\u5408\u6240\u6709\u7684\u9700\u6c42\uff0c\u800c\u6211\u4eec\u53ea\u4f1a\u7528\u5230\u5176\u4e2d\u5c0f\u90e8\u5206\u529f\u80fd\uff0c\u800c\u4e14\u53ea\u4f1a\u5bf9\u76f8\u5e94\u7684\u54cd\u5e94\u505a\u51fa\u7279\u5b9a\u7684\u5904\u7406\u3002\u6240\u4ee5\u5efa\u5de5\u5177\u7c7b\u53ef\u4ee5\u9690\u85cf\u4e0d\u5fc5\u8981\u7684\u7ec6\u8282\u3002</p>\n<p>\u597d\u7684 API \u603b\u662f\u5927\u800c\u5168\uff0c\u800c\u5efa Tool \u5219\u662f\u6211\u4eec\u610f\u8bc6\u5230\u6211\u4eec\u4e0d\u80fd\u540c\u65f6\u8ba9\u6240\u6709\u4eba\u90fd\u9ad8\u5174\u3002<strong>\u5f00\u53d1\u4e00\u4e2a\u597d\u7528\u7684 API \u548c\u5f00\u53d1\u4e00\u4e2a\u5177\u6709\u6269\u5c55\u6027\u7684 API \u901a\u5e38\u662f\u4e92\u76f8\u51b2\u7a81\u7684\u3002</strong>Tool \u7684\u4f5c\u7528\u5c31\u662f\u8ba9\u4ed6\u4eec\u597d\u7528\u3002</p>\n<h2>\u9020\u8f6e\u5b50</h2>\n<p>\u4f60\u5728\u5efa Tool \u65f6\u5e94\u8be5\u5df2\u7ecf\u4f53\u4f1a\u5230\u7d27\u8026\u5408\u7684\u597d\u5904\u4e86\uff0c\u4f46\u6709\u65f6 Tool \u5df2\u7ecf\u5b8c\u5168\u6ee1\u8db3\u4e0d\u4e86\u6211\u4eec\u7684\u7d27\u8026\u5408\u9700\u6c42\uff0c\u8fd9\u65f6\u6211\u4eec\u5c31\u9700\u8981\u9020\u8f6e\u5b50\u3002</p>\n<p>iOS \u91cc Star \u6570\u6700\u591a\u7684\u4e00\u4e2a\u5e93\u662f AFNetworking \uff0c\u4e3a\u4ec0\u4e48\uff1f\u5f53\u5e74 iOS 5 \u3001 iOS 6 \u65f6\u4ee3\u8fd8\u6ca1\u6709 NSURLSession \u7684\u65f6\u5019\uff0c NSURLConnection \u505a\u65ad\u70b9\u7eed\u4f20\u548c\u65ad\u70b9\u4e0b\u8f7d\u662f\u975e\u5e38\u56f0\u96be\u7684\uff0c\u800c\u4e14\u82f9\u679c\u7684 API \u4e0d\u5bf9\u5916\u9690\u85cf\u4efb\u4f55\u7ec6\u8282\uff0c\u8fd9\u4e5f\u5c31\u9020\u5c31\u4e86 AFNetworking \u2014\u2014\u5b83\u4e3a\u5927\u5bb6\u9690\u85cf\u4e86\u5f88\u591a\u7ec6\u8282\uff0c\u6240\u4ee5\u597d\u7528\u3002</p>\n<p>\u540c\u6837\u7684\u9053\u7406\uff0c\u5728\u65e5\u76ca\u590d\u6742\u5316\u7684 App \u5f00\u53d1\u4e2d\uff0c Auto layout \u9010\u6e10\u6210\u4e3a\u6700\u4f73\u9009\u62e9\u3002\u4f46\u590d\u6742\u7684 VFL \u8bed\u6cd5\uff0c\u4ee5\u53ca\u5f00\u53d1\u8005\u4e0d\u592a\u4e70\u8d26\u7684 Storyboard \u3001 XIB \u53ef\u89c6\u5316\u64cd\u4f5c\uff0c\u4e5f\u6210\u5c31\u4e86 Masorny \u3002 Masorny \u4ee5\u5176\u4f18\u96c5\u7684\u94fe\u5f0f\u7eaf\u4ee3\u7801\u64cd\u4f5c\uff0c\u6e10\u6e10\u6210\u4e3a\u81ea\u52a8\u5e03\u5c40\u7684\u4e3b\u6d41\u6846\u67b6\u3002</p>\n<p>\u8bbe\u8ba1\u6a21\u5f0f\u7684\u300c\u5355\u4e00\u8d23\u4efb\u300d\u539f\u5219\u544a\u8bc9\u6211\u4eec\uff1a</p>\n<blockquote>\n<p>\u6bcf\u4e00\u4e2a\u6a21\u5757\u90fd\u5e94\u8be5\u53ea\u53bb\u89e3\u51b3\u4e00\u4e2a\u96be\u9898</p>\n</blockquote>\n<p>\u4f46\u6211\u4eec\u66f4\u9700\u8981\uff1a</p>\n<blockquote>\n<p>\u6bcf\u4e00\u4e2a\u96be\u9898\u90fd\u53ea\u5e94\u8be5\u7531\u4e00\u4e2a\u6a21\u5757\u53bb\u89e3\u51b3</p>\n</blockquote>\n<p>\u5f53\u4e00\u4e2a\u95ee\u9898\u9700\u8981\u4e24\u4e2a\u6a21\u5757\u53bb\u505a\u7684\u65f6\u5019\uff0c\u901a\u5e38\u90fd\u662f\u56e0\u4e3a\u6539\u53d8\u4e00\u90e8\u5206\u9700\u8981\u53e6\u5916\u4e00\u90e8\u5206\u7684\u6539\u53d8\u3002</p>\n<p>\u4e00\u4e2a\u5199\u5f97\u5f88\u7cdf\u7cd5\u4f46\u662f\u6709\u7740\u7b80\u5355\u63a5\u53e3\u7684\u7ec4\u4ef6\uff0c\u901a\u5e38\u6bd4\u9700\u8981\u4e92\u76f8\u534f\u8c03\u7684\u4e24\u4e2a\u7ec4\u4ef6\u66f4\u5bb9\u6613\u4f7f\u7528\u3002</p>\n<p>\u4f60\u5e94\u8be5\u50cf AFNetworking \u3001 Masorny \u90a3\u6837\uff0c\u5199\u51fa\u8fd9\u6837\u7684\u4f18\u8d28\u4ee3\u7801\uff1a<strong>\u80fd\u5c06\u5199\u8d77\u6765\u3001\u7ef4\u62a4\u8d77\u6765\uff0c\u6216\u8005\u5220\u9664\u8d77\u6765\u6700\u56f0\u96be\u7684\u90e8\u5206\u4e92\u76f8\u9694\u79bb\u5f00\u3002</strong></p>\n<h2>\u5982\u4f55\u53c2\u4e0e\u300c\u58f9\u671f\u58f9\u95ee\u300d\uff1f</h2>\n<p>\u5927\u5bb6\u53ef\u4ee5\u901a\u8fc7<a href=\"http://leancloud.mikecrm.com/f.php?t=lPDz5Y\" rel=\"nofollow\">\u95ee\u9898\u63d0\u4ea4\u901a\u9053</a>\u6765\u5411 LeanCloud \u63d0\u95ee\u3002</p>\n"
    }, 
    {
      "author": {
        "url": "https://www.v2ex.com/member/adrianzhang", 
        "name": "adrianzhang", 
        "avatar": "https://cdn.v2ex.com/avatar/c705/1dbf/54462_large.png?m=1721997902"
      }, 
      "url": "https://www.v2ex.com/t/278843", 
      "title": "\u8d5e Leanote", 
      "id": "https://www.v2ex.com/t/278843", 
      "date_published": "2016-05-15T17:32:20+00:00", 
      "content_html": "\u6211\u662f\u7279\u5730\u6765\u70b9\u4e2a\u8d5e\u7684\u3002 Leanote \u662f\u4e2a\u8ba9\u6211\u773c\u524d\u4e00\u4eae\u7684\u4f01\u4e1a Knowledge base \u89e3\u51b3\u65b9\u6848\u3002\u5f00\u6e90\u540e\u7b80\u76f4\u662f\u5927\u5927\u65b9\u4fbf\u4e86\u6211\u4eec\uff01\u540c\u65f6 <a target=\"_blank\" href=\"http://Leanote.com\" rel=\"nofollow\">Leanote.com</a> \u7531\u4e8e\u5177\u5907 Markdown \u4e66\u5199\u79c1\u6709\u6280\u672f\u6587\u6863\uff0c\u4ee5\u53ca\u4e00\u952e\u516c\u5f00\u4e3a\u535a\u5ba2\u7684\u529f\u80fd\uff0c\u73b0\u5728\u5df2\u7ecf\u6210\u4e3a\u6211\u7684\u4e3b\u529b\u5199\u4f5c\u5e73\u53f0\u3002\u611f\u8c22\u4f5c\u8005\uff01"
    }, 
    {
      "author": {
        "url": "https://www.v2ex.com/member/WildCat", 
        "name": "WildCat", 
        "avatar": "https://cdn.v2ex.com/avatar/baf2/9ae7/39784_large.png?m=1710948175"
      }, 
      "url": "https://www.v2ex.com/t/277899", 
      "date_modified": "2016-05-11T07:07:10+00:00", 
      "content_html": "<p><img alt=\"lc\" src=\"http://i2.buimg.com/a6137eff9acadb41.png\"></p>\n<p>\u60f3\u7edf\u4e00 iOS/Android \u63a8\u9001\uff0c\u4f46\u662f\u8fd9\u6837\u597d\u6349\u6025\u3002\u3002\u3002</p>\n", 
      "date_published": "2016-05-11T07:03:03+00:00", 
      "title": "LeanCloud \u7684\u63a8\u9001\u670d\u52a1\u7a33\u5b9a\u6027\u6349\u6025\u554a\uff0c\u4e24\u5206\u949f\u524d\u597d\u597d\u7684\u7a81\u7136\u53c8\u4e0d\u884c\u4e86\u3002\u3002\u3002\u53e6\u5916\u5927\u5bb6\u90fd\u7528\u4ec0\u4e48 Android \u63a8\u9001\u670d\u52a1\uff0c\u6c42\u63a8\u8350", 
      "id": "https://www.v2ex.com/t/277899"
    }, 
    {
      "author": {
        "url": "https://www.v2ex.com/member/hanmiao", 
        "name": "hanmiao", 
        "avatar": "https://cdn.v2ex.com/avatar/3a0f/abc2/60092_large.png?m=1434627800"
      }, 
      "url": "https://www.v2ex.com/t/273730", 
      "date_modified": "2016-04-22T11:52:02+00:00", 
      "content_html": "<p>2016 \u5e74 4 \u6708 22 \u65e5\uff1a\u4e2d\u56fd\u8282\u70b9\u5b58\u50a8\u670d\u52a1\u6545\u969c\u8bf4\u660e</p>\n<p>2016 \u5e74 4 \u6708 22 \u65e5 13:04 \u5f00\u59cb\uff0c LeanCloud \u4e2d\u56fd\u8282\u70b9\u7684\u540e\u7aef\u5b58\u50a8\u96c6\u7fa4\u51fa\u73b0\u95ee\u9898\uff0c\u5bfc\u81f4\u8be5\u8282\u70b9\u4e0a\u6240\u6709\u5e94\u7528\u90fd\u51fa\u73b0\u4e86\u5b58\u50a8 API \u8bbf\u95ee\u6545\u969c\uff0c\u5c06\u8fd1\u534a\u5c0f\u65f6\u540e\u5f97\u5230\u6062\u590d\u3002\u6545\u969c\u7684\u8be6\u7ec6\u7ecf\u8fc7\u901a\u62a5\u5982\u4e0b\u3002</p>\n<p>\u6545\u969c\u65f6\u95f4</p>\n<p>13:09 \uff0d 13:28 \uff1a\u6240\u6709\u5e94\u7528\u7684\u6570\u636e\u5b58\u50a8\u670d\u52a1\u90fd\u51fa\u73b0\u8bbf\u95ee\u5f02\u5e38\uff08\u6301\u7eed 19 \u5206\u949f\uff09\n13:28 \uff0d 13:40 \uff1a\u5927\u90e8\u5206\u5e94\u7528\u5df2\u7ecf\u6062\u590d\uff0c\u4f46\u8fd8\u6709 20% \u7684\u5e94\u7528\u4f9d\u7136\u65e0\u6cd5\u6b63\u5e38\u8bbf\u95ee\uff08\u6301\u7eed 12 \u5206\u949f\uff09\n\u5f71\u54cd\u8303\u56f4</p>\n<p>\u4e2d\u56fd\u8282\u70b9\u4e0a\u6240\u6709\u5e94\u7528\u7684\u5b58\u50a8\u670d\u52a1\u90fd\u53d7\u5230\u5f71\u54cd\uff0c\u540c\u65f6\u4f9d\u8d56\u4e8e\u6570\u636e\u5b58\u50a8\u7684\u5b9e\u65f6\u901a\u4fe1\u3001\u4e91\u5f15\u64ce\u670d\u52a1\u4e5f\u53ef\u80fd\u51fa\u73b0\u5185\u90e8\u9519\u8bef\u3002</p>\n<p>\u7f8e\u56fd\u8282\u70b9\u4e0d\u53d7\u5f71\u54cd\uff0c\u6240\u6709\u670d\u52a1\u5747\u5de5\u4f5c\u6b63\u5e38\u3002</p>\n<p>\u4e8b\u6545\u7ecf\u8fc7</p>\n<p>13:04 \uff1a\u6211\u4eec\u76d1\u63a7\u7cfb\u7edf\u9646\u7eed\u53d1\u51fa\u62a5\u8b66\uff0c\u540e\u7aef\u5b58\u50a8\u96c6\u7fa4\u8bbf\u95ee\u8d85\u65f6\u6162\u6162\u589e\u591a\uff0c\u5de5\u7a0b\u5e08\u4ecb\u5165\u8c03\u67e5\uff0c\u5e76\u5411\u7528\u6237\u53d1\u51fa\u4e86\u77ed\u4fe1\u548c\u90ae\u4ef6\u901a\u77e5\u3002\n13:10 \uff1a\u6574\u4e2a\u96c6\u7fa4\u7684\u5b58\u50a8 API Server \u4e0d\u518d\u54cd\u5e94\u5916\u90e8\u8bf7\u6c42\u3002\u8c03\u67e5\u540e\u786e\u8ba4\u662f\u540e\u7aef\u5b58\u50a8\u7cfb\u7edf\u5728\u505a\u5927\u91cf\u8017\u65f6\u7684\u5173\u7cfb\u6570\u636e\u5199\u5165\u64cd\u4f5c\uff0c\u5bfc\u81f4\u7cfb\u7edf\u5931\u53bb\u54cd\u5e94\u3002\u4e8e\u662f\u6211\u4eec\u9a6c\u4e0a\u91cd\u542f\u96c6\u7fa4\uff0c\u5e76\u5206\u6279\u5f00\u653e\u6d41\u91cf\u3002\n13:28 \uff1a\u90e8\u5206\u5b58\u50a8\u5206\u7247\uff08 shard \uff09\u5f97\u5230\u6062\u590d\uff0c 80% \u7684\u5e94\u7528\u8bbf\u95ee\u6062\u590d\u6b63\u5e38\uff1b\u53d1\u9001\u7b2c\u4e8c\u6b21\u6545\u969c\u8fdb\u5ea6\u901a\u77e5\u3002\n13:40 \uff1a\u6240\u6709\u5e94\u7528\u6062\u590d\u6b63\u5e38\uff1b\u53d1\u9001\u6545\u969c\u89e3\u51b3\u901a\u77e5\u3002\n\u540e\u7eed\u6539\u8fdb\u63aa\u65bd</p>\n<p>\u8fd9\u4e00\u6b21\u6545\u969c\u7684\u6839\u672c\u539f\u56e0\u5728\u4e8e AVRelation \u6a21\u578b\u7684\u5e95\u5c42\u5b9e\u73b0\u5b58\u5728\u7f3a\u9677\uff0c\u67d0\u4e9b\u7279\u6b8a\u6761\u4ef6\u4e0b\u4f1a\u5bfc\u81f4\u540e\u7aef\u5b58\u50a8\u7cfb\u7edf\u56e0\u5fd9\u4e8e\u5904\u7406\u800c\u5931\u53bb\u54cd\u5e94\u3002\u6211\u4eec\u5df2\u5b8c\u6210\u66ff\u4ee3\u65b9\u6848\u7684\u5f00\u53d1\uff0c\u6b63\u5728\u6d4b\u8bd5\u4e2d\uff0c\u4e0b\u5468\u4f1a\u53d1\u5e03\u66f4\u5408\u7406\u7684\u89e3\u51b3\u65b9\u6848\u3002\uff08 4 \u6708 27 \u65e5\u5468\u4e09\u5b8c\u6210\uff09\n\u6539\u8fdb\u5e76\u53d1\u9650\u5236\u7684\u7b97\u6cd5\uff0c\u4ee5\u4fbf\u5728\u5f02\u5e38\u6761\u4ef6\u4e0b\u66f4\u597d\u5730\u9650\u5236\u6545\u969c\u7684\u5f71\u54cd\u8303\u56f4\u3002\uff08 4 \u6708 25 \u65e5\u5468\u4e00\u5b8c\u6210\uff09\n\u6392\u67e5\u6240\u6709\u5371\u9669\uff0f\u8017\u65f6\u64cd\u4f5c\uff0c\u5728\u4e0a\u5c42\u8fdb\u884c\u5199\u5165\u63a7\u5236\uff0c\u907f\u514d\u5bf9\u540e\u7aef\u5b58\u50a8\u7cfb\u7edf\u9020\u6210\u592a\u5927\u5f71\u54cd\u3002\uff08 4 \u6708 25 \u65e5\u5468\u4e00\u5b8c\u6210\uff09\n\u8fd1\u671f LeanCloud \u5e73\u53f0\u8f83\u4e3a\u9891\u7e41\u5730\u53d1\u751f\u6545\u969c\uff0c\u8fd9\u5bf9\u6211\u4eec\u4e5f\u662f\u4e00\u79cd\u524d\u6240\u672a\u6709\u7684\u8003\u9a8c\u3002 LeanCloud \u4e00\u76f4\u628a\u7a33\u5b9a\u770b\u6210\u751f\u547d\u7ebf\uff0c\u6240\u4ee5\u6211\u4eec\u6b63\u5728\u96c6\u4e2d\u5168\u90e8\u7cbe\u529b\u6765\u5e94\u5bf9\u7528\u6237\u548c\u6d41\u91cf\u4e0d\u65ad\u589e\u957f\u5e26\u6765\u7684\u6311\u6218\uff0c\u6bcf\u5468\u90fd\u4f1a\u4e0a\u7ebf\u4e00\u4e9b\u589e\u52a0\u7a33\u5b9a\u6027\u7684\u63aa\u65bd\u3002\u6211\u4eec\u6709\u4fe1\u5fc3\u80fd\u5c3d\u5feb\u8ba9\u4e91\u670d\u52a1\u66f4\u52a0\u7a33\u5b9a\u548c\u53ef\u9760\uff0c\u5e0c\u671b\u5e7f\u5927\u5f00\u53d1\u8005\u80fd\u591f\u7ee7\u7eed\u652f\u6301\u548c\u4fe1\u4efb LeanCloud \u3002</p>\n<p>\u5982\u679c\u60a8\u6709\u4efb\u4f55\u7591\u95ee\uff0c\u8bf7\u53d1\u9001\u90ae\u4ef6\u81f3 support@leancloud.cn \u8fdb\u884c\u786e\u8ba4\u3002</p>\n<p>Cheers,\nThe LeanCloud Team</p>\n", 
      "date_published": "2016-04-22T11:50:34+00:00", 
      "title": "\u53c8\u6765\u3002\u3002\u3002LeanCloud \u4e2d\u56fd\u8282\u70b9\u7684\u540e\u7aef\u5b58\u50a8\u96c6\u7fa4\u51fa\u73b0\u95ee\u9898", 
      "id": "https://www.v2ex.com/t/273730"
    }, 
    {
      "author": {
        "url": "https://www.v2ex.com/member/zckevin", 
        "name": "zckevin", 
        "avatar": "https://cdn.v2ex.com/avatar/9335/96b8/7670_large.png?m=1721270420"
      }, 
      "url": "https://www.v2ex.com/t/268786", 
      "date_modified": "2016-04-05T12:46:44+00:00", 
      "content_html": "180.150.179.13 \u548c 180.150.179.12 \u90fd\u65e0\u6cd5 ping \u901a\uff0c\u4e00\u4e2a\u5c0f\u65f6\u4e86\u3002\u3002\u3002", 
      "date_published": "2016-04-05T12:43:23+00:00", 
      "title": "Leancloud \u53c8\u6302\u4e86\uff1f\u5168\u56fd\u90fd\u65e0\u6cd5 ping \u901a", 
      "id": "https://www.v2ex.com/t/268786"
    }, 
    {
      "author": {
        "url": "https://www.v2ex.com/member/Gabarr", 
        "name": "Gabarr", 
        "avatar": "https://cdn.v2ex.com/gravatar/c62bebabd975ef2d3cef29924ee7e1d6?s=73&d=retro"
      }, 
      "url": "https://www.v2ex.com/t/263273", 
      "title": "leanapp.cn \u4e0b\u57df\u540d\u65e0\u6cd5\u9a8c\u8bc1\u5fae\u4fe1\uff1f", 
      "id": "https://www.v2ex.com/t/263273", 
      "date_published": "2016-03-14T01:16:58+00:00", 
      "content_html": "<p>\u8bd5\u8fc7\u4e86\u81ea\u5df1\u7f16\u5199\u4ee3\u7801\u548c\u4f7f\u7528\u5b98\u65b9\u5165\u95e8\uff0c\u90fd\u65e0\u6cd5\u9a8c\u8bc1\u901a\u8fc7\u3002<br>\n\u8981\u4e48\u8bf4\u8bf7\u6c42 URL \u8d85\u65f6\uff0c\u8981\u4e48\u8bf4 token \u9a8c\u8bc1\u5931\u8d25\u3002</p>\n\n<p>\u6709\u524d\u8f88\u6765\u5e26\u5e26\u8def\u4e48\uff1f</p>\n"
    }, 
    {
      "author": {
        "url": "https://www.v2ex.com/member/FiberCore", 
        "name": "FiberCore", 
        "avatar": "https://cdn.v2ex.com/gravatar/d54e31f135f718af044aca3b38ff9b6a?s=73&d=retro"
      }, 
      "url": "https://www.v2ex.com/t/257343", 
      "title": "LeanCloud \u4f60\u4eec\u7684 push \u662f\u4e0d\u662f\u6302\u6389\u4e86\uff0c\u53d1\u4e86\u51e0\u4e2a\u90fd\u4e0d\u884c\u554a", 
      "id": "https://www.v2ex.com/t/257343", 
      "date_published": "2016-02-18T06:22:51+00:00", 
      "content_html": "<p>LeanCloud \u4f60\u4eec\u7684 push \u662f\u4e0d\u662f\u6302\u6389\u4e86\uff0c\u521a\u624d\u6d4b\u8bd5\u53d1\u4e86\u51e0\u4e2a\u90fd\u4e0d\u884c\uff0c\u65e9\u4e0a\u8fd8\u597d\u597d\u7684</p>\n"
    }, 
    {
      "author": {
        "url": "https://www.v2ex.com/member/int64ago", 
        "name": "int64ago", 
        "avatar": "https://cdn.v2ex.com/avatar/5cb3/52b4/90433_large.png?m=1737293311"
      }, 
      "url": "https://www.v2ex.com/t/254221", 
      "title": "\u8bf7\u5141\u8bb8\u6211\u6c34\u4e00\u4e0b\uff0c\u6bcf\u6b21\u6572\u6253 AV.Object...\uff0c\u90fd\u4f1a\u8ba9\u6211\u4e0b\u610f\u8bc6\u7684\u4e71\u60f3\uff0c\u4e0d\u80fd\u597d\u597d\u7684\u5de5\u4f5c\uff0c\u4f60\u4eec\u8bbe\u8ba1\u7684\u65f6\u5019\u662f\u5982\u4f55\u8003\u8651\u7684\uff0c\u867d\u7136\u6211\u77e5\u9053\u662f\u4e4b\u524d\u54c1\u724c\u7684\u7b80\u79f0\u2026\u2026", 
      "id": "https://www.v2ex.com/t/254221", 
      "date_published": "2016-01-29T05:15:04+00:00", 
      "content_html": ""
    }, 
    {
      "author": {
        "url": "https://www.v2ex.com/member/hjiang", 
        "name": "hjiang", 
        "avatar": "https://cdn.v2ex.com/avatar/e43a/5db4/23827_large.png?m=1757052635"
      }, 
      "url": "https://www.v2ex.com/t/250122", 
      "title": "\u4f7f\u7528 New Relic \u76d1\u63a7\u4e91\u5f15\u64ce\u5e94\u7528\u7684\u6027\u80fd", 
      "id": "https://www.v2ex.com/t/250122", 
      "date_published": "2016-01-12T05:34:43+00:00", 
      "content_html": "<p>\u600e\u6837\u7528 New Relic \u76d1\u63a7\u90e8\u7f72\u5728 LeanCloud \u4e0a\u7684 LeanEngine \u5e94\u7528\uff1a <a target=\"_blank\" rel=\"nofollow\" href=\"https://blog.leancloud.cn/4133/\">https://blog.leancloud.cn/4133/</a></p>\n"
    }, 
    {
      "author": {
        "url": "https://www.v2ex.com/member/LeanCloudRRY", 
        "name": "LeanCloudRRY", 
        "avatar": "https://cdn.v2ex.com/avatar/278f/c5d5/103427_large.png?m=1430102721"
      }, 
      "url": "https://www.v2ex.com/t/240365", 
      "title": "\u300c\u4ea7\u54c1\u66f4\u65b0\u300d\u9ad8\u6548\u5185\u5b58\u5b58\u50a8\u670d\u52a1 LeanCache \u6b63\u5f0f\u53d1\u5e03", 
      "id": "https://www.v2ex.com/t/240365", 
      "date_published": "2015-12-01T10:10:41+00:00", 
      "content_html": "<p>LeanCache \u662f\u4e3a\u4e91\u5f15\u64ce\u7528\u6237\u63d0\u4f9b\u7684\u9ad8\u6027\u80fd\u3001\u9ad8\u53ef\u7528\u7684\u5185\u5b58\u5b58\u50a8\u670d\u52a1\u3002\u4e0e\u6211\u4eec\u4ee5\u5f80\u7684\u6570\u636e\u5b58\u50a8\u670d\u52a1\u76f8\u6bd4\uff0c\u5b83\u4e0d\u4ec5\u80fd\u591f\u5904\u7406\u66f4\u591a\u7684\u5e76\u53d1\u8fde\u63a5\u548c\u8bf7\u6c42\u6570\uff0c\u6781\u5927\u5730\u63d0\u9ad8\u5e94\u7528\u6027\u80fd\uff0c\u800c\u4e14\u8fd8\u80fd\u964d\u4f4e\u6570\u636e\u5b58\u50a8\u7684\u4f7f\u7528\u6210\u672c\u3002\u50cf\u79d2\u6740\u3001\u62a2\u7ea2\u5305\u3001\u6570\u636e\u91cf\u5c11\u4f46\u8bfb\u5199\u6bd4\u4f8b\u5f88\u9ad8\u7b49\u573a\u666f\u90fd\u9002\u5408\u4f7f\u7528 LeanCache \u3002</p>\n\n<p><img src=\"https://blog.leancloud.cn/wp-content/uploads/2015/11/leancache_arch.png\" alt=\"\"></p>\n\n<p>\u5728\u4e91\u5f15\u64ce\u4e2d\u8bbf\u95ee\u4e00\u4e2a\u5bb9\u91cf\u4e3a 2GB \u7684 LeanCache \u5b9e\u4f8b\uff0c\u6bcf\u79d2\u53ef\u4ee5\u5904\u7406\u5c06\u8fd1 70,000 \u6b21\u7684\u8bf7\u6c42\uff0c\u800c\u4e00\u822c\u60c5\u51b5\u4e0b\u8bbf\u95ee\u5b58\u50a8\u670d\u52a1\u7684\u8bf7\u6c42\u5cf0\u503c\u4e3a 320 \u6b21\uff0f\u79d2\uff0c\u76f8\u5dee 200 \u591a\u500d\u3002\u9664\u4e86\u66f4\u9ad8\u7684\u6027\u80fd\uff0c LeanCache \u8fd8\u53ef\u4ee5\u5e2e\u52a9\u7528\u6237\u8282\u7701\u8d39\u7528\u3002\u56e0\u4e3a\u4ea4\u7531 LeanCache \u5904\u7406\u7684\u8bf7\u6c42\u4e0d\u8ba1\u5165\u5b58\u50a8 API \u8c03\u7528\u6b21\u6570\uff0c\u6240\u4ee5\u7528\u6237\u53ef\u4ee5\u628a\u4e00\u4e9b\u9ad8\u9891\u7387\u7684\u67e5\u8be2\u4ece\u6309 API \u8c03\u7528\u6b21\u6570\u6536\u8d39\u7684\u5b58\u50a8\u670d\u52a1\u5206\u6d41\u81f3 LeanCache \u4e0a\uff0c\u901a\u8fc7\u964d\u4f4e\u603b\u7684 API \u8c03\u7528\u6b21\u6570\u6765\u51cf\u5c11\u8d39\u7528\u3002 </p>\n\n<p>LeanCache \u57fa\u4e8e Redis \u6280\u672f\uff0c\u540c\u65f6\u652f\u6301\u7f13\u5b58\u6570\u636e\u5b58\u50a8\u548c\u6301\u4e45\u5316\u5b58\u50a8\uff0c\u53ef\u4ee5\u5728\u4e0d\u4e2d\u65ad\u670d\u52a1\u7684\u60c5\u51b5\u4e0b\u5728\u7ebf\u6269\u5bb9\u3002\u540c\u65f6\uff0c LeanCache \u652f\u6301\u5728\u591a\u4e2a\u5e94\u7528\u4e4b\u95f4\u5171\u4eab\u6570\u636e\uff0c\u6240\u4ee5\u5982\u679c\u591a\u4e2a\u4e91\u5f15\u64ce\u8282\u70b9\u9700\u8981\u534f\u540c\u5de5\u4f5c\u548c\u901a\u4fe1\uff0c LeanCache \u4e5f\u662f\u6b63\u786e\u7684\u9009\u62e9\u3002</p>\n\n<h3>\u521b\u5efa\u8282\u70b9</h3>\n\n<p>\u8fdb\u5165 <strong>\u63a7\u5236\u53f0</strong> &gt;\uff08\u9009\u62e9\u5e94\u7528\uff09&gt; <strong>\u5b58\u50a8</strong> &gt; <strong>\u4e91\u5f15\u64ce</strong> &gt; <strong>LeanCache</strong>\uff0c\u70b9\u51fb <strong>\u521b\u5efa\u8282\u70b9</strong> \u6765\u521b\u5efa\u65b0\u7684 LeanCache \u8282\u70b9\u3002\u5982\u4e0b\u56fe\u6240\u793a\uff1a</p>\n\n<p><img src=\"https://blog.leancloud.cn/wp-content/uploads/2015/11/leancache_enter-625x356.png\" alt=\"\"></p>\n\n<p>\u521b\u5efa\u5b9e\u4f8b\u65f6\u53ef\u9009\u53c2\u6570\uff1a</p>\n\n<ul>\n<li><strong>\u5b9e\u4f8b\u540d\u79f0</strong>\uff1a\u6700\u5927\u957f\u5ea6\u4e0d\u8d85\u8fc7 32 \u4e2a\u5b57\u7b26\uff0c\u9650\u82f1\u6587\u3001\u6570\u5b57\u3001\u4e0b\u5212\u7ebf\uff0c\u4e14\u4e0d\u80fd\u4ee5\u6570\u5b57\u5f00\u5934\u3002\u6bcf\u4e2a\u5f00\u53d1\u8005\u8d26\u6237\u4e0b LeanCache \u5b9e\u4f8b\u540d\u79f0<strong>\u5fc5\u987b\u552f\u4e00</strong>\uff0c\u4e0d\u586b\u5219\u4e3a\u968f\u673a\u5b57\u7b26\u4e32\u3002</li>\n<li><strong>\u6700\u5927\u5bb9\u91cf</strong>\uff1a\u5f53\u524d\u53ef\u9009\u7684\u5bb9\u91cf\u5927\u5c0f\u6709\uff1a 128 MB \u3001 256 MB \u3001 512 MB \u3001 1 GB \u3001 2 GB \u3001 4 GB \u3001 8 GB \u3002</li>\n<li><strong>\u5220\u9664\u7b56\u7565</strong>\uff1a\u5185\u5b58\u6ee1\u65f6\u5bf9 key \u7684\u5220\u9664\u7b56\u7565\u9ed8\u8ba4\u4e3a<strong>volatile-lru</strong>\uff08\u4f18\u5148\u5220\u9664\u8bbe\u5b9a\u4e86\u8fc7\u671f\u65f6\u95f4\u7684 key \u4e2d\u6700\u8fd1\u6700\u5c11\u4f7f\u7528\u7684 key \uff09\u3002\u5173\u4e8e\u5220\u9664\u7b56\u7565\u7684\u8be6\u7ec6\u5185\u5bb9\u8bf7\u53c2\u8003 <a target=\"_blank\" rel=\"nofollow\" href=\"https://leancloud.cn/docs/leancache_guide.html#%E5%88%A0%E9%99%A4%E7%AD%96%E7%95%A5\">LeanCache \u4f7f\u7528\u6307\u5357</a>\u3002</li>\n</ul>\n\n<h3>\u4f7f\u7528</h3>\n\n<p>LeanCache \u76ee\u524d\u4ec5\u652f\u6301\u901a\u8fc7\u4e91\u5f15\u64ce\u8bbf\u95ee\u3002\u5b9e\u4f8b\u521b\u5efa\u5b8c\u6bd5\u540e\uff0c\u4e91\u5f15\u64ce\u5e94\u7528\u5c31\u53ef\u4ee5\u4ece\u73af\u5883\u53d8\u91cf\u4e2d\u83b7\u53d6 <code>REDIS_URL_&lt;\u5b9e\u4f8b\u540d\u79f0&gt;</code> \u7684 Redis \u8fde\u63a5\u5b57\u7b26\u4e32\uff0c\u901a\u8fc7\u8be5\u4fe1\u606f\u8fde\u63a5\u5e76\u4f7f\u7528 LeanCache \u3002</p>\n\n<p>LeanCache \u5b9e\u4f8b\u5728\u5f00\u53d1\u8005\u8d26\u6237\u5185\u5168\u5c40\u53ef\u89c1\uff0c\u5e76\u4e0d\u4e0e\u67d0\u4e2a\u5e94\u7528\u56fa\u5b9a\u7ed1\u5b9a\u3002\u6240\u4ee5\u5728\u67d0\u4e2a\u5e94\u7528\u5185\u521b\u5efa\u7684 LeanCache \u5b9e\u4f8b\uff0c\u5176\u4ed6\u5e94\u7528\u4e5f\u4e00\u6837\u53ef\u4ee5\u4f7f\u7528\u3002\u5bf9\u4e8e\u67d0\u4e9b\u4f7f\u7528\u573a\u666f\uff0c\u8b6c\u5982 O2O \u884c\u4e1a\u7684\u7528\u6237\u7aef\u548c\u7ba1\u7406\u7aef\uff0c\u6216\u8005\u7f51\u7edc\u79df\u7ea6\u8f66\u5e73\u53f0\u7684\u4e58\u5ba2\u7aef\u548c\u53f8\u673a\u7aef\uff0c\u9700\u8981\u591a\u4e2a\u5e94\u7528\u5171\u4eab\u540c\u4e00\u4efd\u6570\u636e\uff0c\u8fd9\u4e00\u70b9\u5c06\u4f1a\u975e\u5e38\u6709\u7528\u3002</p>\n\n<h3>\u53ef\u9760\u6027</h3>\n\n<p>LeanCache \u5b9e\u4f8b\u4f7f\u7528 Redis Master-Slave \u4e3b\u4ece\u70ed\u5907\uff0c\u6709\u591a\u4e2a\u89c2\u5bdf\u8282\u70b9\u6bcf\u9694 1 \u79d2\u949f\u89c2\u5bdf\u4e00\u6b21\u4e3b\u8282\u70b9\u7684\u72b6\u6001\u3002\u5982\u679c\u300c\u4e3b\u8282\u70b9\u300d\u6700\u540e\u4e00\u6b21\u6709\u6548\u54cd\u5e94\u5728 5 \u79d2\u4e4b\u524d\uff0c\u5219\u8be5\u89c2\u5bdf\u8282\u70b9\u8ba4\u4e3a\u4e3b\u8282\u70b9\u5931\u6548\u3002\u5982\u679c\u8d85\u8fc7\u603b\u6570\u4e00\u534a\u7684\u89c2\u5bdf\u8282\u70b9\u53d1\u73b0\u4e3b\u8282\u70b9\u5931\u6548\uff0c\u5219\u81ea\u52a8\u5c06\u300c\u4ece\u8282\u70b9\u300d\u5207\u6362\u4e3a\u4e3b\u8282\u70b9\uff0c\u5e76\u4f1a\u6709\u65b0\u7684\u4ece\u8282\u70b9\u542f\u52a8\u91cd\u65b0\u7ec4\u6210\u4e3b\u4ece\u70ed\u5907\u3002\u8fd9\u4e2a\u8fc7\u7a0b\u5bf9\u5e94\u7528\u5b8c\u5168\u900f\u660e\uff0c\u4e0d\u9700\u8981\u4fee\u6539\u8fde\u63a5\u5b57\u7b26\u4e32\u6216\u8005\u91cd\u542f\uff0c\u6574\u4e2a\u5207\u6362\u8fc7\u7a0b\u5e94\u7528\u53ea\u6709\u51e0\u79d2\u949f\u7684\u8bbf\u95ee\u4e2d\u65ad\u3002</p>\n\n<p>\u4e0e\u6b64\u540c\u65f6\uff0c\u4ece\u8282\u70b9\u8fd8\u4f1a\u4ee5 <a target=\"_blank\" rel=\"nofollow\" href=\"http://redisbook.readthedocs.org/en/latest/internal/aof.html\">AOF \u65b9\u5f0f</a> \u5c06\u6570\u636e\u6301\u4e45\u5316\u5b58\u50a8\u5230\u53ef\u9760\u7684\u4e2d\u592e\u6587\u4ef6\u4e2d\uff0c\u6bcf\u79d2\u5237\u65b0\u4e00\u6b21\u3002\u5982\u679c\u5f88\u4e0d\u5de7\u4e3b\u4ece\u8282\u70b9\u540c\u65f6\u5931\u6548\uff0c\u5219\u9a6c\u4e0a\u4f1a\u6709\u65b0\u7684 Redis \u8282\u70b9\u542f\u52a8\uff0c\u5e76\u4ece AOF \u6587\u4ef6\u6062\u590d\uff0c\u5b8c\u6210\u540e\u5373\u53ef\u518d\u6b21\u63d0\u4f9b\u670d\u52a1\uff0c\u5e76\u4e14\u4f1a\u6709\u65b0\u7684\u4ece\u8282\u70b9\u4e0e\u4e4b\u6784\u6210\u4e3b\u4ece\u70ed\u5907\u3002</p>\n\n<h3>\u4ef7\u683c</h3>\n\n<p><img src=\"https://forum.leancloud.cn/uploads/default/original/2X/8/8604b71f8e86583026edca845e45cf478eecc60a.png\" alt=\"\"></p>\n\n<p>LeanCache \u670d\u52a1\u73b0\u5728\u5df2\u7ecf\u4e0a\u7ebf\uff0c\u6211\u4eec\u5c06\u4ece <strong>2015 \u5e74 12 \u6708 7 \u65e5</strong> \u5f00\u59cb\u5bf9\u5b83\u6536\u8d39\u3002\u7ed3\u7b97\u65b9\u5f0f\u4e3a\u6309\u5929\u6263\u8d39\uff0c\u4f7f\u7528\u65f6\u95f4\u4e0d\u8db3\u4e00\u5929\u6309\u4e00\u5929\u6536\u8d39\u3002\u56e0\u4e3a\u7528\u6237\u53ef\u80fd\u9700\u8981\u8c03\u6574\u5bb9\u91cf\uff0c\u6240\u4ee5\u4e3a\u4e86\u65b9\u4fbf\u8ba1\u7b97\uff0c\u6211\u4eec\u6309\u7167\u7528\u6237\u5f53\u5929\u6240\u4f7f\u7528\u7684\u300c\u6700\u5927\u5bb9\u91cf\u300d\u6765\u7ed3\u7b97\uff0c\u6b21\u65e5\u51cc\u6668\u4ece\u8d26\u6237\u4f59\u989d\u4e2d\u6263\u6b3e\u3002\u540c\u65f6\uff0c\u4e3a\u4e86\u9632\u6b62 LeanCache \u8282\u70b9\u88ab\u968f\u610f\u521b\u5efa\u800c\u6d6a\u8d39\u4e0d\u5fc5\u8981\u7684\u670d\u52a1\u5668\u8d44\u6e90\uff0c\u6211\u4eec\u8981\u6c42\u5f00\u53d1\u8005\u8d26\u6237\u7559\u6709\u8db3\u591f\u7684\u4f59\u989d\u3002</p>\n\n<p>\u82e5\u60f3\u4e86\u89e3\u66f4\u591a\u6280\u672f\u7ec6\u8282\uff0c\u8bf7\u9605\u8bfb <a target=\"_blank\" rel=\"nofollow\" href=\"https://leancloud.cn/docs/leancache_guide.html\"> \u300a LeanCache \u4f7f\u7528\u6307\u5357\u300b</a>\u3002</p>\n"
    }, 
    {
      "author": {
        "url": "https://www.v2ex.com/member/LeanCloudRRY", 
        "name": "LeanCloudRRY", 
        "avatar": "https://cdn.v2ex.com/avatar/278f/c5d5/103427_large.png?m=1430102721"
      }, 
      "url": "https://www.v2ex.com/t/234813", 
      "title": "\u57fa\u4e8e LeanCloud \u4e91\u5f15\u64ce\u7684 Web \u5168\u6808\u65b9\u6848\uff1a LeanEngine-Full-Stack", 
      "id": "https://www.v2ex.com/t/234813", 
      "date_published": "2015-11-09T08:10:36+00:00", 
      "content_html": "<p>\u5f88\u591a\u5de5\u7a0b\u5e08\u4f7f\u7528 LeanCloud \u4e4b\u540e\uff0c\u53d1\u73b0\u4e00\u4e2a\u4eba\u5c31\u53ef\u4ee5 hold \u4f4f\u4e00\u4e2a\u5b8c\u6574\u9879\u76ee\uff0c\u5c24\u5176\u662f\u4e00\u4e2a Web \u9879\u76ee\u3002\u539f\u56e0\u5f88\u7b80\u5355\uff0c\u672c\u6765\u590d\u6742\u7e41\u7410\u7684\u6570\u636e\u5e93\u64cd\u4f5c\uff0c\u901a\u8fc7\u4f7f\u7528 LeanCloud \u7684 JavaScript SDK \u53d8\u5f97\u8f7b\u800c\u6613\u4e3e\uff0c\u518d\u7ed3\u5408 LeanCloud \u63d0\u4f9b\u670d\u52a1\u5668\u7aef\u5bb9\u5668 \u2014\u2014 LeanEngine \uff08\u652f\u6301\u4e24\u79cd\u73af\u5883 Nodejs \u548c Python \uff09\uff0c\u5c31\u53ef\u4ee5\u5f88\u9ad8\u6548\u5730\u5f00\u53d1\u51fa\u4e00\u4e2a Web \u7aef\u9879\u76ee\u3002<br><br>\n<img src=\"https://blog.leancloud.cn/wp-content/uploads/2015/10/11a63b418c94684f838fd38347fe028d-625x427.png\" alt=\"\"> </p>\n\n<h1>\u80cc\u666f</h1>\n\n<p>\u5f00\u59cb\u5c1d\u8bd5 LeanCloud \u65f6\u9879\u76ee\u5e76\u4e0d\u5927\uff0c\u4e5f\u4e0d\u7b97\u590d\u6742\uff0c\u5927\u5bb6\u90fd\u662f\u5f88\u7b80\u5355\u5730\u53bb\u5199\u4ee3\u7801\uff0c\u4f46\u662f\u968f\u7740\u4f7f\u7528\u7684\u6df1\u5165\u53ca\u8d8a\u6765\u8d8a\u987a\u624b\uff0c\u6709\u4e9b\u5de5\u7a0b\u5e08\u5f00\u59cb\u5c1d\u8bd5\u8bbe\u8ba1\u590d\u6742\u7684\u9879\u76ee\u3002\u53ea\u8981\u9879\u76ee\u590d\u6742\u4e86\uff0c\u5c31\u4f1a\u6709\u5f88\u591a\u5e95\u5c42\u7684\u4e8b\u60c5\u9700\u8981\u8003\u8651\uff0c\u6bd4\u5982\u534f\u4f5c\u5206\u5de5\u3001\u81ea\u52a8\u5316\u6d41\u7a0b\u3001\u4ee3\u7801\u7ec4\u7ec7\u7ed3\u6784\u3001\u6846\u67b6\u9009\u62e9\u3001\u56fd\u9645\u5316\u65b9\u6848\u7b49\u7b49\u3002 LeanCloud \u81ea\u8eab\u7684\u5f88\u591a\u9879\u76ee\u5c31\u662f\u57fa\u4e8e\u672c\u8eab\u63d0\u4f9b\u7684\u670d\u52a1\uff0c\u5728\u8fd9\u4e2a\u8fc7\u7a0b\u4e2d\u6211\u4eec\u4e5f\u9047\u5230\u8fc7\u3001\u7ea0\u7ed3\u8fc7\u5f88\u591a\u95ee\u9898\uff0c\u6240\u4ee5\u5c06\u6211\u4eec\u76ee\u524d\u4f7f\u7528\u7684 Web \u5168\u6808\u65b9\u6848\u6574\u7406\u4e86\u4e00\u4e0b\uff0c\u53ef\u4ee5\u5f53\u505a\u4e00\u4e2a Generator \u6216\u8005 Seed \uff0c\u4f9b\u5927\u5bb6\u4ea4\u6d41\u548c\u4f7f\u7528\u3002 </p>\n\n<h2>\u7b80\u4ecb</h2>\n\n<p>\u9879\u76ee\u540d\u4e3a\u300c LeanEngine-Full-Stack \u300d\uff0c\u5c31\u653e\u5728 LeanCloud \u5b98\u65b9\u7684 GitHub \u4ed3\u5e93\u4e2d\uff0c\u5730\u5740\u4e3a <a target=\"_blank\" rel=\"nofollow\" href=\"https://github.com/leancloud/LeanEngine-Full-Stack\">https://github.com/leancloud/LeanEngine-Full-Stack</a><br><br>\nLeanEngine-Full-Stack \u662f\u57fa\u4e8e LeanEngine Nodejs \u670d\u52a1\u7684 Web \u5168\u6808\u5f00\u53d1\u6280\u672f\u89e3\u51b3\u65b9\u6848\u3002\u6574\u5408\u5f53\u524d Web \u6280\u672f\u4e2d\u901a\u7528\u7684\u6280\u672f\u65b9\u6848\uff0c\u4e0e LeanEngine \u7d27\u5bc6\u7ed3\u5408\uff0c\u5c06\u57fa\u7840\u67b6\u6784\u3001\u81ea\u52a8\u5316\u6784\u5efa\u3001\u56fd\u9645\u5316\u65b9\u6848\u7b49\u5e95\u5c42\u6280\u672f\u95ee\u9898\u7684\u89e3\u51b3\u65b9\u6848\u90fd\u5df2\u7ecf\u7ec4\u7ec7\u5728\u4e00\u8d77\u3002\u7528\u6237\u53ef\u4ee5\u901a\u8fc7\u6700\u7b80\u5355\u7684\u65b9\u5f0f\uff0c\u76f4\u63a5\u5f00\u59cb\u4e1a\u52a1\u5f00\u53d1\uff0c\u4e0d\u7528\u518d\u6b21\u7ea0\u7ed3\u90a3\u4e9b\u5e95\u5c42\u6280\u672f\u9009\u578b\u3002  </p>\n\n<p>\u4e3b\u8981\u6280\u672f\u6808\uff1a<br><br>\n* \u8bed\u8a00\u5c42\u9762\uff0c\u6574\u5957\u65b9\u6848 JavaScript \u4ee3\u7801\u5168\u90e8\u4f7f\u7528 ECMAScript 6<br><br>\n* Server \u7aef\u8fd0\u884c\u73af\u5883\u57fa\u4e8e LeanEngine Nodejs \u73af\u5883\uff0c\u4f9d\u8d56\u5b89\u88c5\u901a\u8fc7 npm \uff0c\u670d\u52a1\u6846\u67b6\u4e3b\u8981\u57fa\u4e8e Express 4.x<br><br>\n* Web \u524d\u7aef\u81ea\u52a8\u5316\u65b9\u6848\u4e3b\u8981\u57fa\u4e8e Gulp \uff0c\u6846\u67b6\u57fa\u4e8e Angular 1.4.x \uff0c UI \u6846\u67b6\u4e3b\u8981\u57fa\u4e8e Angular Material \uff0c\u6784\u5efa\u4f9d\u8d56\u57fa\u4e8e npm \uff0c Web \u524d\u7aef\u4f9d\u8d56\u901a\u8fc7 bower \u5b89\u88c5\uff0c\u6837\u5f0f\u901a\u8fc7\u7f16\u5199 SASS \u800c\u975e\u76f4\u63a5\u5199 CSS \u6587\u4ef6<br><br>\n\u6574\u4e2a\u811a\u624b\u67b6 Server \u7aef\u5b8c\u5168\u57fa\u4e8e LeanEngine \uff0c\u5e95\u5c42\u5df2\u7ecf\u5c06 API \u8def\u7531\u7684\u57fa\u7840\u7ed3\u6784\u505a\u597d\uff0c\u5e76\u4e14\u5c06\u4e00\u4e9b\u5e38\u89c4\u5904\u7406\u4e5f\u6574\u5408\u5728\u5185\uff0c\u5df2\u9009\u578b\u7684\u6280\u672f\u65b9\u6848\u4e3b\u8981\u5305\u62ec\uff1a<br><br>\n* \u670d\u52a1\u7aef\u57fa\u672c\u4ee3\u7801\u7ed3\u6784\u3001\u7ec4\u7ec7\u7ed3\u6784<br><br>\n* \u57fa\u7840\u7684\u8def\u7531\u5206\u5c42\uff0c\u9ed8\u8ba4\u5728 /api/ \u8def\u7531\u4e0b<br><br>\n* \u5bf9 API \u7684 HTML5 CORS \u8de8\u57df\u534f\u8bae\u7684\u8bbe\u7f6e<br><br>\n* \u5bf9\u8bbf\u95ee\u57df\u767d\u540d\u5355\u63a7\u5236\uff0c\u96c6\u6210\u7684\u53ef\u914d\u7f6e\u6587\u4ef6<br><br>\n* \u5e38\u89c4\u9519\u8bef\u5904\u7406\u7b49</p>\n\n<p>Web \u524d\u7aef\u4ece\u6574\u4f53\u6280\u672f\u6808\u9009\u62e9\u4e0a\uff0c\u53ef\u4ee5\u770b\u51fa\u8fd9\u662f\u4e00\u4e2a\u7a33\u5065\u5e76\u4e14\u6709\u4e00\u5b9a\u524d\u77bb\u6027\u7684\u6280\u672f\u65b9\u6848\u3002\u57fa\u4e8e\u5df2\u7ecf\u975e\u5e38\u6210\u719f\u7684 Angular \u67b6\u6784\u4f53\u7cfb\uff0c UI \u8bbe\u8ba1\u5c42\u9762\u57fa\u4e8e Google \u79ef\u7d2f\u591a\u5e74\u800c\u53d1\u5e03\u7684\u8bbe\u8ba1\u8bed\u8a00 Material Design \uff0c\u6240\u4ee5\u524d\u7aef UI \u6846\u67b6\u57fa\u4e8e Angular Material \u6846\u67b6\u3002 Angular 1.4 \u7248\u672c\u5728\u6027\u80fd\u4e0a\u63d0\u5347\u4e86\u5f88\u591a\uff0c\u5b8c\u5168\u9762\u5411\u73b0\u4ee3\u6d4f\u89c8\u5668\uff0c\u53ef\u4ee5\u76f4\u63a5\u4f7f\u7528 ECMAScript 6 \u6765\u5f00\u53d1\u3002\u5185\u90e8\u5df2\u7ecf\u5199\u597d\u5e76\u6574\u5408\u7684\u65b9\u6848\u4e3b\u8981\u5305\u62ec\uff1a<br><br>\n* \u4ee3\u7801\u57fa\u672c\u7ec4\u7ec7\u7ed3\u6784\uff0c\u8d8b\u5411\u4e8e HTML5 Web Compoment \u7684\u7ec4\u7ec7\u65b9\u5f0f<br><br>\n* \u5e95\u5c42\u914d\u7f6e\uff0c\u5305\u62ec HTML5 CORS \u534f\u8bae\u7684\u5e95\u5c42\u652f\u6301\u3001\u57df\u540d\u767d\u540d\u5355\u7b49\u914d\u7f6e<br><br>\n* \u7eaf\u524d\u7aef\u8def\u7531\u65b9\u6848\uff0c\u57fa\u4e8e HTML5 History API \u548c ui-router<br><br>\n* \u81ea\u52a8\u6784\u5efa\u7cfb\u7edf\uff0c\u57fa\u7840\u7684\u4ee3\u7801\u538b\u7f29\u3001\u5408\u5e76\u3001 ECMAScript \u548c SASS \u7f16\u8bd1\u7b49\u8fc7\u7a0b\uff0c\u4e5f\u4f1a\u5c06\u6784\u5efa\u540e\u7684\u751f\u6210\u4ee3\u7801\u62f7\u8d1d\u5230 public \u76ee\u5f55\u4e2d\uff0c\u4f9b\u53d1\u5e03\u4f7f\u7528<br><br>\n* SASS \u7684\u57fa\u672c\u7ed3\u6784\uff0c\u4ee5\u53ca\u4e00\u4e9b Mixin \u548c\u57fa\u7840\u5355\u5143\u7684\u5904\u7406\u65b9\u5f0f<br><br>\n* \u7eaf\u524d\u7aef\u7684\u56fd\u9645\u5316\u65b9\u6848\uff0c\u53ef\u4ee5\u5b9e\u65f6\u5207\u6362\u8bed\u8a00\u8d44\u6e90       </p>\n\n<h1>\u57fa\u672c\u7ed3\u6784</h1>\n\n<p><img src=\"https://blog.leancloud.cn/wp-content/uploads/2015/10/92cc28672c967aba7fb78eda50aa2d64-625x284.png\" alt=\"\"></p>\n\n<p>\u6574\u5957\u67b6\u6784 Server \u7aef\u4e0e Web \u524d\u7aef\u662f\u5b8c\u5168\u5206\u79bb\uff0c\u5728 Server \u7aef\u7f16\u5199 REST API \uff0c Web \u9879\u76ee\u5219\u662f\u5b8c\u5168\u7684 Web App \uff0c\u800c\u4e0d\u662f\u901a\u8fc7\u6a21\u677f\u6765\u8026\u5408\u3002 web-project \u4e2d\u662f Web \u9879\u76ee\u7684\u5168\u90e8\u4ee3\u7801\uff0c\u662f\u5b8c\u5168\u72ec\u7acb\u7684\u4e00\u5957\u4f53\u7cfb\uff0c\u4e5f\u53ef\u4ee5\u63d0\u51fa\u53bb\uff0c\u5355\u72ec\u9879\u76ee\u7ef4\u62a4\u3002</p>\n\n<p>\u6574\u5957\u6280\u672f\u65b9\u6848\u6709\u5f88\u591a\u7ec6\u8282\uff0c\u5177\u4f53\u7684\u4f7f\u7528\u65b9\u5f0f\u53ef\u4ee5\u5230 GitHub \u4ed3\u5e93\u4e2d\u76f4\u63a5\u67e5\u770b\u4f7f\u7528\u8bf4\u660e\u53ca\u6e90\u7801\u3002 </p>\n\n<p>\u975e\u5e38\u6b22\u8fce\u611f\u5174\u8da3\u7684\u5f00\u53d1\u8005\u4e00\u8d77\u8ba8\u8bba\uff0c\u5f53\u7136\u9650\u4e8e\u81ea\u8eab\u80fd\u529b\u4e0d\u8db3\uff0c\u4e5f\u6709\u5f88\u591a\u53ef\u4ee5\u6539\u8fdb\u7684\u5730\u65b9\uff0c\u6073\u8bf7\u5404\u4f4d\u9ad8\u624b\u79ef\u6781\u8d21\u732e\u4ee3\u7801\u3002\u5982\u679c\u4f60\u5bf9 Web \u5168\u6808\u5f00\u53d1\u6709\u9700\u6c42\uff0c\u6b22\u8fce\u5c1d\u8bd5\u770b\u770b\u3002       </p>\n\n<h1>\u5176\u4ed6\u95ee\u9898</h1>\n\n<p><img src=\"https://blog.leancloud.cn/wp-content/uploads/2015/10/9e426b6cecb7a272963dcb5330523b63-625x234.png\" alt=\"\"></p>\n\n<p>\u4e1a\u5185\u6700\u65b0\u7684\u6280\u672f\u4ee5\u53ca\u89e3\u51b3\u65b9\u6848 LeanCloud \u4e5f\u90fd\u6709\u6301\u7eed\u8ddf\u8fdb\uff0c\u5e76\u4e14\u6211\u4eec\u4e5f\u79ef\u6781\u540c Angular \u3001 React Native \u7b49\u56e2\u961f\u79ef\u6781\u4ea4\u6d41\uff0c\u76ee\u524d\u6784\u5efa Web App \u7684\u6846\u67b6\u9009\u62e9\u4e3b\u8981\u4f1a\u5728 Angular1.x \u3001 Angular2.x \u3001 React \u548c Ploymer \u4e2d\u7ea0\u7ed3\u4e00\u4e0b\uff0c\u800c\u6211\u4eec\u6700\u7ec8\u9009\u62e9\u4e86 Angular 1.4.x \u7248\u672c\u3002  </p>\n\n<p>\u4e3b\u8981\u89e3\u91ca\u4e0b\u4e3a\u4ec0\u4e48\u6ca1\u6709\u9009\u62e9 React \uff0c\u76ee\u524d React \u5e94\u8be5\u662f\u5927\u5bb6\u6700\u611f\u5174\u8da3\u7684\u6846\u67b6\uff0c\u4f46\u662f\u5e76\u4e0d\u6210\u719f\u3002 React \u672c\u8eab\u6700\u521b\u65b0\u7684\u662f\u89e3\u51b3\u4e86 View \u5c42\u7684\u5206\u79bb\uff0c\u5c06\u6e32\u67d3\u4e0e\u7f16\u8bd1\u8fc7\u7a0b\u5206\u79bb\uff0c\u5728 Web \u7aef\u8868\u73b0\u4e3a\u5c06 JSX \u53d8\u4e3a Virtual Dom \uff0c\u518d\u5c06 Virtual Dom \u6bcf\u6b21 Diff \u540e\u7684\u90e8\u5206\u6e32\u67d3\u4e3a HTML \u3002\u800c\u5f00\u53d1\u4e00\u4e2a\u5e94\u7528\u7a0b\u5e8f\u4e0d\u4ec5\u4ec5\u9700\u8981\u8fd9\u4e9b\uff0c\u8fd8\u9700\u8981\u4e00\u5957\u5b8c\u5907\u7684\u5904\u7406\u5404\u79cd\u5e95\u5c42\u95ee\u9898\u7684\u65b9\u6848\u3002\u5982\u6211\u4eec\u5728\u4e0a\u9762\u6280\u672f\u6808\u5217\u51fa\u7684\u90a3\u4e9b\uff0c React \u6570\u636e\u5c42 Flux \u7f16\u7a0b\u8303\u5f0f\u5e76\u4e0d\u6210\u719f\uff0c UI \u5c42\u9762\u7ec4\u4ef6\u7a00\u7f3a\uff0c\u5373\u4fbf\u662f\u524d\u7aef\u8def\u7531\u65b9\u6848\u4e5f\u662f\u9887\u6709\u4e89\u8bae\uff0c\u9ed1\u79d1\u6280\u4e0d\u65ad\u3002   </p>\n\n<p>\u6240\u4ee5\uff0c\u5728\u8fd9\u79cd\u60c5\u51b5\u4e0b\uff0c\u56e0\u4e3a\u8981\u505a\u7684\u662f\u4e00\u4e2a\u957f\u671f\u53ef\u7ef4\u62a4\u7684\u4ea7\u54c1\uff0c\u6211\u4eec\u6682\u65f6\u4e0d\u80fd\u9009\u62e9 React \u6765\u505a Web App \u3002\u5f53\u7136\uff0c LeanCloud \u4f1a\u6301\u7eed\u8ddf\u8fdb React Team \u7684\u6700\u65b0\u52a8\u6001\u3002\u53e6\u5916\uff0c\u63a8\u8350\u4e00\u4e0b React Native \uff0c\u867d\u7136 React \u6784\u5efa Web App \u4f18\u52bf\u5e76\u4e0d\u660e\u663e\uff0c\u4f46\u662f React Native \u5219\u662f\u5927\u5927\u63d0\u9ad8\u4e86 Native App \u7684\u5f00\u53d1\u4f53\u9a8c\uff0c\u4f18\u52bf\u8fdc\u5927\u4e8e\u76ee\u524d\u7684\u52a3\u52bf\uff0c\u6240\u4ee5\u6b22\u8fce\u5927\u5bb6\u5c1d\u8bd5\u4e00\u4e0b\uff0c LeanCloud \u7684 JavaScript SDK \u4e5f\u652f\u6301 React Native \u4e2d\u4f7f\u7528\u3002</p>\n\n<h2>\u4e3a\u4ec0\u4e48\u5168\u90e8\u4f7f\u7528 ECMAScript 6 \uff1f</h2>\n\n<p><img src=\"https://blog.leancloud.cn/wp-content/uploads/2015/10/a4a4cebfff1d05327bdab9d516826e75.png\" alt=\"\"></p>\n\n<p>\u4e00\u95e8\u7f16\u7a0b\u8bed\u8a00\u4f1a\u5f71\u54cd\u4e00\u4e2a\u4eba\u7684\u7f16\u7a0b\u601d\u8def\uff0c ECAMScript \u5bf9 JavaScript \u8fd9\u95e8\u4e03\u5929\u8bbe\u8ba1\u51fa\u6765\u7684\u8bed\u8a00\u505a\u4e86\u5f88\u591a\u4f18\u5316\u548c\u9769\u65b0\uff0c\u6bd4\u5982\u7bad\u5934\u51fd\u6570\u3001\u8bed\u8a00\u5c42\u9762\u7684\u6a21\u5757\u5316\u3001\u539f\u751f\u7684 Promise \u7b49\u90fd\u662f\u8ba9\u4eba\u773c\u524d\u4e00\u4eae\u7684\u7279\u6027\uff0c\u5176\u4ed6\u5927\u5927\u5c0f\u5c0f\u7684\u6539\u8fdb\u4e5f\u5f88\u591a\u3002\u800c\u4e14\u5728 2015 \u5e74 ECMAScript 6 \u5df2\u7ecf\u5b9a\u7a3f\uff0c\u6240\u6709\u6d4f\u89c8\u5668\u6700\u7ec8\u90fd\u4e00\u5b9a\u4f1a\u652f\u6301\u8fd9\u4e2a\u7248\u672c\u7684 JavaScript \uff0c\u90a3\u4e48\u6709\u4ec0\u4e48\u7406\u7531\u4e0d\u5f00\u59cb\u5c1d\u8bd5\u5462\uff1f\u800c\u4e14\u901a\u8fc7\u5f88\u591a\u7684\u524d\u7aef\u6784\u5efa\uff0c\u53ef\u4ee5\u8ba9\u6211\u4eec\u4e0d\u7528\u53bb\u8fc7\u591a\u8003\u8651\u6d4f\u89c8\u5668\u7684\u517c\u5bb9\u6027\uff0c\u6240\u4ee5\u6211\u4eec\u9009\u62e9\u5168\u90e8\u4f7f\u7528 ECMAScript 6 \u3002    </p>\n\n<p>\u670d\u52a1\u7aef\u901a\u8fc7\u5728 LeanEngine \u4e2d\u8fd0\u884c node --harmony \u6765\u5b9e\u73b0\u5bf9 ECMAScript 6 \u7684\u652f\u6301\uff0c\u56e0\u4e3a\u76ee\u524d Nodejs 4.x \u521a\u521a\u53d1\u5e03\uff0c\u7b49\u5b8c\u5168\u652f\u6301\u4e86\uff0c\u5c31\u53ef\u4ee5\u53bb\u6389 harmony \u53c2\u6570\u3002\u524d\u7aef\u901a\u8fc7\u76f4\u63a5\u5199 ECMAScript 6 \u7684\u65b9\u5f0f\u6765\u7f16\u7801\uff0c\u800c\u6ca1\u6709\u9009\u62e9\u5982 TypeScript \u4e4b\u7c7b\u7684 ECMAScript 6 \u8d85\u96c6\uff0c\u56e0\u4e3a\u8fd8\u662f\u5e0c\u671b\u80fd\u591f\u7f16\u5199\u66f4\u7eaf\u7cb9\u7684 JavaScript \uff0c\u524d\u7aef\u4f1a\u901a\u8fc7 babel \u81ea\u52a8\u5316\u7f16\u8bd1\u5904\u7406\u3002\u603b\u4f53\u6765\u770b\uff0c\u4e5f\u7b97\u662f\u7a33\u5065\u4e14\u6709\u524d\u77bb\u7684\u9009\u62e9\u3002</p>\n"
    }, 
    {
      "author": {
        "url": "https://www.v2ex.com/member/LeanCloudRRY", 
        "name": "LeanCloudRRY", 
        "avatar": "https://cdn.v2ex.com/avatar/278f/c5d5/103427_large.png?m=1430102721"
      }, 
      "url": "https://www.v2ex.com/t/233787", 
      "title": "\u300c\u4ea7\u54c1\u66f4\u65b0\u300d2015 \u5e74 10 \u6708 LeanCloud \u4ea7\u54c1\u66f4\u65b0\u6c47\u603b", 
      "id": "https://www.v2ex.com/t/233787", 
      "date_published": "2015-11-05T03:37:25+00:00", 
      "content_html": "<p>\u8981\u70b9\u7b80\u8ff0\u5982\u4e0b\uff1a</p>\n\n<ul>\n<li>\u53d1\u5e03 PHP SDK 0.1.0 \uff0c\u652f\u6301\u6570\u636e\u5b58\u50a8\u529f\u80fd\u3002</li>\n<li>\u91cd\u65b0\u5f00\u653e\u4e86\u7d22\u5f15\u670d\u52a1\uff0c\u652f\u6301\u81ea\u52a9\u521b\u5efa\u552f\u4e00\u7d22\u5f15\u3002</li>\n<li>iOS SDK \u89e3\u51b3\u4e86\u6570\u636e\u5b58\u50a8\u7684 DNS \u6c61\u67d3\u95ee\u9898\u3002</li>\n<li>Android IM SDK \u4fee\u590d\u4e86\u4e00\u4e2a\u5f15\u8d77\u8d85\u65f6\u7684 bug \uff0c\u656c\u8bf7\u5f00\u53d1\u8005\u5c3d\u5feb\u5347\u7ea7\u3002</li>\n<li>\u4e91\u5f15\u64ce\u652f\u6301 beforeUpdate \u3002</li>\n</ul>\n\n<p>\u66f4\u8be6\u7ec6\u7684\u63cf\u8ff0\u5982\u4e0b\u3002</p>\n\n<h2>\u7f51\u7ad9</h2>\n\n<ul>\n<li>\u6211\u4eec\u91cd\u65b0\u5f00\u653e\u4e86\u7d22\u5f15\u529f\u80fd\uff0c\u5728 class \u7684\u5176\u4ed6\u83dc\u5355\u9879\u91cc\u589e\u52a0\u4e86\u7d22\u5f15\u83dc\u5355\uff0c\u7528\u6237\u53ef\u4ee5\u81ea\u884c\u8bbe\u7f6e\u552f\u4e00\u7d22\u5f15\uff0c\u4e0d\u9700\u8981\u518d\u901a\u8fc7\u6280\u672f\u652f\u6301\u7533\u8bf7\u6765\u505a\u5230\u4e86\u3002\u5217\u7684\u81ea\u589e\u503c\u5141\u8bb8\u91cd\u8bbe\u4e3a\u9ed8\u8ba4\u503c\u6216\u8005 0 \uff0c\u7f16\u8f91\u7684\u65f6\u5019\u52fe\u9009\u91cd\u8bbe\u9009\u9879\u5373\u53ef\u3002</li>\n<li>\u5176\u6b21\uff0c\u6211\u4eec\u7684\u6570\u636e\u5bfc\u51fa\u670d\u52a1\u589e\u52a0\u4e86\u5bfc\u51fa Schema \u529f\u80fd\uff0c\u53ef\u4ee5\u5355\u7eaf\u5bfc\u51fa\u6570\u636e\u7684 schema \uff0c\u7136\u540e\u8fd8\u662f\u4f7f\u7528\u6570\u636e\u5bfc\u5165\u6765\u5c06 Schema \u5bfc\u5165\u5230\u5176\u4ed6\u5e94\u7528\u3002</li>\n<li>\u6211\u4eec\u8fd8\u5b8c\u5584\u4e86\u77ed\u4fe1\u7684\u7edf\u8ba1\u529f\u80fd\uff0c\u589e\u52a0\u4e86\u9a8c\u8bc1\u901a\u8fc7\u7684\u65b0\u72b6\u6001\uff0c\u8868\u793a\u901a\u8fc7 LeanCloud \u4ea7\u751f\u7684\u9a8c\u8bc1\u7801\u7528\u6237\u6536\u5230\u5e76\u6821\u9a8c\u901a\u8fc7\u3002\u7ad9\u5185\u901a\u77e5\u548c\u9519\u8bef\u63d0\u793a\u4e5f\u90fd\u505a\u4e86\u4e00\u4e9b\u6539\u8fdb\u3002</li>\n</ul>\n\n<h2>\u5b58\u50a8\u670d\u52a1\u7aef</h2>\n\n<ul>\n<li>GeoPoint \u7c7b\u578b\u652f\u6301 minDistance \u67e5\u8be2\uff0c\u76f8\u5e94 SDK \u4e5f\u505a\u4e86\u66f4\u65b0\u3002</li>\n<li>\u4fee\u590d\u4e86\u6e05\u9664\u6240\u6709\u6570\u636e\u4f1a\u5bfc\u81f4\u7d22\u5f15\u4e22\u5931\u7684 Bug \u3002\n    * \u4fee\u590d\u4e86\u6587\u4ef6\u5220\u9664\u5b58\u5728\u7684\u4e00\u4e2a\u5b89\u5168\u6f0f\u6d1e\uff0c\u611f\u8c22\u7528\u6237\u62a5\u544a\u3002</li>\n</ul>\n\n<h2>\u804a\u5929\u670d\u52a1\u7aef</h2>\n\n<ul>\n<li>\u4e0a\u7ebf\u4e86\u5355\u70b9\u767b\u5f55\u529f\u80fd\uff0c\u6587\u6863\u6682\u672a\u66f4\u65b0\uff0c\u8bf7\u7559\u610f\u66f4\u65b0\u3002</li>\n<li>\u5185\u90e8\u7684\u4e00\u4e9b\u4f18\u5316\u548c\u91cd\u6784\uff0c\u8fdb\u4e00\u6b65\u964d\u4f4e\u670d\u52a1\u7aef\u8d1f\u8f7d\u538b\u529b\u3002</li>\n<li>\u534f\u8bae\u652f\u6301 session token \uff0c\u8282\u7701\u7528\u6237\u6d41\u91cf\u3002</li>\n</ul>\n\n<h2>\u4e91\u5f15\u64ce</h2>\n\n<ul>\n<li>\u8fdb\u4e00\u6b65\u4f18\u5316 LeanCache \uff0c\u63d0\u4f9b\u7ed9\u66f4\u591a\u7528\u6237\u5185\u6d4b\u3002</li>\n<li>\u53d1\u5e03 beforeUpdate \u56de\u8c03\u5b9e\u73b0\uff0c\u53c2\u8003<a target=\"_blank\" rel=\"nofollow\" href=\"https://leancloud.cn/docs/leanengine_guide-node.html#%E5%9C%A8_update_%E6%9B%B4%E6%96%B0%E5%89%8D%E6%89%A7%E8%A1%8C%E6%93%8D%E4%BD%9C\">\u5728\u66f4\u65b0\u524d\u6267\u884c\u64cd\u4f5c</a>\u3002</li>\n<li>\u5207\u6362\u4e86\u65e5\u5fd7\u5b9e\u73b0\uff0c\u4e91\u5f15\u64ce\u65e5\u5fd7\u5c06\u4e0d\u518d\u5360\u7528\u5b58\u50a8\u7684\u5e76\u53d1\u989d\u5ea6\u3002\u547d\u4ee4\u884c\u5de5\u5177\u53d1\u5e03\u4e86\u65b0\u7248\u672c \uff0c\u8bf7\u5f00\u53d1\u8005\u5c3d\u5feb\u5347\u7ea7\uff0c\u5426\u5219\u65e0\u6cd5\u6b63\u5e38\u67e5\u770b\u65e5\u5fd7\u3002</li>\n<li>Python \u4e91\u5f15\u64ce\u670d\u52a1\u4fee\u590d\u4e86 current user \u76f8\u5173\u7b49 Bug \uff0c\u611f\u8c22\u7528\u6237\u53cd\u9988\u3002</li>\n</ul>\n\n<h2>\u5ba2\u6237\u7aef SDK \u66f4\u65b0</h2>\n\n<h3>PHP SDK</h3>\n\n<p>\u7ecf\u8fc7\u52aa\u529b\uff0c\u7ec8\u4e8e\u53d1\u5e03\u4e86 PHP SDK 0.1.0 \u7248\u672c\uff0c\u652f\u6301\u4e86\u6570\u636e\u5b58\u50a8\u529f\u80fd\uff0c\u8be6\u60c5\u53c2\u8003\u8fd9\u7bc7<a target=\"_blank\" rel=\"nofollow\" href=\"https://blog.leancloud.cn/3830/\">\u535a\u5ba2</a>\u3002</p>\n\n<h3>iOS SDK</h3>\n\n<ul>\n<li>\u652f\u6301\u5220\u9664\u4e8b\u4ef6\u6d41\u4e2d\u6536\u4ef6\u7bb1\u4e2d\u7684\u72b6\u6001</li>\n<li>\u5bf9 AVFile \u589e\u52a0 ACL \u652f\u6301</li>\n<li>\u4fee\u590d AVConversationQuery \u65e0\u6cd5\u4f7f\u7528 NSDate \u67e5\u8be2\u7684\u95ee\u9898</li>\n<li>\u4fee\u590d mutated while being enumerated \u7684\u9519\u8bef</li>\n<li>\u5220\u9664 currentUser \u65f6\u81ea\u52a8\u6ce8\u9500</li>\n<li>\u4fee\u590d AVObject \u4fdd\u5b58\u65f6\uff0c block \u4e0d\u80fd\u56de\u8c03\u7684\u95ee\u9898</li>\n<li>\u589e\u52a0 AVFileQuery \uff0c\u53ef\u4ee5\u5bf9 AVFile \u5bf9\u8c61\u8fdb\u884c\u68c0\u7d22</li>\n<li>\u89e3\u51b3\u6570\u636e\u5b58\u50a8\u65f6\uff0c\u8fd0\u8425\u5546 DNS \u52ab\u6301\u7684\u95ee\u9898</li>\n<li>\u4fee\u590d\u63a5\u6536\u6d88\u606f\u65f6\uff0c\u56e0\u6d88\u606f\u7c7b\u578b\u5f15\u53d1\u7684\u517c\u5bb9\u95ee\u9898</li>\n<li>CocoaPods \u96c6\u6210\u65f6\uff0c\u6dfb\u52a0 -lz \u8fde\u63a5\u9009\u9879</li>\n<li>\u4fee\u590d\u7f51\u7edc\u8bf7\u6c42\u4e2d\uff0c POST \u6570\u636e\u4e0d\u80fd\u6b63\u786e\u5904\u7406\u7684\u95ee\u9898</li>\n<li>\u5b9e\u65f6\u901a\u4fe1\u53d1\u5e03\u5355\u70b9\u767b\u5f55\u529f\u80fd</li>\n<li>AVQuery \u652f\u6301 GeoPoint \u6700\u5c0f\u8ddd\u79bb\uff08 minDistance \uff09\u67e5\u8be2\u6761\u4ef6</li>\n</ul>\n\n<h3>Android SDK</h3>\n\n<ul>\n<li>\u6539\u8fdb InstallationId \u7684\u751f\u6210\u7b97\u6cd5\uff0c\u63d0\u9ad8 installationId \u7684\u53ef\u9760\u6027</li>\n<li>\u7f51\u7edc\u5e93\u4ece\u4f9d\u8d56 async-android-http \u6539\u4e3a okhttp \uff0c\u8bf7\u6ce8\u610f\u4e0b\u8f7d\u540e\u4f9d\u8d56\u5e93\u5df2\u7ecf\u6539\u53d8\u3002</li>\n<li>\u4fee\u6b63 AVQuery.count \u5728\u67d0\u4e9b\u7279\u6b8a\u673a\u578b\u4e0a\u53ef\u80fd\u51fa\u73b0 NPE \u7684\u60c5\u51b5</li>\n<li>\u89e3\u51b3\u804a\u5929\u670d\u52a1\u4e2d\u53ef\u80fd\u5b58\u5728\u7531\u975e\u7f51\u7edc\u56e0\u7d20\u9020\u6210\u7684 Timeout \u9690\u60a3\uff0c\u63a8\u8350\u6240\u6709 IM SDK \u7528\u6237\u5347\u7ea7\u5230\u6700\u65b0\u7248\u672c\u3002</li>\n<li>\u5b9e\u65f6\u901a\u4fe1\u53d1\u5e03\u5355\u70b9\u767b\u5f55\u529f\u80fd</li>\n<li><code>AVQuery.whereWithinMiles</code>, <code>AVQuery.whereWithinKilometers</code>, <code>AVQuery.whereWithinRadians</code> \u652f\u6301 minDistance \u53c2\u6570\u3002</li>\n</ul>\n\n<h3>JavaScript SDK</h3>\n\n<ul>\n<li>\u53d1\u5e03\u6d4b\u8bd5\u7248\u672c 1.0.0-rc3 \uff0c\u652f\u6301 React Native \u8fd0\u884c\u73af\u5883\uff0c\u6b22\u8fce\u5c1d\u8bd5\u3002</li>\n<li>\u53d1\u5e03 0.6.4 \u7248\u672c\uff0c\u662f 0.6.1 \u7684\u5347\u7ea7\u7248\u672c\uff0c\u4e3b\u8981\u662f\u4e00\u4e9b bug \u4fee\u590d\u3002</li>\n<li>\u4fee\u590d Follower/Followee \u67e5\u8be2\u9047\u5230 undefined \u7528\u6237\u629b\u51fa\u5f02\u5e38\u7684 bug \u3002</li>\n<li>\u4fee\u590d\u5728\u65e0\u75d5\u6a21\u5f0f\u6d4f\u89c8\u5668\u4e0b\u65e0\u6cd5\u6b63\u5e38\u8fd0\u884c\u7684 Bug \u3002</li>\n<li>\u4fee\u590d AV.File \u4fdd\u5b58\u53ef\u80fd\u5bfc\u81f4\u5806\u6808\u6ea2\u51fa\u7684 Bug \u3002</li>\n<li>AV.Role \u589e\u52a0\u9ed8\u8ba4 ACL \u8bbe\u7f6e\u3002</li>\n<li>AV.SearchQuery \u589e\u52a0 hasMore \u548c reset \u65b9\u6cd5\u3002</li>\n</ul>\n\n<h3>JavaScript \u5b9e\u65f6\u901a\u4fe1 SDK</h3>\n\n<ul>\n<li>\u589e\u52a0 invited, kicked, membersjoined, membersleft \u4e8b\u4ef6\uff0c\u5e9f\u5f03 join, left \u4e8b\u4ef6</li>\n<li>\u4fee\u590d IE8 \u3001 IE9 \u65e0\u6cd5\u8fde\u63a5\u670d\u52a1\u5668\u7684 bug</li>\n<li>\u4fee\u590d\u6ca1\u6709\u52a0\u5165\u7684 conversation \u65e0\u6cd5\u67e5\u8be2\u6210\u5458\u7684 bug</li>\n</ul>\n\n<h3>Python SDK</h3>\n\n<ul>\n<li>leancloud.User \u76f8\u5173\u4fee\u590d\u3002</li>\n<li>leancloud.Relation bug \u4fee\u590d\u3002</li>\n</ul>\n"
    }, 
    {
      "author": {
        "url": "https://www.v2ex.com/member/hjiang", 
        "name": "hjiang", 
        "avatar": "https://cdn.v2ex.com/avatar/e43a/5db4/23827_large.png?m=1757052635"
      }, 
      "url": "https://www.v2ex.com/t/232862", 
      "title": "LeanCloud \u7684 PHP SDK \u53d1\u5e03\u4e86", 
      "id": "https://www.v2ex.com/t/232862", 
      "date_published": "2015-11-02T03:17:02+00:00", 
      "content_html": "\u7ec8\u4e8e\u5e94\u5e7f\u5927\u7528\u6237\u8981\u6c42\u53d1\u5e03\u4e86\u6700\u597d\u7684\u8bed\u8a00\u7684 SDK \uff1a <a target=\"_blank\" href=\"https://blog.leancloud.cn/3830/\" rel=\"nofollow\">https://blog.leancloud.cn/3830/</a>\r<br />\r<br />LeanEngine \u4e5f\u4f1a\u5f88\u5feb\u652f\u6301\u3002"
    }, 
    {
      "author": {
        "url": "https://www.v2ex.com/member/LeanCloudRRY", 
        "name": "LeanCloudRRY", 
        "avatar": "https://cdn.v2ex.com/avatar/278f/c5d5/103427_large.png?m=1430102721"
      }, 
      "url": "https://www.v2ex.com/t/230486", 
      "title": "\u300c\u91cd\u8981\u7684\u4e8b\u60c5\u8bf4\u4e09\u904d\u300d\u5c06\u6570\u636e\u5b89\u5168\u634d\u536b\u5230\u5e95\uff1a\u6743\u9650\u7ba1\u7406\uff08 acl\uff09\u6587\u6863\u5168\u65b0\u53d1\u5e03", 
      "id": "https://www.v2ex.com/t/230486", 
      "date_published": "2015-10-23T07:00:07+00:00", 
      "content_html": "<blockquote>\n<p>\u672c\u6587\u9996\u5148\u53d1\u8868\u4e8e <a target=\"_blank\" rel=\"nofollow\" href=\"https://blog.leancloud.cn/3770/\">LeanCloud Blog</a></p>\n</blockquote>\n\n<p>\u968f\u7740\u4f7f\u7528 LeanCloud \u7684\u5f00\u53d1\u8005\u8d8a\u6765\u8d8a\u591a\uff0c\u5927\u5bb6\u6162\u6162\u6ce8\u610f\u5230\u4e00\u4e9b\u5728\u5f00\u53d1\u521d\u671f\u5bb9\u6613\u88ab\u5ffd\u89c6\u7684\u6f0f\u6d1e\uff0c\u5176\u4e2d\u6700\u5bb9\u6613\u88ab\u5ffd\u7565\u4f46\u5728\u6211\u4eec\u7684\u6587\u6863\u4e2d\u53c8\u5360\u636e\u4e86\u91cd\u8981\u5730\u4f4d\u7684\u5185\u5bb9\u5c31\u662f\uff1a\u6743\u9650\u7ba1\u7406\uff08 ACL \uff09\u7684\u4f7f\u7528\u3002</p>\n\n<p>ACL \u5168\u79f0\u4e3a Access Control List \uff0c\u7ef4\u57fa\u767e\u79d1\u89e3\u91ca\u4e3a\uff1a</p>\n\n<blockquote>\n<p>\u5b58\u53d6\u63a7\u5236\u4e32\u5217\uff0c\u662f\u4f7f\u7528\u4ee5\u8bbf\u95ee\u63a7\u5236\u77e9\u9635\u4e3a\u57fa\u7840\u7684\u8bbf\u95ee\u63a7\u5236\u65b9\u6cd5\uff0c\u6bcf\u4e00\u4e2a\u5bf9\u8c61\u5bf9\u5e94\u4e00\u4e2a\u4e32\u5217\u4e3b\u4f53\u3002\u8bbf\u95ee\u63a7\u5236\u8868\u63cf\u8ff0\u6bcf\u4e00\u4e2a\u5bf9\u8c61\u5404\u81ea\u7684\u8bbf\u95ee\u63a7\u5236\uff0c\u5e76\u8bb0\u5f55\u53ef\u5bf9\u6b64\u5bf9\u8c61\u8fdb\u884c\u8bbf\u95ee\u7684\u6240\u6709\u4e3b\u4f53\u5bf9\u8c61\u7684\u6743\u9650\u3002</p>\n</blockquote>\n\n<p><img src=\"https://blog.leancloud.cn/wp-content/uploads/2015/10/09210Bb8-3.png\" alt=\"\"></p>\n\n<p>\u7b49\u7b49\uff0c\u8fd9\u4e2a\u542c\u4e0a\u53bb\u600e\u4e48\u4e00\u9635\u5934\u6655\uff0c\u8fd9\u8ddf\u6211\u7684\u5e94\u7528\u6570\u636e\u5b89\u5168\u5230\u5e95\u6709\u4ec0\u4e48\u5173\u7cfb\uff1f\u5148\u522b\u7740\u6025\uff0c\u6211\u4eec\u5f53\u7136\u4e0d\u4f1a\u7528\u8fd9\u4e48\u6666\u6da9\u7684\u8bed\u8a00\u6765\u8bb2\u89e3 ACL \uff0c\u6765\u770b\u4e0b\u9762\u7684\u4f8b\u5b50\uff1a</p>\n\n<p>\u516c\u53f8\u7684\u4fdd\u9669\u67dc\u53ea\u6709\u8d22\u52a1\u4eba\u5458\u624d\u80fd\u6253\u5f00\uff0c\u90a3\u4e48\u5bf9\u4e8e\u4fdd\u9669\u67dc\u6765\u8bf4\uff0c\u5176 ACL \u53ef\u4ee5\u8868\u793a\u4e3a\uff1a</p>\n<div class=\"highlight\"><pre>{\n    &quot;role:finance&quot;: {\n        &quot;access&quot;: true\n    }\n}\n</pre></div>\n\n<p>\u5373\u53ea\u6709\u89d2\u8272\uff08 role \uff09\u4e3a <strong>\u8d22\u52a1</strong>\uff08 finance \uff09\u7684\u4eba\u624d\u62e5\u6709\u6253\u5f00\u4fdd\u9669\u67dc\u7684\u6743\u9650\uff08 access \uff1d true \uff09\u3002</p>\n\n<p>&lt;!--more--&gt;</p>\n\n<p>\u8fd9\u4fbf\u662f\u5b9e\u73b0 ACL \u7684\u4e00\u79cd\u65b9\u5f0f\u3002\u5b9e\u9645\u4e0a ACL \u5c31\u662f\u4e00\u5f20\u6e05\u5355\uff0c\u7f57\u5217\u51fa\u8c01\u90fd\u53ef\u4ee5\u8bbf\u95ee\u548c\u64cd\u4f5c\u4ec0\u4e48\uff0c\u5176\u673a\u5236\u76f8\u5f53\u4e8e\u64cd\u4f5c\u7cfb\u7edf\u4e2d\u300c\u7528\u6237\u300d\u548c\u300c\u7528\u6237\u7ec4\u300d\u2014\u2014 \u4f60\u82e5\u6307\u5b9a\u53ea\u6709\u67d0\u4e2a\u7528\u6237\u6216\u7528\u6237\u7ec4\u624d\u80fd\u67e5\u770b\u6216\u4fee\u6539\u6587\u4ef6\u6216\u6587\u4ef6\u5939\u7684\u5185\u5bb9\uff0c\u90a3\u4e0d\u76f8\u5e72\u7684\u4eba\u5c31\u88ab\u62d2\u4e4b\u95e8\u5916\u4e86\u3002\u5728\u6570\u636e\u5e93\u7cfb\u7edf\u4e2d\u8fd9\u79cd\u63a7\u5236\u7ba1\u7406\u4e5f\u5f88\u5e38\u89c1\uff0c\u6bd4\u5982\uff0c\u5de5\u8d44\u8868\u53ea\u80fd\u7531\u4eba\u4e8b\u90e8\u4e13\u5458\u6765\u8bfb\u53d6\u548c\u4fee\u6539\uff0c\u5e93\u5b58\u8868\u53ef\u4ee5\u8ba9\u9500\u552e\u4eba\u5458\u8bfb\u53d6\uff0c\u4f46\u4e0d\u80fd\u4fee\u6539\u7b49\u7b49\u3002</p>\n\n<p>\u90a3\u56de\u5230\u300c\u5e94\u7528\u6570\u636e\u5b89\u5168\u300d\u8fd9\u4e2a\u8bdd\u9898\u4e0a\u6765\u3002\u5728\u4f7f\u7528 LeanCloud \u5bf9\u6570\u636e\u8fdb\u884c\u589e\u5220\u6539\u67e5\u7684\u65f6\u5019\uff0c\u4f60\u662f\u5426\u60f3\u8fc7\u4e5f\u5e94\u8be5\u5728\u5e94\u7528\u4e2d\u5b9e\u65bd ACL \u673a\u5236\u6765\u4fdd\u62a4\u6570\u636e\u5462\uff1f</p>\n\n<p>\u7b54\u6848\u662f\u80af\u5b9a\u7684\uff0c\u800c\u4e14\u662f\u975e\u5e38\u5fc5\u8981\u7684\u3002</p>\n\n<h2>\u4f7f\u7528 ACL \u7684\u5fc5\u8981\u6027</h2>\n\n<p>\u5927\u5bb6\u77e5\u9053\uff0c\u6211\u4eec\u5728\u4f7f\u7528 LeanCloud SDK \u65f6\uff0c\u9700\u8981\u5728\u521d\u59cb\u5316\u4ee3\u7801\u4e2d\u660e\u6587\u5199\u5165 AppId \u548c AppKey \u3002\u5982\u679c\u4f60\u7684\u7ade\u4e89\u5bf9\u624b\u6216\u662f\u6076\u610f\u7528\u6237\uff0c\u53cd\u7f16\u8bd1\u4e86\u4f60\u7684 apk \u6216\u8005\u6253\u5305\u597d\u7684\u5b89\u88c5\u7a0b\u5e8f\uff0c\u5c31\u80fd\u63d0\u53d6\u51fa AppId \u548c AppKey \uff0c\u8fd9\u6837\u5c31\u53ef\u4ee5\u6a21\u62df\u5ba2\u6237\u7aef\u8eab\u4efd\u6765\u63d0\u4ea4\u8bf7\u6c42\uff0c\u975e\u6cd5\u7be1\u6539\u6570\u636e\u3002</p>\n\n<p>\u800c\u7528 JavaScript SDK \u505a\u5f00\u53d1\u90fd\u6d89\u53ca\u4e0d\u5230\u53cd\u7f16\u8bd1\uff0c\u53ea\u8981\u5728\u6d4f\u89c8\u5668\u4e2d\u67e5\u770b\u6e90\u4ee3\u7801\uff0c\u8fd9\u4e9b\u4fe1\u606f\u5c31\u90fd\u66b4\u9732\u65e0\u7591\u3002\u518d\u8005\uff0c\u5df2\u79bb\u804c\u7684\u5f00\u53d1\u56e2\u961f\u6210\u5458\u4e5f\u66fe\u7ecf\u4f7f\u7528\u6216\u4ecd\u77e5\u6653\u8fd9\u4e9b\u5173\u952e\u4fe1\u606f\uff0c\u8fd9\u4e5f\u662f\u9690\u60a3\u3002\u6240\u4ee5\u5f88\u663e\u7136\uff0c\u6211\u4eec\u4e0d\u80fd\u628a AppId \u548c AppKey \u4f5c\u4e3a\u5e94\u7528\u4ec5\u6709\u7684\u9632\u5fa1\u4f53\u7cfb\uff0c\u66f4\u4f55\u51b5\u6709\u4e9b\u9ad8\u624b\u8fd8\u80fd\u76f4\u63a5\u4ece\u5e94\u7528\u94fe\u63a5\u6216\u7f51\u7edc\u8bf7\u6c42\u4e2d\u622a\u83b7\u654f\u611f\u6570\u636e\u6765\u4f2a\u9020\u8bf7\u6c42\u3002</p>\n\n<p>\u4f46\u662f\uff0c\u5982\u679c\u4f7f\u7528\u4e86 ACL \uff0c\u4ee5\u4e0a\u7684\u5b89\u5168\u9690\u60a3\u5c31\u90fd\u53ef\u4ee5\u907f\u514d\u4e86\uff01</p>\n\n<p>\u6574\u4f53\u4e0a\u8bb2\uff0c\u56e0\u4e3a\u4f7f\u7528\u4e86 ACL \u7684\u6570\u636e\u53ea\u5141\u8bb8\u6307\u5b9a\u7684\u7528\u6237\u6216\u8005\u6307\u5b9a\u7684\u89d2\u8272\u6765\u8bfb\u53d6\uff0c\u800c\u8fd9\u79cd\u7528\u6237\u6216\u89d2\u8272\u4fe1\u606f\u5728\u53cd\u7f16\u8bd1\u7684\u4ee3\u7801\u4e2d\u662f\u4e0d\u5b58\u5728\u7684\uff0c\u6240\u4ee5\u5373\u4f7f\u8bf7\u6c42\u88ab\u6a21\u62df\u53d1\u9001\u5230 LeanCloud \u670d\u52a1\u7aef\uff0c\u4e5f\u4f1a\u56e0\u4e3a\u9274\u6743\u5931\u8d25\u800c\u88ab\u62d2\u7edd\u6267\u884c\uff0c\u4ece\u800c\u6570\u636e\u5b89\u5168\u6709\u4e86\u4fdd\u969c\u3002</p>\n\n<p>\u5177\u4f53\u6765\u770b\uff0c\u5728 LeanCloud \u540e\u7aef\u7684\u6570\u636e\u8868\u4e2d\uff0c\u6bcf\u4e00\u4e2a AVObject \u90fd\u4f1a\u6709\u81ea\u5df1\u7684 ACL \uff0c\u8fd9\u4e2a ACL \u5c31\u662f\u63d0\u4f9b\u7ed9\u5f00\u53d1\u8005\u7528\u6765\u7ba1\u7406\u6743\u9650\u7684\u3002\u4f8b\u5982\uff0c\u4e00\u4e2a\u5bf9\u8c61\u7684\u9ed8\u8ba4\u7684 ACL \u5982\u4e0b\uff1a</p>\n<div class=\"highlight\"><pre>{\n    &quot;*&quot;: {\n        &quot;read&quot;: true,\n        &quot;write&quot;: true\n    }\n}\n</pre></div>\n\n<p>\u8fd9\u8868\u793a\u8be5\u5bf9\u8c61\u7684\u6570\u636e\u5bf9\u6240\u6709\u4eba\u90fd\u662f\u5f00\u653e\u7684\uff0c\u53ea\u8981\u662f\u5408\u6cd5\u7684\u4fee\u6539\u8bf7\u6c42\uff08\u5373 AppId \u548c AppKey \u6b63\u786e\uff09\uff0c\u90fd\u4f1a\u88ab LeanCloud \u4e91\u7aef\u6267\u884c\u3002</p>\n\n<p>\u5982\u679c\u6b63\u786e\u8bbe\u7f6e\u4e86 ACL \uff0c\u6211\u4eec\u53ef\u4ee5\u53ea\u8ba9\u5177\u6709\u67d0\u4e9b\u7279\u5b9a\u89d2\u8272\u7684\u7528\u6237\u53d1\u6765\u7684\u4fee\u6539\u8bf7\u6c42\u751f\u6548\uff1a</p>\n<div class=\"highlight\"><pre>{\n    &quot;*&quot;: {\n        &quot;read&quot;: true\n    },\n    &quot;role:Administrator&quot;: {\n        &quot;write&quot;: true\n    }\n}\n</pre></div>\n\n<p>\u4ee5\u4e0a\u8bbe\u7f6e\u4ee3\u8868\uff1a\u6240\u6709\u4eba\u90fd\u53ef\u8bfb\uff0c\u4f46\u662f\u53ea\u6709\u89d2\u8272\u662f Administrator \u7684\u7528\u6237\u624d\u80fd\u4fee\u6539\u3002</p>\n\n<p>\u5173\u4e8e ACL \u7684\u6df1\u5165\u4f7f\u7528\uff0c\u6211\u4eec\u8fd8\u7f16\u5199\u597d\u4e86\u8be6\u7ec6\u7684\u5f00\u53d1\u6307\u5357\uff0c\u6b22\u8fce\u56f4\u89c2\u3002</p>\n\n<ul>\n<li>\u300a ACL \u5feb\u901f\u5165\u95e8\uff1a<a target=\"_blank\" rel=\"nofollow\" href=\"https://leancloud.cn/docs/acl_quick_start-ios.html\">iOS</a> | <a target=\"_blank\" rel=\"nofollow\" href=\"https://leancloud.cn/docs/acl_quick_start-android.html\">Android</a> | <a target=\"_blank\" rel=\"nofollow\" href=\"https://leancloud.cn/docs/acl_quick_start-js.html\">JavaScript</a>\u300b\uff1a ACL \u539f\u7406\u548c\u4f7f\u7528\u7684\u5fc5\u8981\u6027</li>\n<li>\u300a\u6743\u9650\u7ba1\u7406\u4f7f\u7528\u6307\u5357\uff1a<a target=\"_blank\" rel=\"nofollow\" href=\"https://leancloud.cn/docs/acl_guide-ios.html\">iOS</a> | <a target=\"_blank\" rel=\"nofollow\" href=\"https://leancloud.cn/docs/acl_guide-android.html\">Android</a> | <a target=\"_blank\" rel=\"nofollow\" href=\"https://leancloud.cn/docs/acl_guide-js.html\">JavaScript</a>\u300b\uff1a ACL \u7684\u5177\u4f53\u4f7f\u7528\u7ec6\u5219\u548c\u4ee3\u7801\u793a\u4f8b</li>\n</ul>\n\n<p>\u6700\u540e\uff0c\u4f5c\u4e3a\u5f00\u53d1\u8005\u6c38\u8fdc\u7684\u5c0f\u4f19\u4f34\uff0c LeanCloud \u5728\u6b64\u5411\u4f60\u6e29\u99a8\u63d0\u793a\uff1a</p>\n\n<blockquote>\n<p>\u98de\u9a70\u5728\u9053\u8def\u4e0a\u7684\u65f6\u5019\u522b\u5fd8\u4e86\u7ed9\u8f66\u52a0\u4e2a\u4fdd\u9669\u6746\uff01</p>\n</blockquote>\n"
    }, 
    {
      "author": {
        "url": "https://www.v2ex.com/member/LeanCloudRRY", 
        "name": "LeanCloudRRY", 
        "avatar": "https://cdn.v2ex.com/avatar/278f/c5d5/103427_large.png?m=1430102721"
      }, 
      "url": "https://www.v2ex.com/t/226566", 
      "title": "\u300c\u66f4\u65b0\u65e5\u5fd7\u300d2015 \u5e74 9 \u6708 LeanCloud \u66f4\u65b0\u6c47\u603b", 
      "id": "https://www.v2ex.com/t/226566", 
      "date_published": "2015-10-09T03:54:13+00:00", 
      "content_html": "<p>LeanCloud \u5411\u5927\u5bb6\u9001\u4e0a\u8fdf\u5230\u7684\u4e2d\u79cb\u795d\u798f\uff0c\u795d\u5404\u4f4d\u5f00\u53d1\u8005\u8eab\u4f53\u5065\u5eb7\u3001\u9616\u5bb6\u5e78\u798f\uff01</p>\n\n<p>\u4e0b\u9762\u6c47\u62a5\u4e00\u4e0b\u6211\u4eec\u5728 9 \u6708\u4efd\u6240\u505a\u51fa\u7684\u4ea7\u54c1\u6539\u8fdb\u3002</p>\n\n<h2>\u7f51\u7ad9\u548c\u6587\u6863</h2>\n\n<p>\u9996\u5148\uff0c\u6211\u4eec\u5bf9\u300c\u8d22\u52a1\u8d26\u5355\u300d\u505a\u51fa\u4e86\u5f88\u5927\u6539\u8fdb\u2014\u2014\u4ea4\u6613\u5386\u53f2\u83dc\u5355\u6309\u7167\u6d88\u8d39\u7c7b\u578b\u5206\u7c7b\uff0c\u53d1\u7968\u7533\u8bf7\u7684\u6d41\u7a0b\u5f97\u4ee5\u7b80\u5316\uff0c\u754c\u9762\u4e5f\u505a\u4e86\u8c03\u6574\u548c\u6539\u8fdb\u3002</p>\n\n<p>\u5176\u6b21\uff0c\u6211\u4eec\u5bf9\u5e94\u7528\u8bbe\u7f6e\u83dc\u5355\u505a\u4e86\u5982\u4e0b\u6539\u8fdb\uff1a</p>\n\n<ul>\n<li>\u5728\u5e94\u7528 Key \u83dc\u5355\u5f15\u5165\u300c\u91cd\u8bbe master key \u300d\u529f\u80fd<br>\n\u5f53\u53d1\u73b0 master key \u610f\u5916\u6cc4\u9732\u65f6\uff0c\u4f60\u53ef\u4ee5\u4e3b\u52a8\u5c06\u5176\u91cd\u7f6e\u3002<strong>\u8bf7\u6ce8\u610f\uff0c\u91cd\u7f6e\u5c06\u7acb\u5373\u4f7f\u65e7 master key \u5931\u6548\uff0c\u5982\u679c\u4f7f\u7528\u4e86\u4e91\u5f15\u64ce\uff0c\u4f60\u9700\u8981\u505a\u4e00\u6b21\u90e8\u7f72\u6765\u5f3a\u5236\u66f4\u65b0 master key</strong>\u3002</li>\n<li>\u65b0\u589e\u5e94\u7528\u9009\u9879\u300c\u53ea\u5141\u8bb8\u4f7f\u7528\u65e7\u5bc6\u7801\u6765\u4fee\u6539\u7528\u6237\u5bc6\u7801\u300d<br>\n\u542f\u7528\u540e\uff0c\u5c06\u53ea\u5141\u8bb8\u901a\u8fc7 <code>updatePassword</code> \u63a5\u53e3\u4f7f\u7528\u8001\u5bc6\u7801\u6765\u4fee\u6539\u5e94\u7528\u5185\u7528\u6237\u5bc6\u7801\u3002</li>\n<li>\u65b0\u589e\u5e94\u7528\u9009\u9879\u300c \u542f\u7528\u6587\u4ef6 SSL \u57df\u540d\u300d<br>\n\u542f\u7528\u540e\uff0c\u672c\u5e94\u7528\u4e0a\u4f20\u7684\u6587\u4ef6 <code>_File</code> \u6570\u636e\u5c06\u4f7f\u7528\u65b0\u7684 SSL \u57df\u540d\uff0c\u7279\u522b\u9488\u5bf9 iOS 9 \u4f18\u5316\u3002</li>\n</ul>\n\n<p>&lt;!--more--&gt;</p>\n\n<p>\u6b64\u5916\uff0c\u6211\u4eec\u6539\u8fdb\u4e86\u5f00\u53d1\u8005\u8d26\u6237\u7684\u6ce8\u518c\u6d41\u7a0b\uff0c\u8981\u6c42\u5f00\u53d1\u8005\u8f93\u5165\u624b\u673a\u53f7\u7801\u5e76\u505a\u9a8c\u8bc1\u3002\u6211\u4eec\u5c06\u4f7f\u7528\u9a8c\u8bc1\u540e\u7684\u624b\u673a\u53f7\u7801\u6765\u53d1\u9001\u5e94\u7528\u5185\u7684\u544a\u8b66\u3001\u91cd\u8981\u901a\u77e5\u7b49\u4fe1\u606f\uff0c\u6240\u4ee5\u5f3a\u70c8\u5efa\u8bae\u73b0\u6709\u5f00\u53d1\u8005\u4e5f\u586b\u5199\u548c\u9a8c\u8bc1\u624b\u673a\u53f7\u7801\uff0c\u6211\u4eec\u5728\u540e\u53f0\u7684\u6570\u636e\u7ba1\u7406\u9875\u9762\u4e5f\u8bbe\u7f6e\u4e86\u76f8\u5e94\u7684\u63d0\u793a\u3002</p>\n\n<p>\u6211\u4eec\u8fd8\u53d1\u5e03\u4e86\u5168\u65b0\u7684 <a target=\"_blank\" rel=\"nofollow\" href=\"https://leancloud.cn/help.html\">\u8054\u7cfb\u6211\u4eec</a> \u9875\u9762\uff0c\u5e0c\u671b\u80fd\u66f4\u597d\u5730\u5f15\u5bfc\u7528\u6237\u4f7f\u7528\u6211\u4eec\u7684\u670d\u52a1\uff0c\u7ed9\u6211\u4eec\u63d0\u51fa\u5efa\u8bae\u6216\u8005 Bug \u53cd\u9988\u7b49\u3002\u6211\u4eec\u5728\u8bba\u575b\u5f00\u8bbe\u4e86\u4e13\u95e8\u7684 <a target=\"_blank\" rel=\"nofollow\" href=\"https://forum.leancloud.cn/c/leancloud-bug\">Bug \u53cd\u9988\u4e13\u533a</a>\uff0c\u6b22\u8fce\u8bbf\u95ee\u3002</p>\n\n<p>\u6587\u6863\u4e0a\uff0c\u6211\u4eec\u53d1\u5e03\u4e86\u5168\u65b0\u7684 <a target=\"_blank\" rel=\"nofollow\" href=\"https://leancloud.cn/docs/realtime_v2.html\">\u5b9e\u65f6\u901a\u4fe1\u5f00\u53d1\u6587\u6863</a>\uff0c\u6211\u4eec\u8fd8\u5728\u7f16\u5199\u65b0\u7684\u5b89\u5168\u6587\u6863\uff0c\u656c\u8bf7\u671f\u5f85\u3002</p>\n\n<h2>\u5b58\u50a8\u670d\u52a1</h2>\n\n<ul>\n<li>\u652f\u6301 <code>beforeUpdate</code> \u8c03\u7528\uff0c\u4e91\u5f15\u64ce\u7684\u652f\u6301\u6682\u672a\u53d1\u5e03\u3002</li>\n<li>\u5728 <code>beforeUpdate</code> \u548c <code>afterUpdate</code> \u8c03\u7528\u7684 object \u91cc\u589e\u52a0 _updatedKeys \u5b57\u6bb5\uff0c\u8868\u793a\u672c\u6b21\u5bf9\u8c61\u4fee\u6539\u53d8\u66f4\u7684\u5b57\u6bb5\u5217\u8868\u3002</li>\n<li>\u652f\u6301\u65b0\u5e94\u7528\u9009\u9879\u300c\u53ea\u5141\u8bb8\u4f7f\u7528\u65e7\u5bc6\u7801\u6765\u4fee\u6539\u7528\u6237\u5bc6\u7801\u300d\u548c\u300c\u542f\u7528\u6587\u4ef6 SSL \u57df\u540d\u300d\uff0c\u53c2\u89c1\u4e0a\u6587\u3002</li>\n<li>\u65b0\u521b\u5efa\u5e94\u7528\u7684 _User \u8868\u9ed8\u8ba4\u5173\u95ed find \u6743\u9650\u3002</li>\n<li>\u5f00\u653e\u5bfc\u51fa\u6570\u636e API \uff0c\u53c2\u89c1 <a target=\"_blank\" rel=\"nofollow\" href=\"https://leancloud.cn/docs/rest_api.html#%E6%95%B0%E6%8D%AE%E5%AF%BC%E5%87%BA_API\">\u6587\u6863</a>\u3002</li>\n<li>\u652f\u6301\u7f29\u77ed\u7684 App Header \uff0c\u4f8b\u5982 <code>X-LC-Id</code> \u7b49\uff0c\u5168\u9762\u66f4\u65b0\u4e86 <a target=\"_blank\" rel=\"nofollow\" href=\"https://leancloud.cn/docs/rest_api.html\">REST API</a> \u6587\u6863\u3002</li>\n<li>\u6539\u8fdb\u4e86\u6570\u636e\u5bfc\u5165\u670d\u52a1\uff0c\u66f4\u597d\u5730\u652f\u6301\u6587\u4ef6\u7c7b\u578b\u3002</li>\n</ul>\n\n<h2>\u5b9e\u65f6\u901a\u4fe1\u548c\u63a8\u9001</h2>\n\n<p>\u5b9e\u65f6\u901a\u4fe1\uff0c\u6211\u4eec\u5728 SDK \u65b9\u9762\u5168\u9762\u542f\u7528\u4e86\u5185\u7f6e\u7684\u804a\u5929\u4f1a\u8bdd\u7f13\u5b58\uff0c\u9ed8\u8ba4\u7b56\u7565\u662f CACHE_ELSE_NETWORK \uff0c\u8fd9\u4e3b\u8981\u662f\u4e3a\u4e86\u63d0\u5347\u4e86\u5ba2\u6237\u7aef SDK \u7684\u6027\u80fd\u548c\u7a33\u5b9a\u6027\u3002\u5177\u4f53\u53c2\u89c1\u5404\u4e2a SDK \u7684\u66f4\u65b0\u5386\u53f2 ChangeLog \u548c\u6587\u6863\u3002</p>\n\n<p>\u5176\u6b21\uff0c\u5b9e\u65f6\u901a\u4fe1\u670d\u52a1\u7aef\u7684\u6539\u8fdb\u96c6\u4e2d\u5728\u7a33\u5b9a\u6027\u4e0a\uff0c\u6211\u4eec\u6539\u8fdb\u4e86\u5bf9 redis \u8bbf\u95ee\u7684\u7a33\u5b9a\u6027\uff0c\u907f\u514d\u518d\u6b21\u51fa\u73b0\u8fd9\u7c7b\u8bbf\u95ee\u5f15\u8d77\u7684\u6545\u969c\uff0c\u6539\u8fdb\u4e86\u6d41\u63a7\u673a\u5236\uff0c\u63d0\u5347\u4e86\u670d\u52a1\u7a33\u5b9a\u6027\u3002</p>\n\n<p>\u66f4\u91cd\u8981\u7684\u662f\uff0c\u6211\u4eec\u91cd\u65b0\u7f16\u5199\u4e86 <a target=\"_blank\" rel=\"nofollow\" href=\"https://leancloud.cn/docs/realtime_v2.html\">\u5b9e\u65f6\u901a\u4fe1\u5f00\u53d1\u6587\u6863</a>\uff0c\u5305\u62ec\u6982\u89c8\u6587\u6863\u548c\u5404\u4e2a SDK \u7684\u6587\u6863\uff0c\u5e0c\u671b\u80fd\u5e2e\u52a9\u5f00\u53d1\u8005\u66f4\u597d\u5730\u4f7f\u7528\u5b9e\u65f6\u901a\u4fe1\u670d\u52a1\u3002</p>\n\n<p>\u5176\u4ed6\u529f\u80fd\u6539\u8fdb\uff1a</p>\n\n<ul>\n<li>\u804a\u5929\u8bb0\u5f55 API \u67e5\u8be2\u8fd4\u56de\u7ed3\u679c\u91cc\uff0c\u589e\u52a0\u804a\u5929\u6d88\u606f\u5230\u8fbe\u76ee\u6807\u5ba2\u6237\u7684\u65f6\u95f4\u3002</li>\n<li>\u521b\u5efa\u4f1a\u8bdd\u652f\u6301 unique \u9009\u9879\uff0c\u53ef\u4ee5\u907f\u514d\u91cd\u590d\u521b\u5efa\u4f1a\u8bdd\uff0c SDK \u65b9\u9762\u4e5f\u76f8\u5e94\u5730\u589e\u52a0\u4e86\u63a5\u53e3\u53c2\u6570\u3002</li>\n</ul>\n\n<h2>\u4e91\u5f15\u64ce</h2>\n\n<p>\u4e91\u5f15\u64ce\u6700\u91cd\u8981\u7684\u8fdb\u5c55\u662f\u6211\u4eec\u5f00\u653e\u4e86 Redis \u670d\u52a1\u5185\u6d4b\uff0c\u8fd9\u6837\u5728\u4e91\u5f15\u64ce\u91cc\u53ef\u4ee5\u7533\u8bf7\u548c\u8bbf\u95ee Redis \u670d\u52a1\uff0c\u5177\u4f53\u53c2\u89c1 <a target=\"_blank\" rel=\"nofollow\" href=\"https://forum.leancloud.cn/t/leancloud-redis/2672/4\">LeanCloud Redis \u670d\u52a1\u5185\u6d4b\u7533\u8bf7</a>\u3002</p>\n\n<p>\u6211\u4eec\u8fd8\u5728\u6301\u7eed\u5730\u5bf9 Redis \u670d\u52a1\u505a\u51fa\u6539\u8fdb\uff0c\u5e0c\u671b\u80fd\u5728 10 \u6708\u4efd\u5411\u66f4\u591a\u7528\u6237\u63d0\u4f9b\u6d4b\u8bd5\u548c\u4f7f\u7528\u3002</p>\n\n<h2>SDK</h2>\n\n<p>SDK \u65b9\u9762\u9664\u4e86\u6539\u8fdb\u548c bug \u4fee\u590d\u4e4b\u5916\uff0c\u6211\u4eec\u5df2\u7ecf\u62db\u5230\u5c0f\u4f19\u4f34\uff0c\u5f00\u59cb\u7814\u53d1 <a target=\"_blank\" rel=\"nofollow\" href=\"https://github.com/leancloud/php-sdk\">PHP SDK</a> \u4e86\uff0c\u8bf7\u611f\u5174\u8da3\u7684\u7ae5\u978b\u4eec\u5173\u6ce8\u4e0b\u6211\u4eec\u7684 Github \u4ed3\u5e93\uff1a<a target=\"_blank\" rel=\"nofollow\" href=\"https://github.com/leancloud/php-sdk\">https://github.com/leancloud/php-sdk</a>\u3002</p>\n\n<h3>iOS SDK \u6539\u8fdb</h3>\n\n<ul>\n<li>\u4fee\u590d\u7f8e\u56fd\u8282\u70b9\u8bbf\u95ee\u4e91\u4ee3\u7801\u7684 URL \u3002</li>\n<li>\u652f\u6301\u4f7f\u7528 session token \u767b\u5f55\u7684\u65b9\u6cd5 <code>AVUser.becomeWithSessionToken</code>\u3002</li>\n<li>\u652f\u6301\u81ea\u5b9a\u4e49\u5b9e\u65f6\u901a\u4fe1 WebSocket \u7684\u8d85\u65f6\u65f6\u95f4 <code>AVIMClient.setTimeoutIntervalInSeconds</code>\u3002</li>\n<li>\u7f29\u77ed\u4e86\u8bf7\u6c42\u5934\u6765\u8282\u7701\u6d41\u91cf\uff0c\u5305\u62ec\u4e91\u5f15\u64ce\u7684\u8bf7\u6c42\u5934\u3002<strong>\u82e5\u4f7f\u7528\u4e86\u4e91\u5f15\u64ce\uff0c\u9700\u8981\u91cd\u65b0\u90e8\u7f72</strong>\uff0c\u8bf7\u53c2\u8003 <a target=\"_blank\" rel=\"nofollow\" href=\"https://ticket.leancloud.cn/tickets/8455\">\u6b64\u5de5\u5355</a>\u3002</li>\n<li>IM \u652f\u6301\u300c<a target=\"_blank\" rel=\"nofollow\" href=\"https://leancloud.cn/docs/ios_realtime_v2.html#%E6%9C%AA%E8%AF%BB%E6%B6%88%E6%81%AF\">\u672a\u8bfb\u6d88\u606f</a>\u300d\u6a21\u5f0f\u3002\u5f00\u542f\u672a\u8bfb\u6d88\u606f\u540e\uff0c\u670d\u52a1\u7aef\u4e0d\u63a8\u9001\u79bb\u7ebf\u6d88\u606f\uff0c\u800c\u662f\u53d1\u9001\u79bb\u7ebf\u6d88\u606f\u6570\uff0c\u5ba2\u6237\u7aef\u8d1f\u8d23\u4e3b\u52a8\u62c9\u53d6\u6d88\u606f\u3002</li>\n<li>\u589e\u5f3a\u5bf9 Swift \u6784\u9020\u65b9\u6cd5\u7684\u652f\u6301\u3002</li>\n<li>\u9002\u914d iOS 9 \uff0c\u652f\u6301 bitcode \u4ee5\u53ca App Transport Security (ATS)\u3002\u6709\u4e9b\u7b2c\u4e09\u65b9\u670d\u52a1\u9700\u8981\u5f00\u53d1\u8005\u5141\u8bb8 HTTP \u8bbf\u95ee\uff0c\u8bf7\u53c2\u8003 <a target=\"_blank\" rel=\"nofollow\" href=\"https://leancloud.cn/docs/ios_os_x_guide.html#iOS_9_%E9%80%82%E9%85%8D\">iOS 9 \u9002\u914d\u6307\u5357</a>\u3002</li>\n<li>\u652f\u6301\u539f\u5b50\u521b\u5efa\u5bf9\u8bdd\uff0c\u5728\u521b\u5efa\u5bf9\u8bdd\u65f6\uff0c\u4f20\u5165\u00a0<code>AVIMConversationOptionUnique</code> \u9009\u9879\uff0c\u5373\u53ef\u6839\u636e\u6210\u5458\u521b\u5efa\u552f\u4e00\u7684\u4f1a\u8bdd\u3002</li>\n</ul>\n\n<p>\u73b0\u5728 Swift \u8bed\u8a00\u8d8a\u6765\u8d8a\u706b\uff0c\u6211\u4eec\u4e5f\u63a8\u51fa\u4e86\u4e00\u4e2a\u57fa\u4e8e Swift \u8bed\u8a00\u3001\u6f14\u793a\u5b58\u50a8\u529f\u80fd\u7684 Demo \u9879\u76ee\uff1a <a target=\"_blank\" rel=\"nofollow\" href=\"https://github.com/leancloud/LeanStorageDemo-iOS\">https://github.com/leancloud/LeanStorageDemo-iOS</a>\uff0c\u6b22\u8fce\u5173\u6ce8\u548c\u6d4b\u8bd5\u3002</p>\n\n<h3>Android SDK \u6539\u8fdb</h3>\n\n<ul>\n<li>\u4fee\u6b63\u4e86 <code>AVIMConversation.queryMessage</code> \u6709\u53ef\u80fd\u4ea7\u751f\u4e24\u6b21\u56de\u8c03\u7684\u95ee\u9898\u3002</li>\n<li>\u4fee\u6b63 <code>AVSearchQuery.setClassName</code> \u4e0d\u4f1a\u9650\u5b9a\u641c\u7d22\u8303\u56f4\u4e3a\u6307\u5b9a\u7c7b\u7684\u95ee\u9898\u3002</li>\n<li><code>AVStatus</code> \u652f\u6301 Pointer \u7c7b\u578b\u6570\u636e\u7684\u89e3\u6790\u3002</li>\n<li>\u589e\u52a0 <code>AVQuery.and(List queries)</code> \u65b9\u6cd5\uff0c\u4f5c\u4e3a and \u590d\u5408\u67e5\u8be2\u3002</li>\n<li>\u4e3a <code>AVIMClient.createConversation</code> \u589e\u52a0\u4e86\u4e00\u4e2a\u5e26\u6709 isUnique \u53c2\u6570\u7684\u65b9\u6cd5\u3002\u5f53 isUnique \u4e3a true \u65f6\uff0c\u8be5\u65b9\u6cd5\u4f1a\u6839\u636e members \u6765\u68c0\u67e5\u5f53\u65f6\u662f\u5426\u5df2\u7ecf\u6709\u540c\u6837 members \u7684\u4f1a\u8bdd\uff0c\u5982\u679c\u5df2\u7ecf\u6709\u4e86\uff0c\u5219\u8fd4\u56de\u5df2\u6709\u4f1a\u8bdd\uff0c\u5426\u5219\u624d\u521b\u5efa\u65b0\u7684\u3002</li>\n<li>\u7531\u4e8e\u6709\u90e8\u5206\u5f00\u53d1\u8005\u6709\u9700\u8981\u81ea\u5df1\u5b9a\u5236\u804a\u5929\u8bb0\u5f55\u7f13\u5b58\u7684\u9700\u8981\uff0c\u589e\u52a0 <code>AVIMClient.setMessageQueryCacheEnable</code> \u63a5\u53e3\u3002</li>\n<li>\u589e\u52a0 <code>AVIMConversation.getLastMessage</code> \u63a5\u53e3\uff0c\u83b7\u53d6\u4f1a\u8bdd\u6700\u8fd1\u4e00\u6761\u6d88\u606f\u3002</li>\n<li>\u4fee\u6b63 <code>AVStatus.getQuery</code> \u67e5\u8be2\u51fa\u73b0\u7684\u5f02\u5e38\u3002</li>\n</ul>\n\n<h3>JavaScript SDK \u6539\u8fdb</h3>\n\n<ul>\n<li>\u53d1\u5e03 0.6.0 \u7248\u672c\uff0c\u4fee\u590d AV.File \u5728\u4e91\u5f15\u64ce\u4e2d\u4e0a\u4f20 Base64 \u56fe\u7247\u6570\u636e\u635f\u574f\u7684 bug \u3002</li>\n</ul>\n\n<h3>JavaScript \u5b9e\u65f6\u901a\u4fe1 SDK \u6539\u8fdb</h3>\n\n<ul>\n<li>\u5185\u7f6e\u00a0<a target=\"_blank\" rel=\"nofollow\" href=\"https://www.npmjs.com/package/ws\">ws</a>\u00a0\u4f5c\u4e3a\u9ed8\u8ba4\u7684 WebSocket \u5b9e\u73b0\uff0c\u5728 Node \u8fd0\u884c\u73af\u5883\u4e2d\u4f7f\u7528\u65f6\u4e0d\u518d\u8981\u6c42\u914d\u7f6e WebSocket \u7c7b\u3002</li>\n</ul>\n\n<h3>Python SDK \u6539\u8fdb</h3>\n\n<ul>\n<li>\u4fee\u590d JavaScript SDK \u8bbf\u95ee Python LeanEngine \u6388\u6743\u5931\u8d25\u7684 bug \u3002</li>\n<li>\u652f\u6301\u77ed header key</li>\n<li>\u589e\u5f3a <code>leancloud.user</code></li>\n</ul>\n"
    }, 
    {
      "author": {
        "url": "https://www.v2ex.com/member/newtonisaac", 
        "name": "newtonisaac", 
        "avatar": "https://cdn.v2ex.com/gravatar/a52b07f39549245562ece41e9b74e44e?s=73&d=retro"
      }, 
      "url": "https://www.v2ex.com/t/224987", 
      "date_modified": "2015-10-01T03:24:17+00:00", 
      "content_html": "<p>\u8fd9\u4e2a\u6587\u4ef6 <a target=\"_blank\" rel=\"nofollow\" href=\"http://ac-5wox14xl.clouddn.com/hZCa7cNHzT0UcB7lKUKBR5C\">http://ac-5wox14xl.clouddn.com/hZCa7cNHzT0UcB7lKUKBR5C</a></p>\n\n<p>deleteInBackgroundWithBlock:^(BOOL succeeded, NSError *error)</p>\n\n<p>Printing description of error:<br>\nError Domain=AVOS Cloud Error Domain Code=1 &quot;Not Found&quot; UserInfo={NSLocalizedDescription=Not Found, code=1, error=Not Found}</p>\n\n<hr>\n\n<p>\u4f60\u4eec\u6ca1\u6709\u81ea\u52a8\u6d4b\u8bd5\u7528\u4f8b\u5417\uff1f</p>\n", 
      "date_published": "2015-10-01T03:20:01+00:00", 
      "title": "\u6709 leancloud \u7684\u4eba\u5728\u5417\uff1f", 
      "id": "https://www.v2ex.com/t/224987"
    }, 
    {
      "author": {
        "url": "https://www.v2ex.com/member/scarlex", 
        "name": "scarlex", 
        "avatar": "https://cdn.v2ex.com/avatar/1a55/1b73/33193_large.png?m=1384587216"
      }, 
      "url": "https://www.v2ex.com/t/223632", 
      "title": "LeanCloud \u4e2d\u7684 Relation \u662f\u4e0d\u80fd\u540c\u65f6 add \u548c remove \u7684\u4e48\uff1f", 
      "id": "https://www.v2ex.com/t/223632", 
      "date_published": "2015-09-25T07:11:54+00:00", 
      "content_html": "<p>\u4ee3\u7801\uff1a</p>\n<div class=\"highlight\"><pre><span class=\"nx\">post</span><span class=\"p\">.</span><span class=\"nx\">relation</span><span class=\"p\">(</span><span class=\"s1\">&#39;items&#39;</span><span class=\"p\">).</span><span class=\"nx\">remove</span><span class=\"p\">(</span><span class=\"nx\">_items</span><span class=\"p\">);</span>\n<span class=\"nx\">post</span><span class=\"p\">.</span><span class=\"nx\">relation</span><span class=\"p\">(</span><span class=\"s1\">&#39;items&#39;</span><span class=\"p\">).</span><span class=\"nx\">add</span><span class=\"p\">(</span><span class=\"nx\">items</span><span class=\"p\">);</span>\n<span class=\"nx\">post</span><span class=\"p\">.</span><span class=\"nx\">save</span><span class=\"p\">().</span><span class=\"nx\">then</span><span class=\"p\">(</span><span class=\"kd\">function</span><span class=\"p\">(</span><span class=\"nx\">p</span><span class=\"p\">)</span> <span class=\"p\">{</span>\n    <span class=\"nx\">res</span><span class=\"p\">.</span><span class=\"nx\">send</span><span class=\"p\">(</span><span class=\"nx\">p</span><span class=\"p\">);</span>\n<span class=\"p\">},</span> <span class=\"kd\">function</span><span class=\"p\">(</span><span class=\"nx\">err</span><span class=\"p\">)</span> <span class=\"p\">{</span>\n    <span class=\"nx\">console</span><span class=\"p\">.</span><span class=\"nx\">log</span><span class=\"p\">(</span><span class=\"nx\">err</span><span class=\"p\">);</span>\n<span class=\"p\">});</span>\n</pre></div>\n\n<p>\u7ed3\u679c\uff1a</p>\n<div class=\"highlight\"><pre><span class=\"p\">{</span> <span class=\"nx\">code</span><span class=\"o\">:</span> <span class=\"mi\">1</span><span class=\"p\">,</span> <span class=\"nx\">message</span><span class=\"o\">:</span> <span class=\"s1\">&#39;Invalid op.&#39;</span> <span class=\"p\">}</span>\n</pre></div>\n\n<p>\u4f46\u6211\u5355\u72ec\u6267\u884c <code>.remove(_items)</code> \u548c <code>.add(items)</code> \u662f\u4e0d\u4f1a\u62a5\u9519\u7684\u3002</p>\n"
    }, 
    {
      "author": {
        "url": "https://www.v2ex.com/member/LeanCloudRRY", 
        "name": "LeanCloudRRY", 
        "avatar": "https://cdn.v2ex.com/avatar/278f/c5d5/103427_large.png?m=1430102721"
      }, 
      "url": "https://www.v2ex.com/t/221514", 
      "title": "LeanEngine 2.0 \u5347\u7ea7 3.0 \u6307\u5357", 
      "id": "https://www.v2ex.com/t/221514", 
      "date_published": "2015-09-17T09:38:44+00:00", 
      "content_html": "<p>\u968f\u7740\u6211\u4eec\u7684\u5347\u7ea7\uff0c LeanEngine \u5347\u7ea7\u53ef\u4ee5\u975e\u5e38\u7b80\u5355\u54e6\uff0c\u53c2\u8003<strong><a target=\"_blank\" rel=\"nofollow\" href=\"https://leancloud.cn/docs/leanengine_upgrade_3.html\">\u300c LeanEngine 2.0 \u5347\u7ea7 3.0 \u6307\u5357\u300d</a></strong>\uff0c\u5f53\u7136\u5982\u679c\u662f\u65b0\u7684\u9879\u76ee\uff0c\u5efa\u8bae\u76f4\u63a5\u4f7f\u7528 3.0 \u7684 \u9879\u76ee\u6846\u67b6 \u4f5c\u4e3a\u8d77\u6b65\u3002\u5982\u679c\u662f\u9057\u7559\u9879\u76ee\u60f3\u5347\u7ea7\u5230 3.0 \uff0c\u53ef\u4ee5\u53c2\u8003\u8be5\u6307\u5357\u3002</p>\n"
    }, 
    {
      "author": {
        "url": "https://www.v2ex.com/member/kenshinhu", 
        "name": "kenshinhu", 
        "avatar": "https://cdn.v2ex.com/avatar/4b84/2771/88764_large.png?m=1772689002"
      }, 
      "url": "https://www.v2ex.com/t/214840", 
      "title": "\u4e91\u4ee3\u7801 \u901a\u8fc7 leancloud \u7684\u547d\u4ee4\u884c\u90e8\u7f72\u5931\u8d25", 
      "id": "https://www.v2ex.com/t/214840", 
      "date_published": "2015-08-21T05:49:19+00:00", 
      "content_html": "LeanCloud SDK \u6216\u8005\u5de5\u5177\u7684\u7248\u672c\u53f7\r<br />  avoscloud-code-command \u4e91\u4ee3\u7801\u547d\u4ee4\u884c\u90e8\u7f72\u5de5\u5177 \u7248\u672c\uff1a 0.7.8\r<br /> \r<br />\r<br />\u76f8\u5173\u65e5\u5fd7\uff08 curl \uff0c\u5f02\u5e38\u5806\u6808\u8f93\u51fa\u7b49\uff09\r<br />[INFO] \u751f\u6210\u4e34\u65f6\u6587\u4ef6\uff1a/var/folders/05/8tw7bhh544dbgb1lwk0c_hnc0000gn/T/1440128925275.zip\r<br />[INFO] \u5f00\u59cb\u4e0a\u4f20\u9879\u76ee\u6587\u4ef6\u2026\u2026\r<br />2015-08-21 11:50:19 [INFO] \u547d\u4ee4\u884c\u90e8\u7f72\u5e94\u7528\u2026\u2026\r<br />2015-08-21 11:50:19 [INFO] \u83b7\u53d6\u90e8\u7f72\u5305\r<br />{ UNSENT: 0,\r<br />  OPENED: 1,\r<br />  HEADERS_RECEIVED: 2,\r<br />  LOADING: 3,\r<br />  DONE: 4,\r<br />  readyState: 4,\r<br />  onreadystatechange: [Function],\r<br />  responseText: 'Error: connect ETIMEDOUT\\n    at exports._errnoException (util.js:746:11 )\\n    at TCPConnectWrap.afterConnect [as oncomplete] (net.js:1010:19 )',\r<br />  responseXML: '',\r<br />  status: 503,\r<br />  statusText: { [Error: connect ETIMEDOUT] code: 'ETIMEDOUT', errno: 'ETIMEDOUT', syscall: 'connect' },\r<br />  open: [Function],\r<br />  setDisableHeaderCheck: [Function],\r<br />  setRequestHeader: [Function],\r<br />  getResponseHeader: [Function],\r<br />  getAllResponseHeaders: [Function],\r<br />  getRequestHeader: [Function],\r<br />  send: [Function],\r<br />  handleError: [Function],\r<br />  abort: [Function],\r<br />  addEventListener: [Function],\r<br />  removeEventListener: [Function],\r<br />  dispatchEvent: [Function] }\r<br />\r<br />\u8be6\u7ec6\u7684\u95ee\u9898\u63cf\u8ff0\r<br />    \u5728\u6700\u8fd1\u4e24\u5929\u51fa\u73b0\uff0c\u5728\u4f7f\u7528 avoscloud deploy \u65f6\u51fa\u73b0\u8be5\u95ee\u9898\uff0c\u5c1d\u8bd5\u66f4\u6362\u73af\u5883\u53ca\u7f51\u7edc\u4e5f\u51fa\u73b0\u8be5\u95ee\u9898\uff0c\u4e5f\u5c1d\u8bd5\u8fc7\u65b0\u5efa\u9879\u76ee\u5e76\u90e8\u7f72\u4e5f\u51fa\u73b0\u8be5\u60c5\u51b5\u3002"
    }, 
    {
      "author": {
        "url": "https://www.v2ex.com/member/q84629462", 
        "name": "q84629462", 
        "avatar": "https://cdn.v2ex.com/avatar/c01c/2154/81152_large.png?m=1416997276"
      }, 
      "url": "https://www.v2ex.com/t/203312", 
      "date_modified": "2015-07-17T11:34:03+00:00", 
      "content_html": "<p>\u6211\u521a\u521a\u6d4b\u8bd5\u4e86\u4e00\u4e0b\uff1a</p>\n<div class=\"highlight\"><pre><span class=\"k\">for</span><span class=\"p\">(</span><span class=\"kd\">var</span> <span class=\"nx\">i</span> <span class=\"o\">=</span> <span class=\"mi\">0</span><span class=\"p\">;</span><span class=\"nx\">i</span><span class=\"o\">&lt;</span><span class=\"mi\">500</span><span class=\"p\">;</span><span class=\"nx\">i</span><span class=\"o\">++</span><span class=\"p\">)</span> <span class=\"nx\">AV</span><span class=\"p\">.</span><span class=\"nx\">User</span><span class=\"p\">.</span><span class=\"nx\">current</span><span class=\"p\">().</span><span class=\"nx\">save</span><span class=\"p\">();</span>\n</pre></div>\n\n<p>\u8fd9\u6837\u5c31\u8017\u8d39\u4e86500\u6b21API\u8c03\u7528\u6b21\u6570\uff0c\u5982\u679c\u88abwhile(true) + \u591a\u6d4f\u89c8\u5668\u6302\u673a\uff0c\u4f30\u8ba1\u53ef\u4ee5\u4e00\u5929\u5c31\u7834\u4ea7\u4e86\u3002<br>\n\u6709\u4ec0\u4e48\u89e3\u51b3\u529e\u6cd5\u4e48\uff1f</p>\n\n<p><img src=\"http://ww1.sinaimg.cn/large/88c25655jw1etqvjrp10lj20lb0az74s.jpg\" alt=\"\"></p>\n", 
      "date_published": "2015-07-04T09:36:32+00:00", 
      "title": "\u5982\u4f55\u907f\u514d\u4f7f\u7528 JS sdk \u7684\u9875\u9762\u88ab\u6076\u610f\u4f7f\u7528\u7f51\u9875\u5f00\u53d1\u8005\u5de5\u5177\u5199\u4e2a\u6b7b\u5faa\u73af\u8c03\u7528 leancloud API\uff1f", 
      "id": "https://www.v2ex.com/t/203312"
    }, 
    {
      "author": {
        "url": "https://www.v2ex.com/member/wangxiao2015", 
        "name": "wangxiao2015", 
        "avatar": "https://cdn.v2ex.com/avatar/d764/7a07/120315_large.png?m=1695194677"
      }, 
      "url": "https://www.v2ex.com/t/200624", 
      "date_modified": "2015-06-23T12:17:39+00:00", 
      "content_html": "<p><strong>\u5e2e LeanCloud \u7528\u6237\u8f6c\u53d1\u3002</strong></p>\n\n<p>[\u5173\u4e8e\u6211\u4eec]<br>\n\u6211\u4eec\u5728\u505a\u4e00\u6b3e\u7c7b\u4f3c\u53ef\u6c57\u5b66\u9662\u7684\u4ea7\u54c1\uff0c\u5df2\u6709web\u7aef\u4ea7\u54c1\uff0c\u6e05\u6670\u7684\u4ea7\u54c1\u5b9a\u4f4d\u4e0e\u529f\u80fd\u8bbe\u8ba1\uff0c\u73b0\u5e0c\u671b\u5c06\u91cd\u5fc3\u8f6c\u79fb\u5230\u79fb\u52a8\u7aef\uff0c\u5f00\u53d1\u5e76\u957f\u671f\u7ef4\u62a4\u3001\u6539\u8fdb\u79fb\u52a8\u7aef\u4ea7\u54c1\u3002\u8001\u677f\u975e\u5e38\u770b\u91cd\u6280\u672f\uff0c\u4e5f\u6709\u8d44\u6df1\u5168\u6808\u5de5\u7a0b\u5e08\u5750\u9547\u3002</p>\n\n<p>[\u5de5\u4f5c\u5730\u70b9]<br>\n\u5317\u4eac\u6d77\u6dc0\u4e2d\u5173\u6751\uff0c\u6b65\u884c5\u5206\u949f\u52303w\u5496\u5561</p>\n\n<p>[Email]<br>\n<a target=\"_blank\" rel=\"nofollow\" href=\"mailto:hr@daydayupinc.com\">hr@daydayupinc.com</a></p>\n\n<p>[\u8981\u6c42]<br>\n1\u3001\u57fa\u672c\u8981\u6c42\uff08\u9ad8\u624b\u81ea\u884c\u5ffd\u7565\uff09\uff1a\u65e5\u5e38\u5f00\u53d1\u57fa\u672c\u6d41\u7a0b\uff0c\u5305\u62ec\u4e0d\u9650\u4e8e\uff1a\u57fa\u672c\u5de5\u5177\u7684\u4f7f\u7528CocoaPods\uff0cInstruments\uff0cUI\u7f16\u5199\u65e5\u5e38\uff0cCore Animation\uff0c\u5e38\u7528\u5e93\u5982SQLite\uff0cAFNetworking\uff0c\u63a8\u9001\u673a\u5236\uff0c\u901a\u8fc7StackOverflow\u95ee\u9898\u89e3\u51b3\uff0c\u63d0\u4ea4app store\u7684\u6ce8\u610f\u4e8b\u9879\u3002\u5982\u679c\u4f60\u4e9b\u90fd\u4e86\u89e3\uff0c\u4f60\u5e94\u8be5\u4e5f\u662f\u4e00\u4e2a\u559c\u7231iOS\u5f00\u53d1\u7684\u5de5\u7a0b\u5e08<br>\n2\u3001\u4e0d\u8981\u6c42\u8ba1\u7b97\u673a\u76f8\u5173\u4e13\u4e1a\uff0c\u4e0d\u9650\u5236\u5de5\u4f5c\u5e74\u6570\uff0c\u4f46\u9700\u8981\u6709\u4e30\u5bcc\u7684\u5b9e\u8df5\u7ecf\u9a8c \u6216 \u5f88\u5f3a\u7684\u5b66\u4e60\u80fd\u529b\uff0c\u5982\u679c\u6709\u4f5c\u54c1\u94fe\u63a5\u8bf7\u968f\u7b80\u5386\u63d0\u4f9b\u3002<br>\n3\u3001\u613f\u610f\u5c1d\u8bd5 LeanCloud + React Native \u67b6\u6784\u3002<br>\n4\u3001\u6709Web\u5f00\u53d1\u7ecf\u9a8c\u4f18\u5148\u3002\u6709\u97f3\u9891\u5904\u7406\u7ecf\u9a8c\u4f18\u5148\u3002<br>\n5\u3001\u9762\u8bd5\u4f1a\u6d89\u53ca\u4f60\u7684\u8fc7\u5f80\u4f5c\u54c1\u4e0e\u7ecf\u5386\uff0c\u4f1a\u6709\u73b0\u573a\u5199\u4ee3\u7801\u73af\u8282\u3002</p>\n\n<p>[\u6211\u4eec\u4e3a\u65b0\u6210\u5458\u63d0\u4f9b]<br>\n1\u300130k+\u85aa\u8d44\u3001\u5177\u4f53\u9762\u8bae<br>\n2\u3001\u6709\u6e05\u695a\u7684\u5b9e\u4e60\u5408\u4f19\u4eba\u5230\u5408\u4f19\u4eba\u7684\u664b\u5347\u8def\u5f84<br>\n3\u3001\u7ec6\u5fc3\u6253\u9020\u4e00\u6b3e\u4f18\u79c0\u4ea7\u54c1\u7684\u673a\u4f1a\uff0c\u8fd9\u4f1a\u662f\u4f60\u672a\u6765\u7684\u7b80\u5386\u4e2d\u6700\u91cd\u8981\u7684\u4e00\u7b14\u3002<br>\n4\u3001\u6280\u672f\u4e0a\u81ea\u7531\u3001\u5f00\u653e\u7684\u73af\u5883\uff0c\u6709\u5c1d\u8bd5\u81ea\u5df1\u60f3\u6cd5\u7684\u673a\u4f1a\u3002Swift\u5f53\u7136\u4e0d\u5728\u8bdd\u4e0b\u3002<br>\n5\u3001\u89c1\u8bc1\u81ea\u5df1\u7684\u4ea7\u54c1\u6539\u53d8\u884c\u4e1a\u3002</p>\n\n<p>\u539f\u6587\u5730\u5740</p>\n\n<p><a target=\"_blank\" rel=\"nofollow\" href=\"https://forum.leancloud.cn/t/ios-30k-leancloud-react-native/1195\">https://forum.leancloud.cn/t/ios-30k-leancloud-react-native/1195</a></p>\n", 
      "date_published": "2015-06-23T12:07:51+00:00", 
      "title": "\u521b\u4e1a\u516c\u53f8\uff0c\u5317\u4eac iOS \u4e3b\u7a0b\uff0c 30k+\uff0c React Native\uff0c LeanCloud \u7528\u6237\u3002", 
      "id": "https://www.v2ex.com/t/200624"
    }, 
    {
      "author": {
        "url": "https://www.v2ex.com/member/shell92", 
        "name": "shell92", 
        "avatar": "https://cdn.v2ex.com/avatar/0ae7/a919/119132_large.png?m=1432709843"
      }, 
      "url": "https://www.v2ex.com/t/199359", 
      "title": "\u6211 leancloud \u8d26\u53f7\u7528 gmail \u90ae\u7bb1\u6ce8\u518c\uff0c\u4f46\u662f\u5fd8\u8bb0\u4e86\u767b\u5f55\u5bc6\u7801\uff0c\u7533\u8bf7\u66f4\u6539\u5bc6\u7801\u4f46\u662f\u9a8c\u8bc1\u4fe1\u606f\u6536\u4e0d\u5230\uff0c\u600e\u4e48\u7834", 
      "id": "https://www.v2ex.com/t/199359", 
      "date_published": "2015-06-17T12:45:52+00:00", 
      "content_html": ""
    }, 
    {
      "author": {
        "url": "https://www.v2ex.com/member/wangxiao2015", 
        "name": "wangxiao2015", 
        "avatar": "https://cdn.v2ex.com/avatar/d764/7a07/120315_large.png?m=1695194677"
      }, 
      "url": "https://www.v2ex.com/t/198663", 
      "title": "LeanCloud \u53d1\u5e03\u7b80\u5355\u597d\u7528\u7684 Web \u7edf\u8ba1", 
      "id": "https://www.v2ex.com/t/198663", 
      "date_published": "2015-06-15T05:48:25+00:00", 
      "content_html": "<p>\u4e00\u4e2a\u975e\u5e38\u7b80\u5355\u7684\u81ea\u52a8\u7edf\u8ba1 SDK\uff0c\u5f53\u7136\u4e5f\u652f\u6301\u81ea\u5b9a\u4e49\u4e8b\u4ef6\uff0c\u975e\u5e38\u8f7b\u5de7\uff0c\u6b22\u8fce\u4f7f\u7528\u3002<br>\n\u6587\u6863 <a target=\"_blank\" rel=\"nofollow\" href=\"https://leancloud.cn/docs/js_analytics.html\">https://leancloud.cn/docs/js_analytics.html</a></p>\n\n<p>end</p>\n"
    }, 
    {
      "author": {
        "url": "https://www.v2ex.com/member/wangxiao2015", 
        "name": "wangxiao2015", 
        "avatar": "https://cdn.v2ex.com/avatar/d764/7a07/120315_large.png?m=1695194677"
      }, 
      "url": "https://www.v2ex.com/t/198041", 
      "date_modified": "2015-06-12T08:11:20+00:00", 
      "content_html": "<p>LeanCloud JavaScript SDK \u662f\u652f\u6301 React Native \u7684\uff0c</p>\n\n<p>\u53ef\u4ee5\u53c2\u8003\u8fd9\u7bc7 Blog <a target=\"_blank\" rel=\"nofollow\" href=\"https://blog.leancloud.cn/3188/\">https://blog.leancloud.cn/3188/</a></p>\n", 
      "date_published": "2015-06-12T08:11:10+00:00", 
      "title": "\u5982\u4f55\u5728 React Native \u4e2d\u4f7f\u7528 LeanCloud\uff1f", 
      "id": "https://www.v2ex.com/t/198041"
    }, 
    {
      "author": {
        "url": "https://www.v2ex.com/member/q84629462", 
        "name": "q84629462", 
        "avatar": "https://cdn.v2ex.com/avatar/c01c/2154/81152_large.png?m=1416997276"
      }, 
      "url": "https://www.v2ex.com/t/197898", 
      "date_modified": "2015-06-11T19:19:39+00:00", 
      "content_html": "<p>\u4e00\uff0c\u7ba1\u7406\u540e\u53f0\u7684\u6570\u636e\u5b58\u50a8\u9875\u9762\u538b\u6839\u6ca1\u8fd9\u4e2a\u8bbe\u7f6e\u529f\u80fd<br>\n\u4e8c\uff0c\u53bb\u5de5\u5355\u7cfb\u7edf\u641c\u4e86\u4e00\u4e0b\uff0c\u627e\u5230\u5ba2\u670d\u56de\u590d\uff0c\u660e\u786e\u8bf4\u9700\u8981\u4e0b\u5de5\u5355\u8ba9\u5ba2\u670d\u64cd\u4f5c\u7ed9\u7528\u6237\u6307\u5b9a\u7684\u8868\u7684\u5b57\u6bb5\u8bbe\u7f6e\u552f\u4e00<br>\n\u4e09\uff0c\u90a3\u4e48\u95ee\u9898\u6765\u4e86\uff0c\u60f3\u4e0b\u5de5\u5355\u9700\u8981\u8d2d\u4e70200\u5143/\u6708\u7684[\u6280\u672f\u652f\u6301\u670d\u52a1]\u624d\u80fd\u4e0b\u5de5\u5355<br>\n\u6211\u4e0d\u53cd\u5bf9\u5bf9\u9700\u8981\u4eba\u624b\u64cd\u4f5c\u7684\u4e1a\u52a1\u8fdb\u884c\u6536\u8d39\uff0c\u751a\u81f3\u662f\u652f\u6301\u7684<br>\n\u4f46\u6211\u53ea\u662f\u60f3\u7ed9\u8868\u7684\u5b57\u6bb5\u52a0\u4e2a\u503c\u552f\u4e00\u5c5e\u6027\u800c\u5df2\u554a\u3002\u3002\u3002<br>\n\u5982\u679cleancloud\u89c9\u5f97\u7528\u6237\u4e71\u7ed9\u8868\u7684\u5b57\u6bb5\u52a0\u552f\u4e00\u5c5e\u6027\u4f1a\u5f71\u54cd\u5230\u6bcd\u9e21\u6027\u80fd\u4ec0\u4e48\u7684\u8bdd\uff0c\u53ef\u4ee5\u52a0\u4e2a\u9650\u5236\u554a\uff0c\u6bcf\u4e2a\u8868\u53ea\u80fd\u7ed9\u4e00\u4e2a\u5b57\u6bb5\u52a0\uff0c\u6bcf\u4e2a\u8d26\u53f7\u53ea\u67095\u4e2a\u9650\u989d\u4ec0\u4e48\u7684\u63aa\u65bd<br>\n\u6897\u91cd\u8981\u7684\u662f\u6211\u60f3\u8981\u552f\u4e00\u5c5e\u6027\u5b57\u6bb5\u8fd8\u662f\u4e3a\u4e86\u4f7f\u7528leancloud\u7684\u5373\u65f6\u901a\u8baf\uff0c<br>\nleancloud\u7684\u5373\u65f6\u901a\u8baf\u6bcf\u4e2a\u5ba2\u6237\u7aef\u90fd\u9700\u8981\u72ec\u7acb\u7684client ID\uff0c\u800cclient ID\u5728\u5373\u65f6\u901a\u8baf\u7cfb\u7edf\u91cc\uff0c\u662f\u53ef\u4ee5\u7b80\u5355\u7684\u5f53\u4f5c\u5ba2\u6237\u7aef\u6635\u79f0\u6765\u7528\uff0c\u5b98\u65b9demo\u4e5f\u662f\u8fd9\u6837\u7528\u7684<br>\n\u5982\u679c\u4e0d\u8fd9\u6837\u7528\u5462\uff0c\u90a3\u6bcf\u4e2aclient\u8fdb\u5165\u804a\u5929\u5ba4\u90fd\u9700\u8981\u6240\u6709\u5728\u7ebf\u7528\u6237\u53bb\u8bfb\u53d6\u4e00\u6b21client ID\u4ee3\u8868\u7684\u7528\u6237\u6635\u79f0\uff0c\u8fd9\u4f1a\u5e26\u6765\u4ec0\u4e48\u95ee\u9898\uff1f\u66f4\u7e41\u6742\u7684\u4ee3\u7801(\u7a0b\u5e8f\u733f)\u3001\u66f4\u591a\u7684\u80fd\u8017(leancloud)\uff0c\u66f4\u957f\u7684\u7b49\u5f85(\u804a\u5929\u7528\u6237)\uff0c\u66f4\u591a\u7684\u8c03\u7528\u6b21\u6570(leancloud\u53ef\u662f\u6309\u8c03\u7528\u6b21\u6570\u6536\u8d39\u7684)<br>\n\u89e3\u51b3\u65b9\u6cd5\u9664\u4e86\u5f00\u653e\u5b57\u6bb5\u552f\u4e00\u503c\u7684\u8bbe\u7f6e\u5916\uff0c\u5373\u65f6\u901a\u8baf\u8fdb\u5165\u804a\u5929\u5ba4\u63a5\u53e3\u53ef\u4ee5\u589e\u52a0\u6635\u79f0\u7684\u53c2\u6570\uff0c\u8fd9\u6837\u5c31\u4e0d\u9700\u8981\u4f7f\u7528\u8868\u6765\u5b58\u50a8client ID\u4e86\uff0c\u4e5f\u5c31\u4e0d\u9700\u8981\u552f\u4e00\u5b57\u6bb5\u4e86</p>\n\n<p>\u51cc\u66683\u70b9\u7528\u624b\u673a\u6253\u7684\u5185\u5bb9\uff0c\u6709\u9519\u5b57\u6216\u8bf4\u6cd5\u4e0a\u7684\u9519\u8bef\u6216\u540d\u8bcd\u7528\u9519\u4e86\u8bf7\u89c1\u8c05</p>\n", 
      "date_published": "2015-06-11T19:16:10+00:00", 
      "title": "LeanCloud \u6570\u636e\u5b58\u50a8\u8d77\u7801\u8981\u4ea4 200 \u5757\u624d\u80fd\u7ed9\u6570\u636e\u8868\u52a0\u8bbe\u503c\u552f\u4e00\u5b57\u6bb5\uff1f\uff1f", 
      "id": "https://www.v2ex.com/t/197898"
    }, 
    {
      "author": {
        "url": "https://www.v2ex.com/member/wangxiao2015", 
        "name": "wangxiao2015", 
        "avatar": "https://cdn.v2ex.com/avatar/d764/7a07/120315_large.png?m=1695194677"
      }, 
      "url": "https://www.v2ex.com/t/197038", 
      "title": "Web \u5b9e\u65f6\u901a\u4fe1 Demo", 
      "id": "https://www.v2ex.com/t/197038", 
      "date_published": "2015-06-08T13:16:35+00:00", 
      "content_html": "<p>Demo  <a target=\"_blank\" rel=\"nofollow\" href=\"http://leancloud.github.io/js-realtime-sdk/demo/demo2/\">http://leancloud.github.io/js-realtime-sdk/demo/demo2/</a><br>\n\u6e90\u7801   <a target=\"_blank\" rel=\"nofollow\" href=\"https://github.com/leancloud/js-realtime-sdk/tree/master/demo/demo2\">https://github.com/leancloud/js-realtime-sdk/tree/master/demo/demo2</a></p>\n"
    }, 
    {
      "author": {
        "url": "https://www.v2ex.com/member/wangxiao2015", 
        "name": "wangxiao2015", 
        "avatar": "https://cdn.v2ex.com/avatar/d764/7a07/120315_large.png?m=1695194677"
      }, 
      "url": "https://www.v2ex.com/t/197036", 
      "title": "\u57fa\u4e8e LeanCloud \u7684 JavaScript \u5b9e\u65f6\u5bf9\u6218\u6e38\u620f\u7b80\u5355 Demo", 
      "id": "https://www.v2ex.com/t/197036", 
      "date_published": "2015-06-08T13:14:22+00:00", 
      "content_html": "<p>\u79fb\u52a8\u7aef\u8bbf\u95ee\u66f4\u597d\uff0c\u5b9e\u65f6\u5339\u914d\u4e24\u4e2a\u7528\u6237\uff0c\u5982\u679c\u6ca1\u6709\u7528\u6237\u5c31\u4f1a\u5339\u914d\u4e00\u4e2a\u673a\u5668\u4eba\u3002<br>\n<a target=\"_blank\" rel=\"nofollow\" href=\"http://cutpage.sinaapp.com/\">http://cutpage.sinaapp.com/</a></p>\n\n<p>\u6e90\u7801\u5730\u5740<br>\n<a target=\"_blank\" rel=\"nofollow\" href=\"https://github.com/wangxiao/cut-page\">https://github.com/wangxiao/cut-page</a></p>\n"
    }, 
    {
      "author": {
        "url": "https://www.v2ex.com/member/LeanCloudRRY", 
        "name": "LeanCloudRRY", 
        "avatar": "https://cdn.v2ex.com/avatar/278f/c5d5/103427_large.png?m=1430102721"
      }, 
      "url": "https://www.v2ex.com/t/196989", 
      "date_modified": "2015-06-08T10:16:23+00:00", 
      "content_html": "<p>\u5404\u4f4d LeanCloud \u7684\u7528\u6237\uff0c\u5927\u5bb6\u597d\u3002</p>\n\n<p>LeanCloud \u7684\u591a\u9879\u670d\u52a1\u5728\u516d\u6708\u516d\u65e5\u5468\u516d\u4e0b\u5348\u53d1\u751f\u4e86\u5927\u7ea6\u56db\u4e2a\u5c0f\u65f6\u7684\u4e2d\u65ad\u6216\u4e0d\u7a33\u5b9a\u3002\u5176\u4e2d 16:10 \u5230 19:09 \u4e3a\u6545\u969c\u9636\u6bb5\uff1b19:09 \u5230 20:17 \u4e3a\u9650\u6d41\u6062\u590d\u9636\u6bb5\u3002</p>\n\n<p>\u5728\u6545\u969c\u9636\u6bb5\u53d7\u5230\u91cd\u5927\u5f71\u54cd\u7684\u670d\u52a1\u5305\u62ec\uff1a\u6570\u636e\u5b58\u50a8\u3001\u7f51\u7ad9\u53ca\u63a7\u5236\u53f0\u3001\u4e91\u4ee3\u7801\u3001\u63a8\u9001\u3001\u5de5\u5355\u7cfb\u7edf\u3001\u7528\u6237\u53cd\u9988\u3001\u7b2c\u4e09\u65b9\u767b\u5f55\u3001\u5e94\u7528\u5185\u793e\u4ea4\uff1b\u53d7\u5230\u8f7b\u5ea6\u5f71\u54cd\u7684\u670d\u52a1\u5305\u62ec\uff1a\u77ed\u4fe1\u3001\u5b9e\u65f6\u901a\u4fe1\u670d\u52a1\u4e2d\u83b7\u53d6\u804a\u5929\u8bb0\u5f55\u7684 API\uff1b\u672a\u53d7\u5f71\u54cd\u7684\u670d\u52a1\u5305\u62ec\uff1a\u7edf\u8ba1\u5206\u6790\u3001\u79bb\u7ebf\u6570\u636e\u5206\u6790\u3001\u5e94\u7528\u5185\u641c\u7d22\u3001\u6587\u6863\u3002</p>\n\n<p>\u5728\u9650\u6d41\u6062\u590d\u9636\u6bb5\u53d7\u5230\u91cd\u5927\u5f71\u54cd\u7684\u670d\u52a1\u5305\u62ec\u6570\u636e\u5b58\u50a8\u3001\u7f51\u7ad9\u53ca\u63a7\u5236\u53f0\u3001\u4e91\u4ee3\u7801\u3001\u63a8\u9001\u3001\u77ed\u4fe1\u3001\u5de5\u5355\u7cfb\u7edf\u3001\u7528\u6237\u53cd\u9988\u3001\u7b2c\u4e09\u65b9\u767b\u5f55\u3001\u5e94\u7528\u5185\u793e\u4ea4\u3001\u7edf\u8ba1\u5206\u6790\u3001\u79bb\u7ebf\u6570\u636e\u5206\u6790\u3001\u5e94\u7528\u5185\u641c\u7d22\u3001\u6587\u6863\u3001\u5b9e\u65f6\u901a\u4fe1\u4e2d\u83b7\u53d6\u804a\u5929\u8bb0\u5f55\u7684 API\u3002\u5b9e\u65f6\u901a\u4fe1\u5728\u8fd9\u4e2a\u9636\u6bb5\u672a\u53d7\u5f71\u54cd\u3002</p>\n\n<p>\u5728\u8fd9\u6b21\u4e8b\u6545\u4e2d\u6ca1\u6709\u53d1\u751f\u670d\u52a1\u5668\u7aef\u6570\u636e\u7684\u4e22\u5931\u6216\u635f\u574f\u3002</p>\n\n<p>\u6211\u4eec\u77e5\u9053\u8fd9\u6b21\u670d\u52a1\u4e2d\u65ad\u7ed9\u5f88\u591a\u7528\u6237\u9020\u6210\u4e86\u5b9e\u8d28\u6027\u7684\u5f71\u54cd\u3002\u6211\u5199\u8fd9\u5c01\u4fe1\u7684\u76ee\u7684\u662f\u4e3a\u4e86\u5411\u7528\u6237\u8bf4\u660e\u53d1\u751f\u7684\u4e8b\u60c5\uff0c\u4ee5\u53ca\u6211\u4eec\u5c06\u5982\u4f55\u6539\u8fdb\u4ea7\u54c1\u548c\u670d\u52a1\u4ee5\u964d\u4f4e\u7c7b\u4f3c\u4e8b\u4ef6\u53d1\u751f\u7684\u53ef\u80fd\u6027\u3002</p>\n\n<h3>\u67b6\u6784\u603b\u89c8</h3>\n\n<p>\u4e3a\u4e86\u66f4\u597d\u5730\u89e3\u91ca\u8fd9\u6b21\u4e8b\u6545\uff0c\u6211\u60f3\u5148\u7b80\u5355\u4ecb\u7ecd\u4e00\u4e0b LeanCloud \u7684\u540e\u7aef\u67b6\u6784\u3002\u4ee5\u4e0b\u662f\u4e00\u4e2a\u7b80\u5316\u7248\u7684\u67b6\u6784\u56fe\u3002</p>\n\n<p><img src=\"http://ac-lhzo7z96.clouddn.com/1433743450837\" alt=\"LeanCloud \u7b80\u5316\u67b6\u6784\u56fe\"></p>\n\n<p>\u867d\u7136\u5b9e\u9645\u4e0a\u7cfb\u7edf\u95f4\u7684\u5173\u8054\u6bd4\u8fd9\u4e2a\u56fe\u8981\u590d\u6742\uff0c\u5e76\u4e14\u6709\u4e00\u4e9b\u505a\u5f02\u6b65\u5904\u7406\u7684\u7cfb\u7edf\u6ca1\u6709\u753b\u51fa\u6765\uff0c\u4f46\u7528\u4ee5\u8bf4\u660e\u95ee\u9898\u662f\u8db3\u591f\u7684\u3002</p>\n\n<p>\u5728 LeanCloud \u7684\u6700\u524d\u7aef\uff0c\u9664\u4e86\u8d1f\u8f7d\u5747\u8861\u4e4b\u5916\u5c31\u662f API \u670d\u52a1\u96c6\u7fa4\uff0c\u4e5f\u5c31\u662f\u5b9e\u73b0 RESTful API \u7684\u90e8\u5206\u3002\u5ba2\u6237\u7aef\u5e94\u7528\u901a\u8fc7 SDK \u6216\u76f4\u63a5\u8c03\u7528 API \u548c\u5b83\u901a\u8baf\u3002\u6839\u636e\u8bf7\u6c42\u7684\u7c7b\u578b\uff0cAPI \u670d\u52a1\u518d\u8c03\u7528\u540e\u7aef\u7684\u5404\u4e2a\u7cfb\u7edf\u5b8c\u6210\u6240\u9700\u7684\u529f\u80fd\u3002\u6bd4\u5982\u5982\u679c\u662f\u7edf\u8ba1\u670d\u52a1\u7684\u8bf7\u6c42\uff0c\u4e8b\u4ef6\u4fe1\u606f\u4f1a\u88ab\u53d1\u9001\u5230\u7edf\u8ba1\u670d\u52a1\u5e76\u6700\u7ec8\u88ab\u4fdd\u5b58\u5230 HBase \u96c6\u7fa4\uff1b\u5982\u679c\u662f\u6570\u636e\u5b58\u50a8\u670d\u52a1\u7684\u8bf7\u6c42\uff0c\u90a3\u4e48 API \u670d\u52a1\u5c31\u4f1a\u8c03\u7528 MySQL \u548c MongoDB \u96c6\u7fa4\u5b8c\u6210\u6570\u636e\u8bbf\u95ee\u3002\u56e0\u4e3a MongoDB \u5b58\u50a8\u4e86\u6bcf\u4e2a\u5e94\u7528\u7684\u5927\u90e8\u5206\u6570\u636e\uff0c\u6240\u4ee5\u4e0d\u5c11\u670d\u52a1\u90fd\u9700\u8981\u4ece\u8fd9\u91cc\u83b7\u53d6\u4e00\u4e9b\u4fe1\u606f\uff0c\u662f\u6574\u4e2a\u7cfb\u7edf\u4e2d\u5f88\u91cd\u8981\u7684\u7ec4\u4ef6\u3002</p>\n\n<p>MongoDB \u96c6\u7fa4\u5b58\u50a8\u4e86\u6240\u6709\u5e94\u7528\u9664\u4e86\u7edf\u8ba1\u548c\u5907\u4efd\u6570\u636e\u4ee5\u5916\u7684\u5176\u4ed6\u6570\u636e\u3002\u7531\u4e8e\u6570\u636e\u91cf\u5de8\u5927\uff0c\u6240\u4ee5\u6211\u4eec\u5bf9 MongoDB \u8fdb\u884c\u4e86\u5206\u7247\uff08sharding\uff09\uff0c\u8ba9\u6570\u636e\u5206\u5e03\u5728\u4e0d\u540c shard\u3002\u6bcf\u4e2a shard \u53c8\u7531 5 \u53f0\u670d\u52a1\u5668\uff08\u8282\u70b9\uff09\u7ec4\u6210\uff0c\u5176\u4e2d\u6bcf\u53f0\u90fd\u4fdd\u5b58\u7740\u8fd9\u4e2a shard \u7684\u5b8c\u6574\u6570\u636e\uff0c\u8fd9\u6837\u4e0d\u4f46\u53ef\u4ee5\u627f\u62c5\u66f4\u9ad8\u7684\u8d1f\u8f7d\uff0c\u4e5f\u4fdd\u8bc1\u4e86\u5373\u4f7f\u5176\u4e2d\u4e00\u4e9b\u670d\u52a1\u5668\u574f\u6389\uff0c\u6570\u636e\u4e5f\u662f\u5b89\u5168\u7684\u3002\u6bcf\u4e2a shard \u6709\u4e00\u53f0\u79f0\u4e3a primary \u7684\u670d\u52a1\u5668\uff0c\u6240\u6709\u5bf9\u6570\u636e\u7684\u4fee\u6539\u90fd\u4f1a\u9996\u5148\u5728\u8fd9\u53f0\u670d\u52a1\u5668\u8fdb\u884c\uff0c\u7136\u540e\u518d\u590d\u5236\u5230\u5176\u4ed6\u670d\u52a1\u5668\uff0c\u800c\u8bfb\u53d6\u53ef\u4ee5\u4ece\u4efb\u4f55\u4e00\u53f0\u670d\u52a1\u5668\u8fdb\u884c\u3002\u5f53 primary \u51fa\u73b0\u95ee\u9898\u65f6\uff0c\u4f1a\u6709\u4e00\u4e2a\u81ea\u52a8\u9009\u4e3e\u8fc7\u7a0b\u4ece\u5176\u4ed6\u6210\u5458\u91cc\u9009\u51fa\u65b0\u7684 primary\uff0c\u8ba9\u670d\u52a1\u53ef\u4ee5\u7ee7\u7eed\uff0c\u8fd9\u662f\u5b9e\u73b0\u5bb9\u9519\u7684\u65b9\u5f0f\u3002</p>\n\n<h3>\u6545\u969c\u8bf4\u660e</h3>\n\n<p>\u5728\u6545\u969c\u53d1\u751f\u524d\u7684\u4e00\u5468\uff0c\u6211\u4eec\u505a\u4e86\u4e0e\u672c\u6b21\u6545\u969c\u76f8\u5173\u7684\u4e24\u4e2a\u6539\u52a8\u3002</p>\n\n<p>\u4e3a\u4e86\u66f4\u597d\u5730\u7ba1\u7406 LeanCloud \u7684\u5927\u91cf\u670d\u52a1\u5668\uff0c\u6211\u4eec\u5728\u8fd1\u671f\u5f15\u5165\u4e86 <a target=\"_blank\" rel=\"nofollow\" href=\"http://mesos.apache.org/\">Apache Mesos</a>\uff0c\u8fd9\u662f\u4e00\u4e2a\u4e3a\u670d\u52a1\u5668\u96c6\u7fa4\u7684\u8d44\u6e90\u7ba1\u7406\u63d0\u4f9b\u9ad8\u5c42\u62bd\u8c61\u63a5\u53e3\u7684\u7cfb\u7edf\u3002Mesos \u4f1a\u5728\u6bcf\u53f0\u53d7\u7ba1\u7406\u7684\u670d\u52a1\u5668\u4e0a\u8fd0\u884c\u4e00\u4e2a <code>mesos-slave</code> \u8fdb\u7a0b\u3002</p>\n\n<p>\u6211\u4eec\u628a MongoDB \u4ece 2.4 \u5347\u7ea7\u5230\u4e86 2.6\u3002\u65b0\u7248\u672c\u5bf9\u5730\u7406\u4f4d\u7f6e\u7684\u67e5\u8be2\uff0c\u4ee5\u53ca <code>count</code> \u67e5\u8be2\u7684\u51c6\u786e\u6027\u6709\u6240\u6539\u8fdb\uff0c\u6240\u4ee5\u6211\u4eec\u8ba4\u4e3a\u8fd9\u6b21\u5347\u7ea7\u5bf9\u7528\u6237\u6765\u8bf4\u662f\u503c\u5f97\u7684\u3002\u4f46\u65b0\u7248\u672c\u7684\u4e00\u4e2a\u8d1f\u9762\u5f71\u54cd\u662f\uff0c\u56e0\u4e3a\u6bcf\u6b21\u542f\u52a8\u65f6\u8981\u68c0\u67e5\u7d22\u5f15\uff0c\u6240\u4ee5\u542f\u52a8\u65f6\u95f4\u5927\u5927\u5ef6\u957f\u4e86\u3002\u800c\u5982\u679c MongoDB \u662f\u5728\u51fa\u9519\u7684\u60c5\u51b5\u4e0b\u91cd\u65b0\u542f\u52a8\uff0c\u4f1a\u5bfc\u81f4\u5927\u91cf\u7684\u7d22\u5f15\u88ab\u91cd\u65b0\u5efa\u7acb\uff0c\u8fdb\u4e00\u6b65\u5ef6\u957f\u542f\u52a8\u7684\u65f6\u95f4\u3002</p>\n\n<p>\u5927\u7ea6\u5728 16:10 \u6211\u4eec\u7684\u8fd0\u7ef4\u5de5\u7a0b\u5e08\u6536\u5230 MongoDB \u96c6\u7fa4\u5185\u5b58\u4e0d\u8db3\u7684\u62a5\u8b66\uff0c\u5728\u521d\u6b65\u8bca\u65ad\u540e\uff0c\u786e\u5b9a\u539f\u56e0\u4e3a <code>mesos-slave</code> \u542f\u52a8\u7684\u4e00\u4e2a\u5b50\u8fdb\u7a0b\u5360\u7528\u5185\u5b58\u592a\u591a\uff0c\u6709\u53ef\u80fd\u662f\u5b58\u5728\u5185\u5b58\u6cc4\u6f0f\uff0c\u6240\u4ee5\u6211\u4eec\u5f00\u59cb\u7ec8\u6b62\u5404\u53f0\u670d\u52a1\u5668\u7684 <code>mesos-slave</code> \u8fdb\u7a0b\u3002\u5728\u8fd9\u65f6\u6211\u4eec\u53d1\u73b0 MongoDB \u7684\u5176\u4e2d\u4e00\u4e2a shard \u4e2d\u6709\u4e09\u4e2a\u8282\u70b9\u56e0\u4e3a\u53ef\u7528\u5185\u5b58\u4e0d\u8db3\u8fdb\u5165\u5f02\u5e38\u72b6\u6001\uff0c\u5176\u4e2d\u4e00\u4e2a\u662f primary\uff0c\u6240\u4ee5\u6211\u4eec\u5f00\u59cb\u91cd\u542f\u5176\u4e2d\u4e24\u4e2a\u8282\u70b9\u3002\u7531\u4e8e MongoDB 2.6 \u5728\u542f\u52a8\u8fc7\u7a0b\u4e2d\u9700\u8981\u6821\u9a8c\u6570\u636e\u5e76\u4fee\u590d\u7d22\u5f15\uff0c\u6240\u4ee5\u8fd9\u4e2a\u8fc7\u7a0b\u5f88\u6162\uff0c\u800c\u5f53\u65f6\u6b63\u662f\u6d41\u91cf\u9ad8\u5cf0\u671f\uff0c\u8fd9\u4e2a shard \u5269\u4e0b\u7684\u8282\u70b9\u4e0d\u8db3\u4ee5\u627f\u62c5\u5f53\u65f6\u7684\u8d1f\u8f7d\uff0c\u6240\u4ee5\u5f88\u5feb\u88ab\u538b\u57ae\u3002\u7531\u4e8e primary \u7684\u8fde\u63a5\u6570\u88ab\u5360\u6ee1\uff0c\u8fd9\u5bfc\u81f4\u51fa\u95ee\u9898\u7684\u4e24\u4e2a\u8282\u70b9\u65e0\u6cd5\u52a0\u5165\u96c6\u7fa4\u3002\u5728\u8fd9\u79cd\u60c5\u51b5\u4e0b\uff0c\u6211\u4eec\u51b3\u5b9a\u5c4f\u853d\u6240\u6709 API \u670d\u52a1\u8bf7\u6c42\uff0c\u5e76\u91cd\u542f\u5904\u4e8e\u9519\u8bef\u72b6\u6001\u7684\u4e09\u4e2a\u8282\u70b9\u3002</p>\n\n<p>\u5728\u6b64\u4e4b\u540e\uff0c\u8fd9\u4e09\u4e2a\u8282\u70b9\u5206\u522b\u7ecf\u5386\u4e86\u591a\u6b21\u91cd\u542f\uff0c\u539f\u56e0\u662f\u51fa\u95ee\u9898\u7684 shard \u5927\u7ea6\u6709 10,000 \u4e2a\u6570\u636e\u5e93\uff0c\u800c\u65b0\u7248 MongoDB \u8981\u9a8c\u8bc1\u6bcf\u4e2a\u6570\u636e\u5e93\u5e76\u4fee\u590d\u7d22\u5f15\u3002\u8fd9\u4e0d\u4f46\u4f7f\u5f97\u91cd\u542f\u5f88\u6162\uff0c\u800c\u4e14\u56e0\u4e3a\u6570\u636e\u5e93\u6570\u91cf\u592a\u591a\uff0c\u8fd9\u4e2a\u8fc7\u7a0b\u4f1a\u8017\u5c3d\u7cfb\u7edf\u5bf9\u5b50\u8fdb\u7a0b\u6570\u7684\u9650\u5236\uff0c\u6240\u4ee5\u5728\u91cd\u542f\u4e4b\u540e\u96c6\u7fa4\u65e0\u6cd5\u6062\u590d\u6b63\u5e38\u53ef\u7528\u72b6\u6001\u3002\u76f4\u5230\u6211\u4eec\u627e\u5230\u539f\u56e0\u5e76\u8c03\u6574\u4e86\u7cfb\u7edf\u8bbe\u7f6e\uff0c\u5404\u4e2a\u8282\u70b9\u624d\u5b8c\u6210\u6b63\u5e38\u542f\u52a8\uff0c\u96c6\u7fa4\u6062\u590d\u53ef\u7528\u3002</p>\n\n<p>\u5728\u8fd9\u4e2a\u8fc7\u7a0b\u4e2d\uff0c\u9664\u4e86\u4e8b\u6545\u672c\u8eab\uff0c\u6211\u4eec\u5728\u6c9f\u901a\u4e0a\u4e5f\u72af\u4e86\u4e00\u4e9b\u9519\u8bef\u3002\u5f53\u7528\u6237\u8be2\u95ee\u670d\u52a1\u6062\u590d\u65f6\u95f4\u65f6\uff0c\u6211\u4eec\u7ed9\u51fa\u4e86\u8fc7\u4e8e\u4e50\u89c2\u7684\u4f30\u8ba1\uff0c\u4f46\u56e0\u4e3a\u4ee5\u4e0a\u6240\u8bf4\u7684\u539f\u56e0\uff0c\u591a\u4e2a MongoDB \u8282\u70b9\u7ecf\u8fc7\u4e86\u591a\u6b21\u91cd\u542f\uff0c\u5b9e\u9645\u6062\u590d\u670d\u52a1\u7684\u65f6\u95f4\u665a\u4e86\u5f88\u591a\uff0c\u8fd9\u7ed9\u7528\u6237\u9020\u6210\u4e86\u8fdb\u4e00\u6b65\u7684\u56f0\u6270\u3002</p>\n\n<h3>\u6539\u8fdb\u63aa\u65bd</h3>\n\n<ul>\n<li>\u66f4\u65b0 MongoDB \u8282\u70b9\u5185\u5b58\u62a5\u8b66\u503c\uff0c\u9884\u7559\u66f4\u591a\u54cd\u5e94\u65f6\u95f4\u3002\uff08\u5df2\u5b8c\u6210\uff09</li>\n<li>\u5728 MongoDB \u8282\u70b9\u6682\u505c\u4f7f\u7528 <code>mesos-slave</code>\u3002\uff08\u5df2\u5b8c\u6210\uff09</li>\n<li>\u8bbe\u7f6e\u5404\u670d\u52a1 OOM \u4f18\u5148\u7ea7\uff0c\u610f\u5916\u60c5\u51b5\u53d1\u751f\u5bfc\u81f4\u5269\u4f59\u5185\u5b58\u4e0d\u591f\u65f6\u91cd\u542f\u4f4e\u4f18\u5148\u7ea7\u670d\u52a1\u4ee5\u4fdd\u62a4\u9ad8\u4f18\u5148\u7ea7\u670d\u52a1\u3002\uff08\u5df2\u5b8c\u6210\uff09</li>\n<li>MongoDB \u96c6\u7fa4\u589e\u52a0\u786c\u4ef6\u8d44\u6e90\u3002</li>\n<li>\u62c6\u5206 MongoDB \u96c6\u7fa4\u4e3a\u591a\u4e2a\u5c0f\u96c6\u7fa4\uff0c\u964d\u4f4e\u5355\u4e2a\u96c6\u7fa4\u91cc\u7684\u6570\u636e\u5e93\u6570\u91cf\u3002\u8fd9\u4e5f\u8ba9\u6211\u4eec\u53ef\u4ee5\u5bf9 MongoDB \u8fdb\u884c\u6eda\u52a8\u5347\u7ea7\uff0c\u964d\u4f4e\u98ce\u9669\u3002</li>\n<li>\u5728\u91cd\u8981\u7cfb\u7edf\u5347\u7ea7\u524d\u8fdb\u884c\u66f4\u591a\u4e8b\u6545\u6062\u590d\u7684\u6d4b\u8bd5\uff0c\u5e76\u4ee5\u6eda\u52a8\u65b9\u5f0f\u5728\u8f83\u957f\u65f6\u95f4\u5185\u9010\u6b65\u5b8c\u6210\u5347\u7ea7\u3002</li>\n<li>\u964d\u4f4e MongoDB \u542f\u52a8\u65f6\u95f4\u3002</li>\n<li>\u8fdb\u884c\u9636\u6bb5\u6027\u7684 MongoDB \u538b\u6d4b\u53ca\u6545\u969c\u6062\u590d\u6a21\u62df\u3002</li>\n<li>status.leancloud.cn \u4ece\u4e3b\u7ad9\u62c6\u5206\uff0c\u8ba9\u7528\u6237\u5f97\u5230\u66f4\u51c6\u786e\u7684\u6545\u969c\u4fe1\u606f\u3002</li>\n<li>\u6539\u8fdb API \u670d\u52a1\u7ebf\u7a0b\u6c60\u5206\u914d\u673a\u5236\uff0c\u907f\u514d\u56e0\u4e3a\u4e00\u4e2a MongoDB shard \u5f02\u5e38\u800c\u5835\u585e\u7ebf\u7a0b\u6c60\u3002</li>\n<li>\u6539\u8fdb API \u670d\u52a1\u6d41\u91cf\u63a7\u5236\uff0c\u7d27\u6025\u60c5\u51b5\u65f6\u505a\u5230\u53ef\u4ee5\u4ec5\u5207\u65ad\u5bf9\u5e94\u7279\u5b9a MongoDB shard \u7684\u8bf7\u6c42\u3002</li>\n<li>\u5728\u53d1\u751f\u7ebf\u4e0a\u4e8b\u6545\u65f6\uff0c\u6211\u4eec\u5c06\u5728 Blog \u4e0a\u5f00\u901a\u76f4\u64ad\u8d34\uff0c\u5b9e\u65f6\u5411\u7528\u6237\u901a\u62a5\u8fdb\u5c55\u3002</li>\n</ul>\n\n<h3>\u7ed3\u8bed</h3>\n\n<p>\u6211\u4eec\u80a9\u4e0a\u627f\u8f7d\u7740\u4e3a\u6570\u4e07\u5f00\u53d1\u8005\u63d0\u4f9b\u7a33\u5b9a\u670d\u52a1\u7684\u8d23\u4efb\u3002\u5468\u516d\u508d\u665a\u4e8b\u6545\u6301\u7eed\u7684\u56db\u4e2a\u5c0f\u65f6\u4e5f\u662f\u6240\u6709 LeanCloud \u7684\u540c\u4e8b\u6700\u96be\u71ac\u7684\u4e00\u6bb5\u65f6\u95f4\u3002\u6211\u4eec\u4e86\u89e3\u5230\u6709\u7684\u521b\u4e1a\u56e2\u961f\u4e3a\u4e86\u5f53\u5929\u8fdb\u884c\u7684\u4e00\u4e2a\u6d3b\u52a8\uff0c\u5728\u8fc7\u53bb\u7684\u65f6\u95f4\u91cc\u975e\u5e38\u8f9b\u82e6\u5730\u5de5\u4f5c\uff0c\u800c\u6d3b\u52a8\u5374\u53d7\u5230\u4e86 LeanCloud \u4e8b\u6545\u7684\u5f71\u54cd\u3002\u8fd9\u6837\u7684\u4e8b\u60c5\u8ba9\u540c\u4e3a\u521b\u4e1a\u516c\u53f8\u7684\u6211\u4eec\u975e\u5e38\u5730\u96be\u53d7\u548c\u60ed\u6127\u3002</p>\n\n<p>\u6211\u4eec\u5e0c\u671b\u901a\u8fc7\u8fd9\u4e2a\u8be6\u7ec6\u7684\u62a5\u544a\u8ba9\u7528\u6237\u5168\u9762\u5730\u4e86\u89e3\u6574\u4e2a\u8fc7\u7a0b\uff0c\u5e76\u5c06\u5c3d\u4e00\u5207\u52aa\u529b\u964d\u4f4e\u672a\u6765\u53d1\u751f\u7c7b\u4f3c\u4e8b\u4ef6\u7684\u53ef\u80fd\u6027\u3002\u867d\u7136\u4efb\u4f55\u4eba\u90fd\u6ca1\u6709\u529e\u6cd5\u5b8c\u5168\u4fdd\u8bc1\u670d\u52a1\u4e2d\u65ad\u4e0d\u4f1a\u53d1\u751f\uff0c\u4f46\u6211\u4eec\u4f1a\u91c7\u53d6\u4e00\u7cfb\u5217\u63aa\u65bd\u907f\u514d\u53ef\u9884\u89c1\u7684\u95ee\u9898\uff0c\u5e76\u786e\u4fdd\u5728\u53d1\u751f\u610f\u5916\u7684\u65f6\u5019\u80fd\u66f4\u5feb\u5730\u6062\u590d\u3002\u4e3a\u4e86\u4fdd\u6301\u6539\u8fdb\u8fc7\u7a0b\u7684\u900f\u660e\uff0c\u6211\u4eec\u5f00\u653e\u4e86\u4e00\u4e2a<a target=\"_blank\" rel=\"nofollow\" href=\"https://trello.com/b/h8c3b4wM/2015-6-6\">\u8ffd\u8e2a\u5404\u9879\u5177\u4f53\u63aa\u65bd\u7684 Trello board</a>\uff0c\u7528\u6237\u53ef\u4ee5\u901a\u8fc7\u5b83\u968f\u65f6\u4e86\u89e3\u6211\u4eec\u7684\u6267\u884c\u8fc7\u7a0b\u3002</p>\n\n<p>\u6c5f\u5b8f<br><br>\nLeanCloud Cofounder/CEO</p>\n", 
      "date_published": "2015-06-08T10:07:08+00:00", 
      "title": "\u5bf9\u516d\u6708\u516d\u65e5 LeanCloud \u591a\u9879\u670d\u52a1\u53d1\u751f\u4e2d\u65ad\u7684\u8bf4\u660e", 
      "id": "https://www.v2ex.com/t/196989"
    }, 
    {
      "author": {
        "url": "https://www.v2ex.com/member/wangxiao2015", 
        "name": "wangxiao2015", 
        "avatar": "https://cdn.v2ex.com/avatar/d764/7a07/120315_large.png?m=1695194677"
      }, 
      "url": "https://www.v2ex.com/t/196610", 
      "date_modified": "2015-06-06T14:51:27+00:00", 
      "content_html": "<p>LeanCloud \u5e73\u53f0\u63d0\u4f9b\u4e86\u4e00\u4e2a\u79fb\u52a8 App \u7684\u5b8c\u6574\u540e\u7aef\u89e3\u51b3\u65b9\u6848\uff0c\u76ee\u6807\u662f\u5b8c\u5168\u6d88\u9664\u5199\u540e\u7aef\u4ee3\u7801\u548c\u7ef4\u62a4\u670d\u52a1\u5668\u7684\u5fc5\u8981\u6027.</p>\n\n<p>AV.Cloud.requestSmsCode(&#39;186xxxxxxxx&#39;).then(function(){<br>\n  //\u53d1\u9001\u6210\u529f<br>\n}, function(err){<br>\n  //\u53d1\u9001\u5931\u8d25<br>\n});</p>\n\n<p>AV.Cloud.verifySmsCode(&#39;6\u4f4d\u6570\u5b57\u9a8c\u8bc1\u7801&#39;, &#39;11 \u4f4d\u624b\u673a\u53f7\u7801&#39;).then(function(){<br>\n  //\u9a8c\u8bc1\u6210\u529f<br>\n}, function(err){<br>\n  //\u9a8c\u8bc1\u5931\u8d25<br>\n});</p>\n\n<p>\u5177\u4f53\u8bf7\u53c2\u8003\u6587\u6863  <a target=\"_blank\" rel=\"nofollow\" href=\"https://leancloud.cn/docs/js_sms_guide.html\">https://leancloud.cn/docs/js_sms_guide.html</a></p>\n", 
      "date_published": "2015-06-06T14:47:22+00:00", 
      "title": "LeanCloud JavaScript \u53d1\u9001\u77ed\u4fe1", 
      "id": "https://www.v2ex.com/t/196610"
    }, 
    {
      "author": {
        "url": "https://www.v2ex.com/member/wangxiao2015", 
        "name": "wangxiao2015", 
        "avatar": "https://cdn.v2ex.com/avatar/d764/7a07/120315_large.png?m=1695194677"
      }, 
      "url": "https://www.v2ex.com/t/196609", 
      "date_modified": "2015-06-06T14:43:54+00:00", 
      "content_html": "<p>\u4f60\u53ef\u4ee5\u57fa\u4e8e Push SDK \u505a\u5f88\u591a\u6709\u8da3\u7684 Web App\uff0c\u6bd4\u5982\uff1a\u5e74\u4f1a\u4e0a\u9762\u505a\u4e2a\u7b80\u5355\u7684\u5f39\u5e55\u5e94\u7528\uff0c\u4e00\u4e9b\u5ba2\u6237\u7aef\u53d1\uff0c\u5f39\u5e55\u5899\u63a5\u6536\u3002</p>\n\n<p>\u5f53\u7136\uff0c\u4f60\u53ef\u4ee5\u505a\u4e00\u4e2a\u6bd4\u8f83\u7b80\u5355\u7684\u6d88\u606f\u901a\u77e5\u529f\u80fd\u3002\u63a8\u9001\u6d88\u606f\u7684\u65b9\u5f0f\u4e5f\u662f\u5f88\u7075\u6d3b\u7684\uff0c\u53ef\u4ee5\u5728\u5ba2\u6237\u7aef\u901a\u8fc7\u5bf9\u5e94 SDK \u7684\u63a5\u53e3\u53d1\u9001\uff0c\u4e5f\u53ef\u4ee5\u5728\u300c\u63a7\u5236\u53f0\u300d- \u300c\u6d88\u606f\u300d\u4e2d\u624b\u52a8\u53d1\u9001\u63a8\u9001\u6d88\u606f\u5230\u5404\u4e2a\u5ba2\u6237\u7aef\u3002</p>\n\n<p>\u76f8\u5173\u6587\u6863\u5730\u5740  <a target=\"_blank\" rel=\"nofollow\" href=\"https://leancloud.cn/docs/js_push.html\">https://leancloud.cn/docs/js_push.html</a></p>\n", 
      "date_published": "2015-06-06T14:41:20+00:00", 
      "title": "LeanCloud JavaScript \u63a8\u9001 SDK", 
      "id": "https://www.v2ex.com/t/196609"
    }
  ]
}