Web Service技术内幕

1. Web Service的介绍

1.1 Web Service到底是什么?

研究一下当前的应用程序开发,你会发现一个绝对的倾向:人们开始偏爱基于浏览器的瘦客户应用程序。这当然不是因为瘦客户能够提供更好的用户界面,而是因为它能够避免花在桌面应用程序发布上的高成本。发布桌面应用程序成本很高,一半是因为应用程序安装和配置的问题,另一半是因为客户和服务器之间通信的问题。

传统的Windows富客户应用程序使用DCOM来与服务器进行通信和调用远程对象。配置好DCOM使其在一个大型的网络中正常工作将是一个极富挑战性的工作,同时也是许多IT工程师的噩梦。事实上,许多IT工程师宁愿忍受浏览器所带来的功能限制,也不愿在局域网上去运行一个DCOM。在我看来,结果就是一个发布容易,但开发难度大而且用户界面极其受限的应用程序。极端的说,就是你花了更多的资金和时间,却开发出从用户看来功能更弱的应用程序。不信你问...(全文…)

...

MySQL行锁深入研究

做项目时由于业务逻辑的需要,必须对数据表的一行或多行加入行锁,举个最简单的例子,图书借阅系统。假设 id=1 的这本书库存为 1 ,但是有...(全文…)

...

節約用電

電力是現代生活中不可缺乏的能源,家中和辦公室的電器、生活上的各種設施和各種工業上用途,以致街道上的街燈,都需要電力維持才能運作, 或許我們在日常生活和工作中,電力對我們來說可說是垂手可得,但有沒有想過在享受電力帶來的方便同時,其實我們使用電力的時候也是正在使用地球上的資源。

主要發電方式:
透過各種資源,如水力、燃媒、燃油、燃氣、太陽能、風力、海洋和核能等轉換為電能,再傳送到城市供給和種使用。

使用有能源標籤的電器,除了能節省能源外,也能節省電費。
關掉不使用的電器和電燈,以免長開電器造成電力浪費。
定期清洗冷氣隔塵網,令冷氣能維持更好的效能。
冷氣應適當地調節溫度,不要在開啟冷氣後覺得凍反而穿衣服而不調節溫度。
電腦長時間不使用時應關掉,不應長期處於待機或開機狀態。
電熱火爐應只在使用前才開著煲水,不使用應關掉,不要長開維持煲水狀態。
電力...(全文…)

...

節約用水

食水是非常珍貴的資源,世界上仍有很多地方因為水源不足,過著因難的生活,我們現時仍能有良好的食水供應是一件很幸福的事,不過幸福的事情並不是必然的,所以我們需要好好珍惜食水,不要浪費它,只要在日常生活習慣保持節約用水的意識,就可以減少浪費水源。

根據維基百科的資訊,地球上不計算海洋外,只有 2.5% 淡水,並估計到了 2050 年,地球上有 46% 人口將會缺水,而淡水/食水,是很多動物和植物維持生命的必需品,我們除了要有效運用和節約使用水外,也不要去污染它,令到水的資源得以保存更多,令生活得更佳的質素。

洗水和洗食物時,避免長開水喉,以致到水白白的溜走。
用花灑淋浴代替用浴缸洗澡,能節省用水量達超過 50% 。
如水龍頭漏水,應盡快維修,因為水龍頭滴水的話,每小時的滴水可達到 7 公升。
洗衣時盡量儲多些衣物才洗滌,有效地運用水源。
用洗菜水、洗衣水、洗碗盤及洗澡水等清洗水來淋花、洗...(全文…)

...

做個環保消費者

在日常生活裏,只要堅持幾個消費概念,例如〔有需要才買〕、〔減少使用膠袋〕、〔減少製造廢物〕和〔使用環保代用品〕等,要做到一個環保消費者,其實一點也不難,除了能減少浪費資源外,也可以節省不必要消費而使用的金錢。

根據香港政府一站通的資訊,香港每日運往堆填區的廢物多達14,000 公噸,堆填區是一種廢物處理方法,堆填區在處理垃圾時會有機會產生空氣 (氣味) 和衛生的影響,如果人類仍然每天製造大量垃圾,最終影響的還會是我們人類。

而且堆填區需要佔有土地後不可成為有用途的土地,再者破壞景觀和污染環境,所以在日常購物中,盡量不應購買一些不必要且會造成污染的東西,達到減到產生廢物的效果,減少對環境的污染。

自備購物袋,滅少膠袋的使用,因為大部份膠袋分解需要很多年時間,燃燒時又會釋放有毒氣體,對環境造成嚴重破壞,最重要是我們絕對有能力在日常生活中減少膠袋的使用量。
少買一些獨立包裝的產品,...(全文…)

...

企业IT 的云计算演进路径

关于云计算的文章已经多如牛毛,本文主要站在企业IT部署云计算的路径角度,来分析一下一些可行的模式。

