社区项目
文章平均质量分 95
会记录一下仿牛客项目的开发过程,也会记录一下学到的新知识。
嘿,鱼骨头^O^
嘿!大家好,我是鱼骨头。我的Acwing用户名是 陈平安,欢迎大家关注我啊!
展开
-
第7章 项目进阶,构建安全高效的企业服务(下)
AccessKey、SecretKey,其中AccessKey是用来标识用户的身份的,就是说我们要往空间里传东西,不是谁都能传的,你只有有AccessKey表示你是当前空间的使用者才有权限传,SecretKey是用来在上传具体内容的时候为这个内容加密,所以需要两个key,这两个key最好把它配到配置文件里,万一将来这两个key有所变化好去改动而不是把它写死在程序里(注意:我们的这个域名只支持http访问,不支持https访问)主要配两个内容,配这个秘钥,一共有两个秘钥,...原创 2022-08-18 08:42:32 · 269 阅读 · 0 评论 -
第7章 项目进阶,构建安全高效的企业服务(上)
所谓CSRF攻击就是浏览器向服务器发送了一个提交表单请求,此时浏览器访问了另一个不安全的网站,这个网站获取到了浏览器的cookie,而浏览器的cookie存着登录凭证,这个时候这个不安全的网站会伪装自己为浏览器向服务器提交表单,如果这个表单是转账相关的业务的话,那就比较危险了。我们最终要把用户的权限存到SecurityContext里,首先这个用户查到以后具有什么权限,我们还得做一个适配,就是提供根据用户获得用户权限的方法,当需要的时候调一下就可以了。我们开发的时候是在业务层,想做。...原创 2022-08-18 08:28:07 · 174 阅读 · 0 评论 -
第6章 Elasticsearch,分布式搜索引擎
postman可以模拟web客户端, 说白了可以模仿网页,发送http请求,为什么需要这么一个工具呢,因为其实我们直接通过命令行去访问ES服务器,如果是查询某些东西还好,但是如果要往里面存东西,这个命令太长了,记不住,也很难写,因为ES支持用http方式去访问,如果我们有一个现成的网页,有一个框往里面填数据很方便,但是我们没有这个网页,那么这个 postman 就能替代那个网页,然后可以通过框构造一些数据提交给ES服务器,这样比较方便。总之,为了提高入门ES使用的体验,我们使用postman。...原创 2022-08-18 08:24:41 · 247 阅读 · 0 评论 -
第5章 Kafka,构建TB级异步消息系统
5.2 Kafka入门http://kafka.apache.orgBroker:Kafka的服务器,每一台服务器称其为BrokerZookeeper:可以用 Zookeeper 管理 Kafka 的集群Topic:主题,理解为文件夹,用来存放消息的位置Partition:分区,是对主题位置的分区Offset:消息在分区内存放的索引Leader Replica:祖副本,可以从祖副本读数据,也可以对数据做备份,Follower Replica:随从副本,只是备份kafka不分操作系统,都是一个包配置 zoo原创 2022-08-18 08:22:24 · 243 阅读 · 0 评论 -
第4章 Redis,一站式高性能存储方案(下)
在常量接口CommunityConstant中定义一个常量表示实体类型是User。在主页显示正确的状态和数量,主页是通过UserController访问的。因为关注、取关比较高频,所以我们存到key里,所以我们在。表现层(Controller和themeleaf模板)然后我们要使用reid存储凭证,所以我们可以把之前的。页面,因为我们是通过这个页面跳转到。开发过程很相似,所以这里一起开发。里增加两个方法去生成key。里增加两个方法去生成key。业务层(Service)然后是处理展示个人主页。...原创 2022-08-18 08:16:23 · 174 阅读 · 0 评论 -
第4章 Redis,一站式高性能存储方案(上)
因为redis是一个数据库,它也是支持事务的,但是它所支持的事务的机制不完全满足ACID四个特性,因为毕竟它不是关系型数据库,只有关系型数据库才严格满足这四个特点,整体来说redis的事务管理是比较简单的。Spring支持redis的声明式事务和编程式事务,也是声明式事务更简单,只要做一些配置,加上@Transactional注解就可以了,但是因为redis的事务有刚才所说的问题的存在,所以我们通常。:因为事务之内的命令不会立刻执行,而是提交时统一批量的执行,所以如果在事务的过程中做了一个查询(这个。...原创 2022-08-18 08:14:15 · 216 阅读 · 0 评论 -
第3章 Spring Boot进阶,开发社区核心功能(下)
因为controller发生异常之后,我们统一处理,记了日志,处理完以后我们得去到 500那个页面,这个时候因为是我们人为处理的,我们需要手动的重定向过去,所以我们需要提前把 500 页面这个请求的访问给它配一下,增加一下这个请求的处理。这个注解的作用是,页面向服务器传参,会被自动的做转换,是因为内部调了很多的参数转换器,万一程序当中默认的参数转换器不够用,有一个特殊的类型需要处理,可以自定义一个转换器,然后用 @DataBinder 把它注册上。表现层我们需要两个功能,一个是私信列表,一个是私信详情。..原创 2022-08-14 07:19:19 · 285 阅读 · 1 评论 -
第3章 Spring Boot进阶,开发社区核心功能(上)
在下面的工具类中我们会读取这个文本文件,这里提前给出2. 开发过滤敏感词的工具类为了方便以后复用,我们把过滤敏感词写成一个工具类SensitiveFilter。上面就是过滤敏感词工具类的全部代码,接下来我们来解释一下开发步骤开发过滤敏感词组件分为三步:我们将定义前缀树写为SensitiveFilter工具类的内部类将敏感词添加到前缀树中如何过滤文本中的敏感词:特殊符号怎么处理:敏感词前缀树初始化完毕之后,过滤文本中的敏感词的算法应该如下:定义三个指针:经测试,过滤敏感词的工具类开发完成,这个工原创 2022-08-11 16:31:37 · 234 阅读 · 0 评论 -
第2章 Spring Boot实践,开发社区登录模块(下)
自定义注解我们在定义自己的注解的时候需要用元注解定义我们自己的注解@Target用来声明自定义的注解可以写在哪个位置:类 / 方法@Retention用来声明自定义注解保留的时间或有效时间:编译时有效 / 运行时有效@Document用来声明自定义注解在生成文档时要不要把这个注解也带上去@Inherited表示这个自定义注解可不可以被子类继承自定义注解的时候前两个元注解基本上是必须写的。...原创 2022-08-04 09:49:26 · 358 阅读 · 0 评论 -
第2章 Spring Boot实践,开发社区登录模块(上)
不是在LoginController中的getLoginPage访问登录方法之中写的,getLoginPage这个方法是给浏览器返回一个html,而这个html里面会包含一个图片的路径,浏览器会依据路径再次访问服务器获得这个图片,所以我们需要再单独写一个请求(LoginController中的方法)向浏览器返回图片,当然登录页面的html会引用这个方法的路径。,能存到cookie就存到cookie,不能存到cookie的数据就存到关系型数据库里,数据库的数据存在硬盘里,存取比较慢,性能慢。...原创 2022-08-02 07:29:19 · 538 阅读 · 0 评论 -
第1章 初识Spring Boot,开发社区首页(下)
浏览器在给服务器发送请求时,首先发送给 Controller 然后 Controller 调 Service,然后 Service 调 DAO,所以我们开发的时候建议先开发 DAO,然后开发 Service,最后开发 controller。社区首页需要用到的数据库表本次开发用到的类在下面图中显示首先需要建立一个与该表对应的实体类DiscussPost接下来开发DAO接口:DiscussPostMapper接下来我们要创建这个DAO接口对应的mapper配置文件:discusspost-mapper.原创 2022-07-21 17:54:36 · 793 阅读 · 1 评论 -
第1章 初识Spring Boot,开发社区首页(上)
Maven的作用maven可以帮我们创建项目、编译项目、测试项目httpshttpsHTTP**超文本传输协议(HTTP)**是一个用于传输超媒体文档(例如HTML)的应用层协议。它是为Web浏览器与Web服务器之间的通信而设计的。HTTP遵循经典的客户端-服务端模型,客户端打开一个连接以发出请求,然后等待直到收到服务器端响应。HTTP是一种能够获取如HTML这样的网络资源的protocol(通讯协议)。打开一个TCP连接SpringMVC就是基于HTTP协议的框架。...原创 2022-07-19 21:25:37 · 371 阅读 · 0 评论