From a7d7e5f827d48ec482446e1960d175887de50f62 Mon Sep 17 00:00:00 2001 From: Estom Date: Tue, 24 Aug 2021 21:31:30 +0800 Subject: [PATCH 1/3] =?UTF-8?q?=E4=B8=93=E4=B8=9A=E5=AE=9E=E8=B7=B5?= =?UTF-8?q?=E6=8A=A5=E5=91=8A=E5=AE=8C=E6=88=90=E4=BA=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- 工作日志/2021年8月22日-今日计划.md | 7 +- 工作日志/2021年9月1日-简历说明.md | 179 ++++++++++++++++++ .../image}/2021-01-05-20-08-00.png | Bin 工作日志/image/2021-08-24-19-24-32.png | Bin 0 -> 112068 bytes 工作日志/image/2021-08-24-19-31-58.png | Bin 0 -> 30008 bytes 工作日志/中期报告.md | 27 ++- 工作日志/实践报告.md | 100 ++++++++++ .../恶意软件处理方法.md => 工作日志/恶意软件.md | 2 +- 数据库/MySQL/12 索引.md | 26 +++ 数据库/MySQL/附录2 MySql性能优化.md | 7 + 数据库/MySQL/附录3 MySQL索引类型.md | 100 ++++++++++ 数据库/Redis/image/2021-08-24-16-39-38.png | Bin 0 -> 42358 bytes 数据库/Redis/image/2021-08-24-16-39-58.png | Bin 0 -> 56256 bytes 数据库/Redis/附录4 Redis常见性能问题.md | 141 ++++++++++++++ 项目经历/说明.md | 19 -- 15 files changed, 584 insertions(+), 24 deletions(-) create mode 100644 工作日志/2021年9月1日-简历说明.md rename {毕业设计 => 工作日志/image}/2021-01-05-20-08-00.png (100%) create mode 100644 工作日志/image/2021-08-24-19-24-32.png create mode 100644 工作日志/image/2021-08-24-19-31-58.png create mode 100644 工作日志/实践报告.md rename 毕业设计/恶意软件处理方法.md => 工作日志/恶意软件.md (98%) create mode 100644 数据库/MySQL/附录3 MySQL索引类型.md create mode 100644 数据库/Redis/image/2021-08-24-16-39-38.png create mode 100644 数据库/Redis/image/2021-08-24-16-39-58.png create mode 100644 数据库/Redis/附录4 Redis常见性能问题.md delete mode 100644 项目经历/说明.md diff --git a/工作日志/2021年8月22日-今日计划.md b/工作日志/2021年8月22日-今日计划.md index 6f085bc9..afae3597 100644 --- a/工作日志/2021年8月22日-今日计划.md +++ b/工作日志/2021年8月22日-今日计划.md @@ -7,4 +7,9 @@ * [ ] go语言的优势。 * [ ] 并发编程(协程,相关内容的了解)。 * [ ] 网络编程 - * [ ] web开发 \ No newline at end of file + * [ ] web开发 + + +## 收获 + +* 飞书文档,不可能了。别想了。 \ No newline at end of file diff --git a/工作日志/2021年9月1日-简历说明.md b/工作日志/2021年9月1日-简历说明.md new file mode 100644 index 00000000..5c7f4a65 --- /dev/null +++ b/工作日志/2021年9月1日-简历说明.md @@ -0,0 +1,179 @@ +# 简历说明 + +* [ ] 需要在面试开始前,花一天时间对简历说明进行整理 +* [ ] 项目和实习经历再熟悉。必须重新阅读一边原先的文档。 + + +## 1 教育经历 +你好。我叫殷康龙,现就读于北京航空航天大学计算机学院,主要研究联邦学习在恶意软件检测领域的应用。本科就读于西北工业大学软件与微电子学院,主修软件工程。 + +在学校主要学习了数据结构与算法、C++程序设计、JavaEE企业级开发、面向对象程序设计、编译原理等课程,综合测评成绩在250人中排名第8。 + +## 2 校园经历 + +在学校里积极参加社团和活动。曾任软微学院科创部干事,参与组织一行代码大赛和程序设计比赛。曾任西工大新闻中心副部长,负责开发新文中心的功能网站,培训技术人员,维护西工大官方微信。 + + +## 4 主要成果 + +* 两次学校一等奖学金,一次华为奖学金,一次国家励志奖学金,一次电子工业出版社助学金,“优秀共青团员”称号 +* 2016-2017年连续两届FIRA机器人世界杯SimuRoSot项目国际特等奖(冠军),Air Challenge项目国际一等奖(亚军) +* 2017中国机器人大赛空中机器人-无人机大战水果项目一等奖 +* 2019年获得国家级大学生创新项目《基于超宽带定位技术的无人机目标追踪系统》和《基于网络爬虫和数据分析的高校信息整合系统》优秀结题 +* 获得《面向学生的校园信息交流系统V1.0》《基于scrapy框架的校园信息爬虫系统》《基于网络爬虫和数据分析的高校信息整合系统》计算机软件著作权 + +## 3 项目经历 + +> 项目概述、主要工作、最终成果 + +### 竞技策略开发——仿真5VS5SimuRosot(√上传) +* 项目概述:15个人的开发团队,长期开发项目,C++、JAVA。工程项目主要包括数据处理模块、前场、后场、边路、底线、特殊策略、定位球策略等,主要用于参加5V5 simurosot的国内比赛和国外比赛。 +* 主要工作:负责开发前场的相关策略,主要包括策略选择模块(优势前场、保守前场、边路前场)、角色选择和切换模块(角色的稳定性,进入退出分开控制。)、目标计算模块(保持相对的阵型,减少阵型的抖动)、移动跑位模块、射门模块。使用PID控制方法对机器人控制,增强了前场的稳定性。使用JAVA为团队开发了数据测试平台,实现了对数据仿真、策略测试、可视化。。搭建团队开发的SVN版本控制系统,方便整个团队项目开发和维护。 +* 关键技术:开发测试平台主要使用java swing开发跨平台图形界面,提供了一系列GUI组件。主要包括数据导入模块、动态演示模块、数据显示模块。使用java io random_accessfile读取并解析file文件。使用java thread实现数据加载与数据展示的并行过程。通过事件监听与响应机制,实现对数据仿真动态演示过程的控制,包括仿真速度调节和仿真进度调节。使用javadoc生成标准的java文档供后续开发使用,方便开发维护。 +![](image/2021-04-06-21-33-39.png) +* 最终成果:暑假期间带领团队前往日照参加了2017中国机器人大赛,前往台湾 参加了FIRA机器人世界杯,取得多项冠军。 + +### 大创项目——基于网络爬虫和数据分析的高校信息整合系统 + +* 项目概述:5个人,Python、MySQL。带领团队申请了《基于超宽带定位技术的无人机目标追踪系统》《基于网络爬虫和数据分析的高校信息整合系统》两个国家级大创项目,后者主要是利用爬虫综合网络信息,搭建web服务器,对数据进行二次处理,使用机器学习算法提供面向用户提供文章推荐功能、标签云索引功能和分类浏览功能,面向信息发布者提供了热点倾向功能、数据分析功能。 +* 主要工作:项目架构、服务器搭建,包括爬虫模块(数据解析模块xpath、URL获取与去重模块)、服务器模块(MySQL数据库设计、Json数据封装)、Android客户端(数据请求模块HTTP请求、数据展示)、数据处理模块。通过Scrapy完成网络信息爬虫,构建了Mysql数据库,使用Django后端框架和Bootstrap前端框架开发了项目网站,使用大数据的算法对信息分析处理,并将整个项目部署到腾讯云提供的CentOS服务器上。使用Github进行代码管理。 + +![](image/2021-04-06-21-18-56.png) +* 关键技术:scrapy框架介绍。使用request模块进行爬虫,通过调度去缓存下一条URL,控制网站访问的频率;使用xpath解析数据内容并将数据存储到mysql数据库中。 +> * (1)Scrapy引擎打开,向爬虫模块请求其需要爬取的起始URLs +> * (2)Scrapy引擎从爬虫模块那里获取到需要爬取的起始URLs,将它们放入调度器模块,作为待爬取的URL Requests; +> * (3)Scrapy 引擎向调度器模块发出请求,获取下一个待爬取页面的URL; +> * (4)调度器模块返回下一个待爬取页面的URL给Scrapy 引擎,Scrapy 引擎则将该 URL 经下载中间件模块(请求方向)转发给下载器; +> * (5)当下载器模块完成页面下载后,会生成一个该页面所对应的 HTTP Response,并将其经下载中间件(响应方向)发送给Scrapy 引擎; +> * (6)Scrapy 引擎从下载器模块处接收到HTTP Response 后,会将其经爬虫中间件模块(输入方向)发送给爬虫模块处理; +> * (7)爬虫模块处理接收到的 HTTP Response,并返回从中爬取到的Items及需要跟进的新的 URLs 给 Scrapy 引擎; +> * (8)Scrapy 引擎将(爬虫模块返回的)Items 转发给数据流水线模块,同时将(爬虫模块返回的)URLs 转发给调度器; +> * (9)以上 2~8 的过程会一直重复执行,直到调度器模块中没有 URL Requests 时,Scrapy 引擎关闭,爬虫停止。 + +![](image/2021-04-06-21-06-32.png) +* 关键技术:Django框架。使用Apache服务器,处理http请求。Django框架,MVC(model-view-control)的代码架构模式。从数据库中获取数据,封装成json格式,最后将响应的数据传递给android客户端。 +![](image/2021-04-06-21-17-24.png) +![](image/2021-04-06-21-58-13.png) +* 关键技术:数据处理算法。 + * 标签计算算法:jieba分词统计词频,TF-IDF算法进行词频统计,去除无关词汇,字词的重要性随着它在文件中出现的次数成正比增加,但同时会随着它在语料库中出现的频率成反比下降。 + * 分类算法:学科竞赛、科研信息、行政信息、招生信息、招聘就业、校园活动、升学留学、生活娱乐这八类,使用朴素贝叶斯分类器进行分类。(基于贝叶斯公式,可以试图讲解贝叶斯公式) + * 混合推荐算法:基于协同过滤算法提取项目的基本特征(人,文章的特征,通过人阅读的其他文章给出特征,通过相似的人看的其他电影打上相似的标签)。系统采用的KNN算法目的在于匹配项目中K个相似度最高的项目,作为预测推荐输出到用具接口。 +* 最终成果:两个国家级大创项目均获得优秀结题。 + + +### 无人机通信和加密 + +* 项目概述:无人机加密通信项目开发。 +* 主要工作:主要是在Android平台(DJ无人机的地面站android手机开发),使用Java多线程和Socket编程,实现无人机之间的通信连接。主要通过UDP网络通信、心跳测试保持连接、回调处理等方式实现线程通信。在加密通信过程中,使用C++开发加密仿真环境。使用nodejs+electron对通信过程进行可视化。使用网页技术HTML、CSS、JavaScript做前端,使用C++做为本地的后端。通过封装C++通信的代码,提供C++通信接口,供nodejs调用。(代码的封装,接口提供,) +* 主要成果:完成实验室项目验收。 + + + +### TensorFlowIO优化 + +* 项目概述:分析TensorFlow源代码,对源代码进行修改重新编译。使用mmap方法,优化TensorFlow数据加载过程中的IO操作。 +* 主要工作:阅读源代码分析TensorFlow架构,使用多线程以流的方式读取多个文件。mmap封装大文件读取过程。编译并测试TensorFlow最后的优化效果。 + +![](image/2021-04-06-23-26-50.png) +1. 首先阅读了TensorFlow的源代码以及相关的研究资料,对TensorFlow的代码架构进行分析。 +2. 第一层设备通信层,负责网络通信和设备管理。设备管理模块可以实现TensorFlow的异构性,提供了对不同平台不同设备的支持,统一封装成相同的接口,使得上层模块在调用过程中,不必考虑具体的底层实现。通信模块主要通过两种协议实现不同设备之间的通信过程,分别是gRPC协议和RDMA协议。 +3. 第二层内核实现层,实现了核心算子(Operation)与张量(Tensor)的操作。所有的算子都是以张量为操作对象,依赖底层实现张量的内存分配和计算。 +4. 第三层图计算层,实现了计算图(Graph),包括本地计算流图和分布式的计算流图的实现。主要实现了计算图的创建、编译、优化和执行的细节。计算图中的每个节点都是内核实现层中的算子,计算图中的每条边代表内核实现层中的张量。 +5. 第四层API接口层,TensorFlow提供了原始的C API的实现,方便其他语言和平台进行调用。通过C API进一步实现其他语言的API,方便不同语言开发者选择熟悉的语言构建计算图。 +6. 第五层应用层,不同的编程语言通过API接口层调用TensorFlow的内核,实现相关的模型和应用。 + +![](image/2021-04-06-23-28-22.png) + +1. 使用linux的mmap方法申请内存空间,建立内存映射。 +2. 使用platform模块,对底层方法进行封装,实现异常情况处理,并记录内存映射的地址及相关信息,提供上层接口 +3. 利用platform模块提供的内存映射接口,创建读取器,复写父类中的数据读取方法。创建一个读取数据的算子,并注册到内核当中,提供其他语言的接口。 +4. 编写前端,调用内核新方法,使用MmapReader模型进行数据读取。 +5. 重新编译 + +* 最终成果:毕业答辩顺利完成。 + + +## 实习经历 +### 电子钱包JavaEE企业及开发项目 + +* 项目概述:在中科金财上市公司参与电子钱包项目的实习。 +* 主要负责使用Java从合作方获取并解析数据,使用MyBatis存储到MySQL数据库中,并使用Redis做一级数据缓存。使用Spring框架提供信息访问的服务。 +* 2.4 Spring框架应用实践 + * 本项目后端的主要开发框架,是基于java的Spring框架。Spring框架主要依赖与两个重要的特性——控制反转和依赖注入。控制反转(IOC),即控制权的转移,将我们创建对象的方式反转了,以前对象的创建是由我们开发人员自己维护,包括依赖关系也是自己注入。使用了spring之后,对象的创建以及依赖关系可以由spring完成创建以及注入,反转控制就是反转了对象的创建方式,从我们自己创建反转给了程序创建。依赖注入(DI)spring这个容器中,替你管理着一系列的类,前提是你需要将这些类交给spring容器进行管理,然后在你需要的时候,不是自己去定义,而是直接向spring容器索取,当spring容器知道你的需求之后,就会去它所管理的组件中进行查找,然后直接给你所需要的组件。 + * 基于这两种思想实现的Spring容器有许多好处,如降低组件之间的耦合度,实现软件各层之间的解耦。可以使容器提供众多服务如事务管理消息服务处理等等。当我们使用容器管理事务时,开发人员就不需要手工 控制事务,也不需要处理复杂的事务传播。容器提供单例模式支持,开发人员不需要自己编写实现代码。容器提供了AOP技术,利用它很容易实现如权限拦截,运行期监控等功能。容器提供众多的辅佐类,使这些类可以加快应用的开发。Spring作为一个容器,可以管理对象的生命周期、对象与对象之间的依赖关系。可以通过配置文件,来定义对象,以及设置与其他对象的依赖关系。 + * 在实践过程中,使用静态工厂方法创建了一系列的java Bean对象,通过配置XML文件,将对象注入到具体执行的类当中。Spring框架本身还保证了事务的原子性、一致性、隔离性和持久性。Spring boot是Spring体系下,为了快速创建应用而提供的一套脚手架服务,用于快速创建网络应用。Spring AOP框架基于代理模式,同时运行时可配置;AOP框架主要针对模块之间的交叉关注点进行模块化。通过maven工具简单的创建Spring boot应用,通过starter中整合了该场景下各种可能用到的依赖,只需要在Maven中引入starter依赖,框架就能自动扫描到要加载的信息并启动相应的默认配置。Spring MVC 是 Spring 提供的一个基于 MVC 设计模式的轻量级 Web 开发框架,其本身就是 Spring 框架的一部分,可以与 Spring 无缝集成,性能方面具有先天的优越性,是当今业界最主流的 Web 开发框架之一。Spring boot创建一款开源框架,它提供了 spring-boot-starter-web来为 Web 开发予以支持。spring-boot-starter-web为我们提供了嵌入的Servlet容器以及Spring MVC的依赖,并为Spring MVC提供了大量自动配置,可以适用于大多数 Web 开发场景。 + * 为了使Spring boot应用能够快速加载配置,使用YAML文件快速配置Spring项目的依赖。使用YAML作为属性配置文件,YAML语法使用缩进表示层级关系,对大小写敏感。YAML支持对象、数组、字面量三种数据结构。同时Spring boot通过大量的注解实现配置的绑定和容器的注入。 + * 在部署过程中主要使用了WebJars,WebJars可以将Web前端资源(JS,CSS 等)打成一个个的Jar包,然后将这些Jar包部署到Maven中央仓库中进行统一管理,当 Spring Boot项目中需要引入Web前端资源时,只需将所需资源的pom依赖导入到项目中即可。 + * 在开发前端的时候,开发框架主要使用了基于nodejs的vuejs框架,用于获取并渲染数据到前端页面。使用bootstrap作为模板,构建基于H5的应用页面,能够动态自适应页面的大小,并将页面扁平化。 +* 2.5 数据存储技术 + * 在开发过程中主要使用MySQL关系型数据库存储数据,使用Redis非关系型数据库做数据缓存,使用Spring-MyBatis框架,封装对数据库的增删查改操作。数据操作主要包括两部分,第一部分是从远程接口请求数据,存储到关系型数据库中。第二部分是从关系型数据库中访问数据,返回前端,渲染到页面上。对于第二部分需要Redis做一级缓存,为了加快数据访问。 + * 为了能够进行事务管理,MySQL的数据库引擎选择InnoDB。所有的表都保存在同一个数据文件中,InnoDB表的大小只受限于操作系统文件的大小,一般为2GB。需要更多的内存和存储,会在内存中简历专用的缓冲池用于高速缓冲数据和索引。索引和数据紧密捆绑,索引无压缩,所以体积相对比较大。InnoDB引擎支持外键和索引,支持事务管理和数据库锁。能够保证数据库事务的原子性、一致性等,在三级锁协议下能够保证数据库的串行化访问。MySQL的数据类型主要包括三种:数值类型、字符串类型和时间日期类型。在设计过程中要特别注意,符合BNF范式,保证子段不可分,且不存在冗余。 + * 主要在数据库中创建了各种各样的表格,包括商品表(商品名称、类型、编号、价格、供应商、数量等子段)、订单表(订单类型、订单编号、父订单编号、支付单号、创建时间、当前状态、用户、商户、税费等子段)、用户表(用户名称、用户编号、平台金额、用户身份等子段)。每一张表格代表多个独立的实体,多个表格之间通过外键进行关联。 + * 为了加快数据的访问速度,在MySQL的数据表上创建了各种类型的索引。MySQL中常用的索引结构有:B+树索引和哈希索引两种。目前建表用的B+树索引就是BTREE索引。在MySQL中,MyISAM和InnoDB两种存储引擎都不支持哈希索引。只有HEAP/MEMORY引擎才能显示支持哈希索引。所以主要包括五种类型:唯一索引、主键索引、外键索引、普通索引,复合索引。通过建立索引能够有效的加快访问速度。B+树是一个平衡的多叉树,从根节点到每个叶子节点的高度差值不超过1,而且同层级的节点间有指针相互链接。在B+树上的常规检索,从根节点到叶子节点的搜索效率基本相当,不会出现大幅波动,而且基于索引的顺序扫描时,也可以利用双向指针快速左右移动,效率非常高MySQL 由连接池、SQL 接口、解析器、优化器、缓存、存储引擎等组成,可以分为三层,即 MySQL Server 层、存储引擎层和文件系统层。MySQL Server 层又包括连接层和 SQL 层。 + * 使用Spring访问数据库的时候,需要手动创建SQL语句,或者通过Spring提供的jdbc链接数据库,根据orm映射规则,自己封装数据库语句。我们在开发的时候,选择了比较流行的MyBatis框架。MyBatis是一个半自动化的 ORM 框架,支持定制化 SQL、存储过程以及高级映射。支持将数据库查出的数据映射到POJO实体类上,而实体到数据库的映射则需要我们自己编写SQL语句实现,相较于Hibernate 这种完全自动化的框架,Mybatis 更加灵活,我们可以根据自身的需求编写sql语句来实现复杂的数据库操作。支持普通 SQL 查询,存储过程和高级映射的优秀持久层框架。它消除 了几乎所有的JDBC代码和参数的手工设置以及结果集的检索。MyBatis使用简单的XML或注解用于配置和原始映射,将接口和 Java 的 POJOs映射成数据库中的记录。利用动态语句的特性,方便快速的拼接访问数据库的SQL语句。 + * Mybatis的功能架构分为三层。API接口层:提供给外部使用的接口API,开发人员通过这些本地API来操纵数据库。接口层一接收到调用请求就会调用数据处理层来完成具体的数据处理。数据处理层:负责具体的SQL查找、SQL解析、SQL执行和执行结果映射处理等。它主要的目的是根据调用的请求完成一次数据库操作。基础支撑层:负责最基础的功能支撑,包括连接管理、事务管理、配置加载和缓存处理,这些都是共用的东西,将他们抽取出来作为最基础的组件。为上层的数据处理层提供最基础的支撑。 + * 我们首先需要在Spring框架中导入Mybatis的配置在Spring Boot的配置文件中进行配置,指定mapper.xml的位置、实体类的位置、是否开启驼峰命名法等。然后配置数据库链接的信息。在MySQL数据库中创建了多张表,并创建了mapper文件,建立sql语句到java环境的映射,用来访问MySQL数据库。然后在配置文件中注册数据库访问xml,在Spring的java文件中引用该配置,完成对数据库的访问。 + * 为了提升用户的体验,加快前端的访问速度,解决MySQL数据库存储和访问的瓶颈。使用Redis数据库提供了以及数据缓存。使得系统能够快速相应用户的数据存储和访问操作。redis是一个开源的、使用C语言编写的、支持网络交互的、可基于内存也可持久化的Key-Value数据库。与MySQL关系型数据库不同,它没有持久话的文件,是暂存在内存中的数据库,没有固定的表结构。Redis数据库作为缓存数据库有许多优势。Redis主要用于以下两种场景:高性能场景,需要执行耗时特别久,且结果不频繁变动的 SQL,就特别适合将运行结果放入Redis缓存。后面的请求就去缓存中读取,使得请求能够迅速响应;高并发场景,在大并发的情况下,所有的请求直接访问数据库,数据库会出现连接异常。这个时候,就需要使用 Redis 做一个缓冲操作,让请求先访问到 Redis,然后逐步同步到关系型数据库中。 + * Redis支持丰富的数据类型,包括string,list,set,sorted set,hash。主要由以下几种底层数据类型实现:动态字符串类型,保存字符串的长度、字符串的每个元、buf 数组中未使用的字节数量,能够动态的增加长度,并减少重新分配内存的次数;双向链表,通过多个节点结构就可以组成双向链表。字典又称为符号表或者关联数组、或映射,是一种用于保存键值对的抽象数据结构。跳跃表是一种有序数据结构,它通过在每个节点中维持多个指向其它节点的指针,从而达到快速访问节点的目的。 + * Redis支持主从同步。数据可以从主服务器向任意数量的从服务器上同步,从服务器可以是关联其他从服务器的主服务器。这使得Redis可执行单层树复制。存盘可以有意无意的对数据进行写操作。由于完全实现了发布/订阅机制,使得从数据库在任何地方同步树时,可订阅一个频道并接收主服务器完整的消息发布记录。同步对读取操作的可扩展性和数据冗余很有帮助。Redis以内存作为数据存储介质,所以读写数据的效率极高,远远超过数据库。以设置和获取一个256字节字符串为例,它的读取速度可高达110000次/s,写速度高达81000次/s。它速度快,因为数据存在内存中,类似于HashMap,HashMap的优势就是查找和操作的时间复杂度都是O(1)。支持事务,操作都是原子性。可用于缓存、消息、设置过期时间。Redis利用队列技术将并发访问变为串行访问,消除了传统数据库串行控制的开销。为了解决读写分离模型的缺陷,可以将数据分片模型应用进来。可以将每个节点看成都是独立的master,然后通过业务实现数据分片。 + * Redis有多种持久化方法,RDB方式在指定的时间间隔内,将内存中的数据集快照写入到磁盘。AOF方式以日志的形式记录服务器处理的每一个操作,服务器启动之初,读取文件,重新构建数据库。 + * Redis的底层架构决定了它的性能优势。内部实现采用epoll机制和简单的事件框架。epoll中的读、写、关闭、连接都转化成了事件,然后利用epoll的多路复用特性, 降低IO过程的延迟。 + + +### 字节跳动财经业务部 + +* 项目概述:实现担保交易的系统。 +* 主要负责财经退款业务。完成支付营销预计算、分账后退款等业务需求。基于Kite框架设计实现多个微服务的接口和逻辑,进行项目管理、版本控制、联调测试、报警处理等工作。 + +* 基于gRpc的微服务技术 + * 在开发后期,为了能够更好的适应项目夸大的需求,公司制定新的发展计划,基于grpc重构后端框架,将后端拆解为多个独立的微服务,并行建设发展。很好地保证了各个模块的独立性,提高了开发效率,同时又由于微服务的弹性部署方式,使得系统的鲁棒性增强,服务的效率增高。 + * 微服务一种软件开发技术,面向服务的体系结构(SOA)架构样式的一种变体,将应用程序构造为一组松散耦合的服务。在微服务体系结构中,服务是细粒度的,协议是轻量级的。使得应用系统具备快速响应、灵活部署、敏捷交付、持续演进的特性成为可能。微服务是由以单一应用程序构成的小服务,自己拥有自己的行程与轻量化处理,服务依业务功能设计,以全自动的方式部署,同时服务会使用最小的规模的集中管理能力,服务可以用不同的编程语言与数据库等组件实现 。 + * 微服务架构与敏捷研发流程一脉相承。微服务是将一个完整的系统分割成若干微小的、具备独立性的功能单元,每个功能单元是可以具备一个实际意义的小功能集。各个功能单元之间尽量是解耦或松耦合的,可以实现独立开发而不依赖其他功能单元。而敏捷保证微服务架构能够更好地适应需求的变化,保持团队的高效沟通,敏捷利用小型工作增量、频繁迭代与原型设计等手段,可以使我们摆脱大规模单体软件开发的风险。微服务架构更多地从技术的角度提升开发和运维的效率,而敏捷方法论贯穿了软件工程的整个流程,它重视流程、沟通、协作。可以说,敏捷在管理流程上是对微服务架构落地的有益补充和保障。微服务的开发大致遵循DevOps的流程和原则,一个软件从零开始到最终交付,大概包括以下几个阶段:规划、编码、构建、测试、发布、部署和维护。DevOps是一组过程、方法与系统的统称,用于促进开发、技术运营和质量保障(QA)部门之间的沟通、协作与整合。通过自动化流程来使得软件整体过程更加快捷和可靠。用于实现敏捷开发的目标。 + * 我们研究了微服务主要面临的问题,主要是故障的排查,通过多方考虑建立了微服务的故障排查系统。首先是微服务的监控系统(指标接口),实时监控流量的运转,尽量能够快速的发现存在的潜在问题,包括一些设定的报警规则,如网络流量异常、内存占用异常、数据库链接异常、响应延迟异常、qps导致某个节点不堪重负等。让各个组件提供报告自己当前状态的接口(metrics接口),这个接口输出的数据格式应该是一致的。然后部署一个指标采集器组件,定时从这些接口获取并保持组件状态,同时提供查询服务。最后还需要一个UI,从指标采集器查询各项指标,绘制监控界面或者根据阈值发出告警。我们最终使用RedisExporter和MySQLExporter,这两个组件分别提供了Redis缓存和MySQL数据库的指标接口。微服务则根据各个服务的业务逻辑实现自定义的指标接口。然后采用Prometheus作为指标采集器,Grafana配置监控界面和邮件告警。 + * 然后是通过链路跟踪系统,定位问题出现的位置。使用Zipkin工具,实现链路的跟踪过程,实现每一个节点的日志收集。为了能够快速的实现日志分析,使用ELK日志分析组件。包括一个日志搜索引擎、日志收集存储器和UI组件。为了能够控制微服务的访问权限,进行服务治理,搭建了一套网关系统。在调用者和被调用者中间加一层网关,每次调用时进行权限校验。另外,网关也可以作为一个提供服务接口文档的平台。能够进行各个微服务的接口管理,通过页面访问和调试微服务。 + * 由于微服务的扩充速度比较快速,最终搭建了一个微服务的注册和发现系统。每当有新的微服务或者微服务的某个新节点出现的时候,完成服务信息发布、存活检测、客户端负载均衡等任务。各个应用服务在启动时自动将自己注册到服务发现服务上。并且应用服务启动后会实时(定期)从服务发现服务同步各个应用服务的地址列表到本地。服务发现服务也会定期检查应用服务的健康状态,去掉不健康的实例地址。服务发现系统还会进行服务之间的负载均衡,防止某一个服务流量过大,称为微服务链路上的流量瓶颈。 + * 在实现微服务系统的时候,还考虑了大量的其他安全性可靠性内容。包括建立链路上的熔断机制,当多次访问一个服务失败时,应熔断,标记该服务已停止工作,直接返回错误。直至该服务恢复正常后再重新建立连接。建立了微服务的多级测试系统,服务本地的单元测试,整个服务的测试,端到端测试(覆盖这个服务调用链的测试)。 + * 在构建微服务系统的核心关键技术是gRpc。gRPC是由Google公司开源的一款高性能的远程过程调用(RPC)框架,可以在任何环境下运行。该框架提供了负载均衡,跟踪,智能监控,身份验证等功能,可以实现系统间的高效连接。另外,在分布式系统中,gRpc框架也有有广泛应用,实现移动端、浏览器等和服务器的连接。gRPC支持多种语言的实现,因此gRPC支持客户端与服务器在多种语言环境中部署运行和互相调用。gRPC使用ProtoBuf来定义服务,ProtoBuf是由Google开发的一种数据序列化协议(类似于XML、JSON、hessian)。ProtoBuf能够将数据进行序列化,并广泛应用在数据存储、通信协议等方面。压缩和传输效率高,语法简单,表达力强。 + * gRPC 的协议设计上使用了HTTP2。HTTP2 提供了连接多路复用、双向流、服务器推送、请求优先级、首部压缩等机制。可以节省带宽、降低TCP链接次数、节省CPU,帮助移动设备延长电池寿命等。gRPC主流分布式方案有以下三个etcd, zookeeper, consul,最终选择使用consul实现服务的注册与负载均衡的实现。 + * 我们通过proto文件定义了数据结构和服务接口。可以通过流模式实现服务器和客户端的调用。集成了TLS验证方法,用于识别客户端和服务器,增强通信的安全性。使用SSL/TLS协议对通信连接进行安全加密,是通过非对称加密的方式来实现的。在加密过程中:客户端想要向服务器发起链接,首先会先向服务端请求要加密的公钥。获取到公钥后客户端使用公钥将信息进行加密,服务端接收到加密信息,使用私钥对信息进行解密并进行其他后续处理,完成整个信道加密并实现数据传输的过程。客户端调用服务时,客户端gRPC库使用协议缓冲区,并编组(marshal)远程过程调用,该调用随后通过HTTP2来发送。在服务器端,请求解组(un-marshalled),使用协议缓冲区执行相应的过程调用。响应遵循从服务器到客户端的类似的执行流程。 +* 支付与退款逻辑处理 + * 作为电子钱包财经部分的核心业务,其最大的困难点在于业务场景的理解和负责业务需求的实现,技术上的难点通过之前的分析已经实现了。 + * 首先最大的难点是建立后端的订单子系统,实现后端订单的数据流图。业务方可能会产生多种类型的订单,例如在购物的时候,会生成shop单、商户单、商品单,退款的时候根据退款创建的时间不同,可能产生各种类型的退款单,通过区分是否在售后内或者超售后,是否满足优质用户的急速退款条件,订单是否已经分账,产生不同类型的退款单。在财经部分,根据业务方的需求,建立财经部分的订单系统,该系统主要融合了业务方订单和支付方订单。业务方订单包括shop单、sku单、商品单等,财经部分订单包括四种主要的类型,商品单、支付单、分账单、退分账单、补贴单、推补贴单、退款单等。退款中会生成退款单包括多种类型,如退款子单、急速退款单、退分账单、退补贴单、退税单等。由于支付场景负责,各种订单的准确性必须要有保证。 + * 财经部分最重要的是对金额和流水的保证。建立了从上到下的对账系统,通过流水信息、数据库信息、日志信息等,进行不间断的对账,保证了交易金额的准确性。杜绝发生严重的金融风险。同时增强开发人员的金融管控意识。防止出现资金安全问题。在技术上,使用GO语言重构了后端的微服务,包括一系列配套的微服务工具的应用。如上一节提到的微服务的技术选型:服务注册与发现机制(consul)、敏捷开发流程(devops)、远程调用方式(thrift)、服务监控平台(Grafana)、数据分析平台(Hive)、链路系统跟踪平台、服务网关(Gateway)等。实现一系列微服务开发、部署、运维任务。 + * 在担保交易系统中,总的业务流可以分为四个部分:支付、分账、退款、提现。当用户付款后(自有支付、第三方支付),不能立即存到商家的账户中,需要暂存到商家的待结算户中,防止出现资金安全问题。当用户点击确认收款后,资金从商家的待结算户,分账到商家账户和其他分账方的账户(达人带货分账、平台营销分账等),其中还涉及到平台的营销问题。当用户发起退款是,会根据不同的情况,走完全不同的退款流程,主要包括普通退款、分账前退款、分账后退款、超售后退款和急速退款。其中每一种业务都被划分为一个独立的微服务,可能部署在不同的虚拟机上,存在大量远程调用过程。 + * 当时负责支付营销预计算和分账后退款两个业务,涉及担保退款、退款请求、财经核心微服务,整个服务链包括十几个业务,我负责其中的三个。担保退款业务负责接收来自其他应用的退款请求,查询数据库中的订单,校验请求的准确性,同时通过幂等校验对重复的请求进行处理。退款请求业务,接收担保退款微服务的请求,对请求进一步校验,根据订单状态、支付状态、业务方的需求将退款业务划分为不同的退款方式(急速退款、普通退款、分账后退款、超售后退款等),然后执行不同的退款逻辑。每一种退款都实现了统一的接口,需要校验大量的请求参数和订单内容,保证请求和订单的一致性,需要调用电商接口,计算每一个分账方的分账金额,根据分账方的分分钟金额校验账单系统中的分账单,针对每一个分账单,生成分账的退款单,然后请求支付核心,将商家待结算户中的金额退给用户。如果已经部分分账,需要将所有分账的金额退到商家现金户,推进分账进程,然后从商家的现金户,将金额退还给支付账户,并将平台补贴金额退回。每次退款过程前,需要事先请求计算支付营销金额,如果保证金额正确才可以进行后续的退款,否则返回退款失败。 + +## 5 个人能力 + +1. C++后端开发、Java/Go/Python/Nodejs后端开发、Mysql数据库 +2. 主要关于项目开发中某一方面的知识经验总结 + + +* 网络编程(各种语言的实现方法。异步并发,并发通信方式。) + +* web开发(自己所开发过的web网站。主要用到的框架和技术。) + +* 并行编程(各种语言实现并发编程的手段和方式,例如协程、多线程、多进程等) + +## 6 个人性格 + +1. 乐观开朗,心里素质较强,喜欢积极的应对生活中的困难。待人友善,团结合作,有较强的领导能力、组织能力和团队精神。勤奋好学,思维敏捷,自学能力强。 +2. 具有良好的专业能力,基础知识扎实。参与了多个项目的开发过程,具有丰富的项目开发经验。对软件工程领域的知识有很高的热情,希望通过自己的努力,创作完美的作品。 + + +## 7 补充项目 + +### ~~补充项目——软件与微电子学院学生信息系统。PHPweb开发~~(----丢失) +* 项目概述:20个人组成的团队,PHP、MySQL。系统主要包括任务管理系统、证书认证系统、请销假平台、项目管理、活动,会议记录、党建系统、文件管理系统、就业记录等子系统。使用PHP作为后端开发脚本,使用MVCyii框架进行开发。 +* 主要工作:构建数据库。使用yii框架实现请销假平台,包括表单管理和MySQL数据库访问。yii框架是MVC结构。由controller处理逻辑内容,model封装数据库访问,view视图作为界面,用来渲染数据,发送到前端。 +![](image/2021-04-06-20-19-05.png) +* 最终成果:开发完成暑期项目实践,项目成功验收。 + + +### ~~补充项目——企业级开发JavaEE项目考试系统~~(√上传) +> 因为是java项目,等日后学完java再写 + +### ~~补充项目——windows通信编程。多人聊天室~~(√上传) +* 项目概述:单人项目开发。 +* 主要工作:MFC开发界面、windows网络通信。 +* 主要成果:课设。 \ No newline at end of file diff --git a/毕业设计/2021-01-05-20-08-00.png b/工作日志/image/2021-01-05-20-08-00.png similarity index 100% rename from 毕业设计/2021-01-05-20-08-00.png rename to 工作日志/image/2021-01-05-20-08-00.png diff --git a/工作日志/image/2021-08-24-19-24-32.png b/工作日志/image/2021-08-24-19-24-32.png new file mode 100644 index 0000000000000000000000000000000000000000..d526790bd0c122515f1050bfcdfb79e0f3234b0f GIT binary patch literal 112068 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 literal 0 HcmV?d00001 diff --git a/工作日志/image/2021-08-24-19-31-58.png b/工作日志/image/2021-08-24-19-31-58.png new file mode 100644 index 0000000000000000000000000000000000000000..d17a85ac9f390e5c47f254eea650989a4c5a10b3 GIT binary patch literal 30008 zcmce-Wl&b#8#k(gNJ*EZG}4Wb-=xu)?cXZ`5ABdMyI`27J?+1FZ;ty|z~n z6MR)Vg1-+wK${B42)ue#5sC1q{}z0PvlUmjfAtEf^WV?wUYi1=SFap~C4>c(Ty&08 z-)dp(zx3AmEgOG>7M4dvfP!jl@5n4jdf%Q&{}psjUA$omw6)n(g}U zvLMz|<~3Mnvg3 zuu*l9|J~F^U?vCdW>)rgA=m3rL%kG)7d*uWi_&fr!=tkCm-NX#=I89KQ`@j&m(qw+ zGegoU_J3!ll7a<*w6|%$Y>wu9Asy8iakkr;UpN;g$!>3pQNJWeb+N-EOt<-C$ZG4# z)8a=u+JlwMI(%_U{&+3s!5{l?!Mt#!NvdTZh=QYr*V`;@NITMg`uF8d9K;n>=1e3Y z6ZwmX&S@^jma4)1nWCBai?*M8Y5M!_yUb-~N`aKZN{r$e^+idDYpvB^zDgKf5&-6|J3jcovA{?*BdU1U0N5~5) zS!8Iv-Ty#zPf=F1xNR}}xJ$QVSMTY4TspgNq)@0tZ=+HtVAj=G@^E`|zpYyKXZwKF z>T9zdo0UPOD`!{ae-##uc_y6YzgI9`l^?u)!7^Kl&+n*3i)OV_S2UX5*@K9)RG`@# zRcGTw$TwE+n({#kdjy|proX)+Bk-M6!gs4rkroX;v3>aeTQ(f0o_X#judCk8UJ+4V z1f(=BgDD0&%~m92MH=P7{84p2^UTzeN zi*mbYOS3nXJtt#ET6Cxx;(tbj@sp=wElY$@>=}Ic@iB<#=ZaZaa9C{KKD1>-yOzn% zLH)~;?NAk3K8KU3L2QN|B;5GlzZ7x>bCVqp;tI5!7RvcMvq+|JhlwUBt1#SD8c6Ps zQ@pZ8g?ofs;gB^yf7jU6c~U>G$a8==htUQE#bhXdQ=(?aYo{=++dV@~>5S{M!pFz2 z*YaPZ{qb*Co_Br;#l^$Rp55ofAK@?dNAs0;Ics}PxjnI-Z*tw=$d$q6P@#^CD5XE` z>`>aL&iqm^xo@mcsF7cXCY3Xz5J&C#5-mh{az`CkmLaKn@ZOe2aBYQbS}WxF+c4N$puN)poMNTr^)t8imMzrEQAf+%0YN^ z6bu9n4A9<1U&h4k(2}udm17f2d0V)h_G~k6KMv(4{kNw{q$I?}%d4tbB0U6;CAWWR z4~A(pvOhP!Ij$-UX1_b;fB)_@#79lg@30)3 zVb`(H^%;_>U_6i{#X{6z9{UlNWEaZN_z}+k$Jws0Kmx;0KG(K&JDGgym*gu)?+=63 zmGS40HQl{OiKP^zCMhI9J6anC6^+U6pKR{f2jNuG|zS?y;Y#A05m^;SxqU zD(A3kOG98?&B|c4nr1`;^g$z!Oz|?7 z3+OjA7M}*qz;&uGN*Oyb<3x0BYjF2%MdaO+1Y<~{h7=p!$f_tDhJ`AJt1wTJ6_y~9 zszr2Z{QO|`+enL0mn<5t3(c?Hj1`9|j33dcDem{{e~p(!RbSG|GG3g-1N-rQqEtJD z^4ZnyiMrr$yBV(#u0my|qq@rjBw#y|;^XdKIZfj$4OO?+pWad7KAkB(TtL4wgfARd0?yS9>tUKVIzw zB#tE*6pGW&$Z;06;yAep4TiBfbk~6n)yxfb3^W*Lj@zqMZ-&G0y1CA0ZJ*)4qho9&_}QwUdNp<`v(8h;7v=4yQ* zy7f=ox7-8PT1O|EBh_r_ROa@&H>yZakw3|emAPZz44;>w5?oLq13n-O|= z>)r09+w5qPd>M}P+Ogtu+RoHR$Nlq3h@?mChO-< z!!Qx8_6B9ncjf{Ka^z$cKTfsiRdP?Bb7Kqzg|sfP!@Y^TDD*_k4Lk}pWGD!lIKQuc zLTvqOzn#GEjzy*3a#99GJyYmqG)@kNgR8=KH-@ zWQ+Mu)P&y8e2Y&;QO&3>^GoUVtLoh(6`USWlHrny>zT-*F?K={C6$Ux&XQH_KT;#N zVC6zDe;hf^ci#!4m;dvl#?M~Tpjh;+VqPOQ4RH-B2Oi_I|I1Q_RK5msO0guH36Cs& z@0b7W=r8;p#589Y!F2++)bafdk+xK^o`@ul5 zk9^~emfQ8(izT=VoJZ;zDb8?_8!e*Q0!8d!9BXB*lO6nG+`VWDrIQRSIbD9m4Y`fj z@MbCd=isRfdTwoBtu1m#;KYj*ct#$abQCdp!9|TCTcZV2pGIptwrZ zRY*`x>)M&i_tTXFR`aBi?5P>B#lI=xrui7&>jyfJ%Y8%%>Vjz&NJ=&#kAWxueM_7< zmLKEJ=hz@x#*`G^&3pkZ=%-UQyN~EbmoUhJ!-;0`iCG71L!P%yQP&FSXrFoLQ-%#I z5DOTbD_hDv7n5Y9UY6_>$SP!2saohzC9RC|#EKok4=R9{t06ks{V}VHlliRnmWpN5 zm2+-t!+KLyocMobpf+=9>Uo?RnCZyrhgZnUw9}eGVp*G2pz125BTv|Iuib=&{z{vX z8)sAFZAeR~Ql;|17hn!lZyEW7_>KVD5rp*hxHp`OCQT) zGK6~-3M$@3q@hc&{4tC?aYtHC(Fvagn?yQHrDBeA$6y@!zuppL)0;5~UqVJ+G`ntF zPZ8(k;-Wd?`yXcZc$e4pOI`12Tku|2rkA7gqjRalpF^V+Vp{r$d4A)RQuJ3_$E-}*=_ z|Gr)H@}mGs*Gq>Ult)<|3uSjlI2~ z!Wc?9ooci3$Gc1S+mqobQ!}kb4aqcx&UiYxAnB^=8+CJ11ov}0o!#W!NFr+Gyx;$4 z#-C$S#SQrTLn8&o2$fv~_UQ{yQsxi2zrY79)#BNpEV{c zX2s*?NZrAqT8o}Rtz0ixG7cV_-ZJg6`~RN*u_GskEc47;Yc=xc+q{apI#UlnJ^v3c z)4T=!yO&H7+2fD4oKH}+x<%6lZS(VYfyD?Kp644PdU|W%*3X_xN=iIEJ*5)ppCZq0 zmH+QwZISoKkJuM%%9l%T@qC!+?}wWgr-B%}%gd*0>B33Ax-Z_`v6bojgqdQ)x zu~=VUhxHB)4u0eN>ZNTUjz;Kl2X_?=Yfz8EwL1tRupB-}1YAoEj)TL)@4tQP3Hu&>2{y+tbxn`(0T#H!c$f&D!F~$jF2Q?3Jqeo=6{IanL?V zG%vRUMF|K9z}?VCi|hTBP36*Vc4MQZMU45#-z2Elr#v$=gX6;xU37E0$`B{1FWF>3 zHzc#&r-t(rL7#i54;GES3s27ju7Zh@wnCKFUn1+JyDpgV^XJc0RD0{4fi6-mol&|0 z@R)kems>b|M(y?FCj2ROV=%AD6XjnfxncJ^ci6O_*Yp!S|-$lU&M~<1Z zeg6&zL%I-DcEYgxCQKA6p|i582Gwi6`y*B#b_hzFehh`o51XIJL@ge77sDwWh8VR{ zGBVnA*4lb{A4MOo_BVHTXUp}4Xq~!4FuOysPiM@XX1xZ5<1$RIqTHZwnyq~W*WD&Y}i_j7ZJGOXFrR1#D){%~|k zS%=dV0s>p4P%Hh^uQ7MTg5fIMprW6j9#W)&Bku%JN!t3iFEWJ!OTiNt_2=IiO>Z?B z#@+e@?vQwq`0I3;E|DT}Ig9DY7xr=u0Q7NL&3pvskUG`APUguR&Xgcfiin9B5@XV+ zbWt2^Z`XJ}I2FIW?1)&bwHl0}j0_DO9M2X*rQ)|w*?hquUV-T#Qo%+?_ghl`qg0qB z5{mUnVN0s(C3|nYWHGN~kw9xXtl_t3>rP#pKA896=G)DUxA53^2ME@!AJB-;QHy4w zr9Z45_w6{nnN;@3Ll~xeN1xDHh2?Nk-zeFMS`seh&+262t1fOj)K)Dna1d3@i6 ztINfm`uP|X%zrmHW2xPkv+DPbbd1fgP} zlZA-eixU9B#T3K5D>ylVlD#dCQsHCE8 zwrYL5$S!uDe_vfWRH%hHV-gV&;p0DEY)jD+Q&YoBf!?hE$~sq}u%2C?>EA|D+ibPE zd*t)QhDmhG-d~M|tx!MzOe@hd?Z5>kWuf8h%NHn7LqS1>VlyB?30M|H z#=@xcc|gj|#wIBc+}j5tYODOUkpc2rcA6*l# zcDl(hI?B}E9%M6Dtsooy9fhvKD#pGh<|(G3qAD=x4gsaerbVqcE6j2u$B z;w5(*ozHc}JCSidL)w^LUK~KnMD#wVe#E zqx$fx-8it-S9m6v{HTZ0H1hRBNm?U$S-g%o;}cEcb=Fweh08Z98J6LZ!^Mq*pY!UF ztMq*Cga)?0i%QqKynGM)gpD?j)71{T8Lf81R8J2KMW;_|>&q{4DK4j@xkAN!i5Loi zU!Vg(PY%o#jU@EEIhqHx8_S^EV!hmefJN(bfbt$disR#BUb`*vFcOSp>{McYVIjWs zNL2^}1;vgG%=ho#Z7Cmj_xF?dy}e9LO{err6PQLNP{;&Hs>Tkitb_v)<{%igw}tUG za|Oxy&b68i>(AF!WojpO@k(uWb?g$dri|PCrf`EICS0EiOht2P-?{2we@Y)U3GT{6 z2{s?g_nUM0IHhMaAF6(5rN-=ASQ+C#xczx9SX~8e(yh>QF#ZdVJjRf}ZO`U8%Iq5F zp7|r>{0zNg9`wnB*)o0)h%E;PN4*x(C7bmUj((|5vzs5x`(!T1gRl=QBfmNAA0gkT zmOz&R5I|pX55>UmBe7tBpzpn!h?*Ks7A5@h@-hMj)!M-U{B;)Y25B3&KH47<->Wdb zUeFLYEa&v-@9`i@0GFMQ6MsnwrA0&|j^-@qG_TQ#D`iQN$Tj|?yfTg8>N5Ac1-D01 z*87^)Y5zA(h!NZ1IQ&lpHP2b^^Y@A<)xM*Uz&ie9?(3n@SqZzOz4f@LTm638Bt|wF z`(4RIR4j+87Edm%c(t6UD}vIY|_g@G;^63sW10sj89T7OZ} zI$tT^l4!L5c>4j{00*mBqvj7l6z~8+XlrR{)R+hKL3)Y2kLIi188o__8-NjYbbOqY z?kolo+A-Y1#=}DxZI4jHzzT9CW@e5|6JSGRJZ)!g4=lG@tWD*1CggT1{+cZsNyN`C z*S9uRs0gM&D!bJ}XCU&h2+`%6AH2lAjNHdI5a6c(9bDYB!B8bnpAa z#?g#%Y}L3_$YKoEPA*b0!3~y`keNbraJSkc9^CI%5|HQexpc5ucg<*G>XYX%` zl|rI_^Y+H=`e3?0hI0IZITBMu-_5OoYxDaebsT(IkOfXaonB2rK>^qcYyhav6syx| z*3v5GNsniVEY{hauCI^RS}p#=kX}z*OiZX%a|;X1cccCN!JOPd^Zed&nIgU;0{OD3 zQ6;y>i_Q->$38x9BqVV32veS4dyMR4;v<1Q z4m}33P9}9e%{cwuU)IrlDS~OQ|Y#N z2nq_O^Lffo6sa&HB1C{rzy71P;$T3RGgbsM-0v0{bL`h{HPGKdNlHaVjF}v|j6PYSmZN`C-7PZ@n4vpPTQ z@s+{5sesomheE_YLkbECjBT6eW02?j!?MlZNWhW!a1X&$1$_kl+<5wrGHj?w2!=ps z_&hN`?R*Eamlxa~2LO}J-zM`QuXab%BgLPR0;e37FiQqk9v$2eS9 z*N4v)N?h^O+C^-zQD>}NDq0%r7bm0-@$NVn1b5UMk28V0Hey3bS`Q1Ux3kE+QX$fx z?QY`2Q~!oVP9D%9cdoYJ@tz)pzl)9=XrRVOerGDAvl@;w=!D^|g zsVz4+9v>aOfr3IMU+0&TlOw}q9Uc-;QZm^x)#*)$KEI(u4H{lt#7h%;_hzTF008~$ zY*IegE3#iPF*O==EeVN z^8EbUaswOMI#`(XK_4HVxjD5fe)&tl?;sl?Sac!!vDG%KUO=SSnch+p_XkVWMmf0W z*yA7Tz+E3SxSePdvRfVpFJqTX5t-dJg_y}bx?5Qcxh)NxALxEN&`^#xpztdp%!e%BTzW4vkWQkD&CAn=vk?-8cNKibHPvVP1GB z#10l;NxCS1GSD+KqcsP11Pr$x__L+v;&F5*piqlYp7&;MITD~dWM`iq$mu|wA&=#QJTPXWy z;R@bD@SE)~6&p96Pb+?jy_IO?7`T&9mP4 zIp%daTf4tLGz%SX%5tRFZD|S&d}kM24+Bg@GQkZ}uS8gT60(k=-Rr|yFfP6BuRcu# zgZ*At=Nybi9)d|@k|vG957nUdvkwggx&)GUb@TK@Pa%Bq!nGu6#XV2E4z3M&gB&ajVR>P{H8Y>Pw{G(l}p#-`2*9%CB_r8);T&&Dvr8SZuzcP zQO&p%#f|s@KlI+{3I;8YPObdadYNAP4?vdGs?ENZ=`;gj<@S9-3R;q{61Ah99do2n zn}>z3uP-*e77mB?QlN!^^U<8|x;Kv^MS{RC;6;%3U0CuT5EqdE7)=fKb8Dr#wbN`l zWJvB-#(JE(#2*`e(F5~lm;3I(Q3H;WZ`KVuJKUGstC^tQ;3rmqwgTuG9xg5}DyqJr zp&}S^=F@*Txw%s;Q05Vht^yFSby_@<>QNkahLYTGj)Fr&JL`U)o`aeMEU_ReHntiZ ze|C1(6OLD=Sr?JSaVr1@w{$UNodI1ZfLxB?YrX8@fE>f)OtC)kg<&}9WMYjAy#hoj~6g;DSd-86%#Vg1A_9Bm0_;z`;cmfY! zt5~;LIwA+9=VWN~h!XSQMjFRlT4VoOG`}*;>&S*Fpib2x%Ed<|hx};>1dqk<_ zbItt)t=BpWrd;Au1DA3{3(qDhu*=fAv8Yma=d;a}lNZ#f=UPs5Dtv2KfhK(gM(<0v+!C*yl%IVwM7jOy2KrM``dz;ND1_t6-bYk2xp1u2cW^PTavuZj#LixS-)FS+5` zpKMQDTwnz!x z%8F0D74#4c?i*J5Y^o4$hqhM}95UE5V7hW*Bq{Qm!{`%{i#ZMUUB`SlP=it$^0l@@x z@_+gfL8{&MKoWLzD6pD{&NoGn$(CNl#7y8%9_=qOOJ0Y3iTD~ zOA{3u!_qBsMKvR>&E|6&ZB|Pk{PAm-G^+JSV=@+>ZY=A)Pc&SN`Rnd1PSW_V5Ogip z)I!ssMcDS6PS@_S=)8(F%6jbZn7l`$M~eHVPI-03Ngn-UV`IS#0*`|ONRLTvy}j?$ zGvzY{Q8MdcqKn{QVZk28hpu>{J)|my63CUH1?1O)o|aSfPzZ_rYVc!Dzu58Tm~QK^hGlOq8Qd z$&EKBiS3wpjwNjd#5cjJGW_*!i`inT?v+O+fj9hTH^v?9hN8;2J9?fRMsX46g(?{0@r1s&{ z{8y_3%Th}qSGjc>A_F7a92}$ko$KWn^#f|=yf>3)w}p~%BMx%w&gmr8wjW!?A_HTobQJG=fv2KgYVg0+24p!V>*aWT2d}+qCBT5n>VTD@L z)ANw<-TjlsAJ7pM>_9)mis94^`9LYU1!5XB=@83jfrmjYnW`9 zG`|%Ljd%?Xec^5U*$#MYT|TE9<>+v66FP_Qzmnhl)?q-sfOnfqv|h{?!dvy1&2O|_ z@7U-L1$tPk)gpVGq%u(M0q2uRV$KCBodaxaIrQF`*$EjnH8m@1tZUSZ>bW0sxWVC% zA^c+2uZ8YN{0v`*3XL3*Rf>O*W8=k4Iup2^B+WJ$1T^LC<_5b^-tbpdp{f?d&K8XQ z6wL|h<}t-i+OJ=PAszhs3qQ?c%Sb%coRHr5q6?;*YJxTGj40)roMP9rEc1%+SYWYjX0^k5iFtz>B0#lw;knkrH zLsh^4bRIu+SB}Hv1Vn4HOj!>NEA;-`hgO;M)Ga4eY7BUXNH9t6fM*2cW=cv*8ylOg z)+X1>WD5`(6C@c*)oSsm2cq^6WBMp?h^Vz296Eo#mx`y|-`wonJWrHJzt|K>^y_OT z;qkn8(9_eiwY5#-apmFRfybbdFOVm8Tc8wRjDl@VCg67B@qmmiEG+P(4Yy%~e+@id z)6ujNrRPiRMenEUS)eQT88Kf%D5GHQ!(lf!H&2)9p+Ao63&J2d^1EububbIs=~$+uK91>cH^iCy}? zybWdy3^@Znm4JYNyxvNa>pDLJ0|QV-x$eYJbl-pnmZeY#;zPnDOp)G9WF7cq9YDPY z3eFd9%C0mVXvh2Fu17VvoOK%{>nOpE31_cj>69cY-q8({Z(gzQh| z>oz*kfpOaGewzlgDbPeE<7p+Z$b!lO{wc<>uvMlcO4M-xIf7v+DJb|OJUkq9=%ONv z`ATCTk_@qdjGGD-Dw^;OIY3O{s{d&mjQSlwNx0nVpR6$K1+e-S{38H#j0Ao_h~-Jh z_Q_gjL`m}LY1=lN+avCd{vkj*x>+m z5kRAW>Y$ z?PkyIn|piKGF8Djd6j*fs-e!CsX{jrkYEt`ppc|tOCyQ*G&tTyX|q`|jt zS*O|=JA2ggYa>!rTtpa$n3CdR5a${anMckQO+~{zEci+GJhRO5G=q{djGgG_=SIL~ zmN>9|uC7&DC|uOeA3n$-AyPJ-^)Sl*-c(r9Z#-il3}=)i{FpUA~wl+=Z~B*J({c7IVXZ96?7l&C1J&Z%)!4!$@C?!Fd)xOT%wArQ23=U-YnT2C$6qy zpePd{Sf*rGQmi(XqtiR_&2is+$okQy?t{8$ZFIM@Eo*Rar+#ixjYM#s@5?J)Dy>1G zTSo0%<-)V$3y4QVGn7lLC&y?&5rBy57f+LIg-cMBpyKA0uxI}P%tYi ztNgXQyZdahdW_c@@oZ<%7?%vC-gm^8dd(CkCH5OdJiMdlyga{Aj-Kuc5fZGx6s7^= z?jHS@ZEmjQ8^y=myl)c<^XWW{1R%t@2O;Y?CDjaK=5WrX-s%?HaJ}E}1*y!&cMvR6-WJrUIhVxllu}Xelb=!tLkD^dzUA1Z?-&V20OqP|9 zlA9EFsnTP@Lkzu%PE<30v6H_=XBIRT^*mDg5XbcD_*2|K$-A4GQmvXO zXVk5)5%PZ>hC`luBUp>Iov-%b+?}l*zdQWV%1xF%AD4U`e8w%37$1*?gX02rtK|f4 zI1D*JBg#c8-74)$AMJQ`$pnw`NumX^lPV1QO9F4VNF-_o;vQ}Z%Z<7>s%Fa?7Pypv ztK^=7WNF%K(Hl9eRiS1=p2TPF;VT$$T{w5nuR#@j7TA``<67x@wyV#GgM|OtN2f|M zms&pKi*V_F+BZ7YWmhIa_*T@Kxn^0(^gqa19R)SnXx)o0O zSu_UgAuR2i16Fe+#LRnP+o4jJ*XPA*Ay#y7YOVTX{^RctIJ6q99R;uxSXAlXw!(i~ z%4=q#3%{fEc=bZ|UbSGiN9tNgqM8iZV8qKIIPtMwIFZT+}mp10BQhJ z11P>4)Nv|+F#^LC_?qYE=l!*NVlOB&qFgre_k-dF+QyTIB>TxkizQR~-!5TR>s%U@sr+0f z?GIamIgqDZxD1(>Wnyu83C zUaYs@1*Voj5|!ml@jQ4&)~hW~!0!gWT&wpB;lS19r4Yf8<3<;pB|YHX9aQ|ATT77} zil}c&rEeh5yp}iUrlTHrd*{QNbv&2biso!|DXdi$zqaVU9(3%-FbJ*UuT~Z*9J>jU z7P)Y?R_)5(9*otSESfyB*60*riW`S)E3LabN3;Vex5Jwmq1dAzrf`WP-LDUfGsn#mMmNX( z9!^PCDMflQ&#%&IY^@V!j!o#*^#(Um8=aDRw-*-XrV1CwGCrbu4S9#6JpBQngPW6c zesM7+l)3bg$MpgT8&~~6bsq~noU1TwbUGeOb#`{nH}%q>NXI6YqcXw^PbkxlfJ1P! zzjc9}dF88EC9_*F*_{9AIJpbOra9S8dWrmmPK|l-f!Wp4Qb~!BGXJ`<&e{B0>Z>Y8 zyx@7{XIMsAl1Hz~09buKGh_+tHlNo(C4hAW-~vQ>#?pA*|H&JBRLBm7em66m!7DB1?L6Ub>qq5*5Tb{{|p5V-*dgQCNF9y{J#6`_g?;PGs7 za&NmCUMyXy|9;hns;n@Or_HUy=ZQvusa_`Asba+q&5v}za^Y-K*Ay@qKTS?%xl%Wn zALac0^cPpakKWC1>OGn0y+=HDACEkt(>qI6bC>g)xmTJHEY#{=uZlY9y$~YTdCYa* zN4{)c9H-c<1iY}@^_6zM+d$hq7TEv^bL|Gl&GwiK&<#r#>yNG1{5I|oNG^x9TK4uQ zDNj2)4K_BDIm}{L^I&s0A=p$z{L`!~k4_0CnYVqmjk3W(k zy$OqfZB4fvpGcCvNtHINw3R>Sc)qL8$;wE>nZn%p-qGz6L)En2W-ES0amLud4x z^+CY^cs9#9lzm1ZH!cQB<_eMsiwfs0RT?8;Sr{9~88_R_b+biEbt~ki9uYK2-8Dsq z(5e(e>hWfGO4Z|V?|1fmn+G|{bomUu0-u|K9kM<@cW~`C$(~xFZf`V`z>wyR|9CZC zIB3(+xm&8Cktsdzc~}<&{bMeO5i9-J^7OC%Y`jKz@)C~|{pT&?wiazR8fDJL+j50M zvnz|hn_&%YK93M9qh^l>lcy$ftCVUSp65~LQ_{Q$oErP>`zloiUXOdVu3i3SJNxTe z8G}r5iVCz1!)UuRb{DO*@v}=gG*gaeuMLl@y>T}4sV}35onW+Uf@cB5Kmb^Qn$Kr8 zmH~%O0mNcHVCqO4|9~Lk(-f^`1U_@urY(9GYfoZf+vu?1zGtIWcKmKnqn-14wO!O^ ztToi*Wo;!jq{aBga)rLGHXv&nOVun)wfQiNp7uD<-AT__|Z z#H5w+ z)4l+?1k}}2r*~qCgg-MuO3Zgs;>+In!4Z7^_^8Cc$9=w@nsu$NS5uN?d`>40nCX?i z9H(>Q#^@$8^SI^YSK5%pu`zx(WQ@hWgi_iz+R)qAPIpkp^ZjBj z4sTXAoj)b^w^CQp*qud!+;3jREO92yB*zpOnQ*tKI8BbCSh`k^$$QRF>?K5xa@&ir zv%WqHj?%`t&%EA{w(%KRbF1Nr{UmSL*}e%|Xk6LfQz&K?!M2k-jR779(}l_(QmHNN z0IFt}Gp^8S^;!mYKH%nng9Rgbp}oMzz;@$8@o#F_nv5DeGg8N^uQu5~3=CWN%K1rR z(qZ9YFXlQ1@@c!Vo~~4Uum3YXKHl8~&#>H7s*=0F^X?O+1e5!GRzZ1C#Uusp`=22- z2X;!-wd0UmV}o=V!~N}%2z}(nrmu!$k`l^et(;_S+%RIDN`XmH(EPXOiuJ8~Mc9deZuF zDGAx{O{Z=vXT|B*1LQ9!!mh=nvMVpI=*`RW;2<|IU0i>jrJsP_Aw^ZNLBI(6aV?gM zP;*K7_s#H|w+qvMRLns*C`2xTunc&bUZmh}|mM7%cKR+O)Tgvua)BdpW>Pl@l z3-fqMODNr};C%Va8p11SU}*n1w{8`Pj6c`vJ$^MW5`tM1FHWOe#N>V6^y7q(hh8pI z!RhFxNWe;5Qc==)A~g`Xc(JK{r2YG2d2~Q?=pTO0GURi~W1~f6!oRlnh>;1K43|BD zqsCR*mfJ#si2Vb20}}qafjarBphyDQUWoomQpbH)KiZnYaP1Kpf=GWAuwk_2#LpGA zB8R+m-u8c(iI&RI@Y5+&s^lCazrn7piMw-lnC2>p>XjRr+o&L<9WY~6lQNQSG+@L@ zq<|T0cfP%~$nz#*{#$I51j4a+%qHV|4ta`bT7)WHyNO7Dcw8V+3}_IHPe1j;RcO{O zl{IQKO76x?h$D3C@7H$fr(^CHE23Q-v1+Zp_&a5dq#_@2VwNe3fVa zUapW}yQHJNXwn3Foh`cx(ig*2PQ+-R7kc7vPcf>_C;U{qnhPN7_-KUM;{Df85HBqSvTsU8JUvygn4 z`6_xwU)w;fGNg~bJZ!h~$B&JT0b6gTL=yzomb9*zM5vWZP#@feiTu>yB=%&gT(lHN z7cyR)`!f+8EiKh5wa$yb77CxU7tb9jyN{+Z=r+XGGhW^$k%R>WnJrWo3TA$J`R732 zUG8$oee@!{-4hO*hOPfW%RnPVV!BpdLFX^57S<25RE+`!8x zLBDn%IT%k^6O5`?q9M}#@8pB%19Zv)vzQkX!eGy3jMHFWDC6)rN^r0nY~>kL3@SgJ zdvZc-%NM;ML5QN0NBm_0FIZ$MHl3t@=vO_?I&$rDC6f_Y($hb60FagOiPP)RMM()` zGE&r{gU5%7ocwJ#ti8h9w=H`(L zH7ifr;8(ha;RNwc=ez#hs)=bc=$F-q7x+99=YuQ$)nv3Hj&;;&S~35*g~!K7;8_8e zo;%M7*n2>WdcGXx2Uo2GlDBi;LDmc84~zZ<7$N|#K*D8(P5l>_eFqJ#=ic1}Xhx5Y z>R;P+5R_!(a91u=Fb0Rys1zsid-LVVf{e#no3EMAm=`9MypKBS`3G@-Z|^SLg>86D z>L!o7UrBrhU9grhtKJfCFkndqW7PO!gH?1ufEy!VE=^xd{7nX~A;!**28Bx2(!c=x zKo{fW^q@6JXc9k+jmaP70A?f7=XHCM+S=+3bmt7NE6lTsHQf;Jk8WstC|Ade*ldlC zhd)o=ik^qSK%e8rjoW;A@R38#>kX zx;IjF*`^gccK)_N05sjbSI1xmy z%nf_OzKvzHpSHe45WJG<1kV6)Hzu3Qo#8s0RYH9Huw(#3@z^bKY7LJx05bIg%o7+B zNJM-`+uPm6$q+=c4sRZdD-cWVqcM}q{8Bv&9;lGhH=wJsu*G~qAjHNFZ29=5u~?yS zY-|$~6&}hgPal=_YUur6mjH~4_U!sVD8`WHSJ|(AF)}bAfaG$Arc3%>egr;eB?x~4 zb|SRC+~^DxsP-VDT6gd+LWM!M{11W;@4G?qR7hV*l{0J_zJ|Or;4Jv3K^Mo4?sgg_ zqS}c-_qw;4{ux56uyQ2R|Q zvjAHvlX>WCw^4M1th;+bya= zHjn!a?UhQcZfDDi6=%ov2I)M@flr4Ey=8@z7<&Q>G z(c2>n8FQ~a%caq7g1sw)p*aQgJ`Yb%APa+60IJ<@t+!Z^k&*L8kl%%~EyYvH5n46_ z!bh*uY<3E8;3{+p%KuOwW8t&kL44*kBf(w+C9m zS*f1em8X6UsJFHmAouv~2foLv1(qBL;_0`ZtNzi+vyduCLuC(yQx=-Be|#k$Bf21_O}LU?bXb z;HDSoB3b<5bs_RWb>ZZe09OJ=0p6w9<7%_taXzzIBT6Af4$oTDXT?gX5H6aXJs-l3 z|25MpS)aEpHIvwCA~5*#t@dv>n4@qh#hI&%#F;E&DFerSueG*iv2d8qaxUcqY`Q7q z%d|tAPEW1hFU5*%w0um=o3PLGj@^Q zw1hSv@042I@Vor#)lez34A$4YNp-ytq^RIps2fc2??Qc$`Yudwrym436-$BVcWeS4Bidioqo#UKK~nzhv%OzFnYTMM>v$1Zn?2tE9q<&BlZA zYioMd^=6a9xtv&*gk!`_uphpJ$ZH4+b_9kM$WtZy6%{~@694MZ*|QcToXd*h10m+G zu(uib?(OdqPiW)MGHcpj9jswWT7b+hcoU%&u$&9Bs0 zHE#rj%4xG^Xap>DH=)P;N>M!v50^5lcUtU8BWO+~nDZ1hEuBvUG536&v3B+4vO#zav>A>^#x|GZz{>wG$=Z(aMcpJzYMegB5_TWj5yTt7O` z?KQ5hAP7G&mmTTbH)j1^O-**Ca=`A#H;x6>rD@l?1A3P({Wx0Uc#Ma9#9N{xSx2Z{ z!nW=Y%Dt{5O0k>a$;ktq**aY&wtM8apVk1cvMa=_m^i5RmsYr;giWv!lRprjcd^rT z+2pY9OP;dfGHi%1HF9^Crs`J6EPTaVS_taRxCMbgsm{WFFZ`ucj)CY_`=BndHn|{+ zTt(fa^Rl{fWL@JNui3O4bZ>-{Nwe6oKh!DJxfA~7XvpdDvv;@9y|&|eJW(T9bdP)T z`gz(62OFo=&D(dRv}=qk-2dE)>frG{cOr`;D^mWnwn>5E^Q((f3v~;3V=e{ICa;M~ zoOWOQ^PyzK@c4tLF?=qnT9Lh(x45(7de1bzy?OG(=gRoRtjaTb%S@j*{NH8Oc+T65 zzFEoL78>Z_Hlc$b_R*CyOK32~3>lj<7H@v-gglbPhLpbZV>kF%yO``FoZB!l0r75P zW+sZx;P7wC=YO2Jx3Z1xi;N?$4qF|Q&EBGuwm1vlA#PzN!v+ZYfzfMNSAxIqOpm*$TmELjT_KsKfWt^!7*TOZkN_QrO+7+5z z&$DAc;*{HJwlX^OE>u;;ER3qC-)(4IrHH4(%{+^P2UJCe-_MTpUy`t}?+WM9`DQlP zRmG&AaQW(&iVrLP-@nU+ntakFG6Z~VYT2)J@?&q{+Otz1s!l{*{-OFJU&pJO&~WQ; z!${b1>t_q&oi>>^d_JOkzD`=N`?(WCg~Gq~7thvxdH=Hhi)UGBf^}wSu<`aMZdQYp zO}{=c_o|+}Fra3{_nkG{&adU2^>F?|oYOCZ&A2_2Vo|bdd`)kj+WvT8RUz3hvM|wt z+4xnAG@+#s%e(RFr!3w6t1n49v`d01uEtfv^XHUW0TE z9)&#QDj+2Qf7hl}&AA_|`ks2s=usM3vpvZlq>115Ui{tmIC;CbJ8N1T(QEyMkV2CC zvyGr#w{vsdLWFV_P6`x>i6`ja?C+H@F!H%{;croh#|B3R!ESEH0)2^Nxw{ZEnfgg|dJGgpn&J|jH{InMP=4NK~c=vAFSTUze=H$6-!iqz^ zOoTERf3CB^Q}^!BiZpl_h4K5MC57UJoo;Jy%HV*cv(Ddd>J7}2_EhRG0=R-+=No6) z+|>-mn5ZEV9mX|+T?H~vgIDAbDE??do?ls(5&rt^n{}ayi2vJpaVPhW&wkxMmIH3x zzSC_9larH}#CCw?E)jP)t6g$FfGfrB#owzz3B()GQ`?ut37h z>ZDC|`(VfC>6=%WM-J{4pE_Q9zfw}g=R*edyPOH`?Tf`H+o40dI#Wl{nSD%Xza}O( ztnznXe*&2#Z5BL{BIf@-EP9UegP4y(mxt1DJLPk56iSHI<*1kD`P+_> z*v6GU;M-y<2i%#Sfq_@nwjQ{N9EqKhT@QgsgFlLbgBysY<|q!7loAi$@!c9&cRfPF zSyXOI`(egJ{jIFpH9LNM6Pw>H1&So|eL;*9joYa*OwPgHwcHL~j!qne#u zmGaxzq6*ciy4iOe+2;Jh>#1u(_2YT^Y@Hm+`1Jdx1u=DX8tjq1@)yPlQ{DFC3Yv#n z?a-&pAxmTHfOU>|HY!G`9`I_H1DA%Mudgk8Vurk?OxP}zSS2T)?*-_EU$1rFvzj+c z%?X^k^Lz}+Kr5nSO1XG=)_?>8oB~TCEFwaWK(J*mIl8BISET9MaSIhEDR%uH{w6Bd zG3Hkx-6FUPs&;{er^|6d_9&znUv-fpvquC8zJ|#LCUEmchamUn(K5X z@%o9B@Wz~csdLf!s+Iyzs9DI5Wl7kDrOm;oh9DZET;)Au^5h4Il#rU{R41%3$9=J_ zf)E!ZU!5!bOb+rV7%#-Be25^A78MpAetxOM=UYFd`f-PZ(T`vB@wvJ*eGDX^h16v6 zV-%~*S!$f&o>NP?H*U~--Rl1M@qlrr8YoWfN=kA3A-4MZkoGft(ma2Do>Vdzq?F=H zko*X*k$6TJLXsYXm>0*xnYjRJOB!=$zSZE-n^#xX0F3_%1S348mB?}w;Y}VIJggeT zs7;L6r)Zm6>O;;qLKCwW+iiz}6Ld!RC_lIN$r$Y9qREM-$up4<%E`(a!I~3%fW^6M z4EPhR?(9&7lp<}79j)(as+8)x2PpNYtoSJPq{-6=ZA(i_iYL2oFT9Y9{*7AbdbnY> z$)Rr;za2#&bdFaBS9rmh3hf3-p^P%s=#Fym;mBN&vwWFXEJh9GJ^t2JLH1NWJ6!Fh zLA+?RPJn$vJO}%3D{qjupqWP-%P&OFZN5l3zK7-4XaU5o42=icO`GMSwO`qhaqB3F z#@TVHc)TyQ>*Vt~OaCP76BTa{u#cuD!hIQs{7q^F3KtIgb+YJY7q;8BS_TIVq|NTf zm6Uh@Xh~Ca4avLNMs|H;V|k?P8LDi}+knd6WNB!8asW`^YNz~YMoI*n9AuIN)k9>G zR*!9e<4;w^(qRumH8lg*ysJY-PjE0hUGspA^cGw8CJC3=>iv9;t!HS?GV`egeTnO1 zd3^K>9^*=2 zg^o*dP?g??;eo#Z=3QJt=TalO$3|8_8$^E+aOfGC?reV%&oljvd}DBQj%w)R#gjJD-Lgv6Z*B zwr(P@3sKyw(KaDun-mf*H_CcPo=Dji(cWbwO-B_H0F)plJWwTt-l*fnLtRt(0N?JB zkwBD!Q}^mh%gfXDU;18b>ij@hxBctKaDt0WyFW=X5=Zk`H;e(R1dlqH9b(^RdC7LlK1@h{23LvM5@8m)RcMA3HrK} zeIuT01eu_7Suo$r0r%$+85R{i4NZ#jg>mT4I<|SrAEhZDdPm{5`FCHCNXn*MsxE4T zJtv=qWp<*$Zvnsw6~55H>-8ZiVTam!1~ZFW2sJt z>jvc98P%`8@XKZ=wd!L%FDz((tQ1}@D@ylez>*ic2zhNP$SXxjno zBoz>F@Q|`7#@A5Br^3=i=*rlaFZ)0+1Pgs-Z7p_(f~cfqn_93yWIM?pWH27gZ9q*! zJw0A+2@-(()`r%`Kq>Sj?IFXm^75}ADt~~d(9_*5dmi2SA|*`m#7P07A2rS{c5GQv zsf6kUbjC723N0258vM3NG61{%C8tgSsKbvj1g!_n@f0n%ko!n~Ea&~T*A=^yEy@uh z5nzk5$!wGhS4lT4W_S9ul6_Mo_y%>p3->@k){EhlGlmPGH7S(7&Cv{|K;QcPec1%K zCGfZKTKj#LbX&F1m1s?xkshk=!Z^YeUVt}hEQo*qU6_${;X&`2ZW2c9S?v!LGkxz_ zdD4Yp@B7uvCYUz7fP+NJ}y94cZQdS^G9T zDQVKz9ybFk34$fiJ|Va}1;+bF9zA`I5`DHA8u}J^&x1K%&^_0{Rz z=gfRbBJho%XS0*pCfJA)7o5_$>FM{+FM$K>f$Q%ctOPyRLCj#kK!lr2Id8OXjm?j- zN!hROG>~-L!%4nvD>Q6&#q5IhnYDP1h^xsGruq0IWF9mknmr|2{GmaK%2UV#RSnEl&HA-YMT;_y*!mABqYvMTy6-X1(p`f1WL%Agak7Xm@&=3 zfJV-Tc=Dvmoz3J1>}godkPJL7Ttqc^C|+m_H4|YKWi`mf@Dg0atCv&qQuWrsl9Vz( z$E&_ld4T8Jg0g$Yt8#8Frr5^h`OCl6yY7Fa+3Z{F$V+NN6~4Z);o#t44Lx7g1qUn_ zhhvh7BxGK^9d8uhc~mI*4Mgay8^_Aek7*}p-Zm-p?!AAEi;023y(hl|GLs)4pGWwi zhWUV(0ZonB1G5>VY~244Mph+tf3IuzbbBe2h{rO-7b`8T@j~P#+2IF1v+UnOgg27n zGp#!2@BKv&t9#3<12+C3vVt>C&CEx9VAg+NExwgO_0sof_hr<_N^bqc7rt_!YU1^y zZZs`4duU#y9ga;sG&rc0#KlBIqxqMfj?Svw@h}EyUj=9o$o5EvVsr04RXdDm*cvCe zw7oQ~qC!b1z{TZ0QD$>~^h65V zWu3psK*5&OEmLLL_|fe6NId-Ka7r!Vy20J zgG!O}#;Sj<`NNJW!|N|?M;Cn2C#y6M5;#dtY~xagjvNW4*-Am4##Bv=aS88&NU5sx z_3PJQg!K;em#58j5P5`3$EF0eW zajj3q*{_oVjvny|LgLBHuB+6UZ>&>)8KWk!~6H| zzfBXx+!^dCB&7^8FBUK~f5(8plS~7SC{%$u4-uShG*_8xkEmByi?Em&_13MadXcl# z!qj~#%F65#CIrdEYxoxyR=+PUucD&jkg&EvlNr~-DW6E~C_>1N$5GO>^kEQ?Z-oue zbWg!M1Uwcx6b#NX9b|J3fU*M0McazVAa;)hE18DFU_RkYI8M zY`dd;;U270BCp}yX}-pW`UaB(>~L%(@(BHJv7jS23RBPv+`DsWhf2`Xp^pIDodFYKEm?Ti81itJLk0%?yFQtQ z8i5LHJT)|QiwQ+S)RdCAIE@dfP=KRRdw8_6ZG8~ZHe52|`2Hj&-u)6>!rTvW2Zejs zER%-dhMul2rc?gixrbLiVfPM^8-o`OY$kDcWf!6tqQ2R7>wxV6WGF|HGXKnf-{!s46on< zxqcYIe13LNVQHFV^J5uALj%3t^)w|nPi5XGmuNy%Gh`$rXz2)V7nhgyQZz%AoZ3@R z676;CpM^`x{Xx`^NWgc8(B*X=pnd;h%n^E(eAX@|N+Ld>vc@ z@Pi;gQbg|zXO+7SlwxB%5$eY%sF-*owX5_+Z)Xo-rQ5cFYj<~%a&u$#OV&{br0C9) zA+%Oc^YSs<`{$oF*efDb%Xo$m`DhgLS_oyaSaf(QZC_Fl$p48y1Shw!tM1=_MEDlc zW)ZQP&4vhnFgC|vimlzKFg>s|FeJM6D9D@UYC|9f`O4nYEcd7;+lVE`j>esaT0tKk zI~!wI0xv64{eZzJ0w(R%o&LX2h92Y>7ZSQ>QDP(Bl0;f)V#b;Ek?*ye>=#g`TcARl z=@xNk0Q&(1%VPQ+ONzYl0`*cP*AJL+)JZYG*zIM^4ZmpR=Q5@1E_2f zZ#ylqgpb|2b7vhRJ!n{RYI>Z8!*7Z*9JuV*0xTcKED;eAZ$5jvxw$!QJ9vYZ70X{( zdul~e{P+WQ$xgZAN0U7t#Qt*lyCKj;URdc@C-Q~YGUY0HPamy13$XD$7o-$0SbIyF zrg~0~2<*X2S%O>^0mpr~O74%&{aBA3HTO{&Q&Ur;l&4~4;Q-Yq^yu`&gcnd=G~BU# z2e|XYE@_P1wKKIdlI)q=)Nf2Kc8|4_%!(146ttiJ!rus;6y>G8m z*f<@ntQ9TE8V#KJ6~;Manr6B3r=)MJW__X22>L<)aXU!Lj#cQ0L5#70Y|{U6%FY~8 zAzY8EMz~Cmk5gp5G;R$+C-C=k@~IR)=BKIHd{01?L=J9$Cr}@VwyJB!yHrBeU@JXm zQ~uVg^4mEA1FqDYsp=i_rxSs7D)cV~VPtLbhlIK6r47t={3GT^fc7f3POm?QDvqEu{u|CaWUOH_CYR!$;riC`yOz(Q@$oO zvDZR>&u?g7K?|L5NEp43J9r>K7LSdOj*>-@BG`^HXzN%~h%zJ3eB98?nV6cUeh!4R zYy4F91Z~qh^0TQ01!6stkOy^fWe7NXM3+>2eOb zSOc9RfH#VXGJ1hDivYe@3t4LwcP9wc@{pE8P#+aD-}-nn{R*=XsQOL-$h%(h15vuG z6^cf7YIb(G$a-JXOPELzF%-Ie)IKw{HI<;JhqURB`j+Mo#uCx1wtB)E`4mSB&FI1@ z-bz7xTvKzvWE43hZdaLztw~GFPB1z~05@C4#oS=ipu?qmrawMkCPA`yR1_{RxiCd2 zpv`%534D!5s0ILk#nbQio(>ACa%f=+)|7Q>=Snqj%DlZYsHuHwtJjq+_xKhMsWqu{ zb>VF^A{Y?1Q}5hq)+jDX1`g)HH#yq34>8k(dx)7?FA`hn0Wd2C*oAhNA#)G|yx1%c1@^yzS?i0V~iadvw$8%Mfo zqD)fkF=6fYTWM)&3!Q=wq3TCLh&Wgp$@_XZ6q4>#hX<#&u3xXHs;Y`(jr!*ayF#b9 zqq06Q^k8SNz@UO^lei+4n4N2TbC!6M)K^<}A2Ue~Q|h76?RM(y+P2edJJtQGAW=fe zAIdH_<7O?}8_^6m1T0qAr3pmxZlUx;s7JY$xZC<7I!_v)s+0>m(Hn=f+BG#dlLq!! zPKIfUtJpE9vKNZ}eHITvR7a|Uo=h?tg<90(B4GBVtTZB{08ZA)FJCm-mE00gOa(B?N@TYOE?UblEJ`5hTs` z;NvgYY@`=zUX+H<)aglgKl}=NDqF|R?Hgds=hfBd6~;CGU5LKxOa&M!Ncr~>2e4+E z?MY~mKX$1=B=HD=(1Z;d8WMutG;r@Ay_bZRKf}L|-XdYdF|GQOq_04r9Arcy>qy^d z#|qmL9Ywi z{uHeS6AqTxw(V^1R|BWE^;aBE`?$ROJ$aCxNwQ7SLoJm?YyKF*Sfua&)G))uKcSsE zVe#?(bQwX-a*hGwlU$axyczYc`}>EM8jm+sqHm{ZV5^4j0TT0PPe1UZNJgN+N7sl`;+z8 zlf9+&`j_dIn7w=D^}|L;4HM0q(`Z>Sc8q)NhLYJ+I3czI(3!nQGRQ1aK^+$KzDIHkepSB z^%hOtHq|m+~He?kqT)-WItZ0vV9qX z&4V_^ywIeX_~)0uIx9CL75TmNn@Ts{*-LmA4ej;#_{6XA)KKE`ucBj5?^IrjZ`qR> zn=V_{Q<6cvbEhCS<9)ex!D&v~)UmjsaXVfTDZBPw{_;!Vs z*4F!6I>|~RnE4?+BcUuAckZ=V=S}a#cm{*ksA>5-&}vqrbA>?b9qza!Jx| z6UF(%ut_S?&r|i8@{TZ{TTv_SZF_Js_7we)>bn!w!h(B?of03^8FN8o{!8fG>XXA! zv&Kv}?HMJX21~IIW4OD*!PaimwRO0(*=<~&!>0)`p0}st>PR4$E z^h7bqsNnFCHM6h;nm`)w7}Dt{yTA;p1rHLdoTRZEEXQ+Ist?-yDaIaN=X+u1)vuG} z&)0nBSh?1T5BrK!{9HsUF2SI*3*?|T=LwehLq%k%rKoQ&Lw($=*{2glQ=Wc-$XR$CSAP;lm! zVtiblHC(mVb~x+z-n|%f@7U*SSrQP+uyEm8thGC;RJ8*Gx{`Zc%w_3VSpP?RlHz1P;J>z0*}$neQAPA2c_2HqLl)esM^3(}&)v zqj2PIuz8V$Syk&V9t*kS(rgcv&eVAZ=!cs;G=cwdjsN21o|v3;zg*P+ z;!&OEmhY39&TnV^ObZOWygggDGFzEG>@#}HgkE@QeqMI_X>|a-0+E}Bnwn(YcGaGr zF&+c&B2mJs$o!qWwmXO*nzYyR4Km9wG+s+nIwNEAw5jV8`JBfy)sxcfsZwR|7+ZQG z(X>t5L@CnayGK_%>WzErb*(>qUvzR-Z}kEs8Y z?dFxrAITEm++;d1+JO7|sV3lY7rzfj)mwn5h25NXq>in|CJ=7ZG{5R(8W(;ocrD2l ze^gn%YM}V@^QL0DQOV=@5AP4TFG<%_i?`Unxm6c=weLZDeGauzl7t><@3tmk0`7~N zP(RNTX(@Ff$H?cwzEUasJ9QVe%?xIlU9-wqWRiEW(=t#wJkxI+D_7x-F?zT*uoB5p zt|F}-i|QznyIk46ZO*YIvu>{M{BTsGv;UiwV|$7m zz(57#)+9|Qq4@ewU3=vOInF&UyInTO>$|{zEp(R(F{UWzPRqnspF>4dt?~u@E*qq| z1Rj7P+BfLBF*Q@hYy)r)0H!oCN3m$C95bh_jU8OIo`mERb(I;O8^aqG@3faaRCgyu z9z9pwVow|9e=zN9+w1+J)L(DzAK<;p&v{lvE~8qpuvcF^{)C;Y!RKLWQWze$W{Dy| z`^Ar>h7A$Hu)}k@Q*bfNeT$h`qQ2;_Q~vhL&2nCUl8P;7r(@`i`NN260j5RW^Q)VI zHz@p5(-QVxY5F=HseDB&J=u8V72y?q7==N3Ia{6o`tQFLEpZ~ID$AsF60&lUh3*SH zRp8MDo+u-)@;o|#DcV6Y>nq<(sY`fAuDUk=mFSaNW6T`(`T9VRg50=7L7ZboO?{wi z@YBn|eiuc$Re$Gw)KZ0(=foa!w4L2KDPP?b@9}NgJwlp`X9xcdJ_k3k%1b!q;$qx~ zHnbmlWr;L7MsI)j?=?x79F{Wr_gF`cU|E|N6HfpzM>AjmRr`)EwXrXDsx2*JcMkYg zTwK&Yy`f)woypM9yj7TulZQ#+P*D-Ve(bwXi_!P$*|e6K!?vx%8XF@uH`DgDZT1dI z#ho%E43{U8f8(4rGPYRjlRjB!lqwdheJ(Sw)M+e6jQLdCSsW43?<#S@>tj}vbevK8z#A8R z_cJw|GmM;J^aTu7Pa8K|p9sE5?ijWgVJ#cX=WiLM_w{r;;qN`(D)TsIw(7k7yS%Lq z{c|S+?ce+iU2IvoRHX28JlmSIW)_;xHr0JHY&l0P_h^1n^zrM>=$OdIPvcVtGI~h0 ziPpMo+;!4)9L`4owR{(VeooPzU~0-Am{FRsink=Al}`?8K#G>vb58GBD|zA1{cL&Y zdUd*<;P$r3TMI|1E?<7moH3M>c`C7T&xjwV=ZC8oW*X)uD1K0$Qn{*^XE1PIDTDf{ za-i#x)iWZo?i!VTGwNjoe^FW6zTiTNc!Bk^?8_cvJH0sn1ttFIf`Tsz5~k?Yd{A8i z=2pkiL282ZT|Ck9Zc)SLKgSoWsgp8}Hbu-)O4sTZg%|UGx@=Pw=B%FSR((d~Ebr$% znJ)~Fm{0p$Yg$Pln9G|uEN7n;A(kbY&Cbkm^53R;`Qg3Q+VS0m4m%_Vq~1&{hHM$> zJ$p>0u5)+b*o*M%ez~Ig<%aLb-o=v&D*^fN|FlgLBvlchwb&vfCp3Ut~^S;@tA2#XixPygKAtskwA?6Vs{pw_8 zMdigkqvLTc=FKKIM1*p>Iv*XMo2u(wt=X7-t8^`bGQyAD^UWWzu66NgRyRbi6Iw1V zBsjU6cn)nZn(oM305750QFQB%F07y5!e4f6aMeGvsAk=-^P65}Ca3h&u?POga-XFv zFJyi?ryW24HZS7sIi~RIpJQWO1p9>^IRy(XR1l&Fv$r9Kn}6zWo*b&z)8804_vm#8hq; zyAA_VV61594%!f_&S%5spK8_MVPA8LsLgUHXt6}7X^-gY#e5KTT~W)-daTxIC}>&f5pZafmPEebA66y$Y5 z$$Hc2%V#B-hO2+SAJnlpP%})IEKPPg&En2~Hk;#4#CMVrKYFU|Kq;ZMO^D`_8wY8k zy_cVfh%=RLZ!?{^x9#@0sX+nRFDh}C&zCdQ1^22bop|Y#eoj@9i$UVBYf9UgXM(FF z;Q#{{qpq2`WVh0aao#IwUM6bKn>UTcXHD;3EqV2PfZtTIcUv-}?vhzy?^MN<;=jOn z!jLq{2@S;nEcMuA174MEqY6caIknP7p58yxI-55Orr5>DGZW%&=@_$6kjg`X`D2i- z(2Jz#$@5wCL-`8D5W}uix$waq%I{nhUlE$6db&+-cgHDveRnubY7S|H9s&}^K+*_E zyKH>|xm$!0#y_Hqz|;Dj)Dz;)|0O)xSfl#tX8|AEKv11`A;ZU8Z^QUjP3`DO$3S6pt_b6ck9)Hc-Z$R!kv$&PYo;!}q%H zUucw$#8?6^8K@mZ6)c9$V1|E zpd6$WVoSoI^O`6ekpsb|L~{=tFNNE{x8|=$uVi}`|2y}^PV12HE&W8vInX2k=mC1w zf)}IV_3eAqVbTF$JVEj}oheo|{hU?=5b-k=X{i@5w1x#HMD-+zeabE37Sf_@D0dl# z7?F`@R6%^cHGUVWaXm$Y!-uu#o>WwX?~=31(PcE_k+ToGeS4e2c0v_YKR|1M4=9LK z以学号为文件名的word文档由班长收齐电子版提交学院教学部门,成绩符合要求资料齐全者给予三个学分。 +截止时间为2021年8月30日,请各单位自行确定学生和导师分组名单以及考核的具体时间和地点 diff --git a/毕业设计/恶意软件处理方法.md b/工作日志/恶意软件.md similarity index 98% rename from 毕业设计/恶意软件处理方法.md rename to 工作日志/恶意软件.md index 7747443d..5447b424 100644 --- a/毕业设计/恶意软件处理方法.md +++ b/工作日志/恶意软件.md @@ -3,7 +3,7 @@ ### 隐私保护 * 可以用来论证Android隐私保护的总要性。 * [隐私权限进行重大更新,采取的措施](https://developer.android.google.cn/privacy/best-practices#minimize_your_use_of_location) -![](2021-01-05-20-08-00.png) +![](image/2021-01-05-20-08-00.png) ## 2 数据集搜集 diff --git a/数据库/MySQL/12 索引.md b/数据库/MySQL/12 索引.md index 90daddd5..b35a7e16 100644 --- a/数据库/MySQL/12 索引.md +++ b/数据库/MySQL/12 索引.md @@ -17,6 +17,8 @@ --单列索引,一个字段上的索引INDEX in_test1(test1) --多列索引,多个字段上的索引INDEX 多列索引的名称(字段1,字段2,字段3...) --空间索引,SPACIAL INDEX spa_test(test1); + + @@ -62,4 +64,28 @@ ALTER tbl_name DROP INDEX 索引名称 --通过客户端管理MySQL +``` + +MySQL中常用的索引结构有:B+树索引和哈希索引两种。目前建表用的B+树索引就是BTREE索引。 + +在MySQL中,MyISAM和InnoDB两种存储引擎都不支持哈希索引。只有HEAP/MEMORY引擎才能显示支持哈希索引。 + +创建索引: +```sql +CREATE TABLE userInfo( + `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键', + `username` varchar(3) NOT NULL COMMENT '用户名', + `age` int(10) NOT NULL COMMENT '年龄', + `addr` varchar(40) NOT NULL COMMENT '地址', +PRIMARY KEY (`id`), +``` + +```sql +KEY `ind_user_info_username` (`username`) USING BTREE, --此处普通索引 +key 'ind_user_info_username_addr' ('username_addr') USING BTREE, --此处联合索引 +unique key(uid) USINGBTREE, --此处唯一索引 +key 'ind_user_info_addr' (addr(12)) USINGBTREE —-此处 addr列只创建了最左12个字符长度的部分索引 +)ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='用户表'; + + ``` \ No newline at end of file diff --git a/数据库/MySQL/附录2 MySql性能优化.md b/数据库/MySQL/附录2 MySql性能优化.md index e5bdbe07..103e873c 100644 --- a/数据库/MySQL/附录2 MySql性能优化.md +++ b/数据库/MySQL/附录2 MySql性能优化.md @@ -262,3 +262,10 @@ B-TREE 仍然是最高效的索引之一,所有 MYSQL 仍然不会过时。 4. PHP 的建立连接速度非常快,所有可以不用连接池,否则可能会造成超过连接数。当然不用连接池 PHP 程序也可能将 5. 连接数占满比如用了 @ignore_user_abort(TRUE); 6. 使用 IP 而不是域名做数据库路径,避免 DNS 解析问题 + + + + +”建立合理索引”(什么样的索引合理?) “ +分表分库”(用什么策略分表分库?) +“主从分离”(用什么中间件?) \ No newline at end of file diff --git a/数据库/MySQL/附录3 MySQL索引类型.md b/数据库/MySQL/附录3 MySQL索引类型.md new file mode 100644 index 00000000..74befdaa --- /dev/null +++ b/数据库/MySQL/附录3 MySQL索引类型.md @@ -0,0 +1,100 @@ +MySQL中常用的索引结构有:B+树索引和哈希索引两种。目前建表用的B+树索引就是BTREE索引。 + +在MySQL中,MyISAM和InnoDB两种存储引擎都不支持哈希索引。只有HEAP/MEMORY引擎才能显示支持哈希索引。 + +创建索引: + +CREATE TABLE userInfo( + `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键', + `username` varchar(3) NOT NULL COMMENT '用户名', + `age` int(10) NOT NULL COMMENT '年龄', + `addr` varchar(40) NOT NULL COMMENT '地址', +PRIMARY KEY (`id`), +KEY `ind_user_info_username` (`username`) USING BTREE, --此处普通索引 +key 'ind_user_info_username_addr' ('username_addr') USING BTREE, --此处联合索引 +unique key(uid) USINGBTREE, --此处唯一索引 +key 'ind_user_info_addr' (addr(12)) USINGBTREE —-此处 addr列只创建了最左12个字符长度的部分索引 +)ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='用户表'; +———————————————— +版权声明:本文为CSDN博主「yanweihpu」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。 +原文链接:https://blog.csdn.net/yanweihpu/article/details/80254066 + + +## 索引类型: + +唯一索引、主键索引、外键索引、普通索引,复合索引 + +## 索引优化查询: + +A、关联查询时,保证关联的字段都建立索引,并且字段类型一致,这样才能两个表都使用索引。如果字段类型不一样,至少一个表不能使用索引。 + +B、索引列如果使用like条件进行查询,那么 like 'xxx%' 可以使用索引,like '%xxx' 不能使用索引。 + +C、复合索引,如果创建了一个(username,age,addr)的复合索引,那么相当于创建了(username,age,addr),(username,age),(username)三个索引,所以在创建复合索引的时候应该将最常用的限制条件的列放在最左边,依次递减。 + +D、索引列的值最好不要有null值。列中只要包含null,则不会被包含到索引中,复合索引中只要有一列为null值,则这个复合索引失效的。所以创建索引列不要设置默认值null + +E、字符串列加索引最好加短索引,即对前该列的前xx个字符,例如:key 'ind_user_info_addr' (addr(10)) USINGBTREE代表对addr列的前10个字符家索引。 + +F、如果where条件中使用了一个列的索引,那么后面order by 在用这个列进行排序时,便不会再使用索引。 + + + +## 数据库优化 + +6、数据库优化 + +关联查询中的inner join 和左连接、右连接、子查询 +A、inner join 内连接也叫做等值连接,left/right join 是外连接。能用inner join连接的尽量用inner join连接 + +B、尽量使用外连接来替换子查询。 + +C、在使用on和where的时候,先用on,在用where。 + +D、使用join时,用小的结果驱动大的结果(left join左表结果尽量小,如果有条件,先放左边处理,right join同理反向)。 + +E、多表联合查询尽量拆分多个简单的sql语句进行查询。 + +建立索引,加快查询性能 +A、where条件用到复合索引中的字段时,最好把该字段放在复合索引的左端,这样才能使用索引提高查询。 + +B、保证连接的索引是相同类型。即a.age = b.age,a表的和b表的age字段类型保证一样,并且都建立了索引。 + +C、在使用like一个字段的索引时,like 'xxx%'能用到索引,like '%xxx'不能用到索引。 + +D、复合索引的使用:如果我们建立了一个(name,age,addr)的复合索引,那么相当于创建了(name,age,addr)、(name,age)、(name)三个索引。这样就把常用的限制条件放到最左边,依次递减。 + +E、索引列不要包含NULL值的列。所以数据库设计时,尽量不让字段默认为NULL。 + +F、使用短索引,对于字符串的索引,应指定一个前缀长度,体积高查询速度并且可以节省磁盘空间和I/O操作。 + +G、排序索引。尽量不要使用包含多个列的排序,如果需要则给这些列加上复合索引。 + +limit千万级分页优化 +A、select * from A order by id limit 1000000,10; 查询更换成select * from A where id between 1000000 and 1000010; + +尽量避免select * 的查询 +尽量不要使用BY RAND()命令 +利用limit 1取得唯一行。使用limit 1可以终止数据库引擎继续扫描整个表或者索引 +减少排序order by +少用OR +避免类型转换,也就是转入的参数类型要和字段类型一致 +不要在列上进行运算。 +尽量不要使用not in 和<> 操作 +A、not in 和<>操作都不会使用索引,而是进行全表扫描。 + +B、把not in 转化为 left join 操作。 + +使用批量插入操作代替一个一个插入 +对于多表查询可以建立视图。 +7、数据库原则 + +(1)不在数据库做运算:cpu计算务必移至业务层 + +(2)控制单表数据量:单表记录控制在1000w + +(3)控制列数量:字段数控制在20以内 + +(4)平衡范式与冗余:为提高效率牺牲范式设计,冗余数据 + +(5)拒绝3B:拒绝大sql,大事物,大批量 \ No newline at end of file diff --git a/数据库/Redis/image/2021-08-24-16-39-38.png b/数据库/Redis/image/2021-08-24-16-39-38.png new file mode 100644 index 0000000000000000000000000000000000000000..a0c46cebd9a379f3f1e8499d73e7aa7c5251aed7 GIT binary patch literal 42358 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 主要对自己参与的项目进行详细的文字图片介绍 - -* 项目内容 -* 负责内容 -* 关键技术及难点 -* 最终的成果 - - -## 开发经验 - -> 主要关于项目开发中某一方面的知识经验总结 - - -* 网络编程(各种语言的实现方法。异步并发,并发通信方式。) - -* web开发(自己所开发过的web网站。主要用到的框架和技术。) - -* 并行编程(各种语言实现并发编程的手段和方式,例如协程、多线程、多进程等) \ No newline at end of file From ea5b12ee7ea4529d11fc643bf790a0b27d585f04 Mon Sep 17 00:00:00 2001 From: Estom Date: Tue, 24 Aug 2021 21:43:59 +0800 Subject: [PATCH 2/3] =?UTF-8?q?=E4=B8=AD=E6=9C=9F=E6=8A=A5=E5=91=8A?= =?UTF-8?q?=E6=AD=A3=E5=BC=8F=E5=BC=80=E5=A7=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- 工作日志/2021年8月19日-今日计划.md | 12 +++++++++++- 工作日志/2021年8月20日-今日计划.md | 4 ++-- 工作日志/2021年8月21日-今日计划.md | 13 ++++++++++--- 工作日志/2021年8月22日-今日计划.md | 3 +++ 工作日志/2021年8月24日-今日计划.md | 19 +++++++++++++++++++ 5 files changed, 45 insertions(+), 6 deletions(-) create mode 100644 工作日志/2021年8月24日-今日计划.md diff --git a/工作日志/2021年8月19日-今日计划.md b/工作日志/2021年8月19日-今日计划.md index cf245ec8..419e715a 100644 --- a/工作日志/2021年8月19日-今日计划.md +++ b/工作日志/2021年8月19日-今日计划.md @@ -10,8 +10,18 @@ ### 知识复习——基础 * [ ] 操作系统 + * [ ] 文件 + * [ ] 并发 * [ ] 数据库 + * [ ] 基础知识 + * [ ] MySQL + * [ ] Redis * [ ] 计算机网络 + * [ ] 应用层 + * [ ] 网络层 + * [ ] 通信层 + * [ ] 链路层 + * [ ] 物理层 ### 并发总结 > 包括各种语言(C++、Java、Python、Go、JS等)、各种操作系统(Linux、Windows)的并发方式的总结。 @@ -23,7 +33,7 @@ ### 刷题 * [x] 每天五个中等题(做好总结) -* [ ] 每天五个中等题(做好总结) +* [x] 每天五个中等题(做好总结) ## 收获 diff --git a/工作日志/2021年8月20日-今日计划.md b/工作日志/2021年8月20日-今日计划.md index a803d24b..99f8c4e1 100644 --- a/工作日志/2021年8月20日-今日计划.md +++ b/工作日志/2021年8月20日-今日计划.md @@ -2,13 +2,13 @@ * [x] 简历修改。项目内容和实习经历 * [x] 项目介绍、主要职责、主要成果。各用一句话完成。 * [x] 实习经历丰富。主要内容,技术难点,最后成果。 - * [ ] 项目和实习详细介绍。把每一部分说的更详细一点,细节搞懂,基础知识搞懂。 + * [x] 项目和实习详细介绍。把每一部分说的更详细一点,细节搞懂,基础知识搞懂。 * [x] ~~准备一份用于算法岗位的简历。~~) * [x] ~~添加tensorflow框架修改的毕业设计。(提高性能)~~发现这个算法真的就是糊弄人。 * [x] ~~添加本次联邦学习与恶意软件检测的毕业设计。~~ ### 投递(上午) -* [ ] 完成一期的简历投递工作 +* [x] 完成一期的简历投递工作 ### 成为一个幽默的人(下午) diff --git a/工作日志/2021年8月21日-今日计划.md b/工作日志/2021年8月21日-今日计划.md index b9b38199..d09deaac 100644 --- a/工作日志/2021年8月21日-今日计划.md +++ b/工作日志/2021年8月21日-今日计划.md @@ -1,4 +1,11 @@ ## 任务 -* [ ] 算法(总结的内容,挨个回顾一下。上次用了两周,这次用一晚上???) - * [ ] 枚举 - * [ ] \ No newline at end of file +* [ ] 算法(理论知识+经典例题) + * [ ] 枚举法 + * [ ] 分治法 + * [ ] 动态规划 + * [ ] 贪心 + * [ ] 分支限界 + * [ ] 回溯 + * [ ] 随机化 + * [ ] 启发式 +* [ ] 基于数据结构的算法复习(理论知识+经典例题。可以每一个部分找一个类似的做一遍。每天也能做10来个了) \ No newline at end of file diff --git a/工作日志/2021年8月22日-今日计划.md b/工作日志/2021年8月22日-今日计划.md index afae3597..4b98c86a 100644 --- a/工作日志/2021年8月22日-今日计划.md +++ b/工作日志/2021年8月22日-今日计划.md @@ -9,6 +9,9 @@ * [ ] 网络编程 * [ ] web开发 +* [ ] 简历复习 + * [ ] 简历中提到的项目,重新复习项目和相关的专业知识。并整理。 + * [ ] 简历中提到的实习,对实习内容进行重新回顾。相关知识进行整理。(包括Spring、Redis、Grpc、Thrift微服务那一套) ## 收获 diff --git a/工作日志/2021年8月24日-今日计划.md b/工作日志/2021年8月24日-今日计划.md new file mode 100644 index 00000000..924d87e0 --- /dev/null +++ b/工作日志/2021年8月24日-今日计划.md @@ -0,0 +1,19 @@ +## 计划 + +今天(周二) + +* [ ] 阅读他人的中期报告、完成中期报告的架构工作,想好每一部分些什么。 +* [ ] 阅读自己的开题报告、毕业设计、工作规划。补充每一部分已经完成的成果。 + + +明天(周三) + + +* [ ] 查阅相关的算法、技术。对报告内容进行完善。包括完成算法的描述、公式的输入输出和论证、技术的描述(参考学弟的论文) +* [ ] 查阅软件设计绘图的资料。画完所有系统图、技术图。设计好系统和技术。 + + + + + +## 收获 \ No newline at end of file From 8e1ccd4de69a107e61803680b803d5cad23a2796 Mon Sep 17 00:00:00 2001 From: Estom Date: Wed, 25 Aug 2021 15:17:58 +0800 Subject: [PATCH 3/3] =?UTF-8?q?=E4=B8=AD=E6=9C=9F=E6=8A=A5=E5=91=8A?= =?UTF-8?q?=E4=B8=80=E5=8D=8A?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- 工作日志/中期报告.md | 59 +++++++++++++++++++++++++++++++++++++++++++- 工作日志/毕业设计.md | 40 ++++++++++++++++-------------- 2 files changed, 79 insertions(+), 20 deletions(-) diff --git a/工作日志/中期报告.md b/工作日志/中期报告.md index 4d81e4e0..0e5354bd 100644 --- a/工作日志/中期报告.md +++ b/工作日志/中期报告.md @@ -1,3 +1,61 @@ +1 论文研究计划 +研究背景和意义以及存在的问题(毕设第一章,前三节) + Android恶意软件迫在眉睫深度学习算法非常好用隐私保护提上日程数据和隐私矛盾不可调和。联邦学习提出解决矛盾。但在恶意软件检测中,存在很大问题(例如数据梯度导致的隐私泄露、数据非独立同分布导致的准确率下降)。 +研究目标(毕设第一章,第四节) + 对于联邦学习应用在恶意软件检测中的数据的隐私保护问题和非独立同分布问题(这样描述问题要比原来的清晰),我们分别提出了解决方案。并将这两个问题的解决方案融合成一个可扩展的、可复用的基于联邦学习的恶意软件模型训练和检测系统。 +研究内容(毕设第一章,第五节) + 基于差分隐私的联邦学习框架主要包括三部分。首先建立恶意软件模型训练过程的威胁模型。然后将差分隐私应用到联邦学习的梯度保护当中,构建基于差分隐私的联邦学习框架。最后通过隐私计算和实验研究,验证隐私保护的效力和模型训练过程的鲁棒性。 + 基于贡献度的联邦元学习框架主要包括三部分。首先对恶意软件中的独立同分布问题进行建模,分析产生非独立同分布的原因,并提出了一种衡量非独立同分布的方案,通过理论分析和实验验证,数据非独立同分布对恶意软件检测模型的训练,会造成重大影响。然后将元学习的思想应用到联邦学习的训练过程中,构建一个个性化的联邦元学习框架。提出了一种衡量模型贡献度的方案,在联邦元学习的基础上,在客户端基于用户的贡献度进行聚合,实现基于贡献度的联邦元学习框架。然后通过理论分析和实验验证,该框架的有效性。 + 基于联邦学习的恶意软件模型训练和检测系统,主要包括三部分。核心层的建设和实现,主要包括各种算法核心、隐私保护方法核心等等。基于gRpc微服务的联邦学习系统。业务流层的创建和定制。算法控制、过程监测和结果分析的可视化实现。创新点:将云端的微服务系统用于边缘学习的联邦学习系统的构建。将客户端视作提供知识的微服务,向服务器注册自己的服务类型,服务器根据需求,创建服务的业务流,与客户端一同协作,完成训练过程。 + +论文的研究计划 + 粘贴之前的研究成果。 +预期的研究成果(毕设第一章,第六节论文组织与安排) + 小论文或者使用微服务系统发表专利。 + +2 已完成的相关工作 +研究现状(毕设第一章,国内外研究现状) +理论研究(关于恶意软件、联邦学习、非独立同分布等问题的理论分析)(毕设第二章,相关技术和理论研究中的理论部分) +恶意软件数据预处理 +算法提出(基于差分隐私的隐私保护算法、基于联邦元学习的非独立同分布算法)(毕设第三章、第四章) +实验研究(各种算法的复现工作、算法的实现工作、实验结果的对比工作)(毕设第五章) +系统构建(基于微服务架构的联邦学习框架和恶意软件检测系统)(毕设第六章) + + + +(图:联邦学习框架图、恶意软件检测系统架构图) +(算法:主要算法) +(公式:非独立同分布的建模公式、算法的推导公式) + +3 关键技术或难点(参考开题的内容,把系统各个模块拆解放到这里)(毕设第二章,相关理论和技术中的技术部分,以及三个研究点的三个难点部分,存在的挑战) +恶意软件特征提取技术 +威胁模型和隐私计算方法 +面向非独立同分布问题的联邦学习算法 +基于微服务架构的系统构建 + +4 下一阶段的工作计划 +存在的问题 + 系统构建中的问题 + 算法的稳定性存在问题。收敛速度较慢,需要进一步调试,找到合适的参数。 +尚未完成的工作 + 威胁模型和隐私计算的实践。隐私保护问题的 +后期工作的设想和安排 + 九月份实现基于差分隐私的隐私保护方法。 + 十月份完成实验和系统。 + 十一月份完成最终的论文。 + + +参考文献 + + + + + 按照毕业论文的水准来写研究背景、研究目标、研究内容。把引用的文献写清楚。 + 已经完成的工作尽量详细点。按照毕业论文理论和实验部分的要求来写。 + 每一个技术或者内容的名字现在应该固定下来。不应该这么随意了。 + 对框架和系统部分进行区分。(是算法框架,是一种模式。系统是对这种模式的实现。) + 命名规范确定一下(基于联邦学习的恶意软件检测系统?面向恶意软件检测的联邦学习系统)搞明白啊,术语不统一自己也很凌乱。 +  l 开题报告中确定的论文研究计划,按计划应该完成的工作; @@ -5,7 +63,6 @@ l 已完成的论文研究工作和取得的阶段性成果; l 存在的问题、尚未完成的工作及后期工作的设想和安排。 - 截止时间为2021年8月30日 分组,学生才能打印中期检查表 报告时间15分钟左右,其中学生汇报不超过10分钟,专家提问不超过5分钟。 diff --git a/工作日志/毕业设计.md b/工作日志/毕业设计.md index d23f50c9..cd31c332 100644 --- a/工作日志/毕业设计.md +++ b/工作日志/毕业设计.md @@ -62,17 +62,22 @@ ### 论文结构 -## 第二章:理论基础 +## 第二章:理论基础和相关技术 ### 1 恶意软件检测原理 > 恶意软件主要分类、恶意软件主要分类的依据和数学表示(接口、行为?)、恶意软件主要的检测方法利用到的原理。 -### 2 特征提取技术 +### 2 恶意软件特征提取技术 > 特征提取技术,特征降维方法。动静态特征的提取方法。 + +* 静态特征的提取 +* 动态特征的提取 +* 特征降维方法 + ### 3 联邦学习 > 联邦学习的基础原理。联邦学习的实现方案。联邦学习的分类和数学表示。联邦学习中的开放问题。 @@ -88,46 +93,43 @@ > 对非独立同分布的数学的描述。 -## 第三章:恶意软件特征提取方法 -### 静态特征的提取 +## 第三章:针对恶意软件非独立同分布问题的联邦学习框架 +### 非独立同分布问题的建模 -### 动态特征的提取 - - -## 第四章:针对非独立同分布问题的联邦学习框架 ### 联邦学习框架的算法框架 -### 针对非独立同分布问题的联邦元学习算法 +### 针对恶意软件非独立同分布问题的联邦元学习算法 * 能够衡量用户的贡献度的方法 -## 第五章:基于差分隐私和联邦学习的恶意软件检测算法 +## 第四章:基于差分隐私和联邦学习的恶意软件检测算法 -### 隐私保护的原理(数学公式推导) -### 隐私保护的框架(算法,加入到整体的联邦学习框架中) +### 威胁模型的简历和隐私保护的原理(数学公式推导) +### 基于差分隐私的隐私保护框架(算法,加入到整体的联邦学习框架中) ### 隐私计算(从理论上证明,隐私保护的准确性) -## 第六章:恶意软件检测仿真系统构建 +## 第五章:恶意软件检测仿真系统构建 ### 系统架构图 ### 各个模块的设计方案 -1. 训练控制模块 -2. 网络通信模块 -3. 训练展示模块 -4. 实验结果对比模块 +1. 特征提取模块 +2. 训练控制模块 +3. 网络通信模块 +4. 训练展示模块 +5. 实验结果对比模块 -## 第七章:恶意软件检测算法的实验与结果 +## 第六章:恶意软件检测算法的实验与结果 -## 结论 +## 第七章 结论