自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Ibex-Relieved的专栏

人非生而知之者,孰能无惑?惑而不从师,其为惑也,终不解矣。

  • 博客(158)
  • 资源 (34)
  • 收藏
  • 关注

原创 基于WordPress博客系统搭建

环境准备本系统将基于LNMP进行搭建,LNMP系统搭建准备请参考博主另外两篇文章https://blog.csdn.net/gao36951/article/details/73321345https://blog.csdn.net/gao36951/article/details/89702602环境版本信息linux 版本nginx 版本mysql版本php版本...

2019-05-05 20:22:05 788

原创 浅谈搭建LNMP环境

前言前置条件首先要有一台linux 服务器,阿里云、腾讯云等等都行由于我之前买的是腾讯云的服务器,本文就以腾讯云服务器为例操作环境LNUMlinux 版本nginx 版本Mysql版本Xshell版本WordPress版本(5.0.3)下载地址:https://cn.wordpress.org/download/安装步骤Mysql 以及N...

2019-05-01 20:02:27 568

原创 记一次tomcat启动卡很久的问题

题记今天linux 上面搞一个tomcat,刚安装上就有个问题,启动超级慢,看日志发现如下13:41:45.089 [localhost-startStop-1] INFO (JetConfig.java:170) - JetEngine version is 1.2.913:41:45.092 [localhost-startStop-1] INFO (JetConfig.ja...

2018-05-09 18:03:20 2338

原创 IntelliJ IDEA相关快捷键

IntelliJ IDEA相关快捷键常用的几个:Ctrl+Shift+Alt+N,查找类中的方法或变量Ctrl+Shift+N 查找文件Ctrl+N 查找类Ctrl+Shift+Alt+T,重构Ctrl+B 进入光标所在方法定义的地方或返回该方法被使用的地方(代替Ctrl+鼠标点击方法进入方式,避免了手指在键盘和鼠标之间切换,非常好用的快捷键)Ctrl+Alt+B 进...

2018-02-24 11:00:58 374

原创 Joda与Jdk1.8日期知多少

题记在项目当中我们经常会遇到一些处理时间的场景,譬如要取一个指定的时间、某个时间加上指定的天数、获取某个月份的星期几、某一年的某一个月的最后一天等等。这些场景在JDK1.8之前想想这些需求都是需要自己取封装的,如果你没有用过Joda的情况下。现在我们就来比较一下这两个还有jdk1.8之前要实现这些功能的代码对比。方案joda 官网:http://www.joda.org/joda-time/ 本方

2017-11-18 22:38:12 2134

原创 浏览器在线浏览PDF文件之pdf.js

场景之前项目也有过pdf在线显示的场景,详见下面的两篇无文字刚开始使用pdf.js,后来发现由于签章有加密算法,导致签章显示不出来。又迫于签章的重要性,后来不得不考虑别的方法,把pdf转换成图片来展示。以前使用pdf.js都是直接在网上找的现成的可以使用的文件,这次直接从官网来自己搞。 http://blog.csdn.net/gao36951/article/details/52216765

2017-11-16 10:28:27 3864

原创 Java同步关键字Synchronized深入理解

题记讲讲写这篇博客的原因,因为自认为对synchronized这个关键字很了解了,前几天和一个刚好在找工作的朋友聊到了这个。结果他把面试遇到的一个问题给我出了出来,当我蒙圈的那一刻才懂得自己之前的了解只是皮毛。正文对于synchronized这个关键字,只要是学过java的我们对它都不陌生,而且感觉还非常熟悉。那我们就先来说一说面试和实际使用当中会遇到的两个场景。

2017-10-28 15:18:53 1509

原创 Java解析excel操作

问题描述在我们的项目中经常会遇到需要导入一定规格的excel文档,然后来解析里面的内容转换为数据导入到数据库或者进行其他操作。这样解析的问题就来了,解析excle从文件后缀名上分为.xls和.xlsx两种,从数据的格式上分为行数据和列数据。解决方案直接上代码,解析行数据基础类package com.test.excel;import java.io.IOException;import java.

2017-10-20 22:00:25 1308

原创 曾经面试的一个关于文件操作的上机题

问题描述记得是一个游戏公司面试,然后人力面试后是机试,其中一道题目就是让遍历出一个目录下面的所有子目录以及文件。并且按照一定的缩进打印出来,当时做了有一大会没有做出来。最后面试结果也可想而知。今天看《java核心技术 卷II 》 上来就是流与文件,这也让我想起了曾经的这个经历。具体实现有了上面的经历,所以自己就想来实现一个这个功能,在没有查阅资料的前提下经过一段时间的调试,调试出来了如下程序

2017-10-20 14:03:10 970

原创 java、android、ios、js数据传递加密算法之AES加密

场景描述我们在做项目的时候,写接口经常会遇到这样的情况,就是和app端、web端交互的时候传输数据需要进行加密,不能用明文操作。数据传输加密最关键的就是前后端传输的数据最终能被正确的解密出来,今天就来讲讲使用AES加密传输的时候前后端使用的代码。解决方案首先来看一下后端java的AES加解密工具类// 注意,为了能与 iOS 统一,这里的 key 不可以使用 KeyGenerator、Secure

2017-09-12 10:40:30 5387 2

原创 DataTables上移下移排序、拖拽排序

场景描述最近做的项目,涉及到一个需求,就是需要动态的设置页面上内容的优先级,就是顺序。如下图 这个地方文章的顺序需要通过后台管理系统控制,那么问题来了,我们后台管理系统表格使用的是datatables解决方案那么现在就来说解决方案,首先根据需求大概想了一下思路,就是对应的表加上优先级的字段,然后上移、下移的时候交换两条数据的优先级即可。根据这个思路去官网找具体的实现方案,找了好久发现了rowr

2017-07-06 16:14:51 10432 6

原创 阿里云服务器配置Java部署环境

在阿里云上部署项目搭建环境小记64bit 需要安装的软件列表 本示例java的web项目需要安装如下软件jdk—(本示例选用如下版本)java version "1.8.0_131"Java(TM) SE Runtime Environment (build 1.8.0_131-b11)Java HotSpot(TM) 64-Bit Server VM (build 25.131-b

2017-06-16 09:26:57 14111 3

原创 windows下安装sass环境

安装环境操作系统: win10 64bit具体步骤下载ruby地址如下 http://rubyinstaller.org/downloads/ 本文章以2.2.6版本为例ruby安装步骤参考下面文章 http://jingyan.baidu.com/article/86f4a73e83654a37d752696c.html 安装完Ruby实际上已经安装好了gem通过Gem安装Com

2017-05-16 15:41:03 530 2

原创 Maven最实用settings.xml

废话不多说,下面贴一个自己用的比较好用的settings.xml,以备后用

2017-02-23 20:34:00 1382

原创 设置Mybatis打印调试sql的两种方式

问题描述在使用mybatis进行开发的时候,由于可以动态拼接sql,这样大大方便了我们。但是也有一定的问题,当我们动态sql拼接的块很多的时候,我们要想从*mapper.xml中直接找出完整的sql就会非常的难,这个时候经常会需要把组合之后的完整sql调试出来比较好。下面来看两种调试出sql的两种方式解决方案方案1: 网上说的比较多的,之前也是这么用的一种方式 1:首先将ibatis log4j

2016-12-14 16:25:29 82703 18

原创 数据库连接奇葩错误

场景描述开发项目搞环境是一个非常蛋疼的问题,总是会遇到各种奇葩的问题,今天又遇到了一个比较奇葩的问题,因为开发新的项目,就拿了之前的一个项目来改,最后数据库用户名和密码以及地址都忘了改了,项目搭建好后测试就来了一个奇葩的问题。错误如下:Creating a new SqlSessionRegistering transaction synchronization for SqlSession [o

2016-12-14 16:05:21 1215

原创 Mapper的XML配置文件之设置(settings)

这是MyBatis 修改操作运行过程细节的重要的步骤。下方这个表格描述了这些设置项、含义和默认值。 下面列出关于设置的完整例子:<?xml version="1.0" encoding="utf-8"?><!DOCTYPE sqlMapConfig PUBLIC "-//iBATIS.com//DTD SQL Map Config 2.0//EN" "http://www.ibatis.com

2016-11-28 14:54:43 1376

原创 Mapper的XML配置文件之properties

介绍一下Mapper的XML配置文件Mapper 的XML 配置文件包含一些设置和属性,用于增强MyBatis 的动作。一般为sqlmap-config.xml,文档的深层次结果如下: 具体介绍每个节点的用途一、属性(properties) JAVA 属性文件就可以配置直观的、可代替的属性,或者是属性项的子项。比如:<properties resource="org/mybatis/exampl

2016-11-24 08:42:29 2985

原创 eclipse中插件修改svn用户名密码

问题描述:Eclipse的SVN插件Subclipse做得很好,在svn操作方面提供了很强大丰富的功能。但到目前为止,该插件对svn用户的概念极为淡薄,不但不能方便地切换用户,而且一旦用户的帐号、密码保存之后,就无法再变更了。解决问题方案:既然界面上不能进行修改,那就只有删除subclipse记录的帐号、密码信息,重新输入。 方案一具体步骤: 1. 查看你的Eclipse中使用的是什么SVN I

2016-11-20 17:15:14 18795

原创 jboss7.1运行项目使用项目中的log4j打印日志

问题描述:开发项目中,使用jboss7.1运行项目,发现项目中的log4j不起了作用,后来发现jboss启动项目会用到自己带的一个日志打印模块问题解决方案:http://www.xuebuyuan.com/1954635.html 项目的WEB-INF下面添加 jboss-deployment-structure.xml 内容如下<?xml version="1.0" encoding="UT

2016-11-20 17:06:16 3226 2

原创 车牌识别之Java调用EasyPR-linux篇

题记http://blog.csdn.net/gao36951/article/details/52848017 http://blog.csdn.net/gao36951/article/details/52847940 前两篇介绍了OpenCV和EasyPR的安装,现在我们来看看java中的调用代码import java.io.BufferedReader;import java.io.I

2016-10-18 14:54:50 6496 2

原创 车牌识别之EasyPR-Linux安装配置篇

题记因为要做车牌号识别,所以只有OpenCV还是不够的,所以这篇我们来介绍EasyPR-linux的安装使用,OpenCV安装参考上一篇 http://blog.csdn.net/gao36951/article/details/52847940安装步骤下载地址https://github.com/liuruoze/EasyPR 解压如下包easypr-EasyPR-master.zipunz

2016-10-18 13:07:42 5651 6

原创 车牌识别之OpenCV安装配置篇

题记上一篇中提到了OpenCV这个开源项目,由于我们国内的开源项目EasyPR是依赖于OpenCV的,又由于windows环境下的项目没有搭建成功,而且一般我们的项目都是要部署到linux环境下的。所以这篇我们就来搭建以linux环境下的OpenCV环境,好了废话不多说了下面进入正题。

2016-10-18 12:51:02 5763

原创 车牌识别之EasyPR-Java项目maven版本

题记最近领导让研究OCR车牌识别的技术,刚开始网上一搜感觉比较有戏的样子,后来发现这个行业商业化还是挺严重的,好多都是和硬件设备配套的。但是作为我们这种屌丝程序猿大家都懂的,肯定是打死也不会首先考虑收费的东西的,其实领导也是这么想的,要不然还让你研究个毛线啊。看到的开源的项目到的开源的项目貌似有OpenCV但是这个是国外的东西,而对于国内车牌识别有一个依赖于OpenCV的开源项目就是EasyPR,但

2016-10-18 08:48:26 4566 7

原创 Spring读取properties方式

题记关于配置文件使用的相关感想: 把可以配置的参数定义在properties文件中可以增加项目的通配性,让项目中的所有xml配置文件中都可以引用对应的属性值。而且我们文件的放置位置可以用一个单独的盘挂载到我们的项目服务器上,这样我们的配置文件在一个环境中就是独一份,而不是每个项目服务器上都有一份,而出现冗余的情况,而且一旦需要修改每个项目服务器都需要改,这样也会增加错误和不一致的几率。这种把配置文

2016-09-23 08:27:56 526

原创 Mybatis开发dao的方法--Mapper代理篇

题记上一篇介绍的是Mybatis开发dao的方法的原始dao的方式,这次就来说一下另外一种dao的实现方式即Mapper代理的方式。代码以及实现Mapper代理的方式有一定的规范需要遵守 我们的*Mapper.xml中的namespace要配置为ResourceMapper.java的全限定名如下: ResourceMapper.xml<?xml version="1.0" encoding="

2016-09-21 08:42:07 766

原创 Mybatis开发dao的方法--原始dao篇

题记摘抄自传智播客燕青老师,下面的SqlSession使用范围 4.1 SqlSession使用范围 4.1.1 SqlSessionFactoryBuilder 通过SqlSessionFactoryBuilder创建会话工厂SqlSessionFactory 将SqlSessionFactoryBuilder当成一个工具类使用即可,不需要使用单例管理SqlSessionFactor

2016-09-18 16:56:47 763

原创 Mybatis基础知识--番外篇

题记之前有聊到Mybatis基础知识中的入门程序,现在补充一下相关的番外知识篇盘点使用Mybatis过程中遇到的问题在实际开发当中我们可能有时会遇到这样的问题 org.mybatis.spring.MyBatisSystemException: nested exception is org.apache.ibatis.exceptions.TooManyResultsException: E

2016-09-18 14:57:13 527

原创 项目中日志分包

问题描述:在开发项目的过程中,由于我们的一个项目中可能业务很多,当我们想查看某个重要业务的日志的时候就会发现比较难,这时我们可以根据业务的分包来定制将日志输出到指定的文件中去,这样我们在后期生产查询问题时查看日志会比较方便。问题解决方案:在纯java项目和tomcat上跑web项目实验成功,jboss上没有成功,jboss可能需要在服务器配置文件上修改配置。###### Logger #######

2016-08-28 16:03:47 831

原创 pdf.js插件乱码问题

场景描述:本问题也是之前谈论的pdf转化为图片的项目,之前有聊到过由于不能正常展示印章而把pdf转化成了PNG图片来展示。而其他的条款由于没有印章这个问题,所以就使用了pdf.js这个插件进行展示,之前展示的文件名都是用的英文是没有问题的。但是后来发现ios里面会展示出来这个名字,被用户看到后不便于理解,所以就想着要改为中文,那么问题就来了。具体操作解决方案接着说,直接将文件名改成中文后,发现一切并

2016-08-16 08:42:22 13566 1

原创 pdf转化为图片显示知多少

场景描述最近做一个项目前端是H5页面嵌套在app中的,其中有个功能是要展示一个pdf,遇到了一个问题就是带印章的pdf在直接查看的情况下ios中印章显示不出来,后来经过查阅资料发现是由于印章是加密过的,而用ios内置的webviewer查看的话没有对应的解密的插件,所以导致印章显示不出来。但是对于项目来说印章显示不出来整个pdf显示的意义就没有了,后来经过组内讨论就想着转化为图片去展示。经过查阅资料

2016-08-12 09:36:14 8545 1

原创 话说事务相关知识

自己之前转载的文章来说Spring中事务的隔离级别和传播行为http://blog.csdn.net/gao36951/article/details/38274275,还有就是关于以mysql为例的讲解数据库隔离级别的http://blog.csdn.net/gao36951/article/details/38316201但是过一段时间就忘记了,而且还会把数据库的隔离级别混淆起来。

2016-08-01 16:18:27 1142

原创 十:Callable和Future

前记上一篇温习的是java5中的线程池的知识,这次是来温习带返回值的Callable和Future知识。场景及代码由于FutureTask实现了两个接口,Runnable和Future,所以它既可以作为Runnable被线程执行,又可以作为Future得到Callable的返回值,那么这个组合的使用有什么好处呢?假设有一个很耗时的返回值需要计算,并且这个返回值不是立刻需要的话,那么就可以使用这个组合

2016-07-30 09:43:16 608

原创 一个linux 下部署重启脚本

#!/bin/sh#kill tomcat pidpidlist=`ps -ef|grep tomcat7|grep -v "grep"|awk '{print $2}'`echo "tomcat7 Id list :$pidlist" //显示pidkill -9 $pidlist //杀掉改进程echo "KILL $pidlist:" //提示进程以及被杀掉

2016-07-29 11:29:58 508

原创 九:java中的线程池

前记上一篇温习的是ThreadLocal共享复杂数据的情况,这次是来温习java5中的线程池的知识。场景及代码线程池与Executors类的使用package com.test.thread;import java.util.concurrent.ExecutorService;import java.util.concurrent.Executors;import java.util.conc

2016-07-25 22:16:58 603

原创 八:多个线程访问共享对象和数据的方式

前记上一篇温习的是ThreadLocal共享复杂数据的情况,这次是来温习多个线程访问共享对象和数据的方式。对应网上设计四个线程,其中两个线程对数据每次进行加1操作,另外两个线程对于数据每次进行减1的操作。场景及代码对应网上设计四个线程,其中两个线程对数据每次进行加1操作,另外两个线程对于数据每次进行减1的操作。/** * */package com.test.thread;/********

2016-07-24 21:47:59 1013

原创 eclipse中tomcat部署项目问题

问题描述:Tomcat配置好后部署项目时报如下错误:Could not load the Tomcat server configuration at \Servers\Tomcat v7.0 Server at localhost-config. The configuration may be corrupt or incomplete.Could not load the Tomcat se

2016-06-27 20:27:08 773

原创 项目相关错误系列之eclipse中配置tomcat问题

问题描述:首先Window->Preferences->Server->Server Runtime Environments中添加一个tomcat服务器,然后再在servers视图中添加对应版本的tomcat时发现弹出框中Server name选项是空的而且Next按钮也是灰色的问题解决方案:1:网上查询的方法如下: 进入当前eclipse的workspace的如下目录我的workspace为D

2016-06-19 20:19:23 570

原创 项目中特殊日志情况

问题描述:项目日志级别比较高,但是有部分代码中需要低级别的日志(例如:log4j.properties中为Info级别,但是代码中还想打印Debug级别的日志)问题解决方案:public static final Logger logger = Logger.getLogger(HelloController.class);logger.setLevel(Level.DEBUG); log

2016-06-19 20:16:04 470

转载 项目相关错误系列之项目上面的小红叉

错误描述:Cannot change version of project facet Dynamic Web Module to 2.5. seckill line 1 Maven Java EE Configuration Problem错误解决方案:我们用Eclipse创建Maven结构的web项目的时候选择了Artifact Id为maven-artchetype-webapp

2016-06-19 20:13:48 613

Extjs 相关源码资源下载

Extjs 相关源码,帮助我们进行开发相关程序和功能。extjs是一种软件。自动生成行号,支持checkbox全选,动态选择显示哪些列,支持本地以及远程分页,可以对单元格按照自己的想法进行渲染,这些也算可以想到的功能。

2019-09-15

Jquery Validate 示例

jQuery Validate 插件为表单提供了强大的验证功能,让客户端表单验证变得更简单,同时提供了大量的定制选项,满足应用程序各种需求。该插件捆绑了一套有用的验证方法,包括 URL 和电子邮件验证,同时提供了一个用来编写用户自定义方法的 API。所有的捆绑方法默认使用英语作为错误信息,且已翻译成其他 37 种语言。 该插件是由 Jörn Zaefferer 编写和维护的,他是 jQuery 团队的一名成员,是 jQuery UI 团队的主要开发人员,是 QUnit 的维护人员。该插件在 2006 年 jQuery 早期的时候就已经开始出现,并一直更新至今。本示例版本为v1.17.0

2018-06-01

pdf.js打包文件

pdf.js的源码通过gulp generic打包生成后,直接可以在web项目中使用的文件。

2017-11-16

导入excel所需jar

导入excel所需要的相关jar包,需要结合博客中的相关工具类进行使用。

2017-10-20

aes加密js工具包

高级加密标准(英语:Advanced Encryption Standard,缩写:AES),在密码学中又称Rijndael加密法,是美国联邦政府采用的一种区块加密标准。这个标准用来替代原先的DES,已经被多方分析且广为全世界所使用。经过五年的甄选流程,高级加密标准由美国国家标准与技术研究院(NIST)于2001年11月26日发布于FIPS PUB 197,并在2002年5月26日成为有效的标准。2006年,高级加密标准已然成为对称密钥加密中最流行的算法之一。 CryptoJS工具类包,aes加密只使用了其中的crypto-js.js文件

2017-09-12

excanvas.compiled.js 下载

excanvas.compiled.js相关

2017-05-09

spring security 3

spring security 3相关文档

2017-02-23

EasyPR-Java项目maven版本所需jar包

最近领导让研究OCR车牌识别的技术,刚开始网上一搜感觉比较有戏的样子,后来发现这个行业商业化还是挺严重的,好多都是和硬件设备配套的。但是作为我们这种屌丝程序猿大家都懂的,肯定是打死也不会首先考虑收费的东西的,其实领导也是这么想的,要不然还让你研究个毛线啊。看到的开源的项目貌似有OpenCV但是这个是国外的东西,而对于国内车牌识别有一个依赖于OpenCV的开源项目就是EasyPR,但是这个项目貌似是C++的,但是我是Java所以就找了一个Java版本的想来跑一跑。这个是项目的所需jar包

2016-10-18

jad工具jar包

eclipse中反编译工具,帮助我们在查看源码的时候反编译

2016-09-19

高性能mysql第三版.pdf

《高性能MySQL(第2版)》包含14章和4个附录,内容覆盖MySQL系统架构、设计应用技巧、SQL语句优化、服务器性能调优、系统配置管理和安全设置、监控分析,以及复制、扩展和备份/还原等主题,每一章的内容自成体系,适合各领域技术人员作选择性的阅读。

2016-09-13

pdf转化为图片相关jar包

在移动端做pdf相关的下载和展示的时候,遇到了一个问题就是带印章的pdf在直接查看的情况下ios中印章显示不出来,后来经过查阅资料发现是由于印章是加密过的,而用ios内置的webviewer查看的话没有对应的解密的插件,所以导致印章显示不出来。但是对于项目来说印章显示不出来整个pdf显示的意义就没有了,后来经过组内讨论就想着转化为图片去展示。经过查阅资料、对比了一下两种转化的开源项目,所用到的jar包就是本资源中的内容。

2016-08-12

多线程示例

多线程一些示例

2016-08-09

bing背景2016节选

微软的新搜索引擎Bing每天都会更新一副精美的背景图片,如果能将每幅图片统统收集起来,简直就是一巨大的图片资料库,往后必有用到之处。但是Bing只能显示当天的背景图片,以往用过的图片就无法找到,而且背景图片没法直接下载保存,实在叫人为难啊!该怎么办呢?接下来咱将要介绍的这个站点便能助你一臂之力,假如你喜欢收藏Bing背景图片,它一定适合你。

2016-08-03

bing背景2015节选

微软的新搜索引擎Bing每天都会更新一副精美的背景图片,如果能将每幅图片统统收集起来,简直就是一巨大的图片资料库,往后必有用到之处。但是Bing只能显示当天的背景图片,以往用过的图片就无法找到,而且背景图片没法直接下载保存,实在叫人为难啊!该怎么办呢?接下来咱将要介绍的这个站点便能助你一臂之力,假如你喜欢收藏Bing背景图片,它一定适合你。

2016-08-03

jquery 中读取properties

之前的系统用的是Spring框架,国际化还是比较简单的。但是有一些提示是写在js文件里面的,搜了一些,发现一个js国际化的框架jquery.i18n.properties.js,用了一些还是比较方便的。

2016-07-29

java网络编程英文高清完整第四版.pdf下载

前几天看到公司一个大神看技术文档,打眼瞟了一下,全是英文的表示直接看看不到。但是大神不一样,人家是硕士哦,英文杠杠的,但是自己心里也想看看,所以就让大神把这些文档发我了一下,具体文档介绍 Algorithms 4th Edition.pdf 算法的4版 DISTRIBUTED SYSTEMS Concepts and Design 5th Edition.pdf 分布式系统概念与设计第五版 Java Network Programming, 4th Edition.pdf java网络编程第四版 java_concurrency_in_practice.pdf Java并发实践

2016-04-24

java代码规范

代码规范比比皆是,但是很少有公司做好代码规范的。忍不住想谈谈代码规范的重要性,希望所有人都能够重视起来。而且,我相信,如果我们代码规范能够做好的话,且不说开发水平提高多少,至少我们也会有很多出色开源项目。 一、规范的代码可以促进团队合作 一个项目大多都是由一个团队来完成,如果没有统一的代码规范,那么每个人的代码必定会风格迥异。且不说会存在多个人同时开发同一模块的情况,即使是分工十分明晰的,等到要整合代码的时候也有够头疼的了。大多数情况下,并非程序中有复杂的算法或是复杂的逻辑,而是去读别人的代码实在是一件痛苦的事情。统一的风格使得代码可读性大大提高了,人们看到任何一段代码都会觉得异常熟悉。显然的,规范的代码在团队的合作开发中是非常有益而且必要的。 二、规范的代码可以减少bug处理 很多IT人士将程序员比做民工,这也的确非常的形象。就像刚才提到的,复杂的算法或逻辑只占项目中很小的比例,大多仅仅是垒代码的工作。可是越是简单,测试的bug反而是越多,而且是无穷无尽的bug。这里很大的程度上是由于代码不规范所致。 没有规范的对输入输出参数的规范,没有规范的异常处理,没有规范的日志处理等等,不但导致了我们总是出现类似空指针这样低级的bug而且还很难找到引起bug的原因。相反,在规范的开发中,bug不但可以有效减少,查找bug也变得轻而易举。 规范不是对开发的制约,而确实是有助于提高开发效率的。 三、规范的代码可以降低维护成本 随着我们项目经验的累积,会越来越重视后期维护的成本。而开发过程中的代码质量直接影响着维护的成本。因此,我们不得不从开发时便小心翼翼。 在第一点中曾提到,规范的代码大大提高了程序的可读性,几乎所有的程序员都曾做过维护的工作,不用多说,可读性高的代码维护成本必然会大大降低。 但是,维护工作不仅仅是读懂原有代码,而是需要在原有代码基础上作出修改。我们可以先想像没有统一风格的情况下,A完成开发以后,B进行维护加一段代码,过一段时间C又加一段代码。。。。。。直到有一天X看到那一大堆乱码想死的心都有了,维护也就进行不下去了。因此,统一的风格有利于长期的维护。 另外,好的代码规范会对方法的度量、类的度量以及程序耦合性作出约束。这样不会出现需要修改一个上千行的方法或者去扩展一个没有接口的类的情况。规范的代码对程序的扩展性提高,无疑也是对维护人员的一个奖励。 四、规范的代码有助于代码审查 我个人是比较赞同进行代码审查的,这样可以及时纠正一些错误,而且可以对开发人员的代码规范作出监督。团队的代码审查同时也是一个很好的学习机会,对成员的进步也是很有益的。但是,开发随意,加重的代码审查的工作量及难度,并且使得代码审查工作没有根据,浪费了大量的时间却收效甚微。 代码规范不仅使得开发统一,减少审查拿督,而且让代码审查有据可查,大大提高了审查效率和效果,同时代码审查也有助于代码规范的实施。一举多得,何乐而不为呢。 五、养成代码规范的习惯,有助于程序员自身的成长 即使明白代码规范的好处,但是有的迫于项目压力,有的因为繁琐的规范作出很多额外的工作,更有的不重视维护的问题,而很难贯彻代码规范。 那么,我们需要了解,规范开发最大的受益人其实是自己! 你有没有花费很多的时候查找自己的代码呢?尤其是出现bug的时候需要逐行的debug?自己写的代码乱了头绪的确实也见了不少。我们应该做的就是规范开发,减少自己出现的错误。很多时候项目的压力一部分也是由于前期开发中遗留的众多的问题。 还有的人觉得自己可以完成高难度的算法,就认为自己能力很强,不把规范放在眼里。很多人确实是这样,追求个性,大概让别人看他的代码一头雾水更觉得得意。殊不知复杂的算法确实可以体现你个人的逻辑能力,但是绝不代表你的开发水平。我们知道一些开源项目,一些大师级人物写得程序都是极其规范的。并非规范了就代表高水平,实际上是规范的代码更有利于帮助你理解开发语言理解模式理解架构,能够帮助你快速提升开发水平。不明白这点,即使你写的再高明的算法,没准哪天也被当作乱码别处理掉。 记住!每天垒乱码(或许你不觉得,但是大多时候在别人眼中确实就是乱码)并不能使你获得更多的进步,相反要达到高水平的程序员,养成良好的开发习惯是绝对必需的。 不要沉迷表面的得失,看似无用的东西要经过慢慢的累积由量变达到质变的时候,你才能感受到其价值所在。 最后提醒一句,制定一个符合自己公司情况的开发规范是很简单的,重要的是我们能够认识到规范的重要性,并坚持规范的开发习惯。

2016-03-23

前台的转换

JSON (JavaScript Object Notation) is a lightweight data-interchange format. It is easy for humans to read and write. It is easy for machines to parse and generate. It is based on a subset of the JavaScript Programming Language, Standard ECMA-262 3rd Edition - December 1999. JSON is a text format that is completely language independent but uses conventions that are familiar to programmers of the C-family of languages, including C, C++, C#, Java, JavaScript, Perl, Python, and many others. These properties make JSON an ideal data-interchange language

2016-01-26

jcaptcha组件jar包

JCaptcha jca ptcha是一个开源的用来生成图形验证码的Java开源组件,使用起来也是非常的简单方便。 jcapthca是非常强大的,不光是可以生成图片式的验证码,还可以生成声音式的(新浪就使用了双重验证码)。 Jcaptcha是CAPTCHA里面的一个比较著名的项目。 这里为使用它所需的jar包

2015-08-02

仿百度分页jsp版

仿百度分页效果的jsp实现,maven项目完整包,包括数据库建立文件

2015-07-01

plexus相关jar包

Failure to transfer org.codehaus.plexus:plexus-archiver:pom:1.0 from http://repo.maven.apache.org/maven2 was cached in the local repository, resolution will not be reattempted until the update interval of central has elapsed or updates are forced. Original error: Could not transfer artifact org.codehaus.plexus:plexus- archiver:pom:1.0 from/to central (http://repo.maven.apache.org/maven2): connection timed out to http://repo.maven.apache.org/maven2/org/codehaus/plexus/ plexus-archiver/1.0/plexus-archiver-1.0.pom Failure to transfer org.codehaus.plexus:plexus-archiver:jar:1.2 from http://repo.maven.apache.org/maven2 was cached in the local repository, resolution will not be reattempted until the update interval of central has elapsed or updates are forced. Original error: Could not transfer artifact org.codehaus.plexus:plexus- archiver:jar:1.2 from/to central (http://repo.maven.apache.org/maven2): No response received after 60000 Failure to transfer org.codehaus.plexus:plexus-io:jar:1.0.1 from http://repo.maven.apache.org/maven2 was cached in the local repository, resolution will not be reattempted until the update interval of central has elapsed or updates are forced. Original error: Could not transfer artifact org.codehaus.plexus:plexus-io:jar: 1.0.1 from/to central (http://repo.maven.apache.org/maven2): No response received after 60000

2015-06-14

xmldsig-1.0.jar

maven中央仓库里,xmldsig构件只有pom,没有jar,是怎么回事?好不容易找了一个,存一下备用。

2015-05-21

车联网天气预报相关

本实例以Gao这个项目来介绍,我们要做的功能是把车联网返回的内容解析并格式化后显示出来。车联网天气查询api地址http://developer.baidu.com/map/carapi-7.htm 在此我们需要一个开发者密钥即访问接口中的参数ak。我已经申请好,没有直接使用了,没有的童鞋可以去申请一个。

2015-05-07

jdk1.6 中英 chm格式api文档

jdk1.6 中英 api文档chm格式

2015-04-22

Xml和Json互转工具类

本实例主要是通过json-libjar包中的工具类进行操作,简单实现了xml字符串和json字符串之间的转化,xml文件和json文件的转化。而且还兼容jsonObject和jsonArray两种格式,自己摸索,记录一下以便学习。

2015-04-17

MediaWiki相关包

MediaWiki 应用程序最为人所知之处就是它是 Wikipedia 背后的引擎。很多人都发现 MediaWiki 提供了一个可用的环境来在工作组、甚至整个组织以及在线社区之间共享信息。MediaWiki 让用户可以通过博客、wiki 以及文件来共享信息。它还允许使用一个标记云来保护所上载的文件,标记文件以便轻松定位,以及定位专家。更多信息,请参见 参考资料。 那么,如果想要引入一些不想手动更新的定制信息并插入到您的 wiki 页面,该怎么办呢?又如果想要为特定的某种信息提供定制的输出格式化,又该怎样呢?这些情况正是 MediaWiki 的用武之地,因为您可以轻松地通过扩展的使用来添加这些特定于站点的特性。 让我们来看看您如何创建能够与不同的信息源协作的 MediaWiki 扩展,而同时又能通过熟悉的 wiki 页的用户界面来提供数据。

2015-02-27

二维码生成相关jar包

Java生成二维码相关jar包,包括Zxing2.2和QR CODE的jar包

2014-11-15

FileUtils 的方法大全

关于文件操作工具类相关方法介绍,手工打造描述,请多多指教

2014-11-01

四种隔离级别与锁

数据库事务的四种隔离级别的特点描述,他们的使用热度,以及各种锁在隔离级别下的释放时机。

2014-08-04

java开发工具类

ibtis2中文文档 j2eeAPI Android 中文API合集 css 3.0 fastjson 1.1.26 hibernate3.2 ibatis SqlMaps JDK 1.6 jQuery 选择器 JScript 8.0 Linux 命令大全 OGNL帮助文档 Spring2.5中文参考手册 struts2-tags-API struts2中文教程 W3C School WAP技术--WML中文参考手册 XMLHTTP手册 各种帮助文档,希望对大家有用

2014-07-09

FushionCharts相关

本人关于FushionCharts使用经验,对FushionCharts的各种图形的各个属性的简介

2014-06-05

SSH版图书管理系统

完整版的SSH图书管理系统,运行环境亲自测试win7+Myeclipse8.5+Mysql2.5.9+tomcat6.0+360浏览器 带有所需jar包及数据库sql文件。

2013-07-29

计算机组成原理课后答案

计算机组成原理第二版课后答案,唐朔飞 第二版

2012-05-31

空空如也

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

TA关注的人

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