软件工程
.highlight { text-decoration: underline; font-weight: bold; color: red; } 课程代号 课程名称 教材代号 教材名称 作者 出版社 版次 02333 软件工程 023331 软件工程 瞿中、宋琦等 人民邮电出版社 2016 年 参考书籍:软件工程.epub考试大纲:02333 软件工程(高纲4068).pdf 【重点】软件工程的定义、特点、基本原理软件的定义:软件,包括程序、相关数据及其说明文档,在计算机系统中与硬件相互依存。其中程序是按照事先设计的功能和性能要求执行的指令序列;数据是程序能正常操纵信息的数据结构;说明文档包含与程序开发、维护和使用过程中有关的各种图文数据。 软件工程的定义:软件工程是一门研究如何用系统化、规范化、数量化等工程原则和方法进行软件开发和维护的学科,包括软件开发技术和软件项目管理。 软件的特点:首先,软件是一种抽象的逻辑实体;其次,软件是一种通过智力活动,把知识与技术转化为信息的一种产品,它是在研制、开发中被创造出来的;最后,在软件的运行和使用...
SpringCloud
微服务认识微服务单体架构:将业务的所有功能集中在一个项目中开发,打成一个包部署。优点:架构简单。部署成本低。缺点:耦合度高。 分布式架构:根据业务功能对系统进行拆分,每个业务模块作为独立项目开发,称为一个服务。优点:降低服务耦合。有利于服务升级拓展。 微服务是一种经过良好架构设计的分布式架构方案,微服务架构特征: 单一职责:微服务拆分粒度更小,每一个服务都对应唯一的业务能力,做到单一职责,避免重复业务开发。 面向服务:微服务对外暴露业务接口。 自治:团队独立、技术独立、数据独立、部署独立。 隔离性强:服务调用做好隔离、容错、降级,避免出现级联问题。 微服务这种方案需要技术框架来落地,全球的互联网公司都在积极尝试自己的微服务落地技术。在国内最知名的就是SpringCloud和阿里巴巴的Dubbo。 SpringcloudSpringCloud是目前国内使用最广泛的微服务框架。官网地址:https://spring.io/projects/spring-cloud SpringCloud集成了各种微服务功能组件,并基于SpringBoot实现了这些组件的自动装配,从而提供了良好的...
linux基础命令
centos下载地址:centos6.8 、 centos7书籍推荐: 鸟哥的linux私房菜-第四版 linux各目录的作用 目录名 目录作用 /bin/ 存放系统命令的目录,普通用户和超级用户都可以执行。不过放在/bin下的命令在单用户模式下也可以执行。 /sbin/ 保存和系统环境设置相关的命令,只有超级用户可以使用这些命令进行系统环境设置,但是有些命令可以允许普通用户查看。 /usr/bin/ 存放系统命令的目录,普通用户和超级用户都可以执行。这些命令和系统启动无关,在单用户模式下不能执行。 /usr/sbin/ 存放根文件系统不必要的系统管理命令,例如多数服务程序。只有超级用户可以使用。大家其实可以注意到Linux的系统,在所有sbin目录中保存的命令只有超级用户可以使用,bin目录中保存的命令所有用户都可以使用。 /boot/ 系统启动目录,保存系统启动相关的文件,如内核文件和启动引导程序(grub)文件等。 ...
nginx学习笔记
nginx简介反向代理,负载均衡,动静分离 nginx安装下载nginx,下载:nginx-1.24.0.tar.gz,下载后上传到/usr/local/src目录下,解压 安装 pcre,zlib,openssl,zlib 依赖 yum install -y pcre pcre-devel yum -y install make zlib zlib-devel gcc-c++ libtool openssl openssl-devel 安装nginx cd /usr/local/src tar -xvf nginx-1.24.0.tar.gz cd nginx-1.24.0/ ./configure make && make install 启动nginx需要进入/usr/local/nginx/sbin目录 cd /usr/local/nginx/sbin ./nginx nginx默认80端口,安装后,不能访问,需要对防火墙进行设置 查看开放的端口:firewall-cmd --list-all 设置开放的端口号:firewall-cmd --add-p...
Spring Boot学习笔记
Spring Boot学习笔记 参考文档 Spring Boot 2.x入门教程 我的笔记 Spring Boot的主要优点:为所有Spring开发者更快的入门。开箱即用,提供各种默认配置来简化项目配置。内嵌式容器简化Web项目。没有冗余代码生成和XML配置的要求。 创建基础项目:Spring Initializr 多环境配置:spring.profiles.active=test application-dev.properties:开发环境。 application-test.properties:测试环境 application-prod.properties:生产环境 自定义参数:@Value 参数引用:book.desc=${book.author} is writing《${book.name}》 使用随机数:${random},${random.value},${random.int},${random.long},${random.int(10)},${random.int[10,20]} 命令行参数: java -j...
mysql学习笔记
DDL:Data Definition Languages,数据定义语言。对数据库内部的对象进行创建、删除、修改的操作语言。这些语句定义了不同的数据段、数据库、表、列、索引等数据库对象的定义。常用的语句关键字主要包括 create、drop、alter等。 DML:Data Manipulation Language,数据操纵语句。只是对表内部数据的操作,而不涉及到表的定义、结构的修改,更不会涉及到其他对象。用于添加、删除、更新和查询数据库记录,并检查数据完整性,常用的语句关键字主要包括 insert、delete、udpate 和select 等。 DCL:Data Control Language,数据控制语句。用于控制不同数据段直接的许可和访问级别的语句。这些语句定义了数据库、表、字段、用户的访问权限和安全级别。主要的语句关键字包括 grant、revoke 等。 查询所有数据库:SHOW DATABASES; 创建数据库: CREATE DATABASE itcast;CREATE DATABASE if NOT EXISTS itcast;CREATE D...
线程池
简介线程池是一种多线程处理形式,处理过程中将任务添加到队列,然后在创建线程后自动启动这些任务。线程池线程都是后台线程。每个线程都使用默认的堆栈大小,以默认的优先级运行,并处于多线程单元中。如果某个线程在托管代码中空闲(如正在等待某个事件),则线程池将插入另一个辅助线程来使所有处理器保持繁忙。如果所有线程池线程都始终保持繁忙,但队列中包含挂起的工作,则线程池将在一段时间后创建另一个辅助线程但线程的数目永远不会超过最大值。超过最大值的线程可以排队,但他们要等到其他线程完成后才启动。 一种使用线程的模式,存放了很多可以复用的线程,对线程统一管理。我们可以使用new的方式去创建线程,但若是并发线程太高,每个线程执行时间不长,这样频繁的创建销毁线程是比较耗费资源的,线程池就是用来解决此问题的。 线程池的优点: 降低资源的消耗:线程可以重复使用,不需要在创建线程和消耗线程上浪费资源; 提高响应速度:任务到达时,线程可以复用已有的线程,及时响应; 可管理性:无限制的创建线程会降低系统效率,线程池可以对线程进行管理、监控、调优。 线程池的继承关系: ThreadPoolExecutor ...
MySQL高性能优化规范建议总结
数据库命名规范 所有数据库对象名称必须使用小写字母并用下划线分割 所有数据库对象名称禁止使用 MySQL 保留关键字(如果表名中包含关键字查询时,需要将其用单引号括起来) 数据库对象的命名要能做到见名识意,并且最后不要超过 32 个字符 临时库表必须以 tmp_ 为前缀并以日期为后缀,备份表必须以 bak_ 为前缀并以日期 (时间戳) 为后缀 所有存储相同数据的列名和列类型必须一致(一般作为关联列,如果查询时关联列类型不一致会自动进行数据类型隐式转换,会造成列上的索引失效,导致查询效率降低) 数据库基本设计规范 所有表必须使用 InnoDB 存储引擎,没有特殊要求(即 InnoDB 无法满足的功能如:列存储,存储空间数据等)的情况下,所有表必须使用 InnoDB 存储引擎(MySQL5.5 之前默认使用 Myisam,5.5 以后默认的为 InnoDB)。InnoDB 支持事务,支持行级锁,更好的恢复性,高并发下性能更好。 数据库和表的字符集统一使用 UTF8。兼容性更好,统一字符集可以避免由于字符集转换产生的乱码,不同的字符集进行比较前需要进行转换会造成索引失效,如果数据库...
Spring&SpringBoot常用注解总结
这篇文章介绍了 Spring/SpringBoot 常用注解。 @SpringBootApplication这里先单独拎出@SpringBootApplication 注解说一下,虽然我们一般不会主动去使用它。 这个注解是 Spring Boot 项目的基石,创建 SpringBoot 项目之后会默认在主类加上。 @SpringBootApplicationpublic class SpringSecurityJwtGuideApplication { public static void main(java.lang.String[] args) { SpringApplication.run(SpringSecurityJwtGuideApplication.class, args); }} 我们可以把 @SpringBootApplication看作是 @Configuration、@EnableAutoConfiguration、@ComponentScan 注解的集合。 package o...
Eureka简介
Eureka简介 什么是服务治理? 服务治理就是提供了微服务架构中各微服务实例的快速上线或下线且保持各服务能正常通信的能力的方案总称。 服务治理的优点: 更高的可用性 服务治理可以支持动态的服务实例集群环境,任何服务实例可以随时上线或下线。并且当一个服务实例不可用时,治理服务器可以将请求转给其他服务提供者,当一个新的服务实例上线时,也能够快速地分担服务调用请求。 负载均衡 服务治理可以提供动态的负载均衡功能,可以将所有请求动态地分布到其所管理的所有服务实例中进行处理。 提升应用的弹性 服务治理的客户端会定时从服务治理服务器中复制一份服务实例信息缓存到本地中,这样即使当服务治理服务器不可用时,服务消费者也可以使用本地的缓存去访问相应的服务,而不至于中断服务。通过这种机制,极大地提高了应用的弹性。 高可用性集群 可以构建服务治理集群,通过互相注册机制,将每个治理服务器所管辖的服务信息列表进行交换,使服务治理服务拥有更高的可用性。 Spring Cloud封装了Netflix公司开发的Eureka模块来实现服务治理。在传统的rpc远程调用框架中,管理每个服务之间的依赖关...








