三九宝宝网新生儿知识婴幼儿

我为什么放弃使用leancloud

02月08日 编辑 39baobao.com

[几个月使用坐便器呢?多大的宝宝才能练习使用坐便器呢?怎么练习]亲现在就可以培养宝宝自己大、小便了! 见意亲,对于初次学习使用器具便便的宝宝,最好不要选择那种“小座便”似的、带后靠的座便,而是选择那种前面带小动物,或扶手的座便为宜。因...+阅读

关注leancloud已经有一段时间了,其宣布的众多开发语言支持,以及SMS, 对象存储, 用户管理及鉴权,推送,聊天等服务对于开发目前主流的移动应用来说,吸引力很大。我们开发的不同移动应用,需要去维护不同的管理后台和服务,开发起来重复而繁琐,如果leancloud能够帮助我们减轻这些工作,那真是物超所值。为了将应用迁移到leancloud的方案大概如下:使用leancloud作为后端存储,用户管理和鉴权引擎;使用python开发一个管理界面, 来帮助管理员编辑文章,发布信息;使用js, oc作为前端语言来开发用户界面;在第二步的时候, 我们希望先试验下如下两个简单的user cases:创建若干个对象,存储在leancloud中;注册一个用户,确定注册结果,并能验证提供的手机和邮箱;就是这么两个最简单的用例,一整个晚上下来,居然没有搞定。

首先,除了官方文档,leancloud基本很难看到任何其它形式的文档,比如FAQ, 论坛,社区,stackoverflow, 反正google不出来,其次,就是这仅有的官方文档,也是坑爹啊, 以下是我从官方文档上copy的代码片段,几乎未做修改。# -*- coding: utf-8 -*-#coding=utf-8 import leancloud APP_ID='temv66wvy83zurm3710wt9kir41zaza5gfu0gkhzzcf4a1yv' APP_KEY='00zuyjgtcvjs31qy7ysktd43fevoblt4e4yx2yjf8gt46q8d' MASTER_KEY='82irmrurzr9ib2axiputuh6ul8b9zozs7qbcfpchf0t2ts80' leancloud.init(APP_ID, "%s/%s" % (APP_KEY, MASTER_KEY)) user = leancloud.User() user.set("username", "admin") user.set("password", "admin") user.set("email", "")# other fields can be set just like with leancloud.Object user.set("phone", "415-392-0202") try:user.sign_up() except Exception, e:print e# Hooray! Let them use the app now.问题1: SSL InsecurePlatformWarning 在Mac OS和Linux上运行该程序,用户注册失败,并会首先观察到如下的警告:/usr/lib/python2.7/site-packages/requests-2.6.0-py2.7.egg/requests/packages/urllib3/util/ssl_.py:79: InsecurePlatformWarning: A true SSLContext object is not available. This prevents urllib3 from configuring SSL appropriately and may cause certain SSL connections to fail. For more information, see .InsecurePlatformWarning 不过一番查找后发现这好像是urllib3的一个通用问题,可以按照如下方法来解决。

但是如此通用的问题,居然连一个FAQ都看不到。$ pip install pyopenssl ndg-httpsclient pyasn1 问题2: sign_up()报告401错误 解决问题1以后,sign_up()会一直报告401错误(unauthorized), 经过近一个小时的定位,发现该错误由leancloud初始化函数导致, 编程指南上的用法如下:leancloud.init(APP_ID, "%s/%s" % (APP_KEY, MASTER_KEY)) 但是参考手册上确是这么写的:leancloud.client.init(APP_ID, APP_KEY, MASTER_KEY) 两个方式都不会报告语法错,但是前者确好像不能正常工作,查了好久才找到后面的API, 坑爹啊。

