自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(33)
  • 问答 (1)
  • 收藏
  • 关注

原创 史上最详细的线段树教程

线段树是一种树形的高级数据结构,因为noip不考这种数据结构,而且当时的代码实现能力比较差,编程水平比较低,所以高中的时候粗略的看了看,并没有真正的搞懂,虽然早已弃了算法竞赛的坑,但还是回过头去研究了一下这种高级数据结构并写下此教程,以纪念曾经奋斗在OI道路上的日子。问题提出:现有如下的问题,给定一个的序列,实现以下操作:①更新序列的某个值。②查询序列的某个区间的最小值(最大值、区间和)线段树常用于解决区间统计问题。求最值,区间和等操作均可使用该数据结构,本篇以求最小值为例。③更新序列的

2020-12-10 13:07:35 375 1

原创 算法系列——四种最短路算法:Floyd,Dijkstra,Bellman-Ford,SPFA

写在前面:好久没有更新博客了,距离上一次更新已经过去了十一个月了,一是因为课业繁重,二是因为这一年中接了不少项目。其实早就想写写算法和数据结构相关的文章了,之前在Coders群里也说过17年要多写写算法和数据结构,奈何计划赶不上变化,实在是没有工夫写。现在到了18年了,最近刚放寒假,数据科学导论实验今天交上了最后一个,总算是有些闲工夫了,准备写些东西却又不知道应该写什么,算法那么多,从哪个写起呢?思来想去,想到了最短路径算法,因为博主今年开了计算机网络课程,在计算机网络中,有一个很重要的东西就是路由,即

2020-12-10 13:06:40 541

原创 【大三上学期实训】第九周总结

这周是最后一周,我们下周就要答辩了。最后做一次工作总结,这个项目从暑假开始,然后开学之后坐了一个模型出来,模型有很多问题,但是核心算法已经重要的xml建模部分已经做好了。而且我不会前端,所以这个项目的前端写的十分混乱,在实训的过程中,我们就是主要进行前端的优化以及后端的完善,比如pdf导出的完善,数据库的完善,中间有很多问题,但是最终都解决了。但是最后仍然不完美,虽然实训已经结束,但是这个项目没有

2018-01-11 20:36:01 381

原创 【大三上学期实训】第八周总结

这一周我们把所有的接口都实现好了,然后部署到了老师的服务器上,可是部署的时候出现了很多问题,首先是启动ElasticSearch的时候,我是直接把本地的ElasticSearch拷到了服务器上,然后启动,结果报了错,查log发现说是不能使用root用户打开,然后我们就重新设置了一个用户,然后启动,结果启动之后立马就退出了,然后查日志也没看到有什么地方有错,就是打开之后,过不了多久就显示,已杀死,而

2018-01-11 20:30:23 539

原创 【大三上学期实训】第七周总结

前端部分的优化作的差不多了。我们这个项目并没有让前后端完全分离。因为有些地方耦合起来比较方便,比如在文章查看的哪部分,因为我们有书籍查看,文章查看。文章查看又分很多部分,比如根据正文查询的,根据文章名字查询的,根据注释查询的。他们其他部分都是一样的,只有展示部分有些许不一样,以及获取数据的url不一样,这两部分可以直接使用jsp的el表达式直接渲染出来,然后他们通用一个页面。这样就可以精简很多代码

2018-01-11 20:14:09 215

原创 【大三上学期实训】第六周总结

最近做的工作如下:继续实现之前接口文档的接口,更换ORM框架。之前ORM层一直使用spring data,spring data实现了JPA,在进行基本的增删改查的时候,是很方便的,但是如果有多对多关系,这时候需要新建一张关系表,这时候就比较麻烦了。而且效率还十分低,所以我作出决定,将ORM层换成了mybatis框架。虽然mybatis中基本的增删改查还是需要自己来实现,但是JPA里面已经

2018-01-11 20:00:54 252

原创 【大三上学期实训】第五周总结

这周我们实现了导出pdf,导出pdf分两步,因为我们的古文是放到svg中的,所以第一步是把每个svg给转成pdf,然后在进行pdf的合并,每个svg是一页pdf,这样最后得到比较完好的效果。在我本地进行测试的时候,是没问题的,可是之后把这块功能部署到远程服务器上之后,再重新导出的时候,竟然打印不出来文字,最后查找资料才找到问题所在,原因是字体缺失。解决方案如下:先安装fontconfig,

2018-01-11 19:49:59 295

原创 【大三上学期实训】第四周总结

我们这次自习研究了一下ElasticSearch中的分词器,最终我们决定使用ik中文分词器,https://github.com/medcl/elasticsearch-analysis-ik这个分词器中有两种分词方式,一种是ik_smart一种是ik_max_word,前者是通过最粗粒度去进行分词,后者是通过最细粒度进行分词。我们研究之后,决定使用ik_max_word这个是把一句话穷举

