paulwong

#

Spring Data REST,Spring MVC的REST扩展

http://spring.io/blog/2012/06/26/spring-data-rest-1-0-0-rc1-released

RESTify your JPA Entities
https://www.openshift.com/blogs/restify-your-jpa-entities

babdev-spring
https://github.com/gregorriegler/babdev-spring/tree/master/spring-data-rest

https://github.com/spring-projects/spring-data-rest

posted @ 2014-07-09 17:36 paulwong 阅读(776) | 评论 (1)编辑 收藏

三层架构及其优缺点

三层架构(3-tier application) 通常意义上的三层架构就是将整个业务应用划分为:表现层(UI)、业务逻辑层(BLL)、数据访问层(DAL)。区分层次的目的即为了“高内聚,低耦合"的思想。
  1、表现层(UI):通俗讲就是展现给用户的界面,即用户在使用一个系统的时候他的所见所得。
  2、业务逻辑层(BLL):针对具体问题的操作,也可以说是对数据层的操作,对数据业务逻辑处理。
  3、数据访问层(DAL):该层所做事务直接操作数据库,针对数据的增添、删除、修改、更新、查找等。
注:(内聚:一个模块内各个元素彼此结合的紧密程度;耦合:一个软件结构内不同模块之间互连程度的度量)

优缺点
  优点:
  1、开发人员可以只关注整个结构中的其中某一层;
  2、可以很容易的用新的实现来替换原有层次的实现;
  3、可以降低层与层之间的依赖;
  4、有利于标准化;
  5、利于各层逻辑的复用。
6、扩展性强。不同层负责不同的层面,如PetShop可经过简单的配置实现Sqlserver和oracle之间的转换,当然写好了也可以实现B/S与C/S之间的转换
7、安全性高。用户端只能通过逻辑层来访问数据层,减少了入口点,把很多危险的系统功能都屏蔽了。
8、项目结构更清楚,分工更明确,有利于后期的维护和升级

  缺点:
  1、降低了系统的性能。这是不言而喻的。如果不采用分层式结构,很多业务可以直接造访数据库,以此获取相应的数据,如今却必须通过中间层来完成。
  2、有时会导致级联的修改。这种修改尤其体现在自上而下的方向。如果在表示层中需要增加一个功能,为保证其设计符合分层式结构,可能需要在相应的业务逻辑层和数据访问层中都增加相应的代码
3、增加了代码量,增加了工作量


三层架构是:

一:界面层
界面层提供给用户一个视觉上的界面,通过界面层,用户输入数据、获取数据。界面层同时也提供一定的安全性,确保用户不用看到不必要的机密信息。

二:逻辑层

逻辑层是界面层和数据层的桥梁,它响应界面层的用户请求,执行任务并从数据层抓取数据,并将必要的数据传送给界面层。

三:数据层
数据层定义、维护数据的完整性、安全性,它响应逻辑层的请求,访问数据。这一层通常由大型的数据库服务器实现,如Oracle 、Sybase、MS SQl Server等。

------

从开发角度和应用角度来看,三层架构比双层或单层结构都有更大的优势。三层结构适合群体开发,每人可以有不同的分工,协同工作使效率倍增。开发双层或单层应用时,每个开发人员都应对系统有较深的理解,能力要求很高,开发三层应用时,则可以结合多方面的人才,只需少数人对系统全面了解,从一定程度工降低了开发的难度。
三层架构属于瘦客户的模式,用户端只需一个较小的硬盘、较小的内存、较慢的CPU就可以获得不错的性能。相比之下,单层或胖客户对面器的要求太高。
三层架构的另一个优点在于可以更好的支持分布式计算环境。逻辑层的应用程序可以有多个机器上运行,充分利用网络的计算功能。分布式计算的潜力巨大,远比升级CPU有效。
三层架构的最大优点是它的安全性。用户端只能通过逻辑层来访问数据层,减少了入口点,把很多危险的系统功能都屏蔽了。
另外三层架构还可以支持如下功能:Remote Access(远程访问资料),例如可透过Internet存取远程数据库;High Performance(提升运算效率)解决集中式运算(Centralize)及主从式架构(Client-Server)中,数据库主机的运算负担,降低数据库主机的Connection Load,并可藉由增加App Server处理众多的数据处理要求,这一点跟前面讲到的分布式计算提高运算能力是一个道理;Client端发出Request(工作要求)后,便可离线,交由App Server和DataBase Server共同把工作完成,减少Client端的等待时间;这个功能我觉得应用场合不是很多,自己感受也不是很深刻,从理论上是成立的。

