Showing posts with label IT/Thought. Show all posts
Showing posts with label IT/Thought. Show all posts

Sunday, September 23, 2007

蚂蚁撼大象

2.0
今天在南京休假,读到程序员9月刊。一个专题是关于:Enterprise web 2.0。这让我想到了这样一件事情。
这个月早前的某一天,我的一个申请需要得到一个高级波斯的批准。我没了主意,问我的头:我能直接st他吗?头说:我们要有小兵撼大象的勇气。于是我直接ping了大波斯。请求通过。我想,我使用了工作流程2.0。结果小波斯这天少了一机要理,我有了个跟大波斯打交道的机会。幸福的一天啊~~

流程1.0 & 2.0






















网络交互中,我偶尔做了一下富客户端。小波斯轻松了,我的幸福感提高了。是个WIN-WIN.

2.0门后
现在很多人说创新是第一生产力。2.0的创新和其对生产力的推动至少有以下几个方面:
  1. 技术层面,使融入式web应用回归简单的初始架构。这带来的一个直接的好处是占用服务器端的资源大幅降低,同时提供了更好的用户体验。于是:
  2. 对于网民,信息发布平台变得丰富多彩,信息由网民发布,网民分类,信息获取手段以网民为本。看看gliffydelicious.
  3. 精明的商家,开动脑筋,也行动起来了。用2.0来发布SOA就是一个挺~~能吸引耳朵的点子。

2.0让互联网的建设者可以轻松的提供优质的产品和服务,使用者用得更舒服,而生意人又多了个挣钱的噱头,大家都WIN了。没想到民工们换了个工具和材料,造出的房子居然连形状都变了,还成了环保型的。小区突然就被评为星级小区,而没多久城市也成了卫生示范城市了。这是一件不能不让人啧啧称奇的事情。

Wednesday, July 25, 2007

最小乘数,使用遍历的方法和使用使用递归的方法那个更加效率一些

Which is a more efficient way to determine the optimal number of multiplications in a matrix-chain multiplication problem: enumerating all the ways of parenthesizing the product and computing the number of multiplications for each, or running RECURSIVE-MATRIX-CHAIN? Justify your answer.

定义遍历使用时间的函数为 T(n) = sigma(1..n-1):T(k)T(n-k),

定义递归使用时间的函数为T1(n),

T1(n) = 1 + sigma(1..n-1):sigma(2..n):sigma(i..j-1):(T(k) + T(n-k) + 1)

<>

< 1 + s(1..n-1):s(2..n):s(1..n-1):T(k) + s(1..n-1):s(2..n):s(1..n-1):T(n -k) + n*n*n

< 1 + 2n*n*s(1..n-1):T(k) + n*n*n

根据之前的证明,知道T(n)=(2n)。于是有 T(n-k) > 2n-k >2*n*n,

于是有2 *n*n*s(1..n-1):T(k) = s(1..n-1):2n*n*T(k) < s(1..n-1):T(n-k)T(k),同时n*n*n是2n

的低阶,即T(n)的低阶,可以忽略.

根据以上的推导,我觉得递归的方法相对更效率.为什么?到底省掉了哪些部分?

组合!!-嘁哭哭咔

无意中看到描述linux kernel 的一段话。大概是说linux kernel 是一个巨无霸内核。为了避免巨无霸内核的缺点,linux 内核进行了模块化的处理,并且定义了模块间的接口。Harmony 的类库也是这样!!合体的变形金刚也是这样:

大力神内核:
它有六个主要模块组成:

铲车 + 吊车 + 卡车 + 搅拌机 + 推土机 + 挖土机


机械之间都定义了很好的接口,每个组成部分都
能用性能更好的模块替换。比如卡车组成腰部,负责
进程调度;吊车组成胸部,负责内存管理。左臂挖土
机,管理IO;右臂推土机,网络接入。左腿铲车,负
责IPC;右腿搅拌机,存储设备管理。














下面从近处观察各个模块的状态:

铲车 卡车 搅拌机
[组成左腿] [组成腰部] [组成右腿]










推土机 挖土机 吊车
[组成右臂] [组成左臂] [组成胸部]

图片均来自:http://www.colourhill.com/01003.htm

Thursday, March 8, 2007

Invariable

Invariables ,variables. Two of the mostly basic concepts in algorithm analysis.
After 2 years work, I deeply believe, these two are also a basic feature of the entire IT world.
Take Java world as an example. Many new technologies emerges every year, and nearly all are from basic ideas. Grovvy(http://onestepback.org/articles/groovy/whatisgroovy.html):

Groovy is …

  • A Dynamic
    • Agile
      • Scripting
        • Programming Language
          • based on the JVM
is a dynamic language. The concept of dynamic language is old.
Grail a web frame work on top of Groovy, just as rail on ruby.(That's why called grail) So prepared and embrace the change.