● 项目篇
z-xiaoyao
这个作者很懒,什么都没留下…
展开
-
敏捷开发初接触
什么是敏捷开发? 敏捷开发(AgileDevelopment)是一种以人为核心、迭代、循序渐进的开发方法。 为什么说是以人为核心? 我们大部分人都学过瀑布开发模型,它是以文档为驱动的,为什么呢?因为在瀑布的整个开发过程中,要写大量的文档,把需求文档写出来后,开发人员都是根据文档进行开发的,一切以文档为依据;而敏捷开发它只写有必要的文档,或尽量少写文档,敏捷开发注重的是人原创 2016-04-10 23:11:57 · 513 阅读 · 38 评论 -
RabbitMQ如何引入项目?
AOP把软件系统分为两个部分:核心关注点和横切关注点。业务处理的主要流程是核心关注点,与之关系不大的部分是横切关注点。横切关注点的一个特点是,他们经常发生在核心关注点的多处,而各处都基本相似。比如权限认证、日志、事务处理。实现AOP的技术,主要分为两大类:1. 一是采用动态代理技术,利用截取消息的方式,对该消息进行装饰,以取代原有对象行为的执行;2. 二是采用静态织入的方式原创 2017-09-02 21:35:08 · 2647 阅读 · 9 评论 -
模板抽题优化
public ExamPaperModel randomQuestion(ExamPaperModel examPaperModel,List mainList,List chapterList){ if (ObjectUtils.allNotNull(examPaperModel,mainList,chapterList)) { //r原创 2017-09-17 21:27:38 · 319 阅读 · 15 评论 -
RabbitMQ应用实现
现在考评的学生提交答题记录的基本流程如下: 考虑到答题记录提交频繁,并且同一时间内有多个学生提交答题记录,所以我们考虑到向数据库提交答题记录时用mq作为缓冲,这样既可以提高提交速度也可以减轻数据库的压力;把答题记录同时向redis中提交一份是为了方便学生二次登陆时对答题记录的查询。 这次我们首先来看mq具体是如何使用的? 首先我们来看mq最重要的地方,配置文件原创 2017-09-19 09:47:53 · 573 阅读 · 22 评论 -
模板抽题实现
RandomQuestionUtils(ExamPaperModel examPaperModel, List mainList, List chapterList) { //region 初始化数据:章节分布、题型等级分布、题干大小 //region 为试卷上每个大题以及小题分配空间 //在试卷中获得题型集合 List typeModelList = exa原创 2017-09-10 21:41:22 · 429 阅读 · 13 评论 -
ITOO线上问题(一)
ITOO在线上运行的过程中出现了一些问题,个人觉得很有价值,作此整理,和大家一起分享! 2018年1月18日全校性思修考试上午分为三场,和其他考试不同的是思修和近代史考试的突出特点有两个:1、思修和近代史是全校性考试,考试的人数多;2、应学校的要求,思修和近代史在考试之前必须首先填写问卷,学生答完问卷后才可进行考试。 首先,交代一下本次考试出现的现象,第一场考试一切正常,各项监控均原创 2018-01-20 21:27:58 · 454 阅读 · 54 评论 -
ITOO线上问题(二)
2018年1月19日,近代史考试,下面我来写一下本次考试出现的问题,以及解决问题的思路,和大家一起分享。 近代史考试也是要分为上午三场,下午三场,出现问题的仍然为上午场,因为中午的时候我们发现了问题,所以下午考试的时候没有发生任何问题。 首先,第一场考试的时候,我们mysql服务器的服务器CPU是四核的,也就是说cpu占用最大可达到400%,我们首先top一下,在输入大写的P(原创 2018-01-21 20:54:07 · 334 阅读 · 18 评论 -
SSM配置日志
一、添加必要的jar包1、root的pom添加如下依赖<!--日志相关--><dependency><groupId>org.slf4j</groupId><artifactId>slf4j-api</artifactId><version>${slf4j-api.version}</vers原创 2018-02-11 19:16:53 · 755 阅读 · 12 评论 -
SSM添加p6spy
1、root的pom中添加依赖:<dependency><groupId>p6spy</groupId><artifactId>p6spy</artifactId><version>3.6.0</version></dependency>2、service的pom引用:&原创 2018-02-12 08:12:44 · 664 阅读 · 17 评论 -
SSM添加junit
在框架中添加单元测试是必要的,以junit为例,我们来看一下junit的添加步骤。1、在root中添加单元测试的依赖:<!--单元测试--><dependency><groupId>junit</groupId><artifactId>junit</artifactId><version>4.12&原创 2018-02-21 10:03:47 · 698 阅读 · 13 评论 -
SSM添加druid监控
我们的SSM架构中,数据库连接池使用的是druid,druid是有监控页面的,通过druid的监控页面,我们可以检测每条sql语句的执行时间,执行次数等,还可以看到spring中加载的bean,这对程序优化非常有帮助,而且使用起来非常简单,仅需简单的配置即可。、1、配置service层的web.xml添加如下内容:<!--配置druid监控功能--><filter>&l...原创 2018-02-22 19:46:45 · 1329 阅读 · 17 评论 -
揭秘微信小程序
微信小程序是一个比较新的名词,那小程序是如何开发的呢?一、注册微信小程序获取appID 1、 登录微信公众平台https://mp.weixin.qq.com/ 2、 点击立即注册https://mp.weixin.qq.com/cgi-bin/registermidpage?action=index&lang=zh_CN3、 点击小程序,进行注原创 2017-06-04 21:33:07 · 612 阅读 · 19 评论 -
关于调试的心得分享
最近对调试应用的还是比较多的,可以这样说,程序员是离不开调试的,当然关于调试的方法也是多种多样。在这里我简单的说一下在我们的项目中是如何应用调试的,如果能对您有一点点的帮助,我将非常荣幸。 Fiddler 通常我们对浏览器内置的调试工具应用的还是比较多的,如firbug等,除此之外,我们最好再掌握一个第三方调试工具的使用方法,因为虽然各个浏览器的内置调试工具都是差不多的原创 2016-12-27 12:30:37 · 731 阅读 · 34 评论 -
登录——被忽略的事
我们编写程序时,基本每次都需要一个登录框来进行登录。 通常我们的逻辑是这样的,让用户输入用户名、密码,如果验证成功则主窗体显示,登录窗口关闭。 if ( textBox1.Text == "1" && textBox2.Text=="1") { frmMain fm = new frmMain();原创 2016-04-29 14:48:07 · 554 阅读 · 37 评论 -
MessageBox使用详解
Messagebox是我们编写程序时都会用到的东西,我每次使用的时候都能让它显示出来,但是我并不了解它的结构,或者说语法,下面简单总结一下。语法 Messagebox(text,title,messageboxbuttons,messageboxicon) 参数解释 Text ,消息框的正文; Title ,消息框的标题; Message原创 2016-04-29 17:01:22 · 13387 阅读 · 45 评论 -
数据迁移之SqlBulkCopy对象(一)
最近在做数据导入的一些功能,因为涉及到的数据比较多,所以就要考虑效率的问题了,经过简单计算,这个系统得支持几十万条数据才行,如果用我们通常使用的insert into 语句效率可想而知,点一下按钮就在那等吧,不用说用户,我们自己都受不了。 后来经过查询资料得知,.Net Framework提供的SqlbulkCopy函数就可以将原来一条一条处理的数据经过批量处理,并且Sqlbu原创 2016-04-30 19:57:25 · 2143 阅读 · 30 评论 -
正则表达式——完美验证
我们在编写程序时验证代码是必不可少的,手机号码验证,邮箱验证,url验证等等,有些验证是比较容易的,但是有些验证如果还用我们通常使用的方法验证就变的相当繁琐了,这时候就需要有个英雄站出来拯救我们了,他就是正则表达式。 什么是正则表达式? 官方解释:正则表达式使用单个字符串来描述,匹配一系列符合某个语法规则的字符串。 个人理解:正则表达式相当于我们填写内容的一个原创 2016-05-01 22:59:53 · 1274 阅读 · 32 评论 -
加密算法—MD5、RSA、DES
最近因为要做一个加密的功能,简单了解了一下加密算法,现在比较常用的有三个加密算法MD5加密算法、RSA加密算法、DES加密算法。 MD5加密算法 定义:MD5算法是将任意长度的“字节串”变换成一个128bit的大整数,并且它是一个不可逆的字符串变换算法,即使你看到源程序和算法描述,也无法将MD5的值变回原始的字符串。 应用:在有些操作系统中,用户的密码是以MD原创 2016-05-08 18:20:59 · 3084 阅读 · 31 评论 -
DataTable增删改查详解
数据库中的增删改查我们都已经非常熟悉了,可是有时候如果需要考虑到效率的问题,频繁的访问数据库会使程序的性能大幅度降低,有什么解决方法吗?既可以查询出所要的数据又不用频繁访问数据库,答案是有的。 我们通常所使用的DataTable对象就有增删改查的功能,具体如何实现我们通过一个小例子来说明。 DEMO 首先我们在Form1_Load事件中一次性查询出原创 2016-05-12 13:05:41 · 5219 阅读 · 38 评论 -
事务-程序员的必经之路
以前只是在数据库中使用了事务,但是并没有在代码中使用过事务,最近解决问题时正好有了这个需求,这会不能再放过它了。由于是初次使用首先进行了各种尝试,下面写我尝试过程中的一点点收获。 事务大概可以分为四种:SQL事务,ADO.NET事务,TransactionScope事务,EnterpriseServices事务。 SQL事务我们都很熟悉,这里不再赘述。原创 2016-05-14 16:35:54 · 1332 阅读 · 90 评论 -
ADO.NET-数据库操纵工具
什么是ADO.NET? 它是一个广泛的类组,用于在Microsoft中访问数据,准确的讲,ADO.NET设计了一系列对各种类型数据的访问形式,并提供了对应的类,在类中提供了与对应的数据交互的属性和方法。编程者可以通过这些属性和方法对各种数据源进行操作。 .NET Framework提供的数据提供程序? ADO.NET5个主要对象?原创 2016-05-22 21:27:16 · 688 阅读 · 52 评论 -
消息队列--MSMQ应用(一)
消息队列是什么? 消息队列是在消息传输过程中保存消息的容器。消息队列管理器在将消息从它的源中继到它的目标时充当中间人 ,队列的主要目的是提供路由并保证消息的传递,如果发送消息时接收者不可用,消息队列会保留消息,直到可以成功的传递它。 MSMQ是什么? MSMQ是在多个不同的应用之间实现相互通信的一种异步传输模式,相互通信的应用可以分布于同一台机器上,也可以分原创 2016-08-30 17:50:16 · 1729 阅读 · 46 评论 -
cookie与session简单对比分析
最近刚刚接触了cookie与session,对于二者的异同,小编简单的进行了一下对比分析。 定义: Cookie,有时也用其复数形式cookie,指某些网站为了辨别用户身份、进行session跟踪而储存在用户本地终端上的数据(通常经过加密) Session:在计算机中,尤其是在网络应用中,称为“会话控制”。Session 对象存储特定用户会话所原创 2016-08-30 11:11:51 · 489 阅读 · 37 评论 -
jvm(三):对象
关于对象,我们需要面对的问题主要有对象的创建,对象在内存中的布局,对象的结构,对象的访问定位。 对象的创建 对象的创建过程如下图所示: 其主要步骤有:给对象分配内存,初始化对象,执行构造方法。 在对象创建过程中出现的线程安全性问题由线程同步和本地线程分配缓冲来解决 对象在内存中的布局 a、指针碰撞 b、空闲列表 对象内存的分配方式由堆内存是否规整决定,堆内存是否规整又有垃圾回...原创 2018-05-27 21:49:52 · 201 阅读 · 10 评论