posted @ 2014-07-09 17:24 paulwong 阅读(432) | 评论 (0)编辑 收藏

六款值得推荐的android(安卓)开源框架简介【转】

1、volley

项目地址 https://github.com/smanikandan14/Volley-demo
(1) JSON,图像等的异步下载;
(2) 网络请求的排序(scheduling)
(3) 网络请求的优先级处理
(4) 缓存
(5) 多级别取消请求
(6) 和Activity和生命周期的联动(Activity结束时同时取消所有网络请求)


2、android-async-http

项目地址:https://github.com/loopj/android-async-http
文档介绍:http://loopj.com/android-async-http/
(1) 在匿名回调中处理请求结果
(2) 在UI线程外进行http请求
(3) 文件断点上传
(4) 智能重试
(5) 默认gzip压缩
(6) 支持解析成Json格式
(7) 可将Cookies持久化到SharedPreferences


3、Afinal框架

项目地址:https://github.com/yangfuhai/afinal
主要有四大模块:
(1) 数据库模块:android中的orm框架,使用了线程池对sqlite进行操作。
(2) 注解模块:android中的ioc框架,完全注解方式就可以进行UI绑定和事件绑定。无需findViewById和setClickListener等。
(3) 网络模块:通过httpclient进行封装http数据请求,支持ajax方式加载,支持下载、上传文件功能。
(4) 图片缓存模块:通过FinalBitmap,imageview加载bitmap的时候无需考虑bitmap加载过程中出现的oom和android容器快速滑动时候出现的图片错位等现象。
FinalBitmap可以配置线程加载线程数量,缓存大小,缓存路径,加载显示动画等。FinalBitmap的内存管理使用lru算法,
没有使用弱引用(android2.3以后google已经不建议使用弱引用,android2.3后强行回收软引用和弱引用,详情查看android官方文档),
更好的管理bitmap内存。FinalBitmap可以自定义下载器,用来扩展其他协议显示网络图片,比如ftp等。同时可以自定义bitmap显示器,
在imageview显示图片的时候播放动画等(默认是渐变动画显示)。


4、xUtils框架

项目地址:https://github.com/wyouflf/xUtils
主要有四大模块:
(1) 数据库模块:android中的orm框架,一行代码就可以进行增删改查;
支持事务,默认关闭;
可通过注解自定义表名,列名,外键,唯一性约束,NOT NULL约束,CHECK约束等(需要混淆的时候请注解表名和列名);
支持绑定外键,保存实体时外键关联实体自动保存或更新;
自动加载外键关联实体,支持延时加载;
支持链式表达查询,更直观的查询语义,参考下面的介绍或sample中的例子。
(2) 注解模块:android中的ioc框架,完全注解方式就可以进行UI,资源和事件绑定;
新的事件绑定方式,使用混淆工具混淆后仍可正常工作;
目前支持常用的20种事件绑定,参见ViewCommonEventListener类和包com.lidroid.xutils.view.annotation.event。
(3) 网络模块:支持同步,异步方式的请求;
支持大文件上传,上传大文件不会oom;
支持GET,POST,PUT,MOVE,COPY,DELETE,HEAD,OPTIONS,TRACE,CONNECT请求;
下载支持301/302重定向,支持设置是否根据Content-Disposition重命名下载的文件;
返回文本内容的请求(默认只启用了GET请求)支持缓存,可设置默认过期时间和针对当前请求的过期时间。
(4) 图片缓存模块:加载bitmap的时候无需考虑bitmap加载过程中出现的oom和android容器快速滑动时候出现的图片错位等现象;
支持加载网络图片和本地图片;
内存管理使用lru算法,更好的管理bitmap内存;
可配置线程加载线程数量,缓存大小,缓存路径,加载显示动画等...


