自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(39)
  • 收藏
  • 关注

原创 Knockout.js与Primefaces整合日志 4

解决了JSF组件添加属性的问题,现在其实已经可以比较流畅地在JSF页面中使用knockout了。常用的交互方式有两种,一是提交时使用正常的命令组件(p:commandButton, p:commandLink等),响应时使用Primefaces的RequestContext或OmniFaces的Ajax工具类返回JSON并更新ViewModel。举例来说,以下是一段纯粹的JSF代码...

2014-10-22 21:07:41 205

Knockout.js与Primefaces整合日志 3

昨天发了版,最近空闲一点,继续更新。客户端的架子搭好了,现在来搞服务器端。在服务器端我们使用JSF2.1,Primefaces 4.0.x (elite版,现在为了支持IE7还卡在4.0.16,预计明年1月IE8的官方支持过期,我们就可以考虑放弃IE7了),OmniFaces。首先,我们需要让JSF组件支持我们的data-binding, data-vm等自定义属性。由于在...

2014-10-20 19:14:18 202

原创 推荐一个颇好用的Scala REPL脚本控制台

本想发在群组,那里竟然不支持附件。先发在博客里吧。===================================================本来是想给家里小孩找编程入门的语言,找到了这个东西:http://www.kogics.net/kojo表面上,它是一个用Scala语法编程控制小海龟在画布上画图,教小朋友编程概念的软件。事实上,它是个非常好用的脚本...

2014-10-16 15:13:09 388

原创 Knockout.js与Primefaces整合日志 2

整合的第一步,得先把客户端的架子搭起来。在这之前,还不了解Knockout.js的朋友建议先去knockoutjs.com把玩一下官方的tutorial。中文资料可以在网上搜,例如 http://yangshen998.iteye.com/blog/1310194 这个就看上去似乎不错。[b][size=medium]前期准备 [/size][/b]我们的产品本来就已经引入...

2014-10-04 18:54:29 154

Knockout.js与Primefaces整合日志 1

上半年成功在公司推动了由Richfaces迁移到Primefaces,后续的目标是推动引入一个客户端MVVM框架,本来相中了国货Avalon.js,可惜没有官方的英文网站和文档,最终被某JCEA(嗯,Java架构师……)否决了,好在其对引入MVVM本身倒不太反对,于是改成了Knockout.js。目前在几个前端能力较强的同事中成功局部运用起来了。但要在Java Web Team里推广,就得考虑与P...

2014-09-30 23:03:05 158

Intellij IDEA下一键用GVim打开当前文件

1. 打开 Settings -> External Tools2. 按加号按钮添加一项,按如下配置:[img]http://dl2.iteye.com/upload/attachment/0095/1661/ce957b32-6e84-3799-9a42-c12730e05f1b.png[/img]其中 parameters 为[code]$FilePath$ "+n...

2014-03-21 11:33:16 250

IE下Ajax请求偶发12152连接超时错误浅析

昨天被分到一个Bug,公司某产品在IE下偶尔会随机出现请求挂起,等待30秒后弹出超时错误(错误状态码:12152)的问题,而在FireFox或Chrome则从没有这样的问题。据说这个问题已经困扰他们四年多了,一直混着。直到最近在某个大客户的新环境中频频出现,才不得不专门找人( :cry: )解决。接到这个Bug,感觉就是某个经典的IE Repost问题,之前一直没有机会详细了解,借这个机会翻了一些...

2013-12-18 21:13:36 2214

多个数组下标的笛卡尔积迭代器

