自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(40)
  • 收藏
  • 关注

原创 非线性控制理论

渐近稳定

2023-04-16 20:40:57 152

原创 现代控制理论

在经典控制理论中:在现代控制理论中:

2023-04-08 18:02:42 168

原创 动态系统的建模与分析

电路系统建模_基尔霍夫定律拉普拉斯变换

2023-04-08 16:23:16 155

原创 自动控制原理

系统的稳定就是传递函数的极点在复平面的左半部分系统的稳定就是传递函数的极点在复平面的左半部分Varying Transfer Function 模块

2023-04-05 16:06:45 200

原创 卡尔曼滤波

递归算法

2023-04-03 19:09:21 58

原创 牛客网项目---7.2.项目监控(actuator)

Spring Boot ActuatorEndPoints:监控应用的入口,Spring Boot内置了很多断点,也支持自定义端点。 监控方式:HTTP或JMX。 访问路径:例如"actuator/health"。 注意事项:按需配置暴露的端点,并对所有端点进行权限控制。1.引入依赖: <!--actuator--> <dependency> <groupId>org.springframewo..

2021-07-19 17:33:29 246

原创 牛客网项目---7.1.单元测试

Spring Boot Testing依赖:spring-boot-starter-test Junit、Spring Test、AsserrtJTest Case要求:保证测试方法的独立性。 步骤:初始化数据、执行测试代码、验证测试结果、清理测试数据。 常用注解: --- @BeforeClass:在类启动前调用 --- @AfterClass:在类结束后调用 --- @Before:在测试方法启动前调用...

2021-07-19 11:45:28 153

原创 牛客网项目---6.9.网站性能优化(使用缓存)

本地缓存将数据缓存在应用服务器上,性能最好。 常用缓存工具:Ehcache、Guava、Caffeine等。分布式缓存将数据缓存在NoSQL数据库上,跨服务器。 常用缓存工具:Redis。多级缓存一级缓存(本地缓存)->二级缓存(分布式缓存)->DB 避免缓存雪崩(缓存失效,大量请求直达DB),提高系统的可用性1.引入依赖 <!--caffeine--> <dependency> ...

2021-07-18 21:46:30 470

原创 牛客网项目---6.8.将文件上传至云服务器(qiniu)

客户端上传客户端将数据提交给云服务器,并等待其相应。 用户上传头像时,将表单数据提交给云服务器。 服务器直传应用服务器将数据直接提交给云服务器,并等待其响应。 分享时,服务端将自动生成的图片,直接提交给云服务器。1.客服端上传头像1.1 导入依赖 <!--qiniu--> <dependency> <groupId>com.qiniu</groupId> ...

2021-07-18 11:42:12 417

原创 牛客网项目---6.7.生成长图