5、ThinkAndroid

项目地址:https://github.com/white-cat/ThinkAndroid
主要有以下模块:
(1) MVC模块:实现视图与模型的分离。
(2) ioc模块:android中的ioc模块,完全注解方式就可以进行UI绑定、res中的资源的读取、以及对象的初始化。
(3) 数据库模块:android中的orm框架,使用了线程池对sqlite进行操作。
(4) http模块:通过httpclient进行封装http数据请求,支持异步及同步方式加载。
(5) 缓存模块:通过简单的配置及设计可以很好的实现缓存,对缓存可以随意的配置
(6) 图片缓存模块:imageview加载图片的时候无需考虑图片加载过程中出现的oom和android容器快速滑动时候出现的图片错位等现象。
(7) 配置器模块:可以对简易的实现配对配置的操作,目前配置文件可以支持Preference、Properties对配置进行存取。
(8) 日志打印模块:可以较快的轻易的是实现日志打印,支持日志打印的扩展,目前支持对sdcard写入本地打印、以及控制台打印
(9) 下载器模块:可以简单的实现多线程下载、后台下载、断点续传、对下载进行控制、如开始、暂停、删除等等。
(10) 网络状态检测模块:当网络状态改变时,对其进行检


6、LoonAndroid

项目地址:https://github.com/gdpancheng/LoonAndroid
主要有以下模块:
(1) 自动注入框架(只需要继承框架内的application既可)
(2) 图片加载框架(多重缓存,自动回收,最大限度保证内存的安全性)
(3) 网络请求模块(继承了基本上现在所有的http请求)
(4) eventbus(集成一个开源的框架)
(5) 验证框架(集成开源框架)
(6) json解析(支持解析成集合或者对象)
(7) 数据库(不知道是哪位写的 忘记了)
(8) 多线程断点下载(自动判断是否支持多线程,判断是否是重定向)
(9) 自动更新模块
(10) 一系列工具类

其中的 volley ,13 年有研究过,扩展性非常好,个人比较喜欢的风格。其他如 android-async-http、Afinal 也相当不错。

posted @ 2014-07-09 16:56 paulwong 阅读(423) | 评论 (0)编辑 收藏

20 个免费的 Bootstrap 模板

Bootstrap是快速开发Web应用程序的前端工具包。它是一个CSS和HTML的集合,它使用了最新的浏览器技术,给你的Web开发提供了时尚的版式,表单,buttons,表格,网格系统等等。

本文向你推荐 20 个免费的 Bootstrap 模板:

Studio

Demo | Download )

Studio

Landon

Demo | Download )

Landon

E-Shopper

Demo | Download )

E-Shopper

Starter

Demo | Download )

Starter

Grayscale

Demo | Download )

Grayscale

Stylish Portfolio

Demo | Download )

Stylish Portfolio

FirmaSite

Demo | Download )

FirmaSite

Pratt

Demo | Download )

Pratt

Landy

Demo | Download )

Landy

mPurpose

Demo | Download )

mPurpose

COLORFUL FLAT

Demo | Download )

COLORFUL FLAT

Magister

Demo | Download )

Magister

AdminLTE

Demo | Download )

AdminLTE

Minimal

Demo | Download )

Minimal

Counter

Demo | Download )

Counter

Brushed

Demo | Download )

Brushed

progressus

Demo | Download )

progressus

Flatty

Demo | Download )

Flatty

Media

Demo | Download )

Media

Shield

Demo | Download )

Shield

via designerledger

posted @ 2014-07-09 07:57 paulwong 阅读(334) | 评论 (0)编辑 收藏

Java 微信公众账号开发平台 JeeWx 1.0 发布

JeeWx, 敏捷微信开发,简称"捷微".

捷微是一款免费开源的JAVA微信公众账号开发平台.


