0%

该引用文档描述了如何使用protocol buffer语言来构造你自己的protocol buffer数据,包含.proto文件语法和如何通过.proto生成可访问的数据。

定义一个消息类型

第一步,让我们来看一个非常简单的例子。现在你想定义一个搜索请求的消息格式,每个搜索请求有一个查询字符串、你感兴趣的当前结果的页码以及一个每页显示的结果数。在这里你使用了一个.proto文件定义了一个消息类型。

1
2
3
4
5
6
7
syntax = "proto3"

message SearchRequest {
string query = 1;
int32 page_number = 2;
int32 result_per_page = 3;
}
阅读全文 »

引入vue.js

html文件中添加:

<script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>

声明式渲染

声明式渲染是vue提供的一个动态改变页面属性的特性,通过页面属性和js属性的绑定,实现修改一方,另一方也动态更新的原则。

插值

文本

可动态更新的文本

1
<span>Message: {{ msg }}</span>

仅能执行一次的文本

1
<span v-once>这个将不会改变: {{ msg }}</span>
阅读全文 »

驱动包用的是mysql-connector-java-8.0.11.jar
新版的驱动类改成了com.mysql.cj.jdbc.Driver
新版驱动连接url也有所改动

指定时区

//北京时间东八区

1
serverTimezone=GMT+8 

这个时区要设置好,不然会出现时差,
如果你设置serverTimezone=UTC,连接不报错,
但是我们在用java代码插入到数据库时间的时候却出现了问题。
比如在java代码里面插入的时间为:2018-06-24 17:29:56
但是在数据库里面显示的时间却为:2018-06-24 09:29:56
有了8个小时的时差
UTC代表的是全球标准时间 ,但是我们使用的时间是北京时区也就是东八区,领先UTC八个小时。

1
2
3
4
//北京时间东八区
serverTimezone=GMT%2B8
//或者使用上海时间
serverTimezone=Asia/Shanghai

引用

JDBC连接数据库 mysql serverTimezone useSSL 时差

数据库在开发过程中使用了N张表, 同时由于测试,开发等过程产生了非常多的错误数据,因此需要对数据库中的所有表进行清空操作。如果直接手工对每个表指定DELETEtruncate错误,效率将会异常低下。

阅读全文 »

(1)

1
com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Communications link failure

见名之意:超时,无法连接
所以解决办法也很好办:

1
2
3
#在my.ini中添加
wait_timeout=1814400
#(21*3600*24) 21天,修改等待超时时间。
阅读全文 »

创建存储过程语法

1
2
3
4
CREATE
[DEFINER = user]
PROCEDURE sp_name ([proc_parameter[,...]])
[characteristic ...] routine_body

创建函数语法

1
2
3
4
CREATE
[DEFINER = user]
FUNCTION sp_name ([func_parameter[,...]])
RETURNS type [characteristic ...] routine_body
阅读全文 »

SQL是什么

  • SQL 指结构化查询语言
  • SQL 使我们有能力访问数据库
  • SQL 是一种 ANSI (美国国家标准化组织)的标准计算机语言

SQL能做什么

  • SQL面向数据库执行查询
  • SQL可从数据库取回数据
  • SQL可在数据库中插入新的记录
  • SQL可更新数据库中的数据
  • SQL可从数据库删除记录
  • SQL可创建新数据库
  • SQL可在数据库中创建新表
  • SQL可在数据库中创建存储过程
  • SQL可在数据库中创建视图
  • SQL可以设置表、存储过程和视图权限
阅读全文 »

redis集群提供了一种分布式的redis高可用方案,用于替换老旧的主从加哨兵的模式。

配置redis集群需要如下几步:

  1. 下载redis镜像
  2. 配置网络
  3. 准备redis配置文件
  4. 启动redis
  5. 链接其中一个redis进行创建集群
阅读全文 »

##二进制和十进制之间转换

###十进制转二进制

十进制数除2取余法,即十进制数除2,余数为权位上的数,得到的商值继续除2,以此步骤向下运算,直到商为0。从下向上排列余数即为二进制。

权:每一位数字为一个权

十进制 150 转二进制为 10010110

1
2
3
4
5
6
7
8
9
被除数 除数 商  余数
150 / 2 = 75 0
75 / 2 = 37 1
37 / 2 = 18 1
18 / 2 = 9 0
9 / 2 = 4 1
4 / 2 = 2 0
2 / 2 = 1 0
1 / 2 = 0 1
阅读全文 »

计算机表示数字正负不是用+ -加减号来表示,而是用最高位数字来表示,0表示正,1表示负

有符号右移>>(若正数,高位补0,负数,高位补1)

正数:例如4>>2

首先写出4的二进制数,因为是正数所以最高位为0,也就是第一个

0000 0000 0000 0000 0000 0000 0000 0100

右移两位得到(高位补0)

000000 0000 0000 0000 0000 0000 0000 01

结果为:1,右移n位也就是4/(2^n)

阅读全文 »