1.WkTests 简单测试生成图片import java.io.IOException;public class WkTests { public static void main(String[] args) { String cmd="F:/wkhtmltopdf/bin/wkhtmltoimage --quality 75 https://www.nowcoder.com d:/work/data/wk-images/3.png"; try {.

2021-07-17 17:19:29 148

原创 牛客网项目---6.6.热帖排行(计算帖子分数)

实现,在发帖、点赞、加精、评论时=时将发生变化的帖子存入Redis中。再通过定时任务,每隔一定的时间,计算帖子的分数进行更新。 新建PostScoreRefreshJob类进行处理。 这里Redis中选择的是Set类型,因为Set数据类型中不允许有重复数据,从而防止了我们存入重复的帖子。1.RedisKeyUtilpublic class RedisKeyUtil { private static final String SPLIT=":"; private stati.

2021-07-17 13:05:06 971

原创 牛客网项目---6.5.任务执行和调度

初始任务执行和调度我们需要定时计算各帖子的分数,清除临时文件等,这就需要任务调度的组件。JDK线程池ExecutorService:普通的线程池 ScheduledExecutorService:可以执行定时任务(分布式环境可能出问题)Spring 线程池ThreadPoolTaskExecutor:普通的线程池 ThreadPoolTaskScheduler:可以执行定时任务(分布式环境可能出问题)分布式定时任务Spring Quartz(将数据存储到数据库,分布式时可以共..

2021-07-16 17:54:32 380

原创 牛客网项目---6.4.网站数据统计

UV(Unique Visitor)---独立访客,需进行用户IP排重统计数据---每次访问都要进行统计---HyperLogLog,性能好,且存储空间小DAU(Daily Active User)---日活跃用户,需要通过用户ID排重统计数据---访问过一次,则认为其活跃---Bitmap,性能好,且可以统计精确的结果...

2021-07-15 11:35:18 319

原创 牛客网项目---6.3.置顶、加精 、删除帖子

功能实现---点击“置顶”、“加精”、“删除”,修改帖子的状态权限管理---版主可以执行“置顶”、“加精”操作。管理员可以执行“删除”操作。---在SecurityConfig类下配置,置顶、加精、删除的访问权限按钮显示---版主可以看到“置顶”、“加精”按钮。管理员可以看到“删除“按钮。---导包:thymeleaf-extras-springsecurity5,thymeleaf对security的支持<html lang="en" xmlns:th="h

2021-07-14 20:07:02 986

原创 牛客网项目---5.2.开发社区搜索功能

搜索服务: 将帖子保存至Elasticsearch服务器。 从Elasticsearch服务器删除帖子。 从Elasticsearch服务器搜索帖子。 发布事件: 发布帖子时,将帖子异步的提交到Elasticsearch服务器。 增加评论时,将帖子异步的提交到Elasticsearch服务器。 在消费组件中增加一个方法,消费帖子发布事件。 显示结果:在控制器中处理搜索请求,在HTML上显示搜索结果。1.ElasticsearchSe..

2021-07-14 19:39:37 371

原创 牛客网项目---6.2.使用Spring Security实现登录功能

1.导入依赖 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-security</artifactId> </dependency>2.废弃原来的登录拦截器import com.nowcoder.community.

2021-07-14 13:21:56 565

原创 牛客网项目---6.1.初识SpringSecurity

Spring Security 是针对Spring项目的安全框架,也是Spring Boot底层安全模块默认的技术选型,他可以实现强大的Web安全控制,对于安全控制,我们仅需要引入spring-boot-starter-security模块,进行少量的配置,即可实现强大的安全管理!记住几个类:WebSecurityConfigurerAdapter:自定义Security策略 AuthenticationManagerBuilder:自定义认证策略 @EnableWebSecurity:开启..

2021-07-13 16:48:39 552

原创 牛客网项目---5.1.初识Elasticsearch

1. 初识Elasticsearch一个分布式的、Restful风格的搜索引擎。 支持对各种类型的数据的检索。 搜索速度快,可以提供实时的搜索服务。 便于水平扩展,每秒可以处理PB级海量数据Elasticsearch术语 : 索引、类型、文档、字段。 集群、节点、分片、副本。 Elasticsearch与数据库的对比:Elasticsearch 数据库 索引 database 类型 table 文档 一行数据 字段 一列...

2021-07-12 21:22:23 316 3

原创 牛客网项目---4.3.显示系统消息

显示系统通知通知列表:——显示评论、点赞、关注三种类型的通知通知详情 :——分页显示某一类主题所包含的通知未读消息 :——在页面头部显示所有的未读消息数量1.MessageMapper:import com.nowcoder.community.entity.Message;import org.springframework.stereotype.Repository;import java.util.List;@Repositorypublic interf

2021-07-09 13:27:28 361

原创 牛客网项目---4.2.使用Kafka发送系统消息

发送系统通知触发事件 评论后,发布通知 点赞后,发布通知 关注后,发布通知 处理事件 封装事件对象 开发事件的生产者 开发事件的消费者 1.封装事件对象:import java.util.HashMap;import java.util.Map;public class Event { private String topic; private int userId; private int entityType; pri..

2021-07-09 13:07:31 322

原创 牛客网项目---4.1.Kafka简单入门

一、阻塞队列BlockingQueue接口解决线程通信的问题。 阻塞方法:put、take。生产者消费者模式生产者:产生数据的线程。 消费者:使用数据的线程。实现类ArrayBlockingQueue LinkedBlockingQueue PriorityBlockingQueue SynchronousQueue DelayQueue阻塞的队列测试:import java.util.Random;import java.util.concurrent.Arr..

2021-07-09 12:44:26 261

原创 牛客网项目---3.3.优化登录模块

---------------------------------------------------------------------------------------------------------------------------------1.RedisKeyUtil:public class RedisKeyUtil { private static final String SPLIT=":"; private static final String P..

2021-07-03 14:23:43 189

原创 牛客网项目---3.2.关注、取消关注

1.RedisKeyUtil:public class RedisKeyUtil { private static final String SPLIT=":"; private static final String PREFIX_ENTITY_LIKE="like:entity"; private static final String PREFIX_USER_LIKE="like:user"; private static final String PREFIX

2021-07-03 14:13:42 275

原创 牛客网项目---3.1.点赞

1.编写一个工具类,用于生成Redis中的键 RedisKeyUtil:public class RedisKeyUtil { private static final String SPLIT=":"; private static final String PREFIX_ENTITY_LIKE="like:entity"; private static final String PREFIX_USER_LIKE="like:user"; private s...

2021-07-03 13:47:27 277

原创 牛客网项目---2.9.统一记录日志

统一记录日志AOP的概念·Aspect Oriented Programing:面向切面编程·AOP是一种编程思想,是对OOP(面向对象编程)的补充,进一步提高编程效率;AOP术语:Target:目标对象(开发好的bean)Joinpoint:连接点(目标对象上能被织入代码的地方)Aspect:切面(将代码定义到切面组件中)Pointcut:切点(切面组件中的切点声明代码被织入到哪些目标对象的什么地方)Advice:通知(切面组件要处理的逻辑)--------

2021-06-28 15:10:38 110

原创 牛客网项目---2.8.统一处理异常

--------------------------------------------------------------------------------------------------------------------------------import com.nowcoder.community.util.CommunityUtil;import org.slf4j.Logger;import org.slf4j.LoggerFactory;import org.spri...

2021-06-28 15:04:03 118

原创 牛客网项目---2.7.发送私信(使用Ajax异步请求)

5、发私信/letter/send:(1)直接给别人发私信:点击私信按钮,弹出消息框,收信人和内容,AJAX异步post发送(2)回复别人的私信:收信方默认写好的,也是AJAX异步post发送6、私信列表@{|/letter/detail/${map.conversation.conversationalId}|}:点击私信的内容,加载私信列表,controller层直接获取conversationId即可,进而能够查message表------------------------.

2021-06-28 14:54:35 273

原创 牛客网项目---2.6.查看私信列表

5、发私信/letter/send:(1)直接给别人发私信:点击私信按钮,弹出消息框,收信人和内容,AJAX异步post发送(2)回复别人的私信:收信方默认写好的,也是AJAX异步post发送6、私信列表@{|/letter/detail/${map.conversation.conversationalId}|}:点击私信的内容,加载私信列表,controller层直接获取conversationId即可,进而能够查message表。----------------------..

2021-06-28 14:40:46 509

原创 牛客网项目---2.5.添加评论

1.编写Dao层:import com.nowcoder.community.entity.Comment;import org.springframework.stereotype.Repository;import java.util.List;@Repositorypublic interface CommentMapper { List selectCommentByEntity(int entityType,int entityId,int offset,int limi

2021-06-28 14:08:52 158

原创 牛客网项目---2.4.事务管理

--------------------------------------------------------------------------------------------------------------------------------import com.nowcoder.community.entity.DiscussPost;import com.nowcoder.community.entity.User;import com.nowcoder.community...

2021-06-28 13:39:46 188

原创 牛客网项目---2.3.查看帖子详情以及显示评论

帖子详情在帖子标题上增加访问帖子的链接4、帖子详情/detail/{discussPostId}:在帖子标题处,添加href标签,进入帖子详情,restful风格,后台可以根据@PathVariable("discussPostId")直接获取帖子id,进行查询,加到model中,返回帖子页面5、版主可设置置顶加精6、管理员可以进行删除和统计日活7、使用卡夫卡进行系统通知---------------------------------------------...

2021-06-28 13:32:41 1317

原创 牛客网项目---2.2.发布帖子(使用Ajax异步请求)

2、发布帖子前端页面通过点击我要发布按钮进入发帖界面,填写标题和内容,点击“发布”,触发ajax异步发送帖子请求,先将帖子框隐藏,然后获取标题和内容,$.post{url,json,function(data){data = $.parseJSON(data);}},post方式提交接json格式数据给目标URL,controller层接收到请求后,处理/add请求,前端根据返回的状态码以及提示信息判断是否添加成功。3、发布帖子/add处理若没有登录,返回403状态,wei't并提示未...

2021-06-28 12:20:12 508

原创 牛客网项目---2.1.过滤敏感词(前缀树)

1、过滤敏感词:前缀树TrieNode实例化SensitiveFilter时,将敏感词加入前缀树,字符缓存流读入敏感词文件,添加到前缀树中。之后过滤文本,将敏感词替换为***,跳过符号(0x2E80~0x9FFF是东亚文字范围)避免在敏感词中加入符号,进而妄想逃过过滤。三个指针,一个指向树根,另两个指针,都指向文本首,其中一个一直向后移动,另一个跟着动,发现不是敏感词,再返回。若是敏感词,则替换,并另两个指针都后移,树指针指向根节点。-------------------------------..

2021-06-28 11:59:08 376

原创 牛客网项目---1.7.账号设置(上传头像、修改密码)

7、账号设置/setting上传头像将头像保存到本地/七牛云服务器,随机生成字符串作为图片的名称,表单提交再返回该界面。获取头像时,在本地获取,通过输入输出流,先读到缓冲区,再从缓冲区写出;在七牛云服务器获取时,不使用流的方式,直接通过文件名获取,将header的URL更新在user用户中。8、更改密码/changePassword:表单提交新密码,判断密码是否符合标准,更新user信息,并退出登录,重定向到登录界面重新登录-------------------------------...

2021-06-22 15:19:15 1252 2

原创 牛客网项目---1.6.显示登录信息

5、使用拦截器显示登录信息:通过cookie获得ticket,通过ticket获取loginticket对象,进而获得loginticket。userID得到userId,进而获得user,将user存到hostHolder中,让本次请求中持有用户,为防止并发请求,需要对每个请求线程数据做隔离,使用ThreadLocal来set和get用户user,用完要清理release,同时还能代替session,减少服务器压力;6、配置拦截器:先注入拦截器bean,再添加需要拦截的界面即可-----...

2021-06-22 15:00:53 187

原创 牛客网项目---1.5.登录、退出功能

2、登录模块/login:get请求时,直接返回"/site/login"界面只有是post请求提交时,调用service层的login方法,先验证验证码,再进行账号密码的认证;同时,可以设置记住密码,生成一个UUID作为用户的登录凭证,将登录凭证添加过期时间,设置为10天,将loginTicket存入Redis中,将凭证返给controller层,将ticket和expiredSeconds传给cookie,以便拦截器使用。登录成功后,重定向到return“redirect:/index”首页。

2021-06-22 11:37:08 386

原创 牛客网项目---1.4.生成验证码功能

生成验证码:Kaptcha服务器利用Kaptcha验证码生成器,先生成随机的文本,再将文本创建为图片,将文本text存到session中,将图片输出给浏览器---------------------------------------------------------------------------------------------------------------------------------1.编写一个KaptchaConfig:package com.nowcoder

2021-06-22 11:22:22 208

原创 牛客网项目---1.3.开发注册功能

1、注册模块/registerget请求时,直接返回 "/site/register"界面。post请求提交时,调用service层的register方法,进行表单校验(空参,账号密码、邮箱)空参直接返回Exception,其他错误信息封装在map中,返回map给controller和前端。注册用户:封装用户信息,调用userMapper.insertUser(user)添加用户,状态设置未激活,随机生成一个字符串加到密码尾部,使用MD5加密技术对密码进行加密。激活邮件:为防止...

2021-06-22 11:10:12 412 1

原创 牛客网项目---1.2.发送邮件功能

1.导入依赖:<!--发邮件--><dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-mail</artifactId> <version>2.5.1</version></dependency>2.配置文件编写:spring:ma.

2021-06-21 21:53:47 300

原创 牛客网项目---1.1.开发首页

分步实现:1、开发社区首页,显示前10个帖子;2、开发分页组件,分页显示所有帖子。一、加载社区首页/index1、首页:最新/index?orderMode=0;最热:/index?orderMode=1,控制层获取orderMode参数的值,默认值设置为0:2、分页机制Page page:传入Rows、Path通过查询帖子总数设置Rows,通过offset、limit、userId、orderMode分页查询帖子列表,若userId等于0,则查询帖子的总数,否则根据userI.

2021-06-21 21:34:54 636

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除