- 博客(72)
- 资源 (4)
- 收藏
- 关注
原创 使用Angular开发“云平台控制台”的实践总结
前言笔者目前在互联网公司负责开发私有云平台。云平台控制台,是一个典型的管控CRUD系统,用于管理各种IaaS资源。为了让前端能达到仿客户端体验,同时保障代码架构清晰规范,易维护,最终我们选择了Angular(1.X)`作为云平台控制台的前端框架。本文主要围绕Angular,介绍我们在开发控制台过程中的点点滴滴。1 为什么选择Angular1.1 轻松构建SAP(single application
2016-03-02 16:59:04
2289
原创 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
1890
原创 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
8038
1
翻译 【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
2389
翻译 【Stackoverflow好问题】重写(Override)equlas和hashCode方法时应考虑的问题
问题重写(Override)equlas和hashCode方法时应考虑哪些问题?精华回答理论上讲(偏程序语言和数学层面)equals() 定义了对象的相等关系(自反性、对称性、传递性)(有点抽象,更详细说明,请参考javadoc) 。另外,它还具有一致性(也就是说,如果一个对象没有修改,那么这个方法应总是返回相同的值),此外,o.equals(nul
2014-12-01 10:13:35
1788
翻译 【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
1444
翻译 【Stackoverflow好问题】SQL表名,应该用复数还是单数
问题SQL表名,应该用表对应资源对象的复数形式还是单数形式。例如一个用户表,表名是用user还是users更合适呢?精华回答用单数形式更佳,理由如下:1、概念直观。你有一个袋子,里面有好多个苹果,你会说这是个苹果袋。但无论里面有0,1,百万个苹果,它依然是个袋子。表也是如此,表明需要描述清楚,表里面包含的对象,而非有多少个数据。2
2014-11-27 22:32:50
10067
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
1865
翻译 【Stackoverflow好问题】如何使用java.net.URLConnection收发HTTP请求
问题如何使用java.net.URLConnection收发HTTP请求呢?处理Http请求,有哪些最佳实践?讨论:精华回答首先声明,下面的代码,都是基本的例子。更严谨的话,还应加入处理各种异常的代码(如IOExceptions、NullPointerException、ArrayIndexOutOfBoundsException)
2014-11-27 21:16:16
2749
原创 Heroku在第三方服务接入上,值得借鉴的地方
近期为了准备开发私有云,研究了heroku第三方服务的接入。这里总结下heroku在这一方面的亮点。一、强大的接入工具要把自己的服务集成到heroku上,你要和heroku定协议,按照协议开发,然后验证,最后还要发布到heroku。这个过程会很耗时,而heroku提供了一个叫kensa的命令行工具,能减轻不少工作量,特别是其中的测试功能,能够逐步验证接入的相关约定,相当方便,回想自
2014-10-27 18:02:52
1650
原创 Heroku第三方服务接入指南(三)
将服务发布到Heroku上一、将配置文件(addon-manifest.json)传到服务器1.首先在Heroku上注册服务提供商帐号2.依次执行二、优化为了保证第三方服务的质量,heroku定义了Alpha,Beta,GA三个阶段。每个服务都应经历这几个阶段迭代,才能上线
2014-10-27 17:15:27
1310
原创 Heroku第三方服务接入指南(二)
上文我们讲了第三方服务、Heroku、用户三者的关系,这一篇进入正题,了解第三方厂商(下文简称厂商)如何为Heroku开发服务。这里只做简单介绍,了解heroku大致是怎么做的,如果你的平台,希望接入第三方服务,你正在犯愁,这个流程要怎么做,那么本文对你将有所启发。如果你希望实操接入heroku,请进一步查阅heroku官方文档。本文主要概述了接入到heroku前要做的三个事情:创建配
2014-10-27 17:12:26
2763
原创 Heroku第三方服务接入指南(一)
Heroku,是业界领先的PaaS平台,用户能使用该平台提供的各种组件服务。这些组件服务第三方厂商提供的,Heroku与第三方服务之间有哪些约定,作为一个厂商,如何为Heroku开发第三方服务,是本文的主题。概述先举个例子说明第三方服务(addons)的作用:用户的应用需要MySQL,把数据保存在数据库中。如果没有Heroku,用户需要买一个服务器,搭建MySQL,配置帐号,在代码
2014-10-24 16:54:08
2259
翻译 【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
1751
翻译 【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
1418
翻译 【Stackoverflow好问题】LinkedList、ArrayList各自的使用场景,如何确认应该用哪一个呢?
问题LinkedList、ArrayList各自的使用场景,如何确认应该用哪一个呢?精华回答一言以蔽之,在大部分情况下,使用ArrayList会好一些。一、耗时上各有优缺点。ArrayList稍有优势。List只是一个接口,而LinkedList、ArrayList是List的不同实现。LinkedList的模型是双向链表,而ArrayLis
2014-10-17 09:55:03
2603
翻译 【Stackoverflow好问题】Java修饰符:public,protected,private,不加修饰符。有什么区别呢?
问题Java修饰符:public,protected,private,不加修饰符。有什么区别呢?精华回答如下表所示,Y表示能访问(可见性),N表示不能访问,例如第一行的第3个Y,表示类的变量/方法如果是用public修饰,它的子类能访问这个变量/方法修饰符类内部同个包(package)子类其他范围public
2014-10-14 18:29:21
5116
翻译 【Stackoverflow好问题】Java是按值传递还是按引用传递
明确地说,java是按值传递的!java的世界里,都是按值传递。其实按值、按引用都只是个概念,关键是我们如何去理解java传参的本质。下面就结合一个例子来说有些情况下,传递的值,其内容是个引用,这一点容易让人产生困惑。请看下面的例子首先有如下代码Dog myDog = new Dog("Rover");foo(myDog);这时,你传给了foo函数一个值,这个值的内容
2014-10-14 16:58:50
1634
翻译 【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
1195
翻译 【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
1555
1
翻译 【Stackoverflow好问题】StringBuilder和StringBuffer对比
问题StringBuilder和StringBuffer有哪些区别呢?精华回答最主要的区别,StringBuffer的实现使用了synchronized(锁),而StringBuilder没有。因此,StringBuilder会比StringBuffer快。如果你 非常非常追求性能(其实这两个都不慢,比直接操作String,要快非常多了
2014-10-13 11:41:00
1804
翻译 【Stackoverflow好问题】获取完整的堆栈信息
问题捕获了异常后,如何获取完整的堆栈轨迹(stack trace)精华回答String fullStackTrace = org.apache.commons.lang.exception.ExceptionUtils.getFullStackTrace(e)stackoverflow原址:http://stackoverflow.com/quest
2014-10-13 11:35:12
1892
翻译 【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
2016
2
翻译 【Stackoverflow好问题】去掉烦人的“!=null"(判空语句)
问题为了避免空指针调用,我们经常会看到这样的语句...if (someobject != null) { someobject.doCalc();}...最终,项目中会存在大量判空代码,多么丑陋繁冗!如何避免这种情况?我们是否滥用了判空呢?精华回答:这是初、中级程序猿经常会遇到的问题。他们总喜欢在方法中返回null,因此,在调用这些方法时,也
2014-10-13 10:29:42
11934
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
10953
原创 遇过的坑-IE(9.0)不支持console.info
在js中,可以通过console.info输出日志。各种js教程也经常用这个方式来输出日志。因此,我便想当然地认为,这个方法,是标准用法,所有浏览器都兼容。但事实上,IE对这个函数的支持,是有问题的,会中断下面其他js代码的执行。最近,便因为这个问题吃了个亏。案例:在chrome上,页面能正常地通过js加载数据,但是,在IE(9.0)上,却死活没有数据,js也没有报错。看了后台日志,压
2014-07-23 14:38:28
2126
转载 freemaker中配置文件freemarker.properties详解
碰到个问题,我使用struts2,前端使用freemaker.修改.ftl文件的时候,刷新页面,老是不生效. classic_compatible=true ##如果变量为null,转化为空字符串,比如做比较的时候按照空字符做比较 whitespace_stripping=true ##去掉多余的空格,非常有用 ##模版更新事件,设置
2014-07-17 15:33:48
3458
原创 mybatis使用小贴士
分享了以下tips:一、事务管理二、xml配置sql代码段三、#和$的区别四、注意对做转义五、依据字符串是否为空,动态组织sql语句六、使用自定义的类型转换器七、resultMap的复用一、事务管理用户执行一个动作,后台需依次更新多个表,如果其中有一个更新失败,则要回滚之前的更新。这种情况,就是事务回滚。要支持事务操作,需要:
2014-05-17 16:51:52
1870
原创 导出excel功能,较通用的一种实现
作用:通过jxl包生成excel文件。示例请看main方法 特点: 1、通过java的反射特性,将jxl生成excel的逻辑,和业务数据解耦。在LinkedHashMap参数中定义每一列的标题以及对应的javabean属性,生成excel时,就会根据map插入的先后顺序,依次在excel中添加列,每列的标题为map的value值,内容为对应的javabean属性。 2、通过一个
2014-03-25 21:07:14
2589
原创 宽度自适应的几个典型案例
最近要对网站进行调整,将网页布局从原先的定宽改成宽度自适应,这里总结遇到的几个案例案例一:设置宽度百分比,让网页中的两栏都按百分比来做宽度调整-->按比例缩小这种情况下,如果窗口宽度是1000px,则左右两栏分别是200px和800px,如果宽度是500px,左右两栏也会按比例缩成100px、400px。案例二、左边栏是
2014-03-06 21:49:31
3105
原创 jQuery避免$符和其他JS冲突的方法对比
jQuery中需要用到$符号,如果其他js库(例如大名鼎鼎的prototype)也定义了$符号,那么就会造成冲突,会影响到js代码的正常执行。jqeury提供了一些方案来避免这个问题,让我们来看看这几个方案有什么区别方案1:引入noConflict(),将$替换为其他符号var $j = jQuery.noConflict();$j(document).ready(funct
2014-02-19 20:45:25
2613
转载 freemarker数字默认不加逗号
* 在模板中直接加.toString()转化数字为字符串,如 ${num.toString()} * 使用?c控制,如 ${num?c}* 在freemarker配置文件freemarker.properties(在class目录下即可)加number_format=# * 在模板中直接加;* 通过freemarker.template.Configuration的config.
2014-02-11 16:44:22
5307
原创 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
41491
14
原创 GWT的默认窗体控件,在右上角增加关闭按钮
笔者使用的GWT2.3,它的弹窗控件(DiagBox)默认是不提供关闭按钮的,因此对其进行改造。要进行改造,首先应认识到,GWT的每一个控件,对应的其实都是HTML的实现,GWT也支持我们拿到html元素,然后对其做修改,例如,对于窗体控件,可以通过geCaption()方法,拿到窗体头部对象,然后将其转为HTML对象,也就是HTML caption = (HTML) getCaption
2014-01-17 22:28:10
2258
原创 struts validator例子
本文假设你已经:1、工程中引入了struts的主要包2、希望使用“注解”来配置页面跳转、validator,而不是xml文件本文的例子:productId是Action中的一个属性,需要检验:它是非空的。如果校验失败,跳转至一个页面开始了哈~一、Action中的配置1、配置validator校验器action中的productId需要有set、g
2014-01-17 21:56:28
1483
转载 SQL中遇到多条相同内容只取一条的最简单实现
SQL中经常遇到如下情况,在一张表中有两条记录基本完全一样,某个或某几个字段有些许差别,这时候可能需要我们踢出这些有差别的数据,即两条或多条记录中只保留一项。如下:表timeand针对time字段相同时有不同total和name的情形,每当遇到相同的则只取其中一条数据,最简单的实现方法有两种1、select time,max(total) as total,name from
2014-01-17 21:38:59
25787
原创 用命令行管理iOS证书
笔者需要开发一套脚本,在机器上部署ios项目的签名证书。具体来讲,需要导入签名证书,删除过期证书,收集机器上的证书信息,这几件事情,用以下几个命令,就能轻松搞定导入证书security unlock-keychain -p mac_password /Users/lizeyang/Library/Keychains/login.keychainsecurity list-keyc
2014-01-17 21:10:05
4204
原创 编译java web工程的ant脚本模板
流程、自动化工具的好处,就是能让我们在保证效率的同时,也不容易犯一些低级错误。用ant来编译java web工程就是这样,能让我们在发布环节,更加规范、高效。这里分享一套,我所使用的ant脚步一、使用的前提你的代码目录结构应该是这样:srcresources-----common 不管测试环境,还是正式环境,都是一样的配置文件,如web.xml,strtus.xml
2014-01-17 19:52:23
2522
原创 遇过的坑-用ant编译java项目,如果static变量有修改,使用了该static变量的java文件, 不会重编译
java项目,修改了static变量后,你必须知道的潜规则
2014-01-13 12:37:42
4161
2
原创 浅谈通过正则表达式查找字符串
经常需要在文本中,查找某个子串是否存在。需求其实很简单,但每次去翻很长很长的正则表达式教程,都觉得特别吐血。因此特此做下记录:针对我这种简单需求,如何写正则表达式呢?需求:在文本中查找一段字符串,这段字符串其实是一个图片链接文本:Screenshot_0.jpg该文本中,满足条件的字符串:Screenshot_0.jpg图片链接,其实就是 以""结尾(也可能是
2013-08-29 19:39:07
11984
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人