自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

  • 博客(41)
  • 资源 (2)
  • 收藏
  • 关注

原创 我和Java 8的第一次亲密接触

周五上班偶然发现单位的系统里有Java 8可以用了,周六无事,把自己现在在做的一个项目从Java 1.6升级到了1.8。过程并不是一番风顺,在此记录,希望可以对各位看客有所帮助。先说说现在在做的这个项目吧。这个项目是个纯技术的项目,从去年年中开始,断断续续搞了快一年了,beta三月上线,第一个版本应该是10月上线吧。这个项目现在使用的是Java 1.6,没有用什么大型中间件,使用的第三方软件包

2014-06-22 04:53:58 743

原创 分享一个简单的Tomcat本地开发脚本

最近在搞java web service,一开始开发的时候都是用Maven集成Jetty

2014-04-27 06:37:54 155

原创 Oracle数据库小白使用记 -- 通过存储过程提取数据

本人是Oracle数据库小白,一直都是用Sql Server的,最近到被安排到一个项目去救火。这个项目使用的Java和Oracle数据库的组合,没办法,一切要从头学起。其实这个项目本身并不是很复杂,就是一个ETL的问题,就是数据读起来很麻烦,需要很多Static Data和Reference Data,这些数据存在几个不同的系统中,而每个系统又有自己不同的调用方式,有些是Web Ser

2014-03-24 00:04:01 1266

原创 小议企业开发部门的分工与合作

周五帮以前部门的同事查一个测试环境的权限错误的问题。一个用户在系统里的权限设置,一切很正常。但是从中间层的权限检查老报错。虽然这个系统的权限检查部分是我一年多以前做的,而我已经换到另外一个部门有一段时间了,但是看到同事为难的表情,还是义不容辞的过去帮了忙。大家把问题的排查主要集中在权限检查部分。其实,这个权限检查的设计很简单,当时由于检查的数据非常多,而且全部存在一个数据库中,所以我把

2014-03-10 04:29:23 616 1

原创 Vert.x:Node.js的接班人

Vert.x是最近这两年在Github上很火的一个eclipse开源项目。Vert.x第一眼看上去真的很像山寨版的Node.js,就连Vert.x创始人Tim Fox也并不掩饰Vert.x的灵感来自于Node.js。说到异步和多线程开发,还有Event Bus,其实在业界已经不是什么太新鲜的概念了,借用Axon Framework的作者Allard Buijze的话说,Event bus其实就

2014-03-09 03:23:57 411

原创 做C#程序员一定要知道的语言特性

小小总结一下一些经常会用到的C# 4.0的语言特性,顺序很随意。1. InterfaceInterface并不是C#特有的东西,面向对象语言都有接口这个东西。但是在C#中,接口的地位其实是要比Abstract Class重要的。这尤其表现在单元测试使用Mock的时候。由于在C#语言中,只有显性标识virtual的方法才可以被Override,所以当我们需要在测试中进行动态Mock的

2014-02-27 03:54:38 646

原创 Maven

