首页
免费后端云服务
关于
推荐
免费图床源码
Search
1
小程序后端入门系列视频教程【一-微信开发工具介绍】
9,722 阅读
2
微信小程序三级联动之多列选择器
9,606 阅读
3
小程序开发免费后端之神秘利器分享
9,536 阅读
4
Golang-开发企业级资源权限管理【第一步表设计】-1
9,081 阅读
5
学会微信服务端开发第一步
8,979 阅读
日常记录
日常
随笔
Bmob后端云
从零开始学物联网
Serverless实战驾校小程序
心邮
Serverless
向量数据库
登录
Search
Magic
累计撰写
124
篇文章
累计收到
68
条评论
首页
栏目
日常记录
日常
随笔
Bmob后端云
从零开始学物联网
Serverless实战驾校小程序
心邮
Serverless
向量数据库
页面
免费后端云服务
关于
推荐
免费图床源码
搜索到
10
篇与
的结果
2021-02-13
ServerlessBmob_FaaS_或函数即服务_介绍1
Bmob FaaS 或“函数即服务” 介绍 函数即服务是一种新的软件基础设施术语,它比容器颗粒更小。FaaS与Baas很类似,都是为了提高开发效率,解决微服务中所遇到的问题,先对而言Faas灵活度更高。大家一般把 Faas+Baas\=Serverless.Bmob在国内最早做这个的企业之一,当时还完全未有借鉴,在走这条路的过程中也遇到了许许多多困难。 什么是函数服务有人举了个很好的例子. 来源阿里云社区.png 图侵权删Serverless是一种基于互联网的技术架构理念,它具有 1、低运营成本; 2、简化设备运维; 3、提升可维护性; 4、简单易用,更快的开发速度; 5、相对小企业可靠性更好好面临的问题 1.用户无数的Function 如何处理? 2.如何实现弹性部署? 3.如何集成日志、监控等工具? 4.服务问题? 5.安全问题?第一个问题:用户无数的Function 如何处理? 1.我们可以给每个用户Function建立一个文件夹 2.我们可以每个用户一个容器第二个问题:如何实现弹性部署? 1.如果要实现这一秒1K QPS,下一秒1W QPS。负载均衡有限的弹性部署中小云厂家是可以做到,并且你有活动还可以手动给你账户定制QPS。 2.如果要实现这一秒1K QPS,下一秒10W QPS、100W QPS,这种目前只能自有机房的厂家玩(像目前腾讯、阿里云都支持,他们今年也都推出了Faas,目前都在公测阶段),费用也不会低。不过流量到这一级别很多企业早已经用自己系统了,至少目前国情是这样。 发展历程.png第三个问题:如何集成日志、监控等工具? 1.这个主要分2种,一种提供给用户,一种提供内部使用。 2.提供给用户的有函数回调结果日志,定时任务日志。监控QPS流量等。第四个问题:服务问题? 1.Faas服务问题是个人认为最难解决的问题,由于各个厂家对Faas的封装没有一个统一的标准,大家代码也互不兼容。并且都封装了一些自己内部的函数,由于发展初期用户很难子啊各大网站找到答案,导致部分用户遇到问题需要人工技术支持才能走入正轨,这是Faas普及的一大难点。第五个问题:安全问题? 1.目前市场做防攻击的上市企业防攻击技术是比较成熟的,只要你攻击很快很准确的监控并定位攻击流量,大多数恶意行为都能被监测隔离,被清洗掉。虽然不能吹嘘的像个别企业说能做到:到达服务器的攻击流量也能很快的被隔离,关进小黑屋,不过换个ip 还是可以的,相比一些中小企业直接暴露ip还是安全很多。有些人说Baas 厂家提供的云函数、云逻辑之类不能称之为Faas,主要说出2点。像亚马逊的Lambda,每 100 万个请求 0.20 美元,他们是按照单个请求计费的说Baas的云逻辑没有自动伸缩功能。据我了解虽然没法跟有机房的厂家比,做到类似无限伸缩,不过Bmob、与AV的Faas产品都是可以根据业务定制的。有些人说Baas 随着serverless的发展,以后小公司就不需要运维工程师。个人觉得这天还早,除非国内各大平台的Faas 都能统一标准。这种新型产品,由于需要对外界暴露函数访问域名,目前政策也还不太明朗,如果手动绑定自己域名就加重了使用成本。对于初创团队或者企业新业务来说使用这种服务是最合适的,因为Serverless能做到快、好、省。不过对于Serverless的普及,个人觉得国内难度还是很大,由于完全由第三方管理目前最大的挑战还是信任与服务问题。不过在国内,已经超过10W+开发者已经接受这种模式。
2021年02月13日
11 阅读
0 评论
0 点赞
2018-09-26
想自己上线微信小程序一定要会代码
本教程教你如何免费发布一款自己微信小程序。微信小程序门槛已经下降到个人了,很多不会写代码的人也想免费上线一款自己的小程序,该如何做到?他有这些要求:无需写代码整个发布到上线最好不要超过10分钟我要保留整个小程序的源码,以防止下次上线需要。项目源码安全无后门、有详细的文档说明稳定、安全。免费、不花一分钱。本视频10分钟上线自己微信小程序,一一解决这些问题。[https://www.zhihu.com/video/939867296253034496](https://www.zhihu.com/video/939867296253034496)
2018年09月26日
8 阅读
0 评论
0 点赞
2017-12-11
Serverless实战驾校小程序考题练习二
Serverless实战驾校小程序【考题练习】二 介绍 准备工作做完后,今天我们从核心模块,分类与题目练习开始做。由于开发时间比较紧,这里主要写实习思路,与核心代码。 页面一、首页 这里我们主要优先实现功能逻辑,UI后面调整,我们用iview 拖一个大致结构的页面。这里用了以下组件{ "usingComponents": { "i-tab-bar": "../../dist/tab-bar/index", "i-tab-bar-item": "../../dist/tab-bar-item/index", "i-grid": "../../dist/grid/index", "i-grid-item": "../../dist/grid-item/index", "i-grid-icon": "../../dist/grid-icon/index", "i-grid-label": "../../dist/grid-label/index", "i-tabs": "../../dist/tabs/index", "i-tab": "../../dist/tab/index" } } 页面二、专项练习页面 这个页面,我们从数据库里取出数据,首先建立好数据表,这个表结构昨天有讲。我们导入一个CSV格式数据到表里CSV文件内容bSubjects,title 1,时间题 1,速度题 1,距离题 1,罚款题 1,记分题 1,标志题 1,标线题 1,手势题 1,信号灯 1,灯光题 1,仪表题 1,装置题 1,路况题 1,酒驾题 1,动画题 1,情景题 然后我们取出这里的数据,在小程序里面显示核心代码// 库文件 const getQuestionTypeList=()=>{ return new Promise((resolve, reject) => { const query = wx.Bmob.Query('questionType'); query.find().then(res => { console.log(res) resolve(res) }).catch(err=>{ console.error(err) reject(err) }) }); } // 页面js文件 wechatApp-questions2/pages/topic/index.js onLoad(e){ wx.u.getQuestionTypeList().then(r=>{ console.log(r,`k`) this.setData({ result:r }) }) }, // wxml文件 <i-panel title="题型列表" hide-top> <!-- <view style="padding: 15px;">头部距离为 0 的 Panel</view> --> <i-row> <i-col wx:for="{{result}}" span="12" i-class="col-class"> <i-panel bindtap="handleTabClick" data-id="{{item.objectId}}" class="cell-panel-demo" title=""> <i-cell title="{{item.title}}" value=""> <i-icon type="enterinto" slot="icon" /> </i-cell> </i-panel> </i-col> </i-row> </i-panel>首页点击到分类,分类点击到题目页面,下一个是题目页面,这个页面是整个项目的核心, 所以的题目都在这个页面进行计算,判断。页面三、答题页面 这个页面会是最复杂的一个页面, 涉及到,计时,判断、记录历史等等操作。 之前只想到模拟考试,没考虑到这种按照顺序练习, 第二次进入,可以继续之前的题目练习。 这里建个学习表,记录他的顺序练习相关数据,以下是数据表暂定的结构学习表 learning| 名称 | 类型 | 描述 | | --------- | ------ | --------------------------------------------------- | | bSubjects | sting | 所属科目 1.科目一 2.科目四 | | bModels | sting | 所属车型 1.小车 2.货车 3.客车 4.摩托车 | | where | string | 查询的条件 {"where":{"name":1},"order":"name"} | | num | string | 学习到第多少道题 | | result | array | 结果 [{" id ":" XXX ', '0'}, {" id ":" XXX ", "1"}] | | type | int | 0,免费版题目 1,付费版题目 | | uid | string | 用户id |第一步:还是一样,用iview 复制出对应组件第二步:查询出此类别的题目, 并且默认显示一道题,点击下一题,显示数组下一个元素第三步:先做单选题,点击选择,判断是否正确, 如果正确,记录到结果对象 [{" id ":" XXX ', '0'}, {" id ":" XXX ", "1"}] ,0代表回答错误,1正确第四步:点击下一题计算进度条位置,判断当前是否选择了题目,否则提示请选择结果。目前做到这个一步,明天继续。 大家想学习更多的云服务开发, 可以加入Bmob的交流群:群号:273080081
2017年12月11日
7 阅读
0 评论
0 点赞
2017-06-08
普及小程序_Serverless_云开发_一
什么是小程序云开发Serverless ? 之前跟大家介绍过Serverless由Baas+Faas 组成,听着很高深,其实很好理解。可以理解为为你提供了开发过程中后端服务+自定义后端服务。你不需要去管什么后端语言,什么后端数据库,什么后端攻击,什么后端架构,什么后端维护等,只要做好客户端UI,连接上后端就好了。Bmob 作为国内第一家Serverless服务商,提供移动后端云服务。在这块已经服务了大量APP很多年。这里解释下之前叫Baas 为啥现在叫Serverless,这是因为大家对Serverless的形式有不一样的认可,一部分人认为Serverless \= Faas+各种服务。 一部分人认为Serverless+Baas。大家的共同认知都是无服务器计算。未来不再需要去购买任何服务器去提供API,也不需要操作关心任何并发维护等问题。由于不需要写后端,不需要购买服务器,这块在APP领域,可操作性极高。我们从13年成立,就有大量APP开发者使用我们服务,到今天,已经接近30w开发者,涉及各行各业。 客户服务展现形式也是非常丰富,单片机、智能家居、智能手表、无人售货机柜、商场资讯地图引导柜机,机器人,共享单车、游戏,APP,小程序等等客户。除了Bmob Serverless外,国内2大云厂商也建立自己Serverless体系阿里云的Serverless就是 Faas+各种服务(数据库、网关、负载均衡等等)从Faas 里面调用各种服务,通过网关暴露给客户端访问。腾讯云的Serverless偏向于Baas+Faas 可以看下腾讯云Serverless的相关文章[http://www.cnblogs.com/qcloud1001/p/9486751.html](http://www.cnblogs.com/qcloud1001/p/9486751.html)所以这也出现了2个例子:阿里Serverless开发一个微信红包小程序应用教程["口令红包"-利用函数计算构建微信小程序的server端 - CSDN博客](https://blog.csdn.net/zhoushuntian/article/details/79289215)腾讯出的小程序云开发一个小程序教程[Parry:微信小程序开发平台新功能「云开发」快速上手体验](https://zhuanlan.zhihu.com/p/42327375) 在熟悉Faas情况下,阿里的比传统小程序PHP API开发,在运维上与硬件成本上,有着明显优势。由于大家理念不同,腾讯小程序云,他是直接建立了一套Baas与小程序结合,跟Bmob后端云一样,即使你完全不懂Faas,也能开发大部分常用的小程序。 明显这种方式更简单实用。为什么是常用的应用可以用Baas做,而不是所有,因为有些特别应用,需要一些特别操作。例子一: 小程序.png[http://www.91ud.com/app/15895.html](http://www.91ud.com/app/15895.html)这个基于Serverless开发的一个例子,是基于Bmob后端云小程序,开发的一个小程序,叫趣猫。他的业务是一个淘宝客的业务,搜索跟推荐分成是他主要的功能, 其中搜索,如果不配合Faas,是没法实现, 因为他的搜索,其实是搜索淘宝客API的数据,整个淘宝推广的商品都可以搜索出来,有token授权,需要Faas访问淘宝API,返回数据给小程序客户端。例子2: 纸塘第二个基于Serverless开发的一个例子,小程序纸塘壁纸最近增加了一个功能,壁纸更新提醒通知,当后台有壁纸更新了, 会自动发送一条模板消息给我。这个也是基于Faas,单纯的Baas是没法实现这个功能。 当然,Bmob之前的Baas服务是包含了Faas服务,只是这2年Faas比较炒作的比较火。大家都把他(Faas)单独领了出来,作为Serverless架构的核心。我们则认为Baas与Faas同样重要。之前我有文章写过,阿里的Faas 推广力度,与体验领先于腾讯的Faas , 由于阿里与腾讯的理解不一样,这次在Serverless领域,个人认为腾讯云一定会超过阿里的Serverless。阿里云的Serverless就是 Faas+各种服务,不是玩微服务这个领域的人,很多人都不知道阿里的Serverless怎么结合到自己业务上。腾讯云理解为Baas+Faas,Baas有客户端的存在,更容易落地。大家理解的Serverless不一致,做的事情也不一致。像阿里Faas+各种服务(今天去看阿里官方还不断在给Faas增加可调用的服务,到目前阿里Faas几乎可以操作阿里云的大部分产品,数据库,redis,云存储等等服务),并不断在宣传Faas是如何去调用这些服务。腾讯云的行动告诉你什么叫Serverless(Baas+Faas),这次推出小程序云,以产品的形式告诉大家他眼中的Serverless服务。 image.png按照2018年7月份微信小程序官方公布的数据,目前注册开发者以及到达了150W+,这150w的开发者,大部分是一些小的cp厂商,这些小的CP厂商,大有可能接下来新开发的小程序都基于Serverless开发,而整个Serverless 市场,会比目前大很多倍。Serverless虽然好用,按照阿里的策略,很多人是看不懂无服务函数是干嘛的,为什么我要用它,而不是用云主机。因为设置太复杂了,概念很多,甚至好多人到今天还没搞懂计费原理。腾讯云的策略,由于有了小程序Baas与客户端打通,大部分情况不用自己去Faas里面写接口,使用非常简单,在Serverless这块领域,很快腾讯云就会超过阿里云,由于很多初级开发者都不会用,很难推广开来,这次小程序云对国内整个行业来说,都是一个很好的教育。算得上是国内推广Serverless行业的又一次里程碑,未来Serverless会像目前云主机一样普及。到底怎么使用? 有些前端对Serverless与小程序云的关系可能不太能理解,我下面用小程序云来代替Serverless这个词。前期准备:申请公测资格 网址:下载bate版开发工具控制台操作:打开小程序云控制台,在bate版小程序开发工具上传的左侧有个按钮。点开后,看到一个类似这样的界面 image.png点击数据库,创建一个自己前端想显示的数据结构。例如这里建个team表 image.png代码操作: 我们把这条数据在小程序内显示? 这里我跟Bmob后端云做个对比初始化 微信wx.cloud.init({ env: 'test-x1dzi' })Bmob后端云app.js 引入var Bmob = require('../dist/Bmob-1.0.1.min.js'); wx.Bmob.initialize("你的Application ID", "你的REST API Key", "你的MasterKey"); 2.第二步,查team表,打印出返回的数据微信db.collection('team').get().then(res => { // res.data 是一个包含集合中有权限访问的所有记录的数据,不超过 20 条 console.log(res.data) }) Bmob后端云//构建team表对象 const query = Bmob.Query("team"); //查询数据 query.find().then(res => { //res 集合中所有数据,默认100条 console.log(res) }); 数据显示出来了,在页面展示就不是问题,可以看到,除了需要引入SDK , 2个在使用上几乎一致。小程序云开发与使用Bmob开发几乎雷同。文档地址:[https://bmob.github.io/hydrogen-js-sdk//?id\=安装使用-1](https://bmob.github.io/hydrogen-js-sdk//?id\=安装使用-1)关于定价: 腾讯云,最低版本API 3w 天数据库 1G存储 5G目前还不知道腾讯云的最低基础版上线是否收费,如果免费,那就很赞了。按照经验,这个额度大部分小应用都够了。Bmob小程序云 最低版本(免费)API 100w 月数据库 表行 10w存储 免费20G流量 每月送20G这个套餐免费,基本够用,收费套餐,大部分小程序都很难用得完。目前小程序云还缺乏解决2个问题:1.关于更好的功能实用性: 目前小程序云暂时比不上,Bmob后端云,像导入导出,生成小程序二维码、解密手机号,运动步数,支付,退款,短信,这些基础Baas服务端封装,小程序云暂时都还没有。然后就是数据安全与稳定性了,目前暂时没看到有任何关于云备份、安全的介绍,应用受到CC、DDOS 等攻击,这个费用是谁来承担,腾讯云之前的业务是客户自己解决,Bmob等 Baas 都是无需用户去承担这个费用的。2.服务售后 我们都知道Baas 跟业务有深度关系,不像传统的云主机,我只保证云主机不死机就好了。基本卖出去就等着收月租。Baas领域开发者会遇到各种问题,你可以说你平台是标准的,文档都有,那么多技术人员在用,可开发者技术能力,理解能力参差不齐,就很难解决一些问题。 所以在传统的Baas 服务,都很重视问题反馈,像Bmob 就有几十个QQ解答群,加上工单。其他所有的Baas几乎没有哪家没工单服务的,有些工单还收几百块/月,大量工单,技术人员有限,这是没办法的,很多人问的问题,明显是技术基础不过关,对自己业务逻辑理解不够,就使劲提工单,而有些业务与Baas结合问题工单比较难形容,不知道Baas是否可以实现,所以有时候就用上了即时通讯,QQ,微信等来协助开发者解决问题。 所以这也是腾讯小程序云待解决的问题。总结: 目前小程序云刚出来,还需要完善,对国内Serverless 市场来说,是一次里程碑式的意义。有望让中小企业普及Serverless 技术。
2017年06月08日
7 阅读
0 评论
0 点赞
2016-05-24
Serverless实战驾校小程序考题练习三
Serverless实战驾校小程序【考题练习】三 介绍 上一节我们讲了,实现了分类、题目显示、进度条显示等功能,这节我们继续完善答题功能。由于开发时间比较紧,这里主要写实习思路,与核心代码。 这一节做顺序练习与模拟考试。都属于答题详细页面功能 这次进度条可以根据答题进度,显示进度。 这个也用了iview的一个插件, 目前样式没调整, 这个后面再说。这一节主要实现了一些逻辑计算逻辑一:记录学习题目进度 记录的核心代码,在提交保存的时候调用。当然,也可以在练习离开的时候触发,这里给了个按钮,点击保存即可保存学习记录const AddLearning = ({ num, result, type = 1 }) => { let current = wx.Bmob.User.current() return new Promise((resolve, reject) => { const query = wx.Bmob.Query('learning'); query.set('bSubjects', '1') query.set('bModels', '1') query.set('num', num) query.set('result', result) query.set('type', type) query.set('uid', current.objectId) query.save().then(res => { resolve(res) }).catch(err => { console.error(err) reject(err) }) }); }逻辑二:记录题目回答的对错 上面的变量result记录,格式请看上一节数据库格式说明,是题目的对错。这里点击一个选择就记录一次,我在页面data里面增加了一个items变量来保存。选择答案执行以下代码,今天先实现单选,我们单选与多选,判断事件分开来做,这样便于逻辑管理// 单选题 handleFruitChange ({ detail = {}, target = {} }) { let questionInfo = this.data.questionInfo // 判断单选是否正确 if (target.dataset.id) { console.log('ok') questionInfo.isOk = 1 } this.setData({ questionInfo: questionInfo, current: detail.value }); // 单选自动跳到下一题 this.statistical() // 显示第几道题 this.setThisData(this.data.index) this.setData({ index: this.data.index + 1, current: '' }); },逻辑三:答题相关统计 逻辑二讲了,记录对错,这里有一些统计需要拿出来计算,先做单选题,点击选择,判断是否正确, 如果正确,记录到结果对象 [{" id ":" XXX ', '0'}, {" id ":" XXX ", "1"}] ,0代表回答错误,1正确例如错题个数、对题个数,页面提示,进度条进一步statistical () { // 统计错题个数 let questionErr = this.data.questionErr //错题个数 let questionOk = this.data.questionOk //错题个数 let questionInfo = this.data.questionInfo let items = this.data.items let arr = { "id": questionInfo.objectId, "o": 0 } let t = 'error', m = '回答错误' if (questionInfo.isOk === 1) { // o 0代表失败,1代表成功 arr.o = 1 questionOk = questionOk + 1 t = 'success' m = '回答正确' } else { // 错误数+1 questionErr = questionErr + 1 } items.push(arr) // 提示 $Message({ content: m, type: t, duration: 2 }); //进度条 let totalW = this.data.index / this.data.total totalW = (totalW * 100).toFixed(2); totalW = totalW < 1 ? 1 : totalW this.setData({ items: items, questionErr: questionErr, questionOk: questionOk, totalW: totalW, }); },逻辑四:上一题下一题的实现 页面显示第几个题目,我们用数组的下面来记录,单电机下一题,我们记录回答对错,并且数组下标+1// 翻页 handlePageChange ({ detail }) { const type = detail.type; const current = this.data.current if (current == "") { console.log('空') $Toast({ content: '请选择答案!', type: 'warning' }); return; } this.statistical() if (type === 'next') { this.setThisData(this.data.index) this.setData({ index: this.data.index + 1, current: '' }); } else if (type === 'prev') { this.setData({ index: this.data.index - 1, current: '' }); this.setThisData(this.data.index) } },逻辑五:引入模式概念 因为答题页面逻辑非常多,今天写这么多也没写完一般, 除了学习模式,后面还有模拟考试模式,这里不单独使用另外的页面来开发,统一在一个页面。 所以,我们在页面data里加入model变量,代表模式。/** * 这里有个模式, 练习模式,与模拟考试模式 * model 1.练习模式 2.模拟考试考试 * 练习模式查询出所有数据练习 * 模拟考试 随机100题 计算打分 */总结 今天练习模式里面的单项选择逻辑基本已经做好,明天将实现模拟考试,计算考试成绩等等功能大家想学习更多的云服务开发, 可以加入Bmob的交流群:群号:273080081
2016年05月24日
8 阅读
0 评论
0 点赞
1
2