自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

lizeyang的专栏

但求心安

  • 博客(72)
  • 资源 (4)
  • 收藏
  • 关注

原创 使用Angular开发“云平台控制台”的实践总结

前言笔者目前在互联网公司负责开发私有云平台。云平台控制台,是一个典型的管控CRUD系统,用于管理各种IaaS资源。为了让前端能达到仿客户端体验,同时保障代码架构清晰规范,易维护,最终我们选择了Angular(1.X)`作为云平台控制台的前端框架。本文主要围绕Angular,介绍我们在开发控制台过程中的点点滴滴。1 为什么选择Angular1.1 轻松构建SAP(single application

2016-03-02 16:59:04 2139

原创 Stackoverflow JAVA TOP 100问题翻译征集令

去年,我在github上发起了这个项目《StackOverflow Java Top100问题(翻译)》https://github.com/giantray/stackoverflow-java-top-qa对阅读本项目的人来说,有两个益处:1.巩固基础。top100问题都是比较重要、基础的问题;而且也都是so上很多人优化和投票的,很靠谱。2.快速学习

2016-02-25 17:31:12 1791

原创 Java程序员的好工具:通过json生成javabean(pojo)

向大家介绍我开发的一款工具,json-to-java.它可以帮助java程序员,通过json生成对应的javabean。当你需要调用json返回格式的api时,该工具特别有用。功能介绍我们开发的java系统,经常需要调用其他系统的API。这些API的返回格式,往往都是json格式。这个小工具,可以帮助你把json格式的数据,转换成对应的javabean。以简化你手动拷贝粘贴json属性的工作。哪些人

2015-06-18 11:34:55 7917 9

翻译 【Stackoverflow好问题】从一个多层嵌套循环中直接退出

问题Java中如何从一个多层嵌套循环中退出,例如下面,有两个循环,break只能退出一个for循环,不能直接跳过第二个for循环for (Type type : types) { for (Type t : types2) { if (some condition) { // Do something and break...

2014-12-01 10:16:08 2330 1

翻译 【Stackoverflow好问题】重写(Override)equlas和hashCode方法时应考虑的问题

问题重写(Override)equlas和hashCode方法时应考虑哪些问题?精华回答理论上讲(偏程序语言和数学层面)equals() 定义了对象的相等关系(自反性、对称性、传递性)(有点抽象,更详细说明,请参考javadoc) 。另外,它还具有一致性(也就是说,如果一个对象没有修改,那么这个方法应总是返回相同的值),此外,o.equals(nul

2014-12-01 10:13:35 1732

翻译 【Stackoverflow好问题】Map<Key,Value>基于Value值排序

问题Map如何基于Value值排序精华回答方法1:使用TreeMap,可以参考下面的代码public class Testing { public static void main(String[] args) { HashMap map = new HashMap(); ValueComparator b

2014-12-01 10:06:14 1396

翻译 【Stackoverflow好问题】SQL表名,应该用复数还是单数

问题SQL表名,应该用表对应资源对象的复数形式还是单数形式。例如一个用户表,表名是用user还是users更合适呢?精华回答用单数形式更佳,理由如下:1、概念直观。你有一个袋子,里面有好多个苹果,你会说这是个苹果袋。但无论里面有0,1,百万个苹果,它依然是个袋子。表也是如此,表明需要描述清楚,表里面包含的对象,而非有多少个数据。2

2014-11-27 22:32:50 9452 1

翻译 【Stackoverflow好问题】SQL中去除重复行

问题假设有一个数据量比较大的表(例如300,000+行),其中有重复的行(除了主键外,其他的列数据是一样的),如何快速去重呢?我的表类似这样MyTable-----------RowID int not null identity(1,1) primary key,Col1 varchar(20) not null,Col2 varchar(2048) not null,

2014-11-27 21:43:30 1820

翻译 【Stackoverflow好问题】如何使用java.net.URLConnection收发HTTP请求

问题如何使用java.net.URLConnection收发HTTP请求呢?处理Http请求,有哪些最佳实践?讨论:精华回答首先声明,下面的代码,都是基本的例子。更严谨的话,还应加入处理各种异常的代码(如IOExceptions、NullPointerException、ArrayIndexOutOfBoundsException)

2014-11-27 21:16:16 2689

原创 Heroku在第三方服务接入上,值得借鉴的地方

近期为了准备开发私有云,研究了heroku第三方服务的接入。这里总结下heroku在这一方面的亮点。一、强大的接入工具要把自己的服务集成到heroku上,你要和heroku定协议,按照协议开发,然后验证,最后还要发布到heroku。这个过程会很耗时,而heroku提供了一个叫kensa的命令行工具,能减轻不少工作量,特别是其中的测试功能,能够逐步验证接入的相关约定,相当方便,回想自

2014-10-27 18:02:52 1608

原创 Heroku第三方服务接入指南(三)

将服务发布到Heroku上一、将配置文件(addon-manifest.json)传到服务器1.首先在Heroku上注册服务提供商帐号2.依次执行二、优化为了保证第三方服务的质量,heroku定义了Alpha,Beta,GA三个阶段。每个服务都应经历这几个阶段迭代,才能上线

2014-10-27 17:15:27 1280

原创 Heroku第三方服务接入指南(二)

上文我们讲了第三方服务、Heroku、用户三者的关系,这一篇进入正题,了解第三方厂商(下文简称厂商)如何为Heroku开发服务。这里只做简单介绍,了解heroku大致是怎么做的,如果你的平台,希望接入第三方服务,你正在犯愁,这个流程要怎么做,那么本文对你将有所启发。如果你希望实操接入heroku,请进一步查阅heroku官方文档。本文主要概述了接入到heroku前要做的三个事情:创建配

2014-10-27 17:12:26 2686

原创 Heroku第三方服务接入指南(一)

Heroku,是业界领先的PaaS平台,用户能使用该平台提供的各种组件服务。这些组件服务第三方厂商提供的,Heroku与第三方服务之间有哪些约定,作为一个厂商,如何为Heroku开发第三方服务,是本文的主题。概述先举个例子说明第三方服务(addons)的作用:用户的应用需要MySQL,把数据保存在数据库中。如果没有Heroku,用户需要买一个服务器,搭建MySQL,配置帐号,在代码

2014-10-24 16:54:08 2183

翻译 【Stackoverflow好问题】java中,如何判断数组Array是否包含指定的值

问题java中,如何判断数组Array是否包含指定的值精华回答1.Arrays.asList(...).contains(...)2.使用 Apache Commons Lang包中的ArrayUtils.containsString[] fieldsToInclude = { "id", "name", "locatio

2014-10-20 10:03:39 1711 1

翻译 【Stackoverflow好问题】如何遍历map对象(如HashMap)

问题如何遍历map对象(如HashMap)精华回答jdk1.5以上版本for (Entry entry : map.entrySet()){ System.out.println(entry.getKey() + "/" + entry.getValue());}需要 import java.util.Map.Entry;jdk1

2014-10-20 09:45:51 1372

翻译 【Stackoverflow好问题】LinkedList、ArrayList各自的使用场景,如何确认应该用哪一个呢?

问题LinkedList、ArrayList各自的使用场景,如何确认应该用哪一个呢?精华回答一言以蔽之,在大部分情况下,使用ArrayList会好一些。一、耗时上各有优缺点。ArrayList稍有优势。List只是一个接口,而LinkedList、ArrayList是List的不同实现。LinkedList的模型是双向链表,而ArrayLis

2014-10-17 09:55:03 2518

翻译 【Stackoverflow好问题】Java修饰符:public,protected,private,不加修饰符。有什么区别呢?

问题Java修饰符:public,protected,private,不加修饰符。有什么区别呢?精华回答如下表所示,Y表示能访问(可见性),N表示不能访问,例如第一行的第3个Y,表示类的变量/方法如果是用public修饰,它的子类能访问这个变量/方法修饰符类内部同个包(package)子类其他范围public

2014-10-14 18:29:21 5048

翻译 【Stackoverflow好问题】Java是按值传递还是按引用传递

明确地说,java是按值传递的!java的世界里,都是按值传递。其实按值、按引用都只是个概念,关键是我们如何去理解java传参的本质。下面就结合一个例子来说有些情况下,传递的值,其内容是个引用,这一点容易让人产生困惑。请看下面的例子首先有如下代码Dog myDog = new Dog("Rover");foo(myDog);这时,你传给了foo函数一个值,这个值的内容

2014-10-14 16:58:50 1591

翻译 【Stackoverflow好问题】Java += 操作符实质

问题直到今天,我都一直以为:i += j 等同于 i = i + j;但假设有:int i = 5;long j = 8;那么 i = i + j不能编译,但i += j却可以。这是否意味着,i += j,实际是等同于 i= (type of i) (i + j)呢?精华回答:这个问题,其实官方文档中已经解答了。 请看这里。§15

2014-10-14 16:56:54 1157

翻译 【Stackoverflow好问题】将InputStream转换为String

不重复造轮子。最靠谱的方法,还是用Apache commons IOUtils 这样简单几行代码就搞定了StringWriter writer = new StringWriter();IOUtils.copy(inputStream, writer, encoding);String theString = writer.toString();或者String theSt

2014-10-13 11:48:28 1510 3

翻译 【Stackoverflow好问题】StringBuilder和StringBuffer对比

问题StringBuilder和StringBuffer有哪些区别呢?精华回答最主要的区别,StringBuffer的实现使用了synchronized(锁),而StringBuilder没有。因此,StringBuilder会比StringBuffer快。如果你          非常非常追求性能(其实这两个都不慢,比直接操作String,要快非常多了

2014-10-13 11:41:00 1737

翻译 【Stackoverflow好问题】获取完整的堆栈信息

问题捕获了异常后,如何获取完整的堆栈轨迹(stack trace)精华回答String fullStackTrace = org.apache.commons.lang.exception.ExceptionUtils.getFullStackTrace(e)stackoverflow原址:http://stackoverflow.com/quest

2014-10-13 11:35:12 1812

翻译 【Stackoverflow好问题】将数组转换为List

问题假设有数组Element[] array = {new Element(1),new Element(2),new Element(3)};如何将其转换为ArrayList arraylist呢?精华回答Arrays.asList(array)或者Arrays.asList(new Element(1),new Element(2),

2014-10-13 11:27:21 1951 4

翻译 【Stackoverflow好问题】去掉烦人的“!=null"(判空语句)

问题为了避免空指针调用,我们经常会看到这样的语句...if (someobject != null) { someobject.doCalc();}...最终,项目中会存在大量判空代码,多么丑陋繁冗!如何避免这种情况?我们是否滥用了判空呢?精华回答:这是初、中级程序猿经常会遇到的问题。他们总喜欢在方法中返回null,因此,在调用这些方法时,也

2014-10-13 10:29:42 11725 21

原创 多参数之间,建议用逗号做分隔符

问题:参数如果是List,应该用什么分隔符来连接呢?例如:1、GET方法,拥有参数key1,它的对应值是一个list,值为value1,value2,用什么分隔符连接这两个value值2、配置文件中,value值也是一个list,又该怎么拼接?3、将list保存为db的一个字段,用什么分隔符总结:采用逗号做分隔符。也就是配置文件中,是key=value,value2;G

2014-09-23 12:07:08 10744

原创 遇过的坑-IE(9.0)不支持console.info

在js中,可以通过console.info输出日志。各种js教程也经常用这个方式来输出日志。因此,我便想当然地认为,这个方法,是标准用法,所有浏览器都兼容。但事实上,IE对这个函数的支持,是有问题的,会中断下面其他js代码的执行。最近,便因为这个问题吃了个亏。案例:在chrome上,页面能正常地通过js加载数据,但是,在IE(9.0)上,却死活没有数据,js也没有报错。看了后台日志,压

2014-07-23 14:38:28 2081

转载 freemaker中配置文件freemarker.properties详解

碰到个问题,我使用struts2,前端使用freemaker.修改.ftl文件的时候,刷新页面,老是不生效. classic_compatible=true              ##如果变量为null,转化为空字符串,比如做比较的时候按照空字符做比较 whitespace_stripping=true          ##去掉多余的空格,非常有用 ##模版更新事件,设置

2014-07-17 15:33:48 3408

原创 mybatis使用小贴士

分享了以下tips:一、事务管理二、xml配置sql代码段三、#和$的区别四、注意对做转义五、依据字符串是否为空,动态组织sql语句六、使用自定义的类型转换器七、resultMap的复用一、事务管理用户执行一个动作,后台需依次更新多个表,如果其中有一个更新失败,则要回滚之前的更新。这种情况,就是事务回滚。要支持事务操作,需要:

2014-05-17 16:51:52 1798

原创 导出excel功能,较通用的一种实现

作用:通过jxl包生成excel文件。示例请看main方法 特点: 1、通过java的反射特性,将jxl生成excel的逻辑,和业务数据解耦。在LinkedHashMap参数中定义每一列的标题以及对应的javabean属性,生成excel时,就会根据map插入的先后顺序,依次在excel中添加列,每列的标题为map的value值,内容为对应的javabean属性。 2、通过一个

2014-03-25 21:07:14 2525

原创 宽度自适应的几个典型案例

最近要对网站进行调整,将网页布局从原先的定宽改成宽度自适应,这里总结遇到的几个案例案例一:设置宽度百分比,让网页中的两栏都按百分比来做宽度调整-->按比例缩小这种情况下,如果窗口宽度是1000px,则左右两栏分别是200px和800px,如果宽度是500px,左右两栏也会按比例缩成100px、400px。案例二、左边栏是

2014-03-06 21:49:31 3046

原创 jQuery避免$符和其他JS冲突的方法对比

jQuery中需要用到$符号,如果其他js库(例如大名鼎鼎的prototype)也定义了$符号,那么就会造成冲突,会影响到js代码的正常执行。jqeury提供了一些方案来避免这个问题,让我们来看看这几个方案有什么区别方案1:引入noConflict(),将$替换为其他符号var $j = jQuery.noConflict();$j(document).ready(funct

2014-02-19 20:45:25 2572

转载 freemarker数字默认不加逗号

* 在模板中直接加.toString()转化数字为字符串,如 ${num.toString()}  * 使用?c控制,如 ${num?c}* 在freemarker配置文件freemarker.properties(在class目录下即可)加number_format=# * 在模板中直接加;* 通过freemarker.template.Configuration的config.

2014-02-11 16:44:22 5234

原创 java在访问https资源时,忽略证书信任问题

java程序在访问https资源时,出现报错sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to r

2014-02-08 13:19:09 40563 14

原创 GWT的默认窗体控件,在右上角增加关闭按钮

笔者使用的GWT2.3,它的弹窗控件(DiagBox)默认是不提供关闭按钮的,因此对其进行改造。要进行改造,首先应认识到,GWT的每一个控件,对应的其实都是HTML的实现,GWT也支持我们拿到html元素,然后对其做修改,例如,对于窗体控件,可以通过geCaption()方法,拿到窗体头部对象,然后将其转为HTML对象,也就是HTML caption = (HTML) getCaption

2014-01-17 22:28:10 2213

原创 struts validator例子

本文假设你已经:1、工程中引入了struts的主要包2、希望使用“注解”来配置页面跳转、validator,而不是xml文件本文的例子:productId是Action中的一个属性,需要检验:它是非空的。如果校验失败,跳转至一个页面开始了哈~一、Action中的配置1、配置validator校验器action中的productId需要有set、g

2014-01-17 21:56:28 1442

转载 SQL中遇到多条相同内容只取一条的最简单实现

SQL中经常遇到如下情况,在一张表中有两条记录基本完全一样,某个或某几个字段有些许差别,这时候可能需要我们踢出这些有差别的数据,即两条或多条记录中只保留一项。如下:表timeand针对time字段相同时有不同total和name的情形,每当遇到相同的则只取其中一条数据,最简单的实现方法有两种1、select time,max(total) as total,name from

2014-01-17 21:38:59 25304 1

原创 用命令行管理iOS证书

笔者需要开发一套脚本,在机器上部署ios项目的签名证书。具体来讲,需要导入签名证书,删除过期证书,收集机器上的证书信息,这几件事情,用以下几个命令,就能轻松搞定导入证书security unlock-keychain -p mac_password /Users/lizeyang/Library/Keychains/login.keychainsecurity list-keyc

2014-01-17 21:10:05 4160

原创 编译java web工程的ant脚本模板

流程、自动化工具的好处,就是能让我们在保证效率的同时,也不容易犯一些低级错误。用ant来编译java web工程就是这样,能让我们在发布环节,更加规范、高效。这里分享一套,我所使用的ant脚步一、使用的前提你的代码目录结构应该是这样:srcresources-----common 不管测试环境,还是正式环境,都是一样的配置文件,如web.xml,strtus.xml

2014-01-17 19:52:23 2485

原创 遇过的坑-用ant编译java项目,如果static变量有修改,使用了该static变量的java文件, 不会重编译

java项目,修改了static变量后,你必须知道的潜规则

2014-01-13 12:37:42 4081 5

原创 浅谈通过正则表达式查找字符串

经常需要在文本中,查找某个子串是否存在。需求其实很简单,但每次去翻很长很长的正则表达式教程,都觉得特别吐血。因此特此做下记录:针对我这种简单需求,如何写正则表达式呢?需求:在文本中查找一段字符串,这段字符串其实是一个图片链接文本:Screenshot_0.jpg该文本中,满足条件的字符串:Screenshot_0.jpg图片链接,其实就是 以""结尾(也可能是

2013-08-29 19:39:07 11682 1

清理C盘的方法,减少C盘无需的文件

C盘要满了吧?试试文件里面的方法吧,可以轻松地为你省出几G的空间

2009-05-16

算法大全(C,C++)

算法大全,精缩版,囊括了很多算法,资源只是几十K,但是很全

2009-05-07

Essential C++(英文版)

Essential C++(英文版),短小精悍,用来提高对C++的认识,又可以提高英语阅读水平,作者的英文句子都比较好懂

2009-05-07

空空如也

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

TA关注的人

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