2018-01-11 19:37:53 336

原创 【大三上学期实训】第三周总结

重新设计了数据库,之前的数据库设计不是很合理。我们重新设计了数据库,提高了数据库的性能,由于作者部分可以重用,而且一本书或者一篇文章可能不只有一个作者,所以我们新建了一个作者表,然后每次,就先检测这个作者在作者表里是否存在,若存在则直接使用现成的,否则就插入新的作者,然后使用新的id进行关联,新的表结构如下:#### 用户:users id char(32) 唯一标识 UUID

2018-01-11 19:21:42 295

原创 【大三上学期实训】第二周总结

这周我们把之前的代码完善了一下,重点是完善了参数检验过程。之前写接口的时候,只是单纯的写逻辑,没有完善用户参数的检验,最近把用户参数检验加上了,这样提升了项目的健壮性,因为有时候因为用户输入参数非法,而且没有仔细检查,会导致很严重的错误。所以用户输入的检查是很重要的。现在的检验都是很直接的,编程式检验,就是在接收到用户请求之后,写逻辑进行检验。这是最直接,也是最简便的一种做法。不过这样会导致大量的

2018-01-11 18:52:28 488

原创 【大三上学期实训】第一周总结

我们本周商量了一下项目需求,这个项目之前是我再做的,现在新添加了三个队友,需要把项目在重新熟悉起来。经过本次的商量总结,我们确定了新的接口文档。我是做后台的,对前端不是很熟悉,所以之前的前端写的很乱。很多地方写的不优雅,所以这次的主要任务是优化前端代码,这部分工作由王方良和陈苇如去做,后台部分我和祖佑再把新的功能实现出来,即导出pdf,还有就是项目的核心算法,包括用ElasticSearch进

2018-01-11 18:47:47 436

原创 【实训】第七周总结下

最近实现了上次写的新的接口,然后测试了短信接口。可以正常使用,不过每天只有十条。现在iOS已经做完了样式部分,正在调试接口。昨天和iOS联调的时候,发现sql语句报错,发现数据库中有一个表叫做order,正好MySQL中有一个关键字叫order,所以才会报错,解决方案是把order用反引号引起来。还有一个以前没见过的就是一个表中出现多个timestamp并设置其中一个为current_time

2017-06-18 23:03:54 322

原创 【实训】第七周总结上

最近做了以下工作:添加了收藏商家的功能,添加了预定旅游公司的功能,以下是数据库和接口文档商品 tripid 唯一标示 int(9) 自增name 名称 varchar(25)describe 描述 varchar(255)price 价格 double grade 评分 doublecollection 收藏 int(9)order 下单 int(9)publishT

2017-06-14 16:58:38 322

原创 【实训】第六周总结下

最近的工作:学习使用mybatis generator自动生成代码。继续实现接口。在hibernate spring data等实现了JPA标准的框架中,进行增删改查是比较方便的。但是使用mybatis这种框架的时候,就比较麻烦了,还需要自己手写增删改查逻辑。不过增删改查的逻辑代码都是固定的,然后我去请教了一下在美团工作的学长,他告诉我有一个工具叫mybatis generator,使用这个工

2017-06-12 16:21:51 301

原创 【实训】第六周总结上

最近做的工作如下:继续实现之前接口文档的接口,和iOS端交互,更换ORM框架。之前ORM层一直使用spring data,spring data实现了JPA,在进行基本的增删改查的时候,是很方便的,但是如果有多对多关系,这时候需要新建一张关系表,这时候就比较麻烦了。而且效率还十分低,所以我作出决定,将ORM层换成了mybatis框架。虽然mybatis中基本的增删改查还是需要自己来实现,但是J

2017-06-12 16:15:40 503

原创 【实训】第五周总结下

最近做了以下工作:继续实现了之前未实现的接口最近将原来的接口完善了以下,加入一些细化的逻辑,更细致的参数检验方法。另一个就是为了提高开发效率,研究了spring boot的热部署方法,因为之前每次修改类或者配置文件,总要重新启动,浪费了大量的时间,所以决定研究一下spring boot的热部署方法。总的来说有两个方案方式一:使用springloaded 热加载  在pom.xml中添加以下

2017-06-04 17:56:11 436

原创 【实训】第五周总结上

最近做了以下工作:规范化数据库命名。继续实现之前没有实现的业务逻辑本次实训项目,用的rom框架为spring data. spring data实现了JPA规范,实现了大量的模板代码,极大的简化了数据库交互的开发。之前数据库的命名方式都是两个单词之间用下划线分割,后来一位拿到了美团offer的学长指点,说最佳实践是统一使用驼峰命名方法,不管是数据库还是代码中,这样统一下来,简化了数据库到对象属

