农民工朋友,你读懂了《春天里》吗?【摘】

    李健唱《传奇》没红,王菲一唱就红了。王菲唱红了可以理解,她是天后。
汪峰唱《春天里》,知道的人不多,两个农民工旭日、阳刚一唱,网上点击几千万,唱得整个中国泪流满面,还有省委书记都流下了高贵的泪水。我不怀疑大家的真诚与善良,哪怕是那些高高在上的权贵,他们内心也有柔软与脆弱的一面。看到大家眼泪悲伤成河——这些泪水不是出于施舍,而是由于感动,还看到那些不着边际的评论,禁不住问一句:农民工兄弟,你们读懂了《春天里》吗?流泪的观众,你们听懂了这首歌吗?
《春天里》恐怕可以称作波及范围最广与涉及人数最多的一次集体误读。一首表达精神危机的作品却由遭受经济危机的农民工来演绎才能走红,这种错位本身就令人尴尬。更何况,以先锋与前卫著称的摇滚,永远只属于少数人才能听懂的艺术,现在却老少妇孺通吃,普罗大众不论文化高低皆可领悟,这多少也可以看成对当下文化飘零却故作高雅的绝妙反讽,唉,真是穿上马甲就有成了上等人,戴幅眼镜就成了知识分子。 阅读全文 >>

类别: Gossip. 标签: . 阅读(73). 评论(1) »

Web开发人员应当知道的15个开源项目

如今,构建网站和开发Web应用程序已经不仅要求开发人员是一名优秀的程序员,更需要聪明的程序员。这也就是说,在可能的情况下,重复使用已有的代 码和应用程序,而不是自己重头开始。开源由来已久,并且很多网站的构建也使用了开源。开发人员都知道Linux、Apache、MySQL及 PHP (LAMP)。 但是除那些之外的其他开源项目呢?作为一名Web开发人员,你可以借助诸多可用的项目,以节省开发时间,或提高程序性能。

下面让我们看一下哪些开源项目可供大家免费使用。

可供使用的新型数据库

传统上讲,你可能习惯使用MySQL。尽管MySQL是一个非常棒的数据库,但诸多试图解决MySQL存在的问题的新型数据库已经问世。 阅读全文 >>

类别: Web/JS. 标签: , . 阅读(178). 评论(0) »

Hibernate 的 formula 简单用法

Hibernate 3 之后,formula(公式,Excel 里常见的) 得到了更广泛的应用,不过这里还是简单记录一下它在 <property> 中的应用。

假如我们要映射这么一个类:

package cc.unmi.model;

public class User {
    private int id;
    private String name;
    Private Set<Order> orders = new HashSet<Order>();

    //setter & getter ......
} 阅读全文 >>

类别: Hibernate. 标签: . 阅读(1,577). 评论(0) »

PHP 使用 GeoLiteCity 库解析 IP 为地理位置

关于把 IP 地址转换为地理位置可以使用网络上很多的 API,好处就是不用在本地存储一个 IP 数据库,而且一般网络上的 IP 库会自动更新,不利的地方就是太依赖于网络,性能表现也可能会弱些。比如像下面的 API:

http://api.hostip.info/get_html.php?ip=58.63.236.31
http://api.hostip.info/flag.php?ip=58.63.236.31

这里介绍 PHP 如何使用 GeoLiteCity.dat 库把 IP 转换为地理位置,GeoLiteCity.dat 可以在 http://geolite.maxmind.com/download/geoip/database/GeoLiteCity.dat.gz 下,解压出 GeoLiteCity.dat,即可,我们可以手动去更新新的 IP 库。

下面 PHP 解析 IP 的过程参考自 WordPress 插件 Visitor Maps and Who's Online 的实现。可以找到该插件的两个文件 include-whos-online-geoip.phpvisitor-maps.php 告诉了我们怎么做。你可以点击这里的链接下载到这两个文件 阅读全文 >>

类别: PHP. 标签: , . 阅读(2,732). 评论(0) »

Spring 2.0可扩展XML配置初探[转]

本文通过一个简单的例子,说明如何去扩展XML配置,它大致需要的几个步骤。具体的需求是使用自定义标签定义一个简单的bean,这个bean有一个或多个属性,标签定义完成后,可以在其他项目中用自定义标签来定义该bean。

Spring 2.0版本支持扩展XML配置,着实兴奋了一下,在我看来,Spring作为目前最流行的框架,不能扩展用户自定义的配置,实在是Spring的一个很不爽的地方,的方式用起来比较通用,起码到目前为止符合大部分人的使用习惯,并且能完成Spring所有的配置操作,但是对于第三方的提供商或则会经常扩展Spring功能的开发者来说,使用这样的配置方式或许不是他们最想要的,他们需要使组件的配置更加直观、易阅读、易扩展……试想使用下面的配置方式。 阅读全文 >>

