学习笔记(一)
json表结构
在云开发中所有东西都是基于“云”的,而不是自己的服务器写接口,所以这里的表比较特殊,并不是我们熟知的mysql,sqlserver,oracle中的表,而是基础json格式的数据。
json格式:
1、数组字面量
数组字面量,是用一对方括号括起一组用逗号隔开的 javascript 值,例如:
var aNames=[“hello”, 12, true , null];
2、 对象字面量
对象字面量,是通过两个花括号来定义的。在花括号内可以放置任意数量的“名称-值”对,定义格 式字符串值”。除了最后一行外,每个“名称-值”对后必须有一个逗号(这与Perl 中的联合数组的定义有些类似)。例如:
var oCar = {
“color”: “red”,
“doors” : 4,
“paidFor” : true
};
3、 混合字面量
可以混用对象和数组字面量,来创建一个对象数组,或一个包含数组的对象。例如:
{comments:[
{
id:1,
author:“someone1”,
url:“http://someone1.x2design.net”,
content:“hello”
},
{
id:2,
author:“someone2”,
url:“http://someone2.x2design.net”,
content:“hello”
},
{
id:3,
author:“someone3”,
url:“http://someone3.x2design.net”,
content:“hello”
}
]};
4、JSON 语法
在Ajax应用中,就是服务器直接生成javascript语句,客户端获取后直接用eval方法来获得这个对象,这样就可以省去解析XML的性能损失。 同时,在javascript 通信中使用JSON作为数据格式的好处很名下,可以立即获得数据的值,因此可以更快的访问其中包含的数据。
var oCarInfo = eval("(" + sJSON + “)”);
云函数
云函数是一段运行在云端的代码,无需管理服务器,在开发工具内编写、一键上传部署即可运行后端代码。
小程序内提供了专门用于云函数调用的 API。开发者可以在云函数内使用 wx-server-sdk 提供的 getWXContext 方法获取到每次调用的上下文(appid、openid 等),无需维护复杂的鉴权机制,即可获取天然可信任的用户登录态(openid)。
比如我们如下定义一个云函数,命名为 add ,功能是将传入的两个参数 a 和 b 相加:
// index.js 是入口文件,云函数被调用时会执行该文件导出的 main 方法// event 包含了调用端(小程序端)调用该函数时传过来的参数,同时还包含了可以通过 getWXContext 方法获取的用户登录态 openId
和小程序 appId
信息const cloud = require(‘wx-server-sdk’)
exports.main = (event, context) => {
let { userInfo, a, b} = event
let { OPENID, APPID } = cloud.getWXContext() // 这里获取到的 openId 和 appId 是可信的
let sum = a + b
return {
OPENID,
APPID,
sum
}}
云数据库和云储存的认识
云数据库和云存储的区别:
一、从服务层面来说
这两者都可以做为PaaS服务暴露给用户,云数据库可以包括关系型数据库以及非关系型数据库等,而云存储则可以包含块存储(Block Storage)以及对象存储(Object Storage)等。
二、从数据的结构来说
一般云存储上存储的都是用户上传的比较零散的文件,每个文件的类型和组织的方式可以不一致,比如图片,音频,word文件之类的,而数据库中存储中的数据都由数据库进程来直接管理,包括表空间,表结构以及数据存储的方式,是有规则的。
三、从提供的服务来说
云存储:提供存储能力,更多面对的场景是非结构化类数据,如文件,图片,视频等。
云数据库:提供基础的数据库和数据对象管理能力,既包括oracle,mysql,sql server等关系型数据库,也可以包括类似mongodb , hbase等半结构化数据库。
四、从两者的关系来说
对于云存储当前基本都基于类似hdfs分布式文件系统进行封装,提供存储服务能力接口。也可以基于hdfs,上面再架构一层,形成一个数据库,再将数据库能力暴露出去,形成云数据库。
类似hbase,但是对于常见的关系型数据库,可以做为云数据库,但是他们底层不不是依赖的云存储能力。
bootstrp滚动监听
可以向顶部导航添加滚动监听行为:
1 通过 data 属性:向您想要监听的元素(通常是 body)添加 data-spy=“scroll”。然后添加带有 Bootstrap .nav 组件的父元素的 ID 或 class 的属性 data-target。为了它能正常工作,您必须确保页面主体中有匹配您所要监听链接的 ID 的元素存在。