二分法算法
二分算法
1 | // |
1 | // |
1 | class dataCenter { |
1 | use std::net::{TcpListener,TcpStream}; |
1 | extern crate term; |
1 | use std::net::{TcpListener,TcpStream}; |
1 |
|

操作步骤
1.生成csr文件(通过OpenSSL命令)
2.生成mobileprovision文件(通过Apple开发者后台)
3.生成cer文件(通过Apple开发者后台)
4.生成P12文件(通过OpenSSL命令)
5.生成csr文件
1 | openssl genrsa -out ios.key 2048 |
比较简单,登录开发者后台,提交信息(需要用到前面生成的csr文件),下载。
https://developer.apple.com/account/ios/profile/
比较简单,登录开发者后台,提交信息(需要用到前面生成的csr文件),下载。
https://developer.apple.com/account/ios/certificate/
需要用到第一步生成的 ios.key 文件,以及 Apple 生成的 ios_distribution.cer 和 ios_development.cer 文件。
1 | openssl x509 -in ios_distribution.cer -inform DER -outform PEM -out ios_distribution.pem |
1 | <!DOCTYPE html> |
1 | class Store { |
1 | <template id="orderList"> |
目标….. : 依赖文件集合…..
命令1
命令2
命令3
比如下面这条规则
1 |
|
这条规则的目标是main,main.o,input.o和calcu.on是生成main的文件
“更新”就是执行一遍规则中的命令列表
用”tab”无空格
命令列表中的每条命令必须以Tab建开始, 不能使用空格
make命令会为MakeFile中的每个以TAB开始的命令创建一个shell进程去执行
MakeFile执行顺序
示例分析
1 |
|
main: main.o input.o calcu.o
gcc -o main main.o input.o input.o calcu.on
1 |
|
#MakeFile 变量的使用
objects = main.o input.o calcu.o
main: ${objects}
gcc -o main ${objects}
1 |
|
Makefile有一种特殊的目标-伪目标,一般的目标名都是要生成的文件,而伪目标不代表真正的目标名,
在执行make命令的时候通过指定这个伪目标来执行其所在规则的定义的命令
而且伪目标主要是避免Makefile的定义的执行命令和工作目录中的目标和工作目录下的实际文件出现名字的冲突
有时候我们需要编写一个规则来执行一些命令,但是这个规则不是用来创建文件的,比如在前面的“示例代码中”有如下
代码用来完成清理工程的功能:
1 |
|
当和文件名和Makefile的内置变量有冲突时,使用伪变量,不影响Makefile的内置变量
1 |
|
在C语言中我们通过条件判断语句来根据不同的情况来执行不同的分支,MakeFile也执行条件判断,语法有两种:
1 |
|
以及
1 |
|
MakeFile条件控制语句,条件关键字有四个
1 |
|
MakeFile函数使用
MakeFile支持函数,类似C语言一样,MakeFile中的函数是已经定义好的,我们直接使用,不支持我们自定义的函数。
make所支持的函数不多,但是决对够我们使用了,函数的用法如下:
1 |
|
调用函数和调用普通变量一样,使用符号”$”来标识
参数集合是函数的多个参数,参数之间以逗号”,”分隔
函数名和参数之间以“空格”分隔开,函数调用以“$”开头
常用函数
此函数的功能是将字符串的
函数patsubst用来完成模式字符串的替换,此函数查找字符串
中也包含“%”,那么
此函数用来从文件序列
此函数用于从文件名序列中提取出文件名非目录的部分
此函数的作用就是把参数中的单词逐一取出来放到参数中中,然后再执行
每次
1.创建数据库
1 | create database [IF NOT EXISTS] westos; |
2.删除数据库
1 | drop database [IF EXISTS] westos; |
3.使用数据库
1 | use westos; |
4.查看数据库
1 | show databases; |
5.创建表
1 | CREATE TABLE `student` ( |
6.修改删除表
修改
1 | --修改表名称 |
删除
1 | ---删除表(如果存在再删除) |
7.插入表数据
INSERT INTO 表名 (id—–) values(id—–)
1 | INSERT INTO westos.student (id, name, pwd, sex, day, address, email) VALUES (1, '狗蛋', '12345678', '男', '2021-12-08 13:34:44', '安徽合肥', '5104@sohu.com') |
8.修改表数据
Update 表名 SET 字段 =’李四’ where 字段=’***’
1 | -- 一定要指定条件 where |
9.查找表数据
Select 字段名(要什么查什么,全都要就*) from表 where 字段=’ ‘;
1 | select id, name, pwd, sex, day, address, email from student where name='狗蛋'; |
10.删除表数据
DELETE FROM 表 where 字段 =’ ‘
1 | DELETE FROM westos.student WHERE id = 2; |
所有创建和删除都要添加判断不然会报错
11.逆向语句查询
1 | show create table student; --查看建表语句 |
12.去重关键字
1 | select distinct studentno from result --distinct |
Where语句
1 | --查询考试成绩在90分以上100分一下 |
Like语句
1 | --开头是姓刘的 %(代表0到任意一个字符) _代表一个字符 |
in语句
1 | --查询某个区间 他是一个或者多个具体的值 |
null not null 语句
1 | select studentno,studentname from student where address is null; |
联表查询 join
1 | select s.studentno, studentname, subjectno, studentresult |
分页limit和排序 orderby
1 | --desc 降序 esc升序 |
1 | select s.studentno,studentname,subjectname,studentresult |
联表查询 和 子查询
1 | --子查询 |
分组查询
1 | select subjectname,max(studentresult),min(studentresult),avg(studentresult) |
聚合函数
1 | select count(address)from student; --会去掉null值 |
事务原则:原子性,一致性,持久性,隔离性(ACID) (脏读幻读)
一个事务要么全部提交成功,要么全部失败回滚,不能只执行其中的一部分操作,这就是事务的原子性
事务前后的数据完整性要保持一致 事务前总金额1000 事务后也是1000
事务一旦被提交 那就持久化到数据库中 不可逆
事务的隔离性是指在并发环境中,并发的事务时相互隔离的,一个事务的执行不能不被其他事务干扰。不同的事务并发操作相同的数据时,每个事务都有各自完成的数据空间,即一个事务内部的操作及使用的数据对其他并发事务时隔离的,并发执行的各个事务之间不能相互干扰。
隔离所导致的问题
指一个事物读取了另一个事务未提交的数据
在一个事务中读取表的某个数据,多次读取不同(不一定是读取错误,可能是某些场合不对)
是指在一个事务内读取到了其他事务插入的数据,导致前后读取不一致