2017-06-04 17:43:02 470

原创 【实训】第四周总结下

最近做的工作如下:完善了后台已有的接口,重点是完善了参数检验过程。之前写接口的时候,只是单纯的写逻辑,没有完善用户参数的检验,最近把用户参数检验加上了,这样提升了项目的健壮性,因为有时候因为用户输入参数非法,而且没有仔细检查,会导致很严重的错误。所以用户输入的检查是很重要的。现在的检验都是很直接的,编程式检验,就是在接收到用户请求之后,写逻辑进行检验。这是最直接,也是最简便的一种做法。不过这样

2017-06-02 22:06:54 307

原创 【实训】第三周总结下

最近做了以下工作:根据学习的支付宝的接口文档,实现了一套支付框架。首先要实现的功能就是接受APP的下单信息,进行下单的签名,这一部分就是接受移动端传来的消息,然后通过支付包提供的秘钥进行签名。签名之后交还给移动端。其次是实现了支付成功之后的验证,支付成功之后,支付宝会返回给移动端信息,然后这时候移动端要再次传该参数到服务器,服务器进行验证检验,然后更新订单信息。然后进行最终确认。以上就

2017-06-02 21:43:59 374

原创 【实训】第二周工作下

最近做了以下工作:研究了融云的API。融云主要应用到前端。

2017-06-02 21:20:12 338

原创 【实训】第一周总结下

最近做了以下工作:设计接口文档由于项目要前后端分离,后台提供接口,前端通过调用接口和用户交互,前后端独立并行开发,所以需要有一个双方协定好的接口文档,就类似于Java中的接口,只声明可以做什么,具体的时候后期进行,上次设计好了数据库,这次的主要任务就是设计好基础功能的接口文档。以下是具体的接口文档:全局约定:返回值形式:{status:(请求的状态),message:(一个简单短语解释

2017-06-02 20:45:08 487

原创 【实训】第四周总结上

学习了短信验证服务文档,实现了短信验证服务框架,完善了用户输入的参数检验。

2017-05-28 13:50:27 586

原创 【实训】第三周总结上

本周学习了支付功能的文档,完成了支付功能的框架。

2017-05-21 16:07:08 525

原创 【实训】第二周工作上

本周做了以下工作:实现了登录注册接口,实现了用户发布需求接口,实现了查看其他用户需求的接口,学习了融云即时通讯文档。

2017-05-14 13:49:42 353

原创 【实训】第一周总结上

这一周做了以下工作:设计接口文档,设计数据库。

2017-05-07 16:59:57 635

原创 Spring MVC @SessionAttribute注解使用

该注解的目的是缓存参数缓存参数的两个条件1、在@SessionAttributes中生命了需要缓存的参数的类型或者参数名。2、在处理器中将参数设置到了model中获取缓存的参数的方法1、在视图中通过request.getAttribute或者session.getAttribute获取2、在请求返回的视图中通过session.getAttribute或者Model中获取

2016-08-31 17:36:38 1852

原创 spring mvc配置主题和国际化

在web,xml 中需要加上ContextLoaderListener的监听器,否则在解析jsp的时候会报找不到ApplicationContext的错误。 org.springframework.web.context.ContextLoaderListener contextConfigLocation classpath:spring-servlet.

2016-08-28 12:59:47 614

原创 使用FlashMap转向时传递参数

一、使用FlashMap((FlashMap)httpServletRequest.getAttribute(DispatcherServlet.OUTPUT_FLASH_MAP_ATTRIBUTE)).put("aaa","bbb");//这样把值aaa保存到了FlashMap中。 或者在方法参数中加入 RedirectAttributes attributes参数 则可以这样来添加参数

2016-08-26 20:23:35 615

原创 tomcat部署HelloWorld出错。

自作聪明引入了jsp之后又引入了el包,没想到冲突。。昨天也是这样吧。。。。

2016-04-14 20:11:38 479

原创 hibernate连接数据库乱码问题

需要在建立数据库的时候后面加上一句 default character set gb2312;  然后在连接数据库的时候写上 jdbc:mysql://localhost:3306/hibernatetrue gbk 这样就可以了。

2016-02-27 20:42:02 447

原创 mysql中文乱码问题

昨天用mysql发现前台后台都乱码。然后新建了一张表发现后台不乱码了,执行show variables like 'character%';语句发现字符编码如下+--------------------------+-------------------------------------------+| Variable_name            | Value          

2016-02-19 10:42:29 284

原创 struts2 使用dmi

打开动态调用才行。

2016-02-17 16:26:58 401

原创 关于html和jsp乱码问题

html乱码加入 即可解决jsp乱码 加入 即可解决

2016-02-17 10:40:44 346

空空如也

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

TA关注的人

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