在详细展开本文讨论之前,我们先来介绍两家公司: 1、37signals http://www.37signals.com/ 只要是RoR的fans没有不知道37signals的。这是一家位于芝加哥的创业型小公司,公司小到只有8个员工,但在业界享有盛誉。在芝加哥办公室上班的有4个人,其余4个人分别在纽约,波特兰等城市soho办公。但是37signals公司基于web的小型商业软件产品的注册用户却超过了100万。下图是该公司全部员工的合影(RoR作者DHH是左边稍靠后的那个人,貌似姿势挺猥琐): 37signals公司出版了一本名为《Getting Real》的书(中文名称《把握现实》 ...
上周末在杭州网侠大会做了关于REST的演讲。会后经过一些交流,特别是今天在msn上面和dlee的交流,感觉自己对于REST的理解更深入了一层。 我们说REST架构风格,从REST具备的内在特征来说,它包括了这些特征: 1、基于HTTP的资源 2、以HTTP协议去操作 3、数据和表象分离 但是如果我们换一个角度,即分布式应用系统的角度来看,我们会有一些更有意思的结论: 分布式应用系统的架构,经历了好几代的变迁,我们来简单回顾一下: 1、基于CORBA协议的C++中间件时代 CORBA时代我还在上学,基本上没有怎么接触过Corba编程。曾经有一次我提供EJB培训的客户,正在进行传统Cor ...
上周末在杭州网侠大会做演讲的时候,我说:Java开源框架的革命浪潮已经结束了,未来几年,将是Java语言级别的革命。说实话,自从03年Hibernate火爆,04年spring流行之后,Java开源领域实在太缺乏亮点了。但是,Java的主流开源框架真的一点改进的余地都没有了吗? 先来说说Hibernate吧。Hibernate确实功能强悍,但是Hibernate不够易用,而且有一些明显的缺陷:one-to-one必须通过bytecode enhancement才能lazy loading;不支持多态关联;怪异的inverse配置和维护;DetachedCriteria有明显的bug;many ...
上周末刚刚参加杭州的网络工程师侠客行大会,有不少感想。 一、认识了很多高手,请教了很多问题 1、章文嵩博士 最荣幸的是认识LVS(Linux Virtual Server)的作者章文嵩博士。章文嵩博士的大名已经久仰了很多年了。LVS也是我很感兴趣的一种做大规模网络部署的软件load balancer方案之一。借这个机会,我专门向章博士请教了LVS如何处理HTTP Session Sticky的问题,很有收获。章博士说有任何问题,都可以给他发Email来问,章博士很谦虚,和他交流感觉很开心。 2、张华平博士 在休息室,餐桌上好几次和张博士聊天,结果聊的都是JavaEye社区的事情。直到我离 ...
上周末去杭州参加网侠大会,还参加了JavaEye在杭州上海一些会员,朋友的聚会,现在把照片上传上来,分享给大家。 这是JavaEye两大偶像potian和Trustno1的合影。穿黑色T恤的是potian,红色T恤的是trustno1。据说两大高手聚会的时候主要是交流Erlang和FP编程的话题。 我和potian的合影。potian说我太胖了,要减肥阿。 我和庄表伟合影。庄表伟周六早上还去医院吊盐水,下午就已经出现在杭州的会场了,真实铁人阿。 dlee和de3light合影,胖的是dlee,瘦的是de3light。dlee自带相机了,所以dlee的照片我这里只有这一张。 ...
http://blog.chinabyte.com/blog/yj123456789/archive/2007/05/17/15191.html 引用TechTarget在美国时间5月17日上午10点上市,融资一亿美金。 TechTarget是美国一个IT专业网站,其服务的人群主要是高级技术人员,发表的文章也多趋向于技术性。与美国传统的IT专业网站CNET相比,TechTarget更加细分化,用户也更加有针对性。这也让TechTarget的用户粘性远远大于一般IT专业网站。 在TechTarget之前上市的IT专业网站还有一个,就是鼎鼎大名的CNET,不过最近几年CNET已经在走下坡路, ...
这篇文章源自于: http://www.javaeye.com/topic/77195 其中很多人谈到了缓存命中率的问题,应用缓存的命中率取决于很多的因素: 1、应用场景 是OLTP还是OLAP应用,即使是OLTP,也要看访问的频度,一个极少被访问到的缓存等于没有什么效果。一般来说,互联网网站是非常适合缓存应用的场景。 2、缓存的粒度 毫无疑问,缓存的粒度越小,命中率就越高,对象缓存是目前缓存粒度最小的,因此被命中的几率更高。举个例子来说吧:你访问当前这个页面,浏览帖子,那么对于ORM来说,需要发送n条SQL,取各自帖子user的对象。很显然,如果这个user在其他帖子里面也跟贴了,那 ...
“费厄泼赖”,即fair play,公平竞争。产生这篇文章想法是来自于庄表伟想我推荐了王建硕的一篇文章:《用户贡献内容还是竞争对手贡献内容》。 王建硕这篇文章的大概意思就是说:国内的互联网没有版权意识,文章都是互相抄来抄去,通过内容的建设,不能够形成竞争壁垒,不像国外有版权意识保护,可以通过建设良好的内容来形成壁垒。所以不如建设用户体验壁垒,而不是内容壁垒。 对于现象的分析,说的比较对,但是对于观点,我却完全不同意。 两年之前,有一次聚会的饭局上,我向gigix谈起来我对于JavaEye的未来发展的想法,是希望努力建设成为一个高质量的,整合了forum,blog和wiki的技术社区。gi ...
缓存是有很多层次的,有web server前端缓存,有动态页面静态化,有页面片断缓存,有查询缓存,也有对象缓存。不同层面的缓存适用于不同的应用场景,作用也各自不同,如果可以,你全部一起用上,他们不矛盾,但这个话题比较大,现在不展开谈。 针对OLTP类型的web应用,只要代码写的质量没有问题,最终的性能瓶颈毫无疑问还是数据库查询。应用服务器层面可以水平扩展,但是数据库是单点的,很难水平扩展,所以如何有效降低数据库查询频率,减轻数据库压力,是web应用性能问题的根源。 以上所有的缓存方式都可以直接或者间接的降低数据库访问,但缓存是有应用场景的,虽然新闻网站非常适合使用动态页面静态化技术,但是例 ...
在rails里面,我们可以用很方便的声明方式来定义model之间的关联关系,例如: class Topic < ActiveRecord::Base has_many :posts belongs_to :user end 那has_many和belongs_to究竟是什么东西呢?其实他们是Topic类的class method,标准写法是: class Topic < ActiveRecord::Base Topic.has_many(:posts) Topic.belongs_to(:user) end 那么has_many可 ...
ruby的method作用域和Java一样,修饰词都有private,protected和public。其中public的含义都是一样的,但是private和protected却完全不一样。这一点在《Programming ruby》当中语焉不详。今天看了《ruby for rails》第7章才搞明白了。 一、Java当中的含义: private方法在Java当中的含义是只在当前类范围之内可以调用,当前类的子类也无法访问,但能被同一类别的其他对象实例调用,例如: package com.javaeye; public class C { private String ...
robbin
搜索本博客
我的相册
3540311b-79a1-3918-a011-45259e508aeb-thumb
douban.JPG
共 37 张
其他分类
存档
最新评论