经验之谈
ITString
程序员,专注于后台开发。
展开
-
史上最详细的线段树教程
线段树是一种树形的高级数据结构,因为noip不考这种数据结构,而且当时的代码实现能力比较差,编程水平比较低,所以高中的时候粗略的看了看,并没有真正的搞懂,虽然早已弃了算法竞赛的坑,但还是回过头去研究了一下这种高级数据结构并写下此教程,以纪念曾经奋斗在OI道路上的日子。问题提出:现有如下的问题,给定一个的序列,实现以下操作:①更新序列的某个值。②查询序列的某个区间的最小值(最大值、区间和)线段树常用于解决区间统计问题。求最值,区间和等操作均可使用该数据结构,本篇以求最小值为例。③更新序列的原创 2020-12-10 13:07:35 · 402 阅读 · 1 评论 -
算法系列——四种最短路算法:Floyd,Dijkstra,Bellman-Ford,SPFA
写在前面:好久没有更新博客了,距离上一次更新已经过去了十一个月了,一是因为课业繁重,二是因为这一年中接了不少项目。其实早就想写写算法和数据结构相关的文章了,之前在Coders群里也说过17年要多写写算法和数据结构,奈何计划赶不上变化,实在是没有工夫写。现在到了18年了,最近刚放寒假,数据科学导论实验今天交上了最后一个,总算是有些闲工夫了,准备写些东西却又不知道应该写什么,算法那么多,从哪个写起呢?思来想去,想到了最短路径算法,因为博主今年开了计算机网络课程,在计算机网络中,有一个很重要的东西就是路由,即原创 2020-12-10 13:06:40 · 600 阅读 · 0 评论 -
【实训】第四周总结下
最近做的工作如下:完善了后台已有的接口,重点是完善了参数检验过程。之前写接口的时候,只是单纯的写逻辑,没有完善用户参数的检验,最近把用户参数检验加上了,这样提升了项目的健壮性,因为有时候因为用户输入参数非法,而且没有仔细检查,会导致很严重的错误。所以用户输入的检查是很重要的。现在的检验都是很直接的,编程式检验,就是在接收到用户请求之后,写逻辑进行检验。这是最直接,也是最简便的一种做法。不过这样原创 2017-06-02 22:06:54 · 326 阅读 · 0 评论 -
【实训】第六周总结上
最近做的工作如下:继续实现之前接口文档的接口,和iOS端交互,更换ORM框架。之前ORM层一直使用spring data,spring data实现了JPA,在进行基本的增删改查的时候,是很方便的,但是如果有多对多关系,这时候需要新建一张关系表,这时候就比较麻烦了。而且效率还十分低,所以我作出决定,将ORM层换成了mybatis框架。虽然mybatis中基本的增删改查还是需要自己来实现,但是J原创 2017-06-12 16:15:40 · 528 阅读 · 0 评论 -
【实训】第七周总结上
最近做了以下工作:添加了收藏商家的功能,添加了预定旅游公司的功能,以下是数据库和接口文档商品 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 · 342 阅读 · 0 评论 -
【大三上学期实训】第一周总结
我们本周商量了一下项目需求,这个项目之前是我再做的,现在新添加了三个队友,需要把项目在重新熟悉起来。经过本次的商量总结,我们确定了新的接口文档。我是做后台的,对前端不是很熟悉,所以之前的前端写的很乱。很多地方写的不优雅,所以这次的主要任务是优化前端代码,这部分工作由王方良和陈苇如去做,后台部分我和祖佑再把新的功能实现出来,即导出pdf,还有就是项目的核心算法,包括用ElasticSearch进原创 2018-01-11 18:47:47 · 458 阅读 · 0 评论 -
【大三上学期实训】第二周总结
这周我们把之前的代码完善了一下,重点是完善了参数检验过程。之前写接口的时候,只是单纯的写逻辑,没有完善用户参数的检验,最近把用户参数检验加上了,这样提升了项目的健壮性,因为有时候因为用户输入参数非法,而且没有仔细检查,会导致很严重的错误。所以用户输入的检查是很重要的。现在的检验都是很直接的,编程式检验,就是在接收到用户请求之后,写逻辑进行检验。这是最直接,也是最简便的一种做法。不过这样会导致大量的原创 2018-01-11 18:52:28 · 554 阅读 · 0 评论 -
【大三上学期实训】第三周总结
重新设计了数据库,之前的数据库设计不是很合理。我们重新设计了数据库,提高了数据库的性能,由于作者部分可以重用,而且一本书或者一篇文章可能不只有一个作者,所以我们新建了一个作者表,然后每次,就先检测这个作者在作者表里是否存在,若存在则直接使用现成的,否则就插入新的作者,然后使用新的id进行关联,新的表结构如下:#### 用户:users id char(32) 唯一标识 UUID原创 2018-01-11 19:21:42 · 319 阅读 · 0 评论 -
【大三上学期实训】第六周总结
最近做的工作如下:继续实现之前接口文档的接口,更换ORM框架。之前ORM层一直使用spring data,spring data实现了JPA,在进行基本的增删改查的时候,是很方便的,但是如果有多对多关系,这时候需要新建一张关系表,这时候就比较麻烦了。而且效率还十分低,所以我作出决定,将ORM层换成了mybatis框架。虽然mybatis中基本的增删改查还是需要自己来实现,但是JPA里面已经原创 2018-01-11 20:00:54 · 269 阅读 · 0 评论 -
【实训】第四周总结上
学习了短信验证服务文档,实现了短信验证服务框架,完善了用户输入的参数检验。原创 2017-05-28 13:50:27 · 633 阅读 · 0 评论 -
【实训】第三周总结下
最近做了以下工作:根据学习的支付宝的接口文档,实现了一套支付框架。首先要实现的功能就是接受APP的下单信息,进行下单的签名,这一部分就是接受移动端传来的消息,然后通过支付包提供的秘钥进行签名。签名之后交还给移动端。其次是实现了支付成功之后的验证,支付成功之后,支付宝会返回给移动端信息,然后这时候移动端要再次传该参数到服务器,服务器进行验证检验,然后更新订单信息。然后进行最终确认。以上就原创 2017-06-02 21:43:59 · 394 阅读 · 0 评论 -
【实训】第三周总结上
本周学习了支付功能的文档,完成了支付功能的框架。原创 2017-05-21 16:07:08 · 541 阅读 · 0 评论 -
struts2 使用dmi
打开动态调用才行。原创 2016-02-17 16:26:58 · 416 阅读 · 0 评论 -
mysql中文乱码问题
昨天用mysql发现前台后台都乱码。然后新建了一张表发现后台不乱码了,执行show variables like 'character%';语句发现字符编码如下+--------------------------+-------------------------------------------+| Variable_name | Value原创 2016-02-19 10:42:29 · 306 阅读 · 0 评论 -
hibernate连接数据库乱码问题
需要在建立数据库的时候后面加上一句 default character set gb2312; 然后在连接数据库的时候写上 jdbc:mysql://localhost:3306/hibernatetrue gbk 这样就可以了。原创 2016-02-27 20:42:02 · 468 阅读 · 0 评论 -
tomcat部署HelloWorld出错。
自作聪明引入了jsp之后又引入了el包,没想到冲突。。昨天也是这样吧。。。。原创 2016-04-14 20:11:38 · 503 阅读 · 0 评论 -
【实训】第五周总结上
最近做了以下工作:规范化数据库命名。继续实现之前没有实现的业务逻辑本次实训项目,用的rom框架为spring data. spring data实现了JPA规范,实现了大量的模板代码,极大的简化了数据库交互的开发。之前数据库的命名方式都是两个单词之间用下划线分割,后来一位拿到了美团offer的学长指点,说最佳实践是统一使用驼峰命名方法,不管是数据库还是代码中,这样统一下来,简化了数据库到对象属原创 2017-06-04 17:43:02 · 494 阅读 · 0 评论 -
【实训】第五周总结下
最近做了以下工作:继续实现了之前未实现的接口最近将原来的接口完善了以下,加入一些细化的逻辑,更细致的参数检验方法。另一个就是为了提高开发效率,研究了spring boot的热部署方法,因为之前每次修改类或者配置文件,总要重新启动,浪费了大量的时间,所以决定研究一下spring boot的热部署方法。总的来说有两个方案方式一:使用springloaded 热加载 在pom.xml中添加以下原创 2017-06-04 17:56:11 · 455 阅读 · 0 评论 -
【实训】第二周工作下
最近做了以下工作:研究了融云的API。融云主要应用到前端。原创 2017-06-02 21:20:12 · 361 阅读 · 0 评论 -
【实训】第一周总结下
最近做了以下工作:设计接口文档由于项目要前后端分离,后台提供接口,前端通过调用接口和用户交互,前后端独立并行开发,所以需要有一个双方协定好的接口文档,就类似于Java中的接口,只声明可以做什么,具体的时候后期进行,上次设计好了数据库,这次的主要任务就是设计好基础功能的接口文档。以下是具体的接口文档:全局约定:返回值形式:{status:(请求的状态),message:(一个简单短语解释原创 2017-06-02 20:45:08 · 511 阅读 · 0 评论 -
关于html和jsp乱码问题
html乱码加入 即可解决jsp乱码 加入 即可解决原创 2016-02-17 10:40:44 · 360 阅读 · 0 评论