问题3: sign_up()允许重复注册 以上测试代码,连续执行两次,居然都成功了,并且在leancloud后台能看到两条相同的用户纪录。sign_up()默认居然可以重复注册?找了好久,发现应用选项中可以配置启用注册用户邮箱验证等选项,勾选了以后,第二次调用sign_up报错。问题4: sign_up()无法获得失败原因 捕获到sign_up()异常后,本想打印该异常来获得失败原因,结果却导致如下异常:Traceback (most recent call last):File "test1.py", line 23, inprint e UnicodeEncodeError: 'ascii' codec can't encode characters in position 6-16: ordinal not in range(128) 问题5: Python sdk没有相关的API来验证注册用户的邮箱或者手机 用户sign_up以后,可以看到leancloud应用后台的_user表中会有该用户信息,同时还有验证邮箱的链接,但是我如果在自己的python后台中提供这个功能呢?百事不得其解。

问题6: 官方文档的语法错误 以下是leancloud Python SDK编程指南的例程, 可以看出第五行应该是game_score.save()而不是game.save() game_score = GameScore() game_score.set('score', 42) # or game_score.score = 42 game_score.set('cheatMode', False) game_score.set('playerName', 'Marvin') game.save()# 还可以通过关键字参数,在创建对象的同时进行赋值 game_score = GameScore(score=42,)

以下为关联文档:

怎样引导宝宝使用坐便器1教宝宝认识坐便器 正确使用坐便器的第一步,就是让宝宝正确认识坐便器。许多妈妈都反映,坐便器买回来后,却被宝宝当成了玩具用。特别是带轮子的骑跨式坐便器,完全就被当成了宝宝...

在幼儿情绪发展的过程中如何有效的使用情绪调控的因素情绪调控能力是情绪智力的重要品质之一,这种能力能及时摆脱不良情绪,保持积极的心境。幼儿期是情感教育的黄金期,帮助幼儿形成初步的情绪调控能力是幼儿情感教育的目标之一,也是...

赫尔希和蔡斯使用了什么科学方法证明DNA是主要的遗传物质利用 放射性同位素标记法 噬菌体侵染细菌的实验:①噬菌体侵染细菌的实验过程:吸附→侵入→复制→组装→释放。 ②DNA中P的含量多,蛋白质中P的含量少;蛋白质中有S而DNA中没有S,所...

怎么注意使用婴儿车的安全选择购置安全性相对较高的手推婴儿车,规避风险。推杆和调节杆的直径应在1~ 1。2厘米,防止紧急情况下折断,导致孩子 跌伤;车身及孩子接触部位,不能有锋利的尖角、突出物和容易脱落...

婴儿座椅的使用有什么注意事项婴儿座椅并不是婴儿汽车安全座椅,所以适用的不是完全相同的规定。婴儿 座椅应该有标签表明其符合安全标准。仔细挑选婴儿座椅。认真查看厂家提供的 重量指南,当孩子超过重量时...

使用婴儿游泳设备需要做什么准备工作一、脐带的防水:新生婴儿一般脐带残端尚未脱落,这时要进行游泳就需要常规的进行脐带防水处理。处理方法也很简单,用普通的医用胶贴盖住脐带残端即可。如果不做处理的话,很容易造...

为什么很多人自学编程然后都放弃编程难不难?那可不是闹着玩的。不从事这一行的永远不知道这行的艰辛,还咋巴着小眼睛问编程好不好学? 不知道LZ看没看过圣斗士星矢这部动漫,如果你想踏入编程殿堂,就要先想想那个...

我该怎么学习编程我开始想放弃了但是有不忍心放弃根据你目前的情况,建议你确实应该放弃编程这条路。 首先,自学能力和一定的英语阅读水平是程序员很重要的素质。程序员平时写程序的时候会用到很多功能函数库或功能插件。怎么...

我为什么放弃Go语言有好几次,当我想起来的时候,总是会问自己:我为什么要放弃Go语言?这个决定是正确的吗?是明智和理性的吗?其实我一直在认真思考这个问题。 开门见山地说,我当初放弃Go语言(golang),就是...

推荐阅读
图文推荐