自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(34)
  • 资源 (5)
  • 收藏
  • 关注

原创 牛客网后端项目实战(二十六):Spring整合Redis

引入依赖spring-boot-starter-data-redis配置Redis配置数据库参数编写配置类,构造RedisTemplate访问RedisredisTemplate.opsForValue()redisTemplate.opsForHash()redisTemplate.opsForList()redisTemplate.opsForSet()redisTemplate.opsForZSet()引入依赖我们还是在https://mvnreposit.

2020-07-05 16:30:39 919 6

原创 牛客网后端项目实战(二十五):Redis入门

Redis是一款基于键值对的NoSQL数据库,它的值支持多种数据结构: 字符串(strings)、哈希(hashes)、列表(lists)、集合(sets)、有序集合(sorted sets)等。Redis将所有的数据都存放在内存中,所以它的读写性能十分惊人。 同时,Redis还可以将内存中的数据以快照或日志的形式保存到硬盘上,以保证数据的安全性。Redis典型的应用场景包括:缓存、排行榜、计数器、社交网络、消息队列等。下载官网只提供linux版本,可以在GitHub上下载windows版本h.

2020-06-09 17:03:52 680

原创 牛客网后端项目实战(二十四):统一记录日志

统一记录日志,可能会想到封装一个记日志的组件,在每个业务中调用,但是这样实现不利于维护,这里就需要AOP技术。**AOP的概念 **Aspect Oriented Programing, 即面向方面(切面)编程。AOP是一种编程思想,是对OOP的补充, 可以进一步提高编程的效率。Target:目标对象,也就是我们实现的业务,有很多地方可以织入代码Aspect:切面组件,pointcut声明织入到哪些目标的哪些织入点,advice具体的逻辑JoinPoint:织入点三种织入时机,编译装

2020-06-08 21:54:12 518

原创 牛客网后端项目实战(二十三):统一处理异常

@ControllerAdvice用于修饰类,表示该类是Controller的全局配置类。在此类中,可以对Controller进行如下三种全局配置: 异常处理方案、绑定数据方案、绑定参数方案。@ExceptionHandler用于修饰方法,该方法会在Controller出现异常后被调用,用于处理捕获到的异常。@ModelAttribute用于修饰方法,该方法会在Controller方法执行前被调用,用于为Model对象绑定参数。@DataBinder用于修饰方法,该方法.

2020-06-07 17:09:31 417

原创 牛客网后端项目实战(二十二):发送私信

发送私信采用异步的方式发送私信。发送成功后刷新私信列表。设置已读访问私信详情时, 将显示的私信设置为已读状态。还是以数据层业务层和表现层的顺序开发。数据层首先在MessageMapper里新增两个方法,一个新增消息,一个修改消息状态的方法。 //新增消息 int insertMessage(Message message); //修改状态 int updateStatus(List<Integer> ids,int status);.

2020-06-06 23:07:46 794

原创 牛客网后端项目实战(二十一):私信列表

私信列表查询当前用户的会话列表, 每个会话只显示一条最新的私信。支持分页显示。私信详情查询某个会话所包含的私信。支持分页显示。首先看一下数据库的设计,私信相当于一个对话功能,那么两个人就组成一个对话,这段对话里有A发给B的消息,有B发给A的消息,那么我们把发送者和接收者的id拼接到一起形成一个会话id,把id小的拼接在前面。还有一种私信是系统通知,那么只需要把from_id指定一个固定的值,这里指定为1。实体类新建Message实体类,对应数据库字段。对应get/set方法.

2020-06-04 22:09:43 929

原创 牛客网后端项目实战(二十):添加评论