类别: Spring. 标签: . 阅读(205). 评论(0) »

Slfj + Logback 时,基本的 logback.xml 配置

现在越来越多的项目用 Slfj,而与它结合最好的 Log4j 替代品就是 Logback,下面是 Logback 的一个可供参考的基本的配置文件 logback.xml,可以控制台和文件同时输出,文件可进行两种类型的归档,分天存储日志,或按文件大小压缩日志归档。

Logback 和 Log4J 同出一人之手,而作者的专注点也在 Logback,Logback 有更好的性能,特别是在现代 Java 程序中。

一般是 rollingPolicy 和 triggeringPolicy 搭配使用,rollingPolicy 负责做什么,triggeringPolicy 管理什么时候做,而 FixedWindowRollingPolicy 本身就实现了 TriggeringPolicy 接口,所以它能够自我管理,不需要别人来推动就会做的。 阅读全文 >>

类别: Java/JEE. 标签: , , . 阅读(5,795). 评论(2) »

Struts2 中 ModelDriven Action 的 setModel() 为何不起作用?

我们在使用 Struts2 的时候一定有用过它的 ModelDriven 类型的 Action,它适于把零散的属性自动组装到一个 JavaBean 中,它的 Model 就相当于 Struts1 的 FormBean。你的 Action 必须实现 com.opensymphony.xwork2.ModelDriven 接口及它的 getModel() 方法,当然要声明一个存储 Model 对象的属性,这个属性将会被压入到 ValueStack 中。

你也可以自然或不自觉在 Action 中加入一个 setModel() 方法,试图在执行期修改当前的 Model 对象,比如像下面这样的 IndexAction 代码: 阅读全文 >>

类别: Struts. 标签: , , . 阅读(2,206). 评论(1) »

Web开发人员必备的20款超赞的jQuery插件

导语:jQuery的易扩展性吸引了来自全球的开发者来共同编写jQuery插件。jQuery插件不仅能够增强网站的可用性,有效地改善用户体验,还可以大大减少开发时间。现在的jQuery插件很多,可以根据您的项目需要来选择。这里为您介绍20款非常不错的插件。

Creative Radical Web Typography

Lettering.js是一个轻量经的、易于使用的jQuery插件,可创造出极具个性的网页排版,是2010年最佳jQuery插件之一。 阅读全文 >>

类别: Web/JS. 标签: , . 阅读(62). 评论(0) »

Struts2+jreloader 出现 NoClassDefFoundError: VelocityEngine

用 jreloader 动态重新加载改变的类而不用重启 JVM 来避免因 classes 目录中的文件改动而不停重启 Tomcat。但是却会出现如下的问题:

Feb 15, 2011 3:51:06 PM org.apache.catalina.core.StandardContext filterStart
SEVERE: Exception starting filter struts2
java.lang.NoClassDefFoundError: Lorg/apache/velocity/app/VelocityEngine;
 at java.lang.Class.getDeclaredFields0(Native Method)
 at java.lang.Class.privateGetDeclaredFields(Class.java:2291)
 at java.lang.Class.getDeclaredFields(Class.java:1743)
 at com.opensymphony.xwork2.inject.ContainerImpl.addInjectors(ContainerImpl.java:89)
 at com.opensymphony.xwork2.inject.ContainerImpl$1.create(ContainerImpl.java:71)
 at com.opensymphony.xwork2.inject.ContainerImpl$1.create(ContainerImpl.java:67)
 at com.opensymphony.xwork2.inject.util.ReferenceCache$CallableCreate.call(ReferenceCache.java:150)
 at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303) 阅读全文 >>

类别: Struts. 标签: , , . 阅读(583). 评论(0) »

Struts2-Json-Plugin 的使用(翻译自官方文档)

在 Struts2 中要使用 Ajax 获得 Json 数据我认为目前还是 struts2-json-plugin 了。当然你你可以用手工用像 XStreamGoogle GsonJackson 这样的工具手工把 Java 对象转换成 Json 字符串再写往 Response 去,要写的代码自然多不了,还得留心字符集与 content type。而 struts2-json-plugin 毫无疑问是与 Struts2 最亲近了,只需你配置一些属性就能得到你想的结果。

本想分几篇逐步介绍如何使用 struts2-json-plugin 的,然而就在现在发现官方的 struts2-json-plugin 指南已经很详细了,所以干脆翻译一下 http://struts.apache.org/2.2.1.1/docs/json-plugin.html,同时自己加深对它的理解。 阅读全文 >>

类别: Struts. 标签: , , , , . 阅读(9,100). 评论(0) »
Page 1 of 212