平台介绍:

 

一、简介
jeewx是一个开源,高效,敏捷的微信开发平台 , 采用JAVA语言它是基于jeecg这个企业级快速开发框架实现的。
jeewx的目的是最大化的简化微信开发的流程,使用开发者能把最好的精力放到微信具体业务开发,并能以最快的时间完成。把一些常规而频繁的工作交由jeewx来处理即可,平台兼备的代码生成器,在线开发,可以快速的完成企业应用。为此jeewx提供了详细的二次开发文档,关键代码里还是相关的注释说明。jeewx采用插件的方式实现微信功能,不同的插件实现不同的微信功能。

 

主要特性
1、基于快速开发平台jeecg 3.4.4最新版本,采用SpringMVC+Hibernate4+UI库+代码生成器+Jquery+Ehcache等主流架构技术
2、支持企业快速开发,完善的用户组织机构,报表,强大的代码生成器快速有效的提高开发效率
2、开源免费,jeewx遵循Apache2开源协议,免费提供使用。
3、支持多用户多公众号管理
4、详细的二次开发文档,并不断更新增加相关开发案例提供学习参考
5、微信功能插件化开发,更易于定制和二次开发
6、提供丰富的微信插件下载安装使用,总有一些是符合或接近你的需求

 

主要功能
1、微信接口认证
2、菜单自定义
3、文本管理和回复
4、关注欢迎语
5、关键字管理
6、文本消息管理
7、图文 消息管理
8、微信账号管理
9、用户管理
10、角色管理
11、菜单管理
12、微信支持多用户多公众号

 

后续发布功能:
1、微信大转盘
2、微信刮刮乐
3、微信CMS
4、周边
5、 微信群发
6、 微信关注用户分组
7、微信关注用户、
8、微信扫描登录
9、会员管理

 

最低系统需求
Tomcat6.0 或更高版本。
MySQL 5.0 或更高版本。

MyEclipse8.5或其他版本。 

源码下载地址:
     https://code.csdn.net/zhangdaiscott/jeewx

文档下载地址:

   链接: http://pan.baidu.com/s/1i3LxLmH 密码: j3co 

 

系统安装
1、将jeewx压缩包解压并上传到服务器。
2、首次在浏览器中访问 http://localhost:8080/jeewx/,默认admin登录,一个账号只能配置一个微信公众账号。
3、按照安技术文档完成安装,如果有问题请访问官网讨论区寻求帮助。
4、服务器配置      
        URL:   http://*地址*/jeewx/wechatController.do?wechat
      Token:  jeecg
5.云服务平台建议,可以采用MoPaaS

 

联系方式:

QQ  群 : 287090836,129190229,175449166

官网:    http://www.jeewx.com
邮箱:   jeecg@sina.com

 

系统首页展示:



 

posted @ 2014-07-07 15:48 paulwong 阅读(400) | 评论 (0)编辑 收藏

NoSql存储日志数据之Spring+Logback+Hbase深度集成


http://www.cnblogs.com/xguo/p/3298956.html

posted @ 2014-07-05 23:14 paulwong 阅读(736) | 评论 (0)编辑 收藏

运维工具

运维神器Chef简单介绍和安装笔记
http://www.cnblogs.com/xguo/p/3785346.html

posted @ 2014-07-05 23:11 paulwong 阅读(427) | 评论 (0)编辑 收藏

Maven安装jar文件到本地仓库

在项目开发期间难免遇遭使用的jar包在Maven的中央仓库里没有,比如那个固执的Oracle,这家伙始终不愿意把ojdbc驱动提交到Maven仓库,这件事很郁闷,Maven又不支持引入本地jar文件如果用IDE强行引入在Maven编译的时候又无法通过。

Maven官方提供导入本地jar文件到本地仓库的maven-install-plugin,可是要用的时候又得苦逼的去找命令,用起来也比较麻烦,因此,本文详细介绍一下maven-install-plugin插件的使用,可以导入任意数量的jar文件到本地仓库,是不是很开心那!

配置POM
Maven插件maven-install-plugin

