• 2006-06-23

    在JSP中使用缓存

    Views: 14384 | No Comments

    “掌握了缓存机制,标志程序员进入中高级阶段。”---banq

    首先创建一个缓存类,具体依赖你的程序。然后在JSP中把这个缓存类声明为scope="application"的Bean,它只创建一次,存在于application对象中,事实在它是ServletContext对象,对应用中的所有JSP文件都可见。

    缓存类的实现可以参考Jive论坛(也就是Yazd)中的util包,下面是一个假想的博客文章缓存实现的大概思路,并不是可运行代码。

    public class Cache{
    
    	// Article 是文章类,String是它的id,通过id来查找文章
    	// java.util.HashMap, 你可以用其它合适的素数来替代103
    	protected HashMap<String, Article> cachedObjectsHash =
    		new HashMap<String, Article>(103);
    
    	// 根据访问计数来维护的链表,保存了Article的id。最先移除的Article是表尾的对象
    	protected LinkedList<String> accessedList = new LinkedList<String>();
    
    	// HashMap的最大体积(文章数)
    	protected int maxSize =  1024;
    
    	// 把Article的id加入到倒数第2位,也可以加入到表头
    	public void add(Object key, Article article){
    		if(!cachedObjectsHash.contains(article)){
    			cachedObjectsHash.add(article.getId()+"", article);
    			if(cachedObjectsHash.size() > maxSize){
    				cachedObjectsHash.remove(accessedList.getLast());
    				accessedList.removeLast();
    			}
    			accessedList.addFirst(article.getId()+"");
    		}
    	}
    
    	public Article get(Object key){
    		// 如果在链表中找到,位置前移
    		// 返回
    		// 否则查找数据库,并cacheObjectsHash.add()
    	}
    }
    

    相关资源:

    Posted by ideawu at 2006-06-23 14:11:49
  • 2006-06-22

    清除Web标准误区,保持清晰的文档结构

    Views: 10357 | 1 Comment

    我十分支持Web标准,并且认为它提出的文档对象模型(DOM,Document Object Model)是非常合理而且有用的。文档对象模型让我们脱离字符,在结构层面高级方式操作文档。

    在网页制作(HTML/XHTML)方面,遵循Web标准可以使网站的结构更加合理。但是,新的标准总会导致一部分旧的网页制作者的排斥,很简单,因为他们无法掌握新的标准或者/同时他们认为不需要新的标准,原来的方式已经够用了。我不跟后一部分的人讨论。

    应用标准的时候,有些网页制作者已经走进了一些误区。往往为了一个标准不擅长而且是微不足道的效果而弄得文档结构混乱。这显然已经违反了Web标准的初衷。Web标准就是让我们以清晰的结构来组织文档,好使用DOM方式操作文档。

    举一个例子来说,在网页制作过程中的三栏(一般是3个div标签)布局。很多网页制作者都通过3个div标签的嵌套来达到目的,因为如果不嵌套,在窗口缩小的时候,div标签会向下流动。

    它们是这样的:

    <div id="column1">
    	<div id="column2">
    		<div id="column3">
    		</div>
    	</div>
    </div>
    

    无论从结构还是从内容或者表现上讲,这三栏一般都是等地位的,不应该嵌套。嵌套已经暗示了它们的附属关系。当我们使用xml解析工具如 JDOMDOM4j 或者 DOM的JavaScript(ECMAScript)绑定 来解析这些内容时,我们就会发生逻辑上的混乱。

    对Web标准抱有偏见的人可能会说,使用表格布局可以轻松实现良好的三栏布局。那我们来看看表格的代码:

    <table>
    	<tr>
    		<td id="column1"></td>
    		<td id="column2"></td>
    		<td id="column3"></td>
    	</tr>
    </table>
    

    可能表格在表现上能容易达到三栏布局,但是代码的结构上与上面一样是多层嵌套。<table>和<tr>标签是是冗余的。

    正确的方法应该是下面的代码:

    <div id="column1">
    </div>
    <div id="column2">
    </div>
    <div id="column3">
    </div>
    

    www.djangoproject.com 这样使用:

    <div id="subwrap">
    	<div id="content-main">
    	</div>
    	<div id="content-related">
    	</div>
    </div>
    <div id="content-extra">
    </div>
    

    因为它认为第三栏只是额外的(extra)。这种布局从代码上可以看成是两栏布局,然后第一栏再分成两栏,所以表现上是三栏。

    这样,符合结构和内容的关系,表现方面我们可以通过在CSS(级联样式表)中设定每一栏的宽度百分比来完成。或者我们定义每一栏的固定宽度,再定义body标签的最小宽度(IE6不支持,所以需要把三栏放在一个div--container里,再定义这个div的最小宽度)。我们还有更多的方法。

    当需要表现复杂的外观的时候,我们应该怎么办?比如圆角边框,那么就使用图片吧。

    我们来看一个版面和代码结构都非常好的网页 www.recyclenow.com 的首页。下面是它的截图和使用 Firefox 的 DOM Inspector插件查看它的DOM结构。

    DOM Inspector
    recyclenow.com

    Posted by ideawu at 2006-06-22 10:33:37
  • 2006-06-21

    工作了,才知道……

    Views: 10705 | 1 Comment

    又是一年毕业时,回想起当年自己毕业的时候,百感交集,上学的时候无忧无虑,工作了、进入社会了什么都必须去考虑,哎,毕竟那些年只能是回忆了!

    工作了,才知道......

    工作了才知道,有空调的办公室,不如闹哄哄的教室.
    工作了才知道,大学里爱情是游戏,现在爱情是交易.
    工作了才知道,有时候一顿饭吃上千块也是一种需要.
    工作了才知道,学生都是装大款,真正的有钱人都哭穷.
    工作了才知道,原来穿得像学生都是鸡,穿得像鸡的都是学生.
    工作了才知道,穿什么不取决与品位,取决与场合.
    工作了才知道,学校三点一线,现在却是画直线.
    工作了才知道,原来买房子也是个远大的理想.
    工作了才知道,成为社会精英的几率,和中彩票是一样的.
    工作了才知道,原来消灭剥削只是一种传说.
    工作了才知道,自立的代价是失去更多的自由.
    工作了才知道,搞计算机的根本不用等级证,不搞计算机的,等级证是废纸.
    工作了才知道,原来在中国的外国企业也是用中文比较多.
    工作了才知道,研究生和我们的区别就是刚参加工作时每月多拿200块钱.
    工作了才知道,所有证书都是敲门砖,敲开门就没人看了.
    工作了才知道,真正英语好的人都是工作以后出于需要自学的.
    工作了才知道,学校的老师比起企业的一般领导,社会地位要高很多.
    工作了才知道,搞中国人力资源的只要能判断毕业证真违就行了.
    工作了才知道,我大学是白上了.
    工作了才知道,不上大学我根本不可能有工作.
    工作了才知道,原来大部分人只是为了活著而活著.
    工作了才知道,既然工作了就要装傻,想明白这些是很痛苦的.

    “为了活著而活著”——所谓的理想,所谓的抱负,都在日复一日的重复生活中消磨掉了吗???

    也许,现在也只是为了活著而活著吧,早晨的起床只是为了吃几顿饭,然后又到晚上睡觉了,什么事也都没有干,为什么还是会觉得身心疲惫,苦累不堪呢?

    无聊比有事干更累啊!

    转自:E-liuzd Blog — 刘志丹的BLOG

    Posted by ideawu at 2006-06-21 22:52:15
  • 2006-06-16

    我的网站PageRank会上升?

    Views: 8670 | No Comments

    最近从日志和网站后台查看到google的机器人来得特别频繁,而且常常是10几个ip一起来的。以前大概2,3天来一次,每次就1个ip。难道google增加了机器人?不过,应该是我的网站地位提升了吧。既然它们来得这么频繁,那么我要做的应该是提供更多的内容。

    Let's wait and see.

    下面的ip应该是google爬虫的:

    66.249.65.106
    66.249.65.161
    66.249.65.162
    66.249.65.167
    66.249.65.169
    66.249.65.170
    66.249.65.171
    66.249.65.172
    66.249.65.173
    66.249.65.174
    66.249.65.175
    66.249.65.176
    66.249.65.178
    66.249.65.179
    66.249.65.180
    66.249.65.198
    66.249.65.35
    66.249.66.197
    66.249.65.106
    

    百度和搜搜的爬虫来得也很勤。

    Posted by ideawu at 2006-06-16 19:24:33
  • 2006-06-16

    像艺术品一样的欧美网站和“中国特色”的网站

    Views: 9546 | No Comments

    在网上逛,发现欧美的好站点总是各有各的过人之处----这就是个性吧。我想为什么他们的网站做得那么好,难道是他们是他们天生的种族上比我们优越吗?我不承认,你们也不承认,他们也不这样认为。那么是为什么?

    我在这里给出了 www.recyclenow.comwww.smsoglasi.com 的链接和截图,如果你想得到更多,你可以从 CSS ManiaCSS Beauty 出发寻找。

    recyclenow.com.jpg

    smsoglasi.com.jpg

    这两个网站的特点就是简洁,用色正确,排版大方。 www.recyclenow.com 使用静态HMTL的首页,而 www.smsoglasi.com 首页采用了Ajax技术。

    曾经有人问中国的特色网站是什么,我说是:杂,“通俗”。其实就是一个字:俗!我不是指所有的,我是指“特色的”。一进入那些“中国特色”的网站,满屏幕一大堆不明飞行物体乱飞,机器性能不好,或者即使机器性能很好,也极有可能浏览器被杀死。

    这种“中国特色”的网站的产生应该和人们的欣赏感觉有关。我遇到过一个学生,做了大约10个静态HTML页面,打包压缩后文件的体积竟然达到了4MB。页面看起来怎么样呢?进了主页面,找不出超链接在哪。粗看起来挺让没有看过欧美网站的人赞一句:不错嘛,图片多好看。

    对了,明摆就是使用了一个盗版的当前流行的网页制作软件拼凑出来的。所以做出来的网页看起来就跟中国盗版软件商场里的光盘包装一样----你应该知道盗版光盘的包装是怎么样的并且知道他们堆在一起的时候是怎么样的。

    令这位同学“欣慰”的是,他的努力得到了在场绝大部分人的赞赏,因为他们都说了类似“不错嘛”之类的话。所以他们以后就成长为了“中国特色网站”的制作者,这是理所当然的。

    你应该已经知道 www.recyclenow.com 是一个关于废物回收的网站,而看起来却那么优雅。

    Posted by ideawu at 18:39:44
  • 2006-06-14

    安装和使用Google Earth – Linux

    Views: 20516 | 3 Comments

    Google已经发布Google Earth - Linux Beta (Version 4)。到 Google Earth 首页 下载16.2MB的单个文件的安装程序,点击右键给其添加可运行的权限,然后直接运行就可以安装上。

    我把它安装在~/google-earth(也就是/home/ideawu/google-earth,ideawu换为你的用户名)目录下,它同时可以选择创建一个运行文件的链接googleearth在~/(家目录)下。将此链接拖到任务栏创建快捷启动方式,或者你直接双击该链接或者在终端运行~/googleearth启动Google Earth - Linux。

    界面没有Windows下的好看,不过地图的质量是一样的。用鼠标滚轮来控制放大和缩小。到 Google Earth User Guide 用户手册 查看详细的使用帮助。Let's tour!

    Google Earth Setup
    Google Earth

    Posted by ideawu at 2006-06-14 11:01:08
|<<<117118119120121122123124125>>>| 121/138 Pages, 825 Results.