Local libs            project            file:${project.basedir}/lib                    com.sungard.gms            vmc-api            6.0.23            system            ${projec

2014-02-18 22:30:06 75

原创 由软件升级想到的

这几天因为要用的到,对单位只有.NET 4.0产生了极大的怨念。在羡慕.NET 4.5的诸多新功能,和Visual Studio 2013的强大的Github集成之余,怨念为什么公司升级那么慢之后,再自己想想,其实对开发环境,基础类,以及集成开发环境的快速升级其实是对企业用户,和广大程序员的背叛。对于我们个人用户,升级操作系统往往是由更换硬件带来的,而安装很多基础软件和环境,往往大多数

2014-02-14 05:13:58 707 1

原创 语言之争

Java和.Net选哪个?这是每一个菜鸟都必须要面对的问题。Java 可能是大多数程序员学习的第一个面向对象的编程语言。它最大的优势就是跨平台性。其实,在国内小型机当道的时代,Java 是唯一可以选择的开发语言,因为.net 根本不能在AIX 上运行。那么为什么国内以前会流行小机呢?这主要是中国人多,所以国内的网站对并发要求很高,所以很难用X86架构来支持高并发。其实,真正的原因是在国内以前软件开

2014-02-14 05:07:52 1247 2

原创 除夕之夜,今晚不写技术

九年没有在家过过春节了,今天又到了这一天,除夕的晚上,打开电脑,对着屏幕,想想逝去的十年,真的感触很多。

2014-01-31 02:43:57 334

原创 Ninject与代理模式同时使用的小技巧

Ninject是一个在.NET平台下的非常流行的轻量级开源DI框架。和在Java平台下的Guice类似,Ninject的DI配置是在代码中实现的,而不是Spring使用的XML。使用代码进行DI配置,可以通过Compiler的类型检查避免很多配置错误,提高工作效率。同时,相比较Guice在Java平台下的位置,Ninject在.NET平台下,被使用的机会会很多。这么说是因为,在Java平台下,Sp

2014-01-26 03:35:20 584

原创 用C#创建一个混合型类

.net 4.0添加了dynamic关键字。通过声明dynamic变量,我们可以在C#这个静态语言中使用一下动态语言的特性。微软添加dynamic关键字,主要是为了使在C#中对COM编程更加简化。对于我这个2003年才开始学编程的人来说COM就和汇编一样,只有听说过的份。那么dynamic还有什么其他的用途呢?

2014-01-20 00:40:38 612

原创 Groovy Shell

import org.apache.log4j.Logger;import org.apache.mina.transport.socket.nio.NioSocketAcceptor;import org.springframework.beans.factory.annotation.Autowired;import java.io.IOException;import

2014-01-19 22:40:49 97

原创 通过CXF JAX-WS Dispatch和JAXB访问SOAP Web Service

如今Restful Web Service很流行,介绍如何写Restful Web Service的文章也很多,自己也很喜欢Restful Web Service,用JSON传输,效率比XML好很多。但是,Restful Web Service不像SOAP Web Service可以用WSDL来作为Service的定义,在设计时需要写很多文档,来对服务接口进行说明。同时,在开发客户端的时候,并不能直接生成所需要的Bean,需要用户自己手工写代码,或者由服务端提供,这就给日后的管理和维护带来了很多潜在的问题。

2014-01-12 01:37:49 997

原创 2013年终总结

又到12月份了, 天黑得早了, 还是一如既往得冷. 每天闹钟响起看着窗外黑通通的天, 都有一种很不情愿的感觉. 还好已经年底了, 今年的工作已经接近尾声, 可以放松一下. 每天虽然人坐在办公室, 但一半的时间是用来醒酒, 而另一半时间则是和同事讨论晚上去哪里喝酒. 这样难得的日子, 自己在年初实在无法想像. 不过, 偶尔轻松一下也还好, 毕竟一年了. 周末的晚上, 自己难得还清醒, 好好总结一下这

2013-12-08 05:10:31 3048 2

原创 2013年终总结

又到12月份了, 天黑得早了, 还是一如既往得冷. 每天闹钟响起看着窗外黑通通的天, 都有一种很不情愿的感觉. 还好已经年底了, 今年的工作已经接近尾声, 可以放松一下. 每天虽然人坐在办公室, 但一半的时间是用来醒酒, 而另一半时间则是和同事讨论晚上去哪里喝酒. 这样难得的日子, 自己在年初实在无法想像. 不过, 偶尔轻松一下也还好, 毕竟一年了. 周末的晚上, 自己难得还清醒, 好好总结一下这

2013-12-08 03:01:22 75

原创 通过Qunit对Javascript代码进行单元测试

在现在的软件开发中,单元测试已经变得越来越重要了.相比程序员与测试QA的手工测试,单元测试可以在项目每次build的时候集成运行,来为程序员提供Regression Test的反馈.这在敏捷开发中为程序员提供了很重要的支持,可以很容易的进行重构. 现在的主流编程语言都有很好的对单元测试的支持, 关于JUnit和NUnit的文章也已经有很多了. 在这里,我们介绍一下如何使用QUnit对Javascr

2013-12-08 02:56:00 636

原创 通过Qunit对Javascript代码进行单元测试

在现在的软件开发中,单元测试已经变得越来越重要了.相比程序员与测试QA的手工测试,单元测试可以在项目每次build的时候集成运行,来为程序员提供Regression Test的反馈.这在敏捷开发中为程序员提供了很重要的支持,可以很容易的进行重构. 现在的主流编程语言都有很好的对单元测试的支持,在这里,我们介绍一下如何

2013-12-08 02:23:10 78

原创 路在何方?一个程序员的职业发展

程序员并不像我们在电影中看到的那样,一个个都是都是顶级黑客,比尔盖茨这样的程序员我们也做不了,Google这样的技术公司我们也进不去,开源项目我们只有使用的份,开个博客我们也只能写写如何配置环境,作为一个普通得不能再普通的一名程序员,在这个公认的不养老的行业中,我们的路到底在哪呢?

2013-11-10 23:35:16 80

原创 在Java项目中整合Scala

Scala是一个运行在Java JVM上的面向对象的语言。它支持函数编程,在语法上比Java更加灵活,同时通过Akka库,Scala支持强大的基于Actor的多线程编程。具有这些优势,使得我最近很想在一个新的项目中使用Scala,但是在新项目中,抛弃我们常用的Java和C#,而直接使用一门新的语言是很困难的。这不仅包括学习新语言这个过程,未来,更为项目的长期发展和日后的开发和支持增加了很多变数。毕

2013-10-13 07:32:29 2452

原创 用Java实现HTTP Multipart的服务端和客户端

今天简单介绍一下如何用Java支持HTTP Multipart的request和response。 整个项目的代码可以在https://github.com/mcai4gl2/multi下载。在这个程序里,我们的业务场景很简单。在服务端有一个随机数生成器,可以生成随机的Integer和Guid,客户端通过服务,可以请求一个或多个随机数。同时,客户端可以向服务端发送一个或多个随机数,这些随机数会

2013-10-06 20:30:55 1480

原创 一些常用的Maven Plugin配置

Maven是一个常用的Java build Manager, 使用Maven可以很好的对Java Project的dependency进行管理. 这里我记录几个比较常用的Plugin配置. 生成JAR打包文件: org.apache.maven.plugins maven-jar-plugin

2013-09-29 01:06:50 7348 1

原创 一些常用的Maven Plugin配置

Maven是一个常用的Java build Manager, 使用Maven可以很好的对Java Project的dependency进行管理. 这里我记录几个比较常用的Plugin配置. 生成JAR打包文件: org.apache.maven.plugins maven-jar-plugin

2013-09-29 00:34:48 114

原创 通过Jetty搭建一个简单的Servlet运行环境

最近在做一些简单的Servlet开发的时候,感觉每次调试的时候都要发布到tomcat上很麻烦,把程序共享给同事也很麻烦,需要帮他设置本地的tomcat环境. 在网上找了找其他的Servlet运行环境,发现用Jetty可以很方便的实现嵌入式Web container.这里我记录一下通过Jetty搭建简单Servlet运行环境的过程,希望对有同样需要的朋友有所帮助.整个环境的代码可以在https:

2013-09-22 03:57:25 2795 1

原创 node.js连接Sql Server数据库

最近对node.js比较感兴趣,网上的例子大多都是node.js集成MongoDB。我对MongoDB实在不是太感冒,并不是因为它有什么不好听,只是在工作上的确是很难遇到。在工作上还是和Sql Server打交道多,所以要研究一下如何从node.js连接Sql Server。在搭建环境之前,我不得不说,node.js链接Sql Server有个很大的限制,那就是只能在windows下使

2013-06-23 06:33:37 5173

原创 SQL Server Concatenate String

Suppose I got a table with emails and category and I want to group the emails based on category, the following sql statement can be simply be used:DECLARE @Email AS TABLE( Category INT, Email VAR

2013-05-08 23:05:54 367

原创 一个简单的审批流程模型

最近在做一个审批流程的模块用来支持对一些事务的审批。基本的业务要求如下:1. 模型需要支持两级审批,在这里我们定义为有一半权限的B Approver,和有更高权限的C Approver;2. 每一个用户可以只是B Approver,或C Approver,或者既是B Approver也是C Approver;3. 模型需要支持以下审批工作流:a. 任何一个Approver (1 A

2013-01-07 01:54:40 1811 2

原创 在Javascript中获得鼠标的位置

代码:Q.el.mousemove(function(e) { Q.input.mousePosition.x = e.offsetX == undefined? e.clientX - $(e.target).position().left : e.offsetX; Q.input.mousePosition.y = e.offsetY

2012-12-31 06:41:12 314

原创 My JQuery CheatSheet

1. Get all links whose text is "Click to Download":$('a:contains("Click to Download")').map(function() { return this.href }).get()

2012-11-06 05:59:09 271

原创 一个.NET下的简单的Data Access Layer

在.NET环境下进行数据库交互的方法主要是ADO.NET。从ADO.NET 1.0到现今,ADO.NET的功能已经相当完善了。但是,ADO.NET只是一个数据库操作API,如何让软件的业务逻辑层可以有效地与数据库进行交互(也就是我们常说的Data Access Layer)并不是只用ADO.NET可以解决的问题。在.NET下可以通过以下的方法搭建Data Access Layer:

2012-11-04 23:25:40 433

原创 搭建一个最基本的Ironpython运行环境

环境需要:1. Visual Studio 20102. Ironpython搭建步骤:1. 创建一个C# Console Project(注意需要.NET 4.0)2. 添加Ironpython.dll和Microsoft.Scripting.dll:3. 修改App.config: <section name="mic

2012-10-22 03:23:31 806

原创 Using T4 Template to Generate SQL Server Merge Satement

SQL Server merge statement is very powerful, but it is very time consuming to write. Using the following T4 template, you can get the code generated for you directly:<# var databaseName

2012-09-25 01:27:03 383

原创 SQL Server数据库Table Data Audit

对于重要的数据库表,特别是关于权限的,我们在生产机环境都要存储Audit信息,下面我们先生成一个Audit Table:CREATE TABLE [dbo].[DATA_AUDIT]( [ROW_ID] [uniqueidentifier] NOT NULL, [LST_CHG_TMS] [datetime] NOT NULL, [LST_CHG_USR_ID] [nvarchar](1

2012-09-25 01:21:09 433

原创 通过Message Inspector限制访问WCF服务Client的IP Address

Step 1: Create the MessageInspector and EndpointBehavior:public class RequestSourceEndpointBehavior : IEndpointBehavior, IDispatchMessageInspector { private static readonly Logger.ILog lo

2012-09-20 19:27:35 787

原创 My SVN Ignore Pattern

This is my svn ignore pattern:*.o *.lo *.la *.al .libs *.so *.so.[0-9]* *.a *.pyc *.pyo *.rej *~ #*# .#* .*.swp .DS_Store */bin */obj */Release */Debug *.suo *.err *.log *.obj *.bin *.dll *.exe *.LO

2012-06-18 03:23:36 767

原创 C# Xml Serialization - Serializing Property as Xml Text rather than an Element

I want to use default xml serializer to serialize data as follows: Value1 Value2 Rather than: Value1 Value2 i.e. Value1 and Value2 a

2012-06-17 05:30:56 540 1

原创 My Command Cheat Sheet

This sheet will be updated very frequently :), hopefully, I am not too busyResharper:1. Search for a type: Ctrl+N2. Search for a symbol: Ctrl+Shift+Alt+NLatex:Best Latex distribution

2012-06-17 05:10:04 304

转载 Sorting and Grouping in Pure XAML

Sorting and grouping is possible in pure XAML. To sort and group a collection, you use aCollectionViewSource object. This object has two properties CollectionViewSource.SortDescriptions and Co

2012-03-05 16:19:33 413

原创 一个基于MEF的可拓展的WPF Host程序 (0)

从本文开始我们将介绍一个基于MEF的可拓展的WPF程序。这将会是一个比较长的系列性文章,我也不知道会写多长:)。作为系列的第一篇,我们先介绍一下我们到底要做什么吧。我想做过界面的程序员都知道,界面做起来很麻烦,既费时又费力,而且并不一定讨用户喜欢,而且发布起来很麻烦。我想,这也是为什么这些年来网页技术发展得这么红火吧。不知道是不是自己很怀旧,还是实在不习惯总使用浏览器,本人还是很喜欢用deskto

2012-03-04 06:22:06 2177

原创 C#中调用PDFCreator生成PDF文件

前一阵子做了一个生成报表的小project,生成的报表是关于股价的记录。没有什么现成的包和第三方程序给我们用,听说WPF渲染的页面可以之间存成PDF,不过只是道听途说,没敢真正实践,最后还是用了自己以前搞过的方法,Office Interop,在一个word文档中插入很多placeholder搞成template,然后用C#代码动态把PlaceHolder变成数据,然后保存。这个方法其实挺强大,不

2012-02-26 00:01:43 4511 3

DataTableLinkedCollectionExample

DataTableLinkedCollectionExample

2012-11-04

MEF Console Example

一个基于MEF的可拓展的WPF Host程序 (0) Source Code

2012-03-04

空空如也

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

TA关注的人

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