数据层增加评论数据。修改帖子的评论数量。业务层处理添加评论的业务: 先增加评论、再更新帖子的评论数量。表现层处理添加评论数据的请求。设置添加评论的表单。添加评论的功能也是比较基础的,按照数据层业务层和表现层进行开发,比较特别的就是会用到前面提到的事务管理。为了效率,在帖子的字段里设计了一个评论数量,那么我们添加评论的时候就要同时更新评论数量。数据层首先是在CommentMapper里添加插入评论的方法。int insertComment(Comment comm.

2020-06-03 21:52:40 692

原创 牛客网后端项目实战(十九):显示评论

数据层根据实体查询一页评论数据。根据实体查询评论的数量。业务层处理查询评论的业务。 处理查询评论数量的业务。表现层显示帖子详情数据时, 同时显示该帖子所有的评论数据。这个功能是一个比较常规的功能,按照常规流程,数据层,业务层和表现层进行开发。**一些解释:**user_id对应的是发评论的用户,entity_type是指评论的类型,目前我们打算开发论坛部分,那么就有两种类型,对帖子的评论和对评论的评论,为了方便区分,对评论的评论我们成为回复,entity_id对应回复的.

2020-05-28 17:19:10 780

原创 牛客网后端项目实战(十八):事务管理

回顾什么是事务事务是由N步数据库操作序列组成的逻辑执行单元,这系列操作要么全执行,要么全放弃执行。事务的特性(ACID)原子性(Atomicity):事务是应用中不可再分的最小执行体。一致性(Consistency):事务执行的结果,须使数据从一个一致性状态,变为另一个一致性状态。隔离性(Isolation):各个事务的执行互不干扰,任何事务的内部操作对其他的事务都是隔离的。持久性(Durability):事务一旦提交,对数据所做的任何改变都要记录到永久存储器中。事务的隔离性

2020-05-26 20:53:27 567

原创 牛客网后端项目实战(十七):帖子详情

本节内容:DiscussPostMapperDiscussPostServiceDiscussPostControllerindex.html在帖子标题上增加访问详情页面的链接discuss-detail.html处理静态资源的访问路径复用index.html的header区域显示标题、作者、发布时间、帖子正文等内容帖子详情比较简单,就是标准的开发流程,前端的处理略,有兴趣的自行了解thymeleaf。mapper首先是在DiscussPo

2020-05-26 19:52:30 789

原创 牛客网后端项目实战(十六):发布帖子

牛客网后端项目实战(十六):发布帖子封装Json工具Ajax示例发布帖子本节内容:AJAXAsynchronous JavaScript and XML异步的JavaScript与XML,不是一门新技术,只是一个新的术语。使用AJAX,网页能够将增量更新呈现在页面上,而不需要刷新整个页面。虽然X代表XML,但目前JSON的使用比XML更加普遍。https://developer.mozilla.org/zh-CN/docs/Web/Guide/AJAX示例使用jQuery发

2020-05-26 18:48:35 1620

原创 牛客网后端项目实战(十五):过滤敏感词

title: 牛客网后端项目实战(十五):过滤敏感词date: 2020/04/20tags:后端javaspringcategories: 牛客网后端项目实战keywords:后端javaspringtop_img: http://cdn.neuswc2019.xyz/20200414100138.pngcover: http://cdn.neuswc2019.xy...

2020-04-20 16:15:16 1731 6

原创 牛客网后端项目实战(十四):检查登录状态

本节内容:使用拦截器在方法前标注自定义注解拦截所有请求,只处理带有该注解的方法自定义注解常用的元注解:@Target、@Retention、@Document、@Inherited如何读取注解:Method.getDeclaredAnnotations ()Method.getAnnotation (Class annotationClass)限...

2020-04-14 09:52:26 552

原创 牛客网后端项目实战(十三):账号设置

本节内容:上传文件请求:必须是POST请求表单:enctype=“multipart/form-data”Spring MVC:通过 MultipartFile 处理上传文件开发步骤上传头像获取头像配置文件存储路径首先上传头像得有一个存储头像的路径,这个路径不能是固定的,因为在本地开发和部署到服务器肯定不一样,目前存到本地,后期也会存到云服务器上。在applicati...

2020-04-13 16:43:22 815 3

原创 牛客网后端项目实战(十二):显示登录信息

牛客网后端项目实战(十二):显示登录信息拦截器示例定义拦截器配置拦截器拦截器应用封装两个小工具在请求开始时查询登录用户,在本次请求中持有用户数据在模板视图上显示用户数据在请求结束时清理用户数据配置拦截器示例当用户登录过后,之后的请求都应该以登录态去访问,也就是每次带上ticket,例如网站首页,登录和未登录的显示应该不同,如果我们按照正常逻辑,每个请求都得判断登录态,处理相关逻辑。而使用拦截器...

2020-03-29 16:51:37 735

原创 牛客网后端项目实战(十一):开发登录、退出功能

牛客网后端项目实战(十一):开发登录、退出功能登录entitydaoServicecontroller退出登录entity首先我们看一看数据库login_ticket表,id主键,user_id,ticket也就是登录口令,还有status状态,0有效1无效,expired失效日期。根据数据库写实体类,并生成get/set方法。 private int id; private i...

2020-03-28 10:45:43 861

原创 牛客网后端项目实战(十):生成验证码

牛客网后端项目实战(十):生成验证码导入jar包编写kaptcha配置类生成随机字符,图片https://code.google.com/archive/p/kaptcha导入jar包首先,还是老方法,在mvnrepository网站搜索kaptcha,添加到pom等待idea自动下载。<dependency> <groupId>com.github.pe...

2020-03-27 09:48:59 612

原创 牛客网后端项目实战(九):会话管理

文章目录COOKIESESSION分布式部署下的sessionHTTP的基本性质HTTP是简单的HTTP是可扩展的HTTP是无状态的,有会话的Cookie是服务器发送到浏览器,并保存在浏览器端的一小块数据。浏览器下次访问该服务器时,会自动携带块该数据,将其发送给服务器。Session是JavaEE的标准,用于在服务端记录客户端信息。数据存放在服务端更加安全,但是...

2020-03-18 17:35:35 525

原创 牛客网后端项目实战(八):开发注册功能

牛客网后端项目实战(八):开发注册功能发送邮件邮箱设置Spring Email导入jar包邮箱参数配置使用JavaMailSender使用模板引擎开发注册功能访问注册页面提交注册数据工具类注册服务激活注册账号发送邮件邮箱设置启用客户端SMTP服务Spring Email导入 jar 包邮箱参数配置使用 JavaMailSender 发送邮件模板引擎使用 Thyme...

2020-03-18 12:04:24 1483

原创 牛客网后端项目实战(七):项目调试技巧

项目调试技巧响应状态码的含义服务端断点调试技巧客户端断点调试技巧设置日志级别,并将日志输出到不同的终端响应状态码还是之前提到过的文档,HTTP 响应状态代码指示特定 HTTP 请求是否已成功完成。响应分为五类:信息响应(100–199),成功响应(200–299),重定向(300–399),客户端错误(400–499)和服务器错误 (500–599)。文档常见的一些:200...

2020-03-11 20:54:52 744

原创 牛客网后端项目实战(六):开发社区首页

开发社区首页开发流程1次请求的执行过程分步实现开发社区首页,显示前10个帖子开发分页组件,分页显示所有的帖子我们首先开发社区首页,显示帖子,先查看一下存帖子的表,在navicat右边可以查看DDL(Data Definition Language),也就是建表语句,workbench查看的方法自行百度。根据DDL了解一下表的结构。然后我们就可以进行开发,根据上图的...

2020-03-10 20:17:25 1913 3

原创 牛客网后端项目实战(五):Mybatis入门

MyBatis入门安装数据库安装MySQL Server安装MySQL Workbench直接在官网下载,安装教程网上比较多,这里就不做演示了。我使用的mysql installer,个人觉得更加方便。可以随时使用installer安装卸载更新MySQL各种版本和相关软件。使用cmd导入数据默认mysql已经安装好并且启动,无论何种方式安装,进入命令行输入用户名密码登录。可以使...

2020-03-10 10:40:53 902 7

原创 牛客网后端项目实战(四):Spring MVC入门

Spring MVC入门做web开发,首先对web有一个大体的了解,下图第一部分是网页的组成成分,我们看到的各式各样的网页就是浏览器根据这些文件渲染出来的,第二部分http协议,是应用层的协议,用来传输上方的这些文件,再下面是传输层和网络层的相关内容,具体的自行学习。HTTP协议首先了解http协议,这里提供Mozilla的官方文档进行学习HyperText Transfer Prot...

2020-03-09 18:08:13 724

原创 牛客网后端项目实战(三):Spring入门

Spring全家桶Spring Framework:基石Spring Boot:build anythingSpring Cloud:coordinate anythingSpring Cloud Data Flow:connect anythingSpring FrameworkSpring CoreIoC、AOP(IoC控制反转,AOP面向切面,是Spring的核心,是管...

2020-03-09 09:36:19 828 1

原创 牛客网后端项目实战(二):搭建开发环境

一、Apache Maven功能:帮助我们构建项目,管理项目中的jar包Maven仓库:存放构件的位置(需要时先检查本地仓库,如果没有从远程仓库下载)本地仓库:默认是~/.m2/repository远程仓库:中央仓库(慢)、镜像仓库(国内镜像比较快)、私服仓库安装进入官网,点击左侧download进入下载页面,windows系统下载binary zip archive版本使...

2020-03-09 09:35:11 1313 3

原创 20200906字节笔试

字节笔试1、走楼梯,N阶楼梯,规则:可以走一部或者两步,不能连续走两步。2、一个数组arr,定义L(i):j<i,arr[j]>arr[i],定义R(i): k>i,arr[k]>arr[i],max(i)=L(i)*R(i),求max最大值。3、一个整数数组,复制n次拼接到一起,求一个区间,使得和最大。4、给一个数组,定义一次操作为使[L,R]区间的数都加1包括L和R,每次操作的L都不相同,R也都不相同,给定一个幸运数字,通过操作使得数组全部变为幸运数字,求有多少种方法。(

2020-09-06 12:14:29 483

原创 2020-08-22

快手java开发一轮面试 60分钟面试官人超好,这点我得放在第一点说,一开始面试官先自我介绍了一下。然后特别亲切的笑容,全程也都是笑着面试,不会的也会引导和提示。之前紧张得不行,一看到面试官就不紧张了。操作系统进程和线程的区别进程间通信协程数据库leftjoin和rightjoin和区别group by 和having 和order by手写一个sql语句,每个人各科成绩表,求总分大于300的。数据结构栈和队列的区别优先级队列底层实现两个栈实现一个队列

2020-08-22 11:21:37 253 2

原创 华为软件笔试

华为软件笔试:1、投票,选出得票最多的规则:同票看名字字母顺序,同名且名字存在包含关系(Tom,Tomy)取名字短的输入:Tom,Luccy,Tom,Jack,Luccy输出:Luccy2、匹配输入:read read[adr=0xff,mask=0xff,value=0x22],read_df[adr=0xff,mask=0xff,value=0x22],read[adr=0xaa...

2020-04-15 21:39:25 547

原创 链表中倒数第k个节点

一、题目1、题目描述输入一个链表,输出该链表中倒数第k个节点。为了符合大多数人的习惯,本题从1开始计数,即链表的尾节点是倒数第1个节点。例如,一个链表有6个节点,从头节点开始,它们的值依次是1、2、3、4、5、6。这个链表的倒数第3个节点是值为4的节点。来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/lian-biao-zhong-d...

2020-04-02 10:25:41 91

原创 【nowcoder】牛牛找工作

一、题目1、题目描述为了找到自己满意的工作,牛牛收集了每种工作的难度和报酬。牛牛选工作的标准是在难度不超过自身能力值的情况下,牛牛选择报酬最高的工作。在牛牛选定了自己的工作后,牛牛的小伙伴们来找牛牛帮忙选工作,牛牛依然使用自己的标准来帮助小伙伴们。牛牛的小伙伴太多了,于是他只好把这个任务交给了你。输入描述:每个输入包含一个测试用例。每个测试用例的第一行包含两个正整数,分别表示工作的数量...

2020-03-09 09:46:18 162

原创 【leetcode279】完全平方数

一、题目1、题目描述给定正整数 n,找到若干个完全平方数(比如 1, 4, 9, 16, …)使得它们的和等于 n。你需要让组成和的完全平方数的个数最少。2、示例示例1:输入: n = 12输出: 3解释: 12 = 4 + 4 + 4.示例2:输入: n = 13输出: 2解释: 13 = 4 + 9.二、解题思路1、思路一动态规划动态规划算法与分治法类...

2020-03-09 09:45:31 319

原创 【leetcode636】函数的独占时间

#一、题目##1、题目描述给出一个非抢占单线程CPU的 n 个函数运行日志,找到函数的独占时间。每个函数都有一个唯一的 Id,从 0 到 n-1,函数可能会递归调用或者被其他函数调用。日志是具有以下格式的字符串:function_id:start_or_end:timestamp。例如:“0:start:0” 表示函数 0 从 0 时刻开始运行。“0????0” 表示函数 0 在 0 时刻结...

2020-03-09 09:44:21 200

原创 【leetcode1089】复写零

一、题目1、题目描述给你一个长度固定的整数数组 arr,请你将该数组中出现的每个零都复写一遍,并将其余的元素向右平移。注意:请不要在超过该数组长度的位置写入元素。要求:请对输入的数组 就地 进行上述修改,不要从函数返回任何东西。2、示例示例1:输入:[1,0,2,3,0,4,5,0]输出:null解释:调用函数后,输入的数组将被修改为:[1,0,0,2,3,0,0,4]...

2020-03-09 09:43:30 243

原创 Linux文件操作:使用c语言实现cp命令

#一、实验内容编写程序,实现 cp 命令的功能。被复制的文件名与复制出的新文件由用户指定。调用方法:“你编写的程序名 被复制文件名 复制出的文件名”。要求程序有一定的健壮性,即对用户错误调 用及其他错误要有处理和反馈。(提示:可以使用 man 手册查看具体的系统调用,e.g., man 2 open)。#二、思路##1、了解c语言中main函数在最新的c99标准中,有两种定义方式:...

2020-03-09 09:41:26 4975 3

K-Means文本聚类python实现

对文本进行聚类,文本预处理--&gt;构造特征向量--&gt;聚类,压缩包内含有实验用语料

2019-07-08

杭电 系统结构 复习资料

杭电 系统结构 复习资料

2019-07-08

远程视频视频监控源程序(C++实现)

这个程序是用C++语言编写的远程监控系统,有兴趣的朋友可以参考一下,里面重点是附加了说明和结构图,内容比较丰富

2019-07-08

2016年全国大学名单(普通高等学校2595所+经纬度腾讯地图)数据

根据2016年教育部发布的大学2595所,结合腾讯地图API接口,录入的mysql全国大学数据及经纬度坐标,适合app开发应用及web应用,经纬度坐标已经校验过了。

2018-11-20

jackson 完整Jar包

Jackson fasterxml和codehaus的区别: 他们是Jackson的两大分支、也是两个版本的不同包名。Jackson从2.0开始改用新的包名fasterxml;1.x版本的包名是codehaus。除了包名不同,他们的Maven artifact id也不同。1.x版本现在只提供bug-fix,而2.x版本还在不断开发和发布中。如果是新项目,建议直接用2x,即fasterxml jackson。 P.S. Jackson可以轻松的将Java对象转换成json对象和xml文档,同样也可以将json、xml转换成Java对象。 官网:http://wiki.fasterxml.com/JacksonHome 三个主要的模块: jackson-core:核心包 jackson-annotations:注解包 jackson-databind:数据绑定包 jackson-databind需要引用另外两个包,所以如果项目中需要jackson-databind,则只需要加入它的dependency就行了,其他两个会自动引入: &lt;dependency&gt; &lt;

2018-11-20

空空如也

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

TA关注的人

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