<plugin>
    <artifactId>maven-install-plugin</artifactId>
    <version>2.4</version>
    <inherited>false</inherited>
    <executions>
        <execution>
            <id>install-artifacts.1</id>
            <goals>
                <goal>install-file</goal>
            </goals>
            <phase>validate</phase>
            <configuration>
                <file>${basedir}/libs/ojdbc14.jar</file>
                <groupId>org.oracle</groupId>
                <artifactId>oraclejdbc</artifactId>
                <packaging>jar</packaging>
                <version>14</version>
            </configuration>
        </execution>
        <execution>
            <id>install-artifacts.2</id>
            <goals>
                <goal>install-file</goal>
            </goals>
            <phase>validate</phase>
            <configuration>
                <file>${basedir}/libs/foundation-1.0.jar</file>
                <groupId>org.bg</groupId>
                <packaging>jar</packaging>
                <artifactId>foundation</artifactId>
                <version>1.0</version>
            </configuration>
        </execution>
    </executions>
</plugin>


执行导入

在经过Maven的validate阶段时自动导入安装,在executions里指定插件的goals和maven的phase。
直接执行命令 mvn install:install-file

插件属性

如果要在导入时生成pom文件,增加配置属性:
<generatePom>true</generatePom>

指定自己的POM文件:

<generatePom>false</generatePom>
<pomFile>${basedir}/dependencies/someartifact-1.0.pom</pomFile>
如果JAR自带POM文件无需指定此属性,会自动安装。

http://www.cnblogs.com/xguo/archive/2013/06/04/3117894.html

http://www.cnblogs.com/xguo/archive/2013/06/01/3113146.html

更多详细配置:http://maven.apache.org/plugins/maven-install-plugin/install-file-mojo.html

最后提示一句,其实Maven生命周期中的每一个阶段都是一个插件来实现的,而且都可以单独拿出来根据你的使用需要来配置。
详细请查看http://maven.apache.org/plugins/
或者
另一篇Maven相关文章http://www.cnblogs.com/xguo/archive/2013/06/01/3113146.html。

posted @ 2014-07-05 22:37 paulwong 阅读(2273) | 评论 (1)编辑 收藏

Redisclient 1.0 发布,Java 的 Redis 客户端 GUI 工具

redisclient 1.0 正式发布,适用于多个 Redis 版本,主要更新内容如下:

  1. 管理 Redis 服务器

  2. 管理 Redis data favorite

  3. 管理 Redis 数据

    • 新 Redis 数据:string, list, hash, set, sorted set

    • 重命名 Redis 数据

    • 删除 Redis 数据

    • 更新 Redis 数据

    • 剪切,复制,粘贴 Redis 数据

    • 导入,导出 Redis 数据

    • 搜索 Redis 数据

    • 通过关键字,数据类型,大小来排序 Redis 数据

    • 导航历史

RedisClient 是  Redis 客户端 GUI 工具,使用 Java swt 和jedis 编写。它将redis数据以windows资源管理器的界面风格呈现给用户,可以帮助redis开发人员和维护人员方便的建立,修改,删除,查询redis数据,可以让用户方便的编辑数据,可以剪切,拷贝,粘贴redis数据,可以导入,导出redis数据,可以对redis数据排序。

https://github.com/caoxinyu/RedisClient

posted @ 2014-07-04 21:47 paulwong 阅读(339) | 评论 (0)编辑 收藏

DNS收集

国内

1.OpenerDNS:42.120.21.30

2.114DNS:114.114.114.114; 114.114.115.115

3.oneDNS:112.124.47.27

4.aliDNS:223.5.5.5;223.6.6.6

国际:

1.V2EX DNS:199.91.73.222;178.79.131.110

2.Google DNS:8.8.8.8;8.8.4.4

3.OpenDNS:208.67.222.222;208.67.220.220

posted @ 2014-07-04 12:55 paulwong 阅读(157) | 评论 (0)编辑 收藏

仅列出标题
共112页: First 上一页 46 47 48 49 50 51 52 53 54 下一页 Last