[code]package net.kidneyball;import java.util.Arrays;import java.util.Iterator;import java.util.NoSuchElementException;/** * 一个用于获取多个数组下标的笛卡尔积的迭代器。构造此迭代器时,指定各个数组的下标上限。 * 此迭代器每次迭代将获取这...

2013-04-10 21:19:36 323

原创 IdeaVim插件使用技巧

在 [url=http://kidneyball.iteye.com/blog/1814028]IDEA Intellij小技巧和插件[/url] 一文中简单介绍了一下IdeaVim插件。在这里详细总结一下这个插件在日常编程中的一些常用小技巧。供有兴趣使用这个插件,但对Vim还不十分熟悉的朋友参考。当然基本的hjkl移动光标和几种常见模式等等基本概念就略过不提了。为了确保只包含常用操作,这...

2013-03-12 21:52:53 1265

IDEA Intellij小技巧和插件

使用IDEA Intellij已有两年,在此罗列一下在实践中觉得能有效提升开发效率的一些小技巧和插件。[b][size=large]1. 重设移动键[/size][/b]方向键和Home/End键离基键太远,经常把手移过去其实很费时。所以建议重设到主键盘上。考虑到后面会提到的IdeaVim插件,所以最好使用类似Vim的方案。我个人的设定是:Ctrl+H ←Ctrl+J ↓...

2013-02-24 22:23:00 1116

原创 程序中注释的种类及替代方案

在 [url=http://kidneyball.iteye.com/blog/1733705]To 注释 or not 注释, that is a question[/url] 中,我认为程序中的内部注释——如果百分百准确地话——虽然在一定程度上对阅读程序有帮助,但在变化的项目中,却引入了注释自身的维护问题。而[color=red][b]注释如果缺乏维护,最终将形成失效或者误导性的干扰信息,反而...

2012-12-01 19:43:02 280

原创 To 注释 or not 注释, that is a question

“程序里的注释是多好还是少好”,“一个合格的程序员是否应该多写注释”。我参与到这个话题是因为[url=http://www.iteye.com/news/26564]《优秀的程序 vs. 糟糕的程序》[/url]这篇资讯译文。去看了一下原文,作者显然是蹲坑时无聊想出来几句打油诗,说的都是业界早有定论的,虚不拉几的东西,例如什么“优秀的程序容易维护,糟糕的程序很难维护”云云。根本无意在这种打油诗里说...

2012-11-23 20:32:14 398

终于可以写写博客了

自从老妈回国,留下咱两小口照顾小女,就一直没机会写博客。之前挖下的坑看来是要太监了。最近女儿的作息终于是规律了一点,我每天也能腾出3个小时左右连续的自由活动时间。抽空可以写写东西,权当复习中文吧。大话题,框架性的东西估计是没时间写了,写了也要太监,先找些基础的东西写写吧。有很多基础话题虽然一直有些想法,却没有整理出来。就借这个机会吧……...

2012-11-23 03:41:20 90

分形绘图简介(5)分形火焰算法简介(一)

上一篇介绍了怎样用Apophysis从头创作一幅分形图。步骤虽然很简单,但估计一般人(例如我自己)看了都一头雾水,为什么这样设几个数字就画出来一幅画呢?这些无厘头的操作和最终结果有什么逻辑关系呢?要搞清楚其中的关联,就不得不去研究一下Apophysis所依赖的算法:The Fractal Flame Algorithm。也不知道中文有没有对应的专有译名,我把它叫作“分形火焰算法”(或者“分形燃烧算...

2012-01-05 22:34:51 1222

分形绘图简介(四)开始作画

上一篇 : [url=http://kidneyball.iteye.com/blog/1332865]分形绘图简介(三) 界面操作[/url]终于开始画第一幅画了。这是根据网上的一个[url=http://browse.deviantart.com/?qh=&section=&global=1&q=Apophysis+2.04Beta+Julian+Tutorial#/dlox0o]教程...

2012-01-02 14:52:31 415

分形绘图简介(三) 界面操作

上一篇 :[url=http://kidneyball.iteye.com/blog/1330760]分形绘图简介(二) Apophysis 7X登场[/url]前面已经了解了Apophysis的随机生成分形图的功能。下面来看看如果要自己动手绘制一幅分形图,过程是怎样的。同样,暂时不要去关注分形算法,先按照操作教程感受一下绘画过程。为了便于描述,这一节先了解一下常用的绘图操作界面。...

2012-01-02 12:00:53 257

原创 分形绘图简介(二) Apophysis 7X登场

前一篇: [url=http://kidneyball.iteye.com/blog/1330056]分形绘图简介(一) 什么是分形绘图[/url]首先隆重推介一下 分形艺术网 ( http://www.fxysw.com/ ),上面有不少绘制分形图的软件、教程和示例。我也是通过这个网站才知道了Apophysis 7X这款软件。[b]Apophysis 7X简介[/b]Ap...

2011-12-30 19:41:36 602

分形绘图简介(一) 什么是分形绘图

圣诞长假,把玩了一下分形绘图。我的初衷是想找点简单好玩漂亮的东西,以后用来哄骗小女儿学习数学和计算机。于是我找到了Kojo,一个用Scala来模拟Logo语言的小玩具,让我想起了小时候玩分形绘图的零星记忆。然后在网上东找西寻,终于让我找到了Apophysis 7X这个好东东。结果一发不可收拾,耗进去好几天。下面是这几天的一些学习心得。[b]什么是分形绘图[/b]跑去网上某百科查“分...

2011-12-30 11:07:47 1348

一个搜集java源代码的scala程序

jboss的源代码目录太零碎了,写了一个Scala脚本,搜索多个源目录,把java文件按包名路径复制到统一目录下。方便调试时绑定源码。[code="scala"]package net.danieldeng.sourceextractorimport scala.io.Sourceimport java.io._;import org.apache.commons.io.F...

2011-11-28 22:29:11 81

一个通用的TreeIterator

因工作需要,写了一个通用的树迭代器。主体逻辑参考了AOM (www.operamasks.org)的ComponentIterator,作了以下改进:1. 接受任意节点类型(泛型参数)2. 加入了一个stack来跟踪parent (节点无需提供getParent)3. 加入了一个函数接口来过滤子树主类:[code="java"]public abstract class...

2011-11-28 14:31:54 334

无聊写了个单元测试的基类,准备拿回公司用

[code="java"]package net.daniel.test;import java.lang.annotation.ElementType;import java.lang.annotation.Retention;import java.lang.annotation.RetentionPolicy;import java.lang.annotation.T...

2011-10-25 04:58:33 310

Win7下Emacs使用笔记二

[size=medium][b]1. 利用Server模式快速启动emacs[/b][/size]Emacs启动比较慢,使用Server模式可以解决这个问题。启动一个Emacs实例后,可以用M-x server-start命令进入Server模式,然后保留此实例不关闭。此后,可以用“emacesclientw ”启动emacs,则这次编辑的内容事实上是由server模式的emacs实例打开,速...

2011-05-08 00:22:56 151

Win7下Emacs使用笔记一

1. 为了用得顺手,需要把Caps Lock键设为Ctrl。Caps Lock功能则设到右手的Context Menu键上或Win键上。可使用KeyTweak工具来帮助改键,不嫌麻烦的话也可直接改注册表。2. M-x按得不顺手(位置太近反而不好按),可以用ESC-X来代替,或者在.emacs中加入以下代码,把它设到C-X C-M与C-C C-M上,同时把C-X与C-C都设了可以防止不小心按...

2011-04-25 00:19:29 189

joel on software台版文章分类

这几天都住在七天,开发计划暂停。翻看了一下 [url=http://local.joelonsoftware.com/wiki/%E9%A6%96%E9%A0%81]local.joelonsoftware.com上的台译文章[/url]。简单归类整理一下:[b][size=medium]1. 程序员修养[/size][/b]* [url=http://local.joelonsoft...

2011-03-30 01:04:10 669

Windows下用Emacs进行RoR开发的初始环境搭建

最近计划把玩一下RoR,Django,Lift几个轻量级Web框架,打算统一使用Emacs来开发。今天在Win7下搭好了Emacs for Rails环境,记录一下搭建步骤。[b][size=medium]1. 下载安装初始环境:[/size][/b]* Ruby 192和Rails 3.0.5,在 http://rubyonrails.org/download 直接搞定。注意:如...

2011-03-26 21:50:35 103

一份介绍动态语言和FP的PPT

一份介绍动态语言和函数式编程的内训PPT。主要是介绍一些函数式语言和类型系统的入门知识,旨在引起同事们对函数式编程和动态语言的性趣。

2011-03-09 21:27:42 78

一段有趣的Javascript代码及分析

在2011年的BlackHat DC 2011大会上Ryan Barnett给出了一段关于XSS的示例javascript代码:[code="javascript"]($=[$=[]][(__=!$+$)[_=-~-~-~$]+({}+$)[_/_]+($$=($_=!''+$)[_/_]+$_[+$])])()[__[_/_]+__[_+~$]+$_[_]+$$](_/_)[/cod...

2011-03-08 22:44:40 300

SICP读书笔记(5) —— Sec1.1.2-Sec1.1.3

[b][size=medium]Sec1.1.2 命名和环境[/size][/b]介绍第一种特殊形式:define,也就是把名字与计算对象进行绑定。需要注意的是,在Lisp中,在同一个作用域中不能使用define对同一个名字重复绑定。在DrRacket中执行[code](define s 2)(define s 3)[/code]会出错:[quote]module:...

2011-03-03 17:36:47 115

SICP读书笔记(5) —— Sec1.1-Sec1.1.1

[b][size=medium]Sec 1.1 程序设计的基本元素[/size][/b][color=darkblue]“这样,当我们描述一个语言时,就需要特别注意这种语言所提供的,将简单认识组合形成复杂认识的方法。每一种强有力的都为此提供了三种机制:1. 基本表达形式 : 用于表示语言所关心的最简单的个体。2. 组合的方式: 通过它们能从简单的元素出发构造出复合的元素。3. ...

2011-03-01 17:55:49 191

SICP读书笔记(4)—— 目录,第一章总述

[b][size=medium]目录[/size][/b]SICP的前三章是考察任何一个开发体系(例如程序设计语言、开发组件、设计模式、开发框架)所必须了解的最最基本的三个方面。接触任何一个新的开发体系时,应该按部就班地搞清楚其[color=darkblue][b]“构造过程抽象”[/b][/color]的方式、[color=darkblue][b]“构造数据抽象”[/b][/color]...

2011-02-26 23:50:31 150

SICP读书笔记(3)——前言

[b][size=medium]第2版前言[/size][/b]作为编程导论教材,重点在前四章。[b][size=medium]第1版前言[/size][/b][color=darkblue]他们说,计算机程序对个别具体用途而言确实是好东西,但它们太缺乏弹性。事实上,如果你不会正确使用的话,对你来说就连小提琴或者打字机也会同样的缺乏弹性。 —— “[b]为什么说程序设计很容易成为...

2011-02-26 21:22:27 149

SICP读书笔记(2)——扉页,序

[b]最容易被忽略的最重要的话(扉页)[/b][color=darkblue]“我认为,[b]在计算机科学中保持计算中的趣味性是特别重要的事情[/b]。这一学科在起步时饱含着趣味性。当然,那些付钱的客户们时常会觉得被我们敷衍了。一段时间之后,我们开始信以为真。我们开始觉得,自己真的像是要负起成功地、无差错地、完美地使用这些机器的责任。我不以为然。我认为我们的责任是去拓展这一领域,将其发展到新的...

2011-02-24 17:49:39 152

原创 SICP读书笔记 (1)

[b]关于SICP[/b]SICP,Structure and Interpretation of Computer Programs,计算机程序的构造和解释,是美国麻省理工学院(MIT)的计算机科学(CS)与电子工程(EE)本科的一门必修课。这本书在1984年出版,而自从1980年开始,20多年来此书的内容一直是MIT的计算机编程入门课程,并且被世界各地百余所大学效仿。SICP是基于LI...

2011-02-24 14:42:10 220

JSF 2.0阅读笔记:事件(一)

一、什么是事件什么是事件?简单来说,就是一些由当前程序关注范围之外的原因发起的一些行为(action),而你在程序内部需要对这些行为作出响应和处理。利用事件,能够有效地缩小程序片段所需要关注的范围,也就是减少了程序员在开发当前程序片段时的关注点,实现传说中的高聚合和松耦合。一个事件体系中包含了两个部分,[b]事件的发起方[/b]和[b]事件的监听方[/b](处理方)。在开发事件发起方时,可...

2011-01-06 11:01:36 110

JSF 2.0阅读笔记:视图状态 (四)

五. 实例验证下面使用GlassFish v3来测试JSF2.0 RI的ViewState情况。JSF2.0规范中提供了三个上下文参数来指定应用的ViewState策略,可在web.xml文件中使用context-param元素来配置。第一个是从JSF1.2就流传下来的[b]javax.faces.STATE_SAVING_METHOD[/b],取值为server或client,用...

2010-12-29 17:50:00 464

JSF 2.0阅读笔记:视图状态 (三)

(续 [url=http://kidneyball.iteye.com/blog/853086]JSF 2.0阅读笔记:视图状态 (二)[/url])在StateHelper的javadoc上明确声明:[quote]Define a[color=blue] Map-like[/color] contract that makes it easier for components to ...

2010-12-28 16:35:34 142

JSF 2.0阅读笔记:视图状态 (二)

(续一)[b]三、可能的优化方案[/b]撇开JSF2.0不谈,不妨先来想想针对JSF1.2的问题,有哪些可能的优化方案?1. [u]组件的底层实现应改用可统一管理的,按名访问的,动态的弱类型属性集合。[/u]说白了,就是在组件类中用一个统一的Map来管理组件属性值。相对于强类型对象域,这种方法虽然在理论上会导致属性访问性能降低,但同时会给采集组件状态的性能带来提升,因为现在...

2010-12-27 17:46:55 155

原创 JSF 2.0阅读笔记:视图状态 (一)

最近终于抽空阅读了JSR314与相关的API代码,把一些心得整理一下。JSF 2.0阅读笔记:视图状态[b]什么是视图状态[/b]在JSF中,一个页面,或者叫视图(View),在服务器端是通过一棵组件树来描述的。组件树中的每一个节点,对应着视图上的每一个组件,是组件在服务器端的内部表述模型,称为组件类实例。JSF请求处理生命周期中的所有行为,包括校验、转换、事件分发、渲染等...

2010-12-24 16:25:32 236

关于单例模式的DoubleCheckLock同步的思考

在javaeye上看到很多朋友都提出单例模式的一些变种实现,比如加入了即时加载和DoubleCheckLock机制,来提高并发性能。但事实上这些机制真的必要吗?目前公认影响单例性能的要素有两个:一是实例构造时间开销,一是获取单例实例的同步阻塞开销。我的理解是,并发相对与同步阻塞的优势,在于当两条线程中的一条在执行时间开销较大的操作,而另一条线程无须执行该操作,则并发执行保证了开销小...

2010-12-23 11:48:59 200

空空如也

空空如也

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

TA关注的人

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