暂无个人介绍
在上一章当中,我们将 WXS 的内容与 WXML 混合在一起了,这样就导致了我们后期的不利于维护,这里一期当中我来介绍一下,如何将 WXS 内容编写到一个单独的 WXS 文件进行存储,然后与 WXML 进行分离。
WXS(WeiXin Script)是小程序的一套脚本语言,结合 WXML,可以构建出页面的结构。
如果列表中项目的位置会动态改变或者有新的项目添加到列表中,并且希望列表中的项目保持自己的特征和状态(如 input 中的输入内容,switch 的选中状态),需要使用 wx:key 来指定列表中项目的唯一标识符。
在组件上使用 wx:for 控制属性绑定一个数组/数字/字符串, 即可使用数组中各项的数据重复渲染该组件,wx:for 默认自动将当前遍历到的数据放到 item 变量中,会自动将当前遍历的索引放到index变量中,如果想修改保存数据的变量名称,或修改保存索引的变量名称,我们可以: • 使用:wx:for-item 可以指定数组当前元素的变量名; • 使用 wx:for-index 可以指定数组当前下标索引的变量名;
hidden 属性 • 在 Vue 中我们可以通过 v-show 来控制组件是否显示 • 在小程序中所有组件都支持hidden属性,我们可以通过hidden属性来控制组件是否显示隐藏
默认组件,只要被书写出来,都会渲染到界面上。
WXML 如何绑定数据 • 企业开发中大部分数据不是直接写死在界面中的,而是在程序运行的过程中动态从服务器获取的 • 将可变化的数据动态渲染到界面上,我们称之为绑定数据 • 在小程序中,所有需要动态绑定数据的地方,都需要使用 Mustache 语法
WXML(WeiXin Markup Language)是框架设计的一套标签语言,类似于HTML,结合基础组件、事件系统,可以构建出页面的结构。
编写在当前页面文件夹当中的 WXML 的 WXSS 文件当中:
什么是 WXSS • WXSS (WeiXin Style Sheets)是一套样式语言,用于描述 WXML 的组件样式。 • WXSS 用来决定 WXML 的组件应该怎么显示。 • 为了适应广大的前端开发者,WXSS 具有 CSS 大部分特性。同时为了更适合开发微信小程序,WXSS 对 CSS 进行了扩充以及修改。
在开发应用时正确使用一些开源第三方工具包可以极大的提升开发效率,本章主要介绍运用极为广泛的工具包,比如Apache Common,Google Guava,Hutool等。
在我们平时引入第三方自定义的 starter 里面会包含一些自动装配配置,而我们这个时候并没有给定对应的数据库或者数据源的信息,这个时候我们启动项目是不行的,这个时候就需要关闭一下自动装配,等我们想用到对应的数据源的时候在配置好。所以我们需要在 application.yml 里添加配置来关闭数据库自动装配, 关闭的条件是需要自动他们自动装配的类名然后添加到 exclude 列表即可:
在权限系统中,最核心的三张表为:用户表、角色表和菜单表(权限表),它们间的关系通常采用经典的 RBAC(Role-Based Access Control,基于角色的访问控制)模型。简单来说就是一个用户拥有若干角色,每一个角色拥有若干权限。这样就构造成 “用户-角色-权限” 的授权模型。在这种模型中,用户与角色之间,角色与权限之间,一般都是多对多的关系,如下图所示:
待确定推荐 • Grazie Professional
搭建配置服务器复制集: • 早期版本的配置服务器只要一台即可 • 最新版本 MongoDB 要求配置服务器必须是一个复制集
用户的请求会发送给 mongos 路由服务器, 路由服务器会根据查询条件去配置服务器查询对应的数据段和属于哪个分片服务器, 如果用户查询的条件是分片片键字段, 那么路由服务器会返回保存在那一台分片服务器上, 路由服务器就会去对应的分片服务器获取数据, 并将取到的数据返回给用户。
分片的主要目的就是将数据分配到不同的服务器中保存, 提升服务器的容量, 让数据更加的均衡, 更有效的降低服务器的压力, 但是随着时间推移, 某些数据段中保存的数据会越来越多, 所以为了保证个分片均衡, 当某个数据段数据过多或体积过大的时候, 系统就会自动在下一次操作这个数据段时(新增/更新), 将一个大的数据段分裂成多个小的数据段。
什么是复制集 ‘多台’,‘保存了相同数据’ 的MongoDB服务器组成
选举规则 • 一旦发现主节点没有响应 / 发送心跳请求, 那么副节点就会认为主节点挂了 • 一旦发现主节点挂了, 任意一个副节点都可以发起选举 • (发起选举的节点我们称之为 候选节点, 每一个节点内部都有一个 选举计数器) • 发起选举的节点会给自己先投一票, 然后将自己的票数依次发送给其它节点
在平时的业务场景中,经常有一些场景需要使用定时任务。
本文的内容是基于 Mongoose 开篇继续延续的,需要将 mongoose 的环境搭建好,我这里就直接上的是进行操作 MongoDB 的代码。
在 MongoDB 中我们除了可以使用 ‘内嵌式结构’ 和 ‘规范式结构’ 来表示数据的关系以外, 由于MongoDB数据的灵活性, 我们还可以使用’树形结构’来表示数据之间的关系。
优势 一次查询就能得到所有数据
查看索引的名称, 通过 getIndexes() 获得:
默认情况下 MongoDB 会给每一个文档都创建索引, 哪怕这个文档中没有指定索引的字段或者字段的取值是 Null,但是这样大大增加了索引的体积, 所以为了进一步优化索引占用的存储空间, 我们可以创建稀疏索引,也就是只会为存在索引字段, 并且索引字段取值不是 null 的文档创建索引。
默认情况下 MongoDB 和 MySQL 一样, 都会自动为主键创建索引, 这个索引就是一个唯一索引,除了主键可以作为唯一索引以外, 只要某个字段的取值是唯一的, 我们也可以手动给这个字段添加唯一索引。
多键索引是专门针对数组字段的, 会为数组字段的每一个元素都创建一个索引。
和 MySQL 一样, MongoDB 也支持复合索引, 也就是将多个字段的值作为索引。 ?> 插入测试数据:
?> MongoDB 对于文档的格式并没有强制性的要求, 同一个集合中存储的文档, 字段的个数和数据类型都可以不同, 对与文档的格式没有强制性的要求是 MongoDB 的一大优势, 但是同时也增加了数据消费端的使用难度, 因为我们在使用数据的时候, 有可能同一个字段取出来的数据类型是不同的, 这样非常不利于我们后续操作, 所以也正是因为如此, MongoDB 在 4.0 中 推出了 $convert 数据类型转换操作符, 通过 $convert 数据类型转换操作符, 我们可以将不同的数据类型转换成相同的数据类型, 以便于后续我们在使用数据的过程中能够统一对数据进行处理
什么是聚合操作 • 聚合操作就是通过一个方法完成一系列的操作 • 在聚合操作中, 每一个操作我们称之为一个阶段 • 聚合操作会将上一个阶段处理结果传给下一个阶段继续处理 • 所有阶段都处理完毕会返回一个新的结果集给我们
allowDiskUse 默认取值是 false, 默认情况下管道阶段占用的内存不能超过 100M,如果超出 100M 就会报错, 如果需要处理的数据比较多, 聚合操作使用的内存可能超过 100M, 那么我们可以将 allowDiskUse 设置为 true 如果 allowDiskUse 设置为 true, 那么一旦 超出 100M 就会将操作的数据写入到临时文件中, 然后再继续操作
聚合管道阶段 $out: 将前面阶段处理完的文档写入一个新的集合
这个 BUG 的来源于是因为博主想在 hexo 当中进行本地查看的时候发现图片加载全部未显示,然后我就查看控制台编译的结果发现,路径如下:
Java SE