云计算的广泛实现是IT界的共产主义,“各尽所能,按需分配”,这个大家已经挺了许多,可见的问题是,对于一个具体的国内企业CIO ,云计算对他的企业到底意味着什么,他现在处于云计算的何种阶段,目前的看到的演进模式有那些?这些问题如同社会初级阶段理论一样具备现实意义。

在具体讨论企业的云计算路径之前,有必要先对国内云计算的状态进行一个体检。按照目前大家通识的模式,云计算堆栈有三个层次,SaaS, PaaS, 和IaaS。

SaaS模式可以理解为基于服务架构的业务功能虚拟化,比如为多个企业提供CRM on Demand服务,最近比较热门的是把社交网络,Twitter, 等Web 2.0做为渠道,纳入到一个面向营销的服务云里面。在国内,SaaS在过去几年也有进展,不过业务的类型与美国有很大不同。目前国内SaaS的业务有...(全文…)

...

9款基于Web浏览器的线框图绘制软件

随着经济推动云计算的不断向前发展,浏览器已经变得越来越精密,越来越强大。在此,我不想就“浏览器的未来”再做过多累赘的观点陈述,这在分享网络2.0已经讨论的太多太多,相信各位读者也已经觉得厌烦。好的,下面直接切入正文,由我精挑细选出了9款目前市面上较为成熟和优秀的线框图绘制软件(感觉到凄凉和悲剧的是,若干产品中没有一款诞生在我们中国),其中涉及到在线心智导图以及在线产品原型的制作。

心智导图篇
Dropmind: 是一款能够流畅运行在Web浏览器窗口中的心智导图制作工具,基于MicrosoftSilverlight的跨平台性,它给用户带来了丰富的交互式以及超媒体操作体验。值得去关注的是,Dropmind随同在线版脑图制作软件还附带了一个基于Windows, Mac 和 Linux端的PC桌面应用程序,并且,两者的数据能够实现无缝的链接和共享。[推荐指数:★★★★★]
Mindmeister:是一款利用技术构建的思维导图制作工具,整个界面的布局和设计风格...(全文…)

...

IP和子网掩码

我们都知道,IP是由四段数字组成,在此,我们先来了解一下3类常用的IP
  A类IP段  0.0.0.0 到127.255.255.255
  B类IP段  128.0.0.0 到191.255.255.255
  C类IP段  192.0.0.0 到223.255.255.255
  XP默认分配的子网掩码每段只有255或0
  A类的默认子网掩码 255.0.0.0     一个子网最多可以容纳1677万多台电脑
  B类的默认子网掩码 255.255.0.0    一个子网最多可以容纳6万台电脑
  C类的默认子网掩码 255.255.255.0   一个子网最多可以容纳254台电脑
  我以前认为,要想把一些电脑搞在同一网段,只要IP的前三段一样就可以了,今天,我才知道我错了。如果照我这说的话,一个子网就只能容纳254台电脑?真是有点笑话。我们来说详细看看吧。
  要想在同一网段,只要网络标识相同就可以了,那要怎么看网络标识呢?首先要做的是把每段的IP转换为二进制。...(全文…)

...

弹出窗口的命令总结

window.open window.alert window.comfirm window.prompt window.showModalDialog window.showModelessDialog

1 window.open(pageURL,name,parameters)
pageURL 为弹出窗口路径
name 为弹出窗口名称,也可以是系统自带的比如:_self, _blank,_top,_parent …
parameters 为窗口参数(各参数用逗号分隔)
各项参数
其中yes/no也可使用1/0;pixel value为具体的数值,单位象素。
参数 | 取值范围 | 说明
alwaysLowered | yes/no | 指定窗口隐藏在所有窗口之后
alwaysRaised | yes/no | 指定窗口悬浮在所有窗口之上
depended | yes/no | 是否和父窗口同时关闭
directories | yes/no | Nav2和3的目录栏是否可见
height | pixel value | 窗口高度
hotkeys | yes/no | 在没菜单栏的窗口中设安全退出热键
innerHeight | pixel value | 窗口中文档...(全文…)

...

JQuery常用方法一览

$(”p”).addClass(css中定义的样式类型); 给某个元素添加样式
$(”img”).attr({src:”test.jpg”,alt:”test Image”}); 给某个元素添加属性/值,参数是map
$(”img”).attr(”src”,”test.jpg”); 给某个元素添加属性/值
$(”img”).attr(”title”, function() { return this.src }); 给某个元素添加属性/值
$(”元素名称”).html(); 获得该元素内的内容(元素,文本等)
$(”元素名称”).html(”new stuff”); 给某元素设置内容
$(”元素名称”).removeAttr(”属性名称”) 给某元素删除指定的属性以及该属性的值
$(”元素名称”).removeClass(”class”) 给某元素删除指定的样式
$(”元素名称”).text(); 获得该元素的文本
$(”元素名称”).text(value); 设置该元素的文本值为value
$(”元素名称”).toggleClass(class) 当元素存在参数中的样式的时候取消,如果不存在就...(全文…)

...