对于新接触SQL数据库的人来说,类似这几个问题的有关于SQL版本的问题可以说不少,但又懒得去仔细研究。问题虽然简单,可是影响却不小……

  版本区别

  SQL Server 2000有四个版本:企业版/标准版/个人版/开发版

  企业版和标准版需要安装在服务器操作系统上,如Windows NT Server / Windows 2000 Server / Windows 2003 Server 等。

  个人版需要安装在个人操作系统上,如Windows98 / Windows 2000 Professional / Windows XP Home / Windows XP Professional 等。

  开发版可以安装在任何微软的操作系统上。

  SQL Server 2000 企业版

  作为生产数据库服务器使用。支持 SQL Server 2000 中的所有可用功能,并可根据支持最大的 Web 站点和企业联机事务处理 (OLTP) 及数据仓库系统所需的性能水平进行伸缩。

  SQL Server 2000 标准版

  作为小工作组或部门的数据库服务器使用。

  SQL Server 2000 个人版

  供移动的用户使用,这些用户有时从网络上断开,但所运行的应用程序需要 SQL Server 数据存储。在客户端计算机上运行需要本地 SQL Server 数据存储的独立应用程序时也使用个人版。

  SQL Server 2000 开发版

  供程序员用来开发将 SQL Server 2000 用作数据存储的应用程序。虽然开发版支持企业版的所有功能,使开发人员能够编写和测试可使用这些功能的应用程序,但是只能将开发版作为开发和测试系统使用,不能作为生产服务器使用。

  SQL Server 2000 Windows CE 版

  使用 Microsoft® SQL Server 2000™ Windows® CE 版 (SQL Server CE) 在 Windows CE 设备上进行数据存储。能用任何版本的 SQL Server 2000 复制数据,以使 Windows CE 数据与主数据库保持同步。

  SQL Server 2000 企业评估版

  可从 Web 上免费下载的功能完整的版本。仅用于评估 SQL Server 功能;下载 120 天后该版本将停止运行。

  除了这些版本的 SQL Server 2000 之外,SQL Server 2000 Desktop Engine 组件允许应用程序开发人员用他们的应用程序分发 SQL Server 2000 关系数据库引擎的复本。因为 SQL Server 2000 Desktop Engine 中的数据库引擎的功能与 SQL Server 各版本中的数据库引擎相似,所以 Desktop Engine 数据库的大小不能超过 2 GB。

  版本兼容性:

  下面是这几个版本的简单对比:

  SQL Server 包括企业版,标准版,个人版,开发版,桌面引擎(MSDE),评估版,CE版。

  1. 评估版用于评估,CE版用于Windows CE, 就不多说了。

  2. 从功能上,企业版和开发版是一对,标准版和个人版是一对。企业版和开发版主要用于大用户,可以支持更多的CPU,内存,可以支持集群(Cluster),日志传输(log shipping),并行DBCC, 并行创建索引,索引视图等高级功能。

  3. 从安装上看,企业版和标准版是一对,个人版,开发版和桌面引擎是一组,企业版和标准版只能安装在Windows的Server版(NT, 2000, 2003)上, 个人版,开发版和桌面引擎可以安装在更多的系统(包括NT Workstation, 2000 professional, XP 等。98只能安装个人版或桌面引擎,但桌面引擎得数据库不能超过2G)。

  4. 投入运行时使用企业版,标准版或桌面引擎,(个人版,开发版分别用于对应标准版,企业版的开发)。

  关于标准版和企业版两者之间的差别,主要体现在:

  1.是否支持MSCS群集

  2.是否支持全文索引

  3.是否支持分布式分区视图

  4.是否支持日志传送

  5.是否支持索引视图的CPU利用

  企业版提供最高的可用性,稳定性和并发 个人版和MSDE中硬性填入某些代码使得并发用户在五个以上之后性能大打折扣。

  标准版:

  数据库引擎功能缺少故障转移群集(最多四个节点)、支持SQL Server企业管理器中的故障转移、日志传送、并行DBCC、并行CREATE INDEX、增强的预读和扫描、索引视图、联合数据库服务器、支持系统区域网络 (SAN)、支持语言设置的图形实用工具,对于Analysis Services缺少用户定义OLAP分区、分区向导、链接OLAP多维数据集、ROLAP 维度支持、支持HTTP Internet、计算单元、回写到维度、支持超大型维度、实时 OLAP、分布式分区多维数据集,win2000下最大只支持4个CPU的SMP,NT下最大只支持8个CPU(企业版)

  买10个授权是不可以上20个用户的(一般是限制并发用户数,连接数决定于OS)

  企业版:

  作为生产数据库服务器使用。支持SQL SERVER 2000中的所有可用功能,并根据支持最大的Web站点和企业联机事务处理(OLTP及数据仓库系统所需要的性能水平进行伸缩。

 

IPv4

优点:
实际证明符合当初的设计(1960-1980),是现有国际互联网技术的基础。

不足:
原设计没想到互联网发展这么快,IP地址不够
预测表明,到2010年地址分配完毕。
比如,整个中国的IP地址还不及美国一个大学的地址多。
不安全,不能进行保密传送。
地址分配效率低只有0.33~0.22%。
不适合无线应用。
不能适合多媒体传送,
只适合数据传送,
图象和声音质量都比较差。

IPv6

优点:
增加了地址长度(为2128),
增加了安全保密算法,
增加了常规的图象和声音的传输。
增加了无线上网手段。

不足:
效率特别低,只有0.01~0.03%(实际试下来比IPV4多不了多少)。
其设计地址理论容量为30年(特别是IDSN的位长为1050,ATM位长为2160。均在设计时考虑了地址的长度)。
但IPV6设计时只有1015地址,所以远远不能满足人类对IP地址的需要。
没有地理位置,所有国家均消失, 只留下商业、国际组织和美国本土。
其安全保密算法均控制在IPV6设计者手中。
没有从根本上解决图象和声音协议的方法。
无法用数字按键上网(特别是手机)。
不能直接用IP地址表示,必须经过DNS翻译。
联网用的算法复杂,有二进制、八进制、十六进制、英文、多国文字等。
没有紧急用类别,不适合在紧急和战争状况下使用。

IPv9

优点:
1、地址容量大为2256,效率高。在今后很长的一段时间内,可以给世界上的人类需求分配一个永久的IP地址。而且以后还可以自动按顺序增加,因此,IP地址容量足够大。可以和现有的IPV4、IPV6网络互通。
2、采用了定长不定位的方法,可以减少网络开销,可像电话一样进行不定长使用。
3、符合可持续发展和环保要求。根据需求可以实现端到端,做到低成本、高效率、经济性特别好。同时,对用户隐私权的保护得到了加强。并在设计时考虑到了环保问题。

不足:
得到了加强。并在设计时考虑到了环保问题。
4、采用特定的加密机制。特别考虑到计算机网络技术领域的发展趋势,今后会出现诸如生物芯片和量子计算机等高新技术,预见了将现有计算机的解密能力超越了热力学的范围。加密算法控制权掌握在设计者手中,因而不存在IPV6那样受制于他国,所以网络特别安全。
5、采用了绝对码类和长流码类似的协议,解决了声音和图象在模拟电路中传输的矛盾。
6、可以直接将IP地址和MAC地址作为域名使用,特别适合于使用手机和家庭的上网。
7、采用十进制算法。简化了计算机和计算机互联算法的基础,从而为今后计算机互联网发展确定了新的游戏规则。并确定了将杂乱无序的互联网算法逐步统一为十进制算法。
8、有紧急类别,可以解决在战争和国家紧急情况下的线路畅通问题。做到军民两用。
9、特别适合无线网络传输。
10、采用了特别的语言表示法,简化了网络管理中的管理难度,便于推广普及。
11、采用了IPV9和IPV4过渡策略,有利于延长现有IPV4网络资源的生命期。

HomeShare是一款功能强大,易于使用的宽带共享软件。有了它,你可以完全抛弃宽带路由器。使用单网卡共享方式,不需要设置专用的服务器。HomeShare是专为宽带用户设计的共享工具,包括以太网、ADSL、有线宽带、WLAN等,并能有效突破运营的宽带共享限制。
 
特点:

1.使用单网卡
使用单网卡共享上网的方式可以免去购买多余网卡的费用,使用方便简单。服务器具有公网IP,可以毫无障碍地提供各种服务。

2.不需要设置专门的服务器
每台电脑都需要安装此软件,先开机的电脑将成为服务器。当服务器关机后,其它电脑将会自动成为服务器,保证网络可以继续使用。

3.无缝切换
当服务器关机,客户机切换到服务器的过程中,可以保证客户机中正在进行中的游戏不会中断。无缝切换已经在大多数游戏中测试过,包括CS、Quake、联众世界等。

4.突破共享封锁
现在越来越多的运营商开始对宽带共享做限制,有的只允许一电脑接入网络,有的只允许两台电脑接入网络,侵犯了用户的合法权益。本软可以帮助你突破运营商的封锁。

产品序号:123456
产品密钥:1234567
注册名:冷血书生[OCN][DFCG][D.4s]
注册码:3653127501

Download: 宽带共享HomeShare v2.51

1月25日,公司一年一度的年会,终于举行… 这次的地点呢… 还是大家自己看吧~ 呵呵

 img_0015a.jpg

img_0033a.jpg

今年的运气就没有去年好了,结果那么多的奖品,什么都没抽到…

今天是我生日!

呵呵,人又老啦!岁月不饶人啊!怎么感觉上个生日距离现在也没多长时间,呵呵~

先留个言吧。等找时间再来慢慢完成这篇Blog。感觉已经好久没认真写Blog了,哈哈!

  一张700MB容量的普通CD-R光盘能刻录多长时间的VCD视频?答案是80分钟或者是更短。如果我说最多能刻录360分钟,而且画面质量并不比普通VCD差,可能你会说那是用RMVB格式吧?如果我说这张光盘还能在VCD、DVD影碟机上播放,而且用的就是普通VCD使用的mpeg编码,你相信吗?

  首先可以肯定地告所你,这种不可思议的事情是可以实现的,其关键就是它——KVCD。

  一、 KVCD  

  标准VCD的码率是1150kbs,而且编码时码率是固定的,45分钟的连续剧做成标准VCD要450M,制作大容量DVD最多放九集。

  KVCD实际上是基于mpeg1压缩算法的一种非标准VCD编码方式,它采用了可变码率,通过设置最大码率来控制生成VCD视频质量,也就是控制生成的文件大小。兼容近几年生产的VCD和全部的DVD!

  二、 KVCD模板

  KVCD的作者设计了专用的编码模板文件,这些模板使用在mpeg压缩品质最好的软件“TMPGEnc plus”上,通过优化的动态码率和修正的量化矩阵来压缩编码,保证了生成的视频质量。 

  KVCD编码模板文件在 http://KVCD.net/dvd-models.html 页面上获得,右击带下划线的模板名称,选择“目标另存为”就可以将这些扩展名为“MCF”的模板文件保存到硬盘中。我们国家使用的是PAL制式,要下载对应的PAL模板。

  这里的模板文件按照不同的类型分别以红、绿、蓝背景显示,其中红色背景中的模板是最常用的。

  判断模板生成视频质量的标准是700MB容量光盘可以刻录的视频时间长度,其中“352×288 ULBR”就是最多可以在一张700mb容量光盘上刻录360分钟视频模板,不过这是理论值,一般情况可以做到150分钟~220分钟,常用来作为制作电视剧模板;“352×288 LBR”是180分钟模板,这个非常适合编码普通长度的电影;“352×288”是120分钟模板,其编码这里比前两个要好一些;“352×576”是120分钟高分辨率视频编码模板;“704×576”模板编码生成的视频接近DVD分辨率,即使这样也可以在普通CDR光盘上刻录将近90分钟的高品质视频。

  KVCD模版规格一览:

  1、352*288 ULBR,700M光盘理论上可刻录360分钟,实际150-220分,适合刻录电视剧。

  2、352*288 LBR,700M光盘可刻录180分钟,适合普通长度的电影。

  3、352*288 700M光盘可刻录120分钟。

  4、352*576 700M光盘可刻录120分钟高分辨率视频编码。

  5、704*576 700M光盘可刻录90分钟高品质视频,DVD分辨率。

  三、 KVCD实战:RMVB 转换 VCD

  第一步:打开TMPGEnc。

  使用“TMPGEnc plus”来转换RMVB格式视频,必须使用2.54或2.53版本。

  第二步:导入视频文件。

  打开运行后出现“项目向导”对话框,直接关闭该对话框,然后在主界面中单击“输入影像”栏的“浏览”按钮,在弹出的“打开”对话框中先设置“文件类型”为“所有文件(*.*)”,就可以选择要转换的RMVB文件了,这时在“输入声音”栏中会自动添加好同样RMVB文件路径。注意:如提示错误,请安装能够播放RMVB格式视频的播放器。

  第三步:选取KVCD编码模版、设置视频选项。

  点“读取”按钮,选择你看中的KVCD编码模板文件,这时默认的“码流类型”设置是“video only”也就是只转换视频,所以这里一定要选择“system(video+audio)选项,这样才能转换出既有画面又有声音的电影。

1.jpg

  第四步:设定声道模式。

  单击“设定“按钮”,然后单击“音频”标签,默认的“声道模式”是“dual channel”,一定要修改为“stereo”立体声模式。最后单击“确定”按钮保存设置。

2.jpg

  第五步:输出文件。

  文件输出路径根据个人情况设定,最后点“开始”按钮开始转换视频。

3.jpg

  第六步:用Nero刻成VCD光盘。

  由于KVCD编码的mpeg文件是非标准VCD格式,所以在Nero中添加文件时,它会提示“不是建立标准VCD的有效文件”这时要注意,必须选择“关闭标准一致性并继续”,否则活就白干了。后面就可以按照正常流程刻录VCD光盘了。(说明:如果你想刻录成DVD光盘,必须采用第三方软件 TMPGEnc DVD Authorv,因为Nero无法将生成的Mpg文件刻录成DVD盘。详细方法请看下面教程。)

  [小提示]

  一、你的电脑必须有RMVB解码器,或者是影音风暴等播放器。

  二、如果要转换的是16:9的模式,请在参数设定对话框中单击高级标签,然后选择影像的显示方式为全屏幕(保持宽高比2),这样在转换时可以保留全部画面而不会产生比例变形。

  四、批量转换RMVB方法

  打开TMPGEnc的“项目向导”,其目的是让我们选择要把影片转换成的格式,选择左侧列表里的对应格式,这里选择“KVCD ULBR 352×288 PAL PLUS”,采用该模板生成的文件最小。

4.jpg

 

5.jpg

  点击“下一步”。点击“浏览”选择“文件类型”中的“所有文件”,找到需要转换的RMVB或RM格式文件。

6.jpg

  点三次“下一步”,出现最后一步时选中“创建用于批次处理的项目文件”这一项。

7.jpg

  选中此项而不选“立即开始编码”的目的是:为了节省时间,我们此次的工作是把所有RMVB文件一次性转换成VCD格式,如果守在电脑前面等待每一段转换完成后,再去手动转换另一段,势必会浪费很多时间。我们把要处理的所有影片排成队列,储存在一个批处理文件中,让TMPGEnc根据这个批处理文件依次把需要转换的影片一次性转换,省时省力非常方便。点击“完成”后,TMPGEnc会提示是否要创建一个叫××……后缀为MPG的文件,点击“确定”。然后程序会自动跳回到“项目向导”的第一步让我们继续添加其它文件。重复上述操作将你的所有RMVB文件都添加进来,当我们确认要转换的文件已经全部添加完成后,在最后一步时点击“取消”,此时会出现一个批处理的列表。

8.jpg

  为了防止我们刚才的劳动白费,我们可以点击右侧下方的“保存安排列表”,把这个批处理任务保存为一个后缀名为.tbe的文件,以备出现意外时再次使用。

  如此一来,TMPGEnc就开始根据批处理文件进行转换了。

9.jpg

  我们现在要做的就关上显示器去睡一觉,当然要选中“完成编码后自动关机”这个贴心的功能了。

a.jpg

  当所有电影转换完毕后,会弹出一个处理报告。

b.jpg

  如果你转换出来的文件超过一张光盘的容量,可以利用TMPGEnc进行剪辑。其方法是:打开TMPGEnc,选择“文件”菜单中的“MPEG工具”,选择其中的“剪接”功能。(具体操作自己去实践吧!)

  五、KVCD 打包 DVD

  KVCD 转换出来的MPG格式文件需要包装成DVD文件,以便于刻录DVD光盘(刻录时建议用低倍速刻录),TMPGEnc Plus 同门兄弟 TMPGEnc DVD Authorv 可以很好完成这个工作,打包速度很快,这里要注意一个问题,仅是包装不是编码打包,不然占用空间会变大,下面我们就看看怎么打包DVD的。

  1、运行 TMPGEnc DVD Authorv 添加文件。

c.jpg

  2、确认编辑,如果你选取的不是DVD模板转换过来的Mpg文件,会有一个提示,单击忽略即可。

d.jpg

 

e.jpg

 

f.jpg

  3、创建菜单选取主题。(也可以自己制作菜单,这里不做解释,自己研究。)

g.jpg

  4、确定输出打包完成。

h.jpg

  5、输出完成后,可以使用Nero刻录,也可以使用软件附带的工具直接刻录或者生成DVD格式的ISO文件。

i.jpg
 

1 同事问我:克林顿的老婆是希拉克吗?

2 有一次我向人借钱,本来想说的是"等我取了钱就还你"

说成"等我有了钱就取你"

3 同学叫于京波,一日来信,宿舍门卫在宿舍门口大叫:干凉皮、干凉皮的信!

4 我们语文老师:请大家把书翻到120块钱

全班皆晕,后这位老师得绰号"财迷"呵呵

5 有一次朋友在家看碟,光盘质量不好。朋友说到:“怎么这么多马克思啊。” 半晌后才明白他是说马塞克!

6 一个哥们结婚,给他红包。哥们客气的说不用

我说:那哪行,一年就一次,一定得拿着。

7 初中时分角色朗读《白毛女》

一男生(杨白劳):扯了二斤红头绳,给我喜儿扎起来……

老师:又不是包木乃伊…

8 偶打饭的时候,执着的指着菜花说:来份土豆。

大妈问:菜花?

偶继续指着菜花说:土豆

大妈又问:到底是土豆还是菜花?

偶急了说:这不是土豆…厄,菜花吗?

现在想起来也够让人吐血的,sorry了,卖饭的大妈

9 去买糕点,本来想说“来两个黄梨派加一个蛋塔”,结果说成了“来两个黄鹂鸣蛋塔”

更郁闷的是店主竟然听懂了……

10 大学时我们班有个女生叫刘芸。一次,别的班的同学给她捎来一封信。信封上她的的“芸”字中下半部“云”上面一横,由于写得太潦草,横变成了点。结果那同学拿着信就在我们楼道里叫“刘芒,谁叫刘芒,有你一封信。”全楼道的人都跑出来看刘芒(流氓)了。结果那叫刘芸的女生就无奈地被叫了四年的流氓。

11 曾经有一段时间家里闹耗子,我妈就买了耗子药来维护家庭安宁,但是一个耗子都没药倒。一天大老早的,我妈起床看了看门旮旯里的耗子药,自语“这药怎么没有人吃啊?~~~”全家晕倒。。。

12 英语老师教语法,下课前问大家:“我都讲完了,大家还有明白的么?”我们齐声答:“没有了!”

13 举杯邀明月,低头思故乡。

14 有次大热天的打麻将,突然停电了,只好买了蜡烛继续战斗.过了半个小时,实在热得受不了了,一人说:“还是开电风扇吧,热死了。”另一人接口:“不能开,开了会把蜡烛吹灭的。”

15 俗话说:杀人放火,欠债还钱。

16 物理课上老师讲到放射性元素,说:放射性元素很危险,你们人类一定要远离它!!

17 吃不到葡萄就吐葡萄皮

18 在公司接了个电话,是制衣公司推销的,不停的说给某某大公司做过统一服装之类。本人逮到对方说话间隙,冲口一句:“我们公司统一不着装!”

对方悄声几秒后说了声“打扰了”挂断。

19 我们大学老师:我要找一男一女三位同学……

全班同学开始四处张望,寻找李宇春。

20 晚自习回宿舍,路遇一天仙mm,遂尾随

一直想搭讪,却无胆上前,直到天仙mm即将走入女生楼

牙一咬,跨步上前,大声问那位mm:同学,请问你是女的吗?

后来……后来我享受了该天仙mm两年的白眼

21 邓论课,老师激昂澎湃:有多少英雄儿女,缠绵于地下……

22 同学的毕业作品是用大红布做成凤凰状缝在黑色的袍状服装上.

答辩的老师问:为什么凤凰要用红色而不是其它颜色?

那位同学一激动就脱口而出:因为凤凰欲火焚身!!(估计是想说浴火重生). 3秒后,来看答辩的同学狂笑不止,我笑的肚子都扭了!

23 初中时候老师叫背木兰辞(老师比较BT),紧张

…阿弟闻姊来,磨刀霍霍向爹娘(猪羊)…….

全班暴笑,自己也笑,结果后面全忘了,还好老师没罚~~

24 苍天呀,大地呀,窦娥比我还冤呀!

24 帮LP买WSJ,结果到商店看了半天也不知道买什么,于是就随便拿了一包问店主:“老板,这个好用不?”老板(男的)呆呆看了我5秒钟,说:“这个我也没用过!”

25 小时候,爸爸看我写作文。有个很简单的字写错了,爸爸笑着跟我妈说:“我发现你的儿子很笨。”我急了,大声跟我爸说:“你的儿子才笨!” -_-b

26 兵来土掩 水来将挡

27 我妈有一次去银行交水费。交了钱以后银行的人说:您这钱不够啊, 这儿还有第二页,这个也得交。

我妈:第二页是什么

工作人员:污水

我妈:我家从来不喝污水。

28 我们的高中办主任又一次怒斥我们上课不好好听讲的时候说到:“你们以后再这样,就别怪我翻脸不是人了!”

29 数学老师招牌动作

举起两根手指,对同学们说:“同学们,学好数学关键就是三个字!!"多做练习!!"”

30 那天我说女朋友笨的跟猪一样,她就拧我,特疼,一直不松手,我一急,说:“我告你妈你虐待猪!”

31 一日,跟我爸妈还有弟弟去拜观音

我没怎么睡醒,往前一站就说:

受苦受难的观世音菩萨啊……

爸妈:-____-|||

弟弟:-____-||||

菩萨:T_____T||||||

32 大二上FoxPro课时,一个老师开始点我们上课有多少人,

1,2,3,4,5,6,7,8,9,10,勾……(突然停住了)

33 某日,偶亲爱的妈咪叫偶去买花椒。

妈咪:“去买一斤花椒回来。”

偶:“一斤??!买那么多干嘛?”

妈咪:“废话~炒菜用!!!”

偶郁闷+诧异的出门去买,临出门时又特别的问了句:“确定买一斤啊?!”

回答偶滴的老娘的白眼!汗……

到菜市场后,偶越想越不对,花椒干嘛买一斤啊,也太多了吧?!掏出电话———再次确认!

得到回答还是一样:一斤花椒!!!

一斤花椒28块钱,老板给我称好,装袋。偶正要掏钱时,电话响~~~老妈?!

只听电话那边咆哮:“错啦!错啦!!不是一斤,不是一斤,是一两!!!”

爆汗!!!!

34 刚交房的时候,来往的人多,每次保安会盘问。

我本来想说我是业主的,结果经常说成我是楼主…,

趁保安大脑短路的时候我赶紧跑路。

35 我最鄙视的人就是鄙视别人的人!

YouTube发展迅速,每天超过1亿的视频点击量,但只有很少人在维护站点和确保伸缩性。

平台
Apache
Python
Linux(SuSe)
MySQL
psyco,一个动态的Python到C的编译器
lighttpd代替Apache做视频查看

状态
支持每天超过1亿的视频点击量
成立于2005年2月
于2006年3月达到每天3千万的视频点击量
于2006年7月达到每天1亿的视频点击量
2个系统管理员,2个伸缩性软件架构师
2个软件开发工程师,2个网络工程师,1个DBA

处理飞速增长的流量

代码
while (true)     
 {     
   identify_and_fix_bottlenecks();     
  drink();     
   sleep();     
   notice_new_bottleneck();     
 }  

每天运行该循环多次

Web服务器
1,NetScaler用于负载均衡和静态内容缓存
2,使用mod_fast_cgi运行Apache
3,使用一个Python应用服务器来处理请求的路由
4,应用服务器与多个数据库和其他信息源交互来获取数据和格式化html页面
5,一般可以通过添加更多的机器来在Web层提高伸缩性
6,Python的Web层代码通常不是性能瓶颈,大部分时间阻塞在RPC
7,Python允许快速而灵活的开发和部署
8,通常每个页面服务少于100毫秒的时间
9,使用psyco(一个类似于JIT编译器的动态的Python到C的编译器)来优化内部循环
10,对于像加密等密集型CPU活动,使用C扩展
11,对于一些开销昂贵的块使用预先生成并缓存的html
12,数据库里使用行级缓存
13,缓存完整的Python对象
14,有些数据被计算出来并发送给各个程序,所以这些值缓存在本地内存中。这是个使用不当的策略。应用服务器里最快的缓存将预先计算的值发送给所有服务器也花不了多少时间。只需弄一个代理来监听更改,预计算,然后发送。

视频服务
1,花费包括带宽,硬件和能源消耗
2,每个视频由一个迷你集群来host,每个视频被超过一台机器持有
3,使用一个集群意味着:
-更多的硬盘来持有内容意味着更快的速度
-failover。如果一台机器出故障了,另外的机器可以继续服务
-在线备份
4,使用lighttpd作为Web服务器来提供视频服务:
-Apache开销太大
-使用epoll来等待多个fds
-从单进程配置转变为多进程配置来处理更多的连接
5,大部分流行的内容移到CDN:
-CDN在多个地方备份内容,这样内容离用户更近的机会就会更高
-CDN机器经常内存不足,因为内容太流行以致很少有内容进出内存的颠簸
6,不太流行的内容(每天1-20浏览次数)在许多colo站点使用YouTube服务器
-长尾效应。一个视频可以有多个播放,但是许多视频正在播放。随机硬盘块被访问
-在这种情况下缓存不会很好,所以花钱在更多的缓存上可能没太大意义。
-调节RAID控制并注意其他低级问题
-调节每台机器上的内存,不要太多也不要太少

视频服务关键点
1,保持简单和廉价
2,保持简单网络路径,在内容和用户间不要有太多设备
3,使用常用硬件,昂贵的硬件很难找到帮助文档
4,使用简单而常见的工具,使用构建在Linux里或之上的大部分工具
5,很好的处理随机查找(SATA,tweaks)

缩略图服务
1,做到高效令人惊奇的难
2,每个视频大概4张缩略图,所以缩略图比视频多很多
3,缩略图仅仅host在几个机器上
4,持有一些小东西所遇到的问题:
-OS级别的大量的硬盘查找和inode和页面缓存问题
-单目录文件限制,特别是Ext3,后来移到多分层的结构。内核2.6的最近改进可能让Ext3允许大目录,但在一个文件系统里存储大量文件不是个好主意
-每秒大量的请求,因为Web页面可能在页面上显示60个缩略图
-在这种高负载下Apache表现的非常糟糕
-在Apache前端使用squid,这种方式工作了一段时间,但是由于负载继续增加而以失败告终。它让每秒300个请求变为20个
-尝试使用lighttpd但是由于使用单线程它陷于困境。遇到多进程的问题,因为它们各自保持自己单独的缓存
-如此多的图片以致一台新机器只能接管24小时
-重启机器需要6-10小时来缓存
5,为了解决所有这些问题YouTube开始使用Google的BigTable,一个分布式数据存储:
-避免小文件问题,因为它将文件收集到一起
-快,错误容忍
-更低的延迟,因为它使用分布式多级缓存,该缓存与多个不同collocation站点工作
-更多信息参考Google Architecture,GoogleTalk Architecture和BigTable

数据库
1,早期
-使用MySQL来存储元数据,如用户,tags和描述
-使用一整个10硬盘的RAID 10来存储数据
-依赖于信用卡所以YouTube租用硬件
-YouTube经过一个常见的革命:单服务器,然后单master和多read slaves,然后数据库分区,然后sharding方式
-痛苦与备份延迟。master数据库是多线程的并且运行在一个大机器上所以它可以处理许多工作,slaves是单线程的并且通常运行在小一些的服务器上并且备份是异步的,所以slaves会远远落后于master
-更新引起缓存失效,硬盘的慢I/O导致慢备份
-使用备份架构需要花费大量的money来获得增加的写性能
-YouTube的一个解决方案是通过把数据分成两个集群来将传输分出优先次序:一个视频查看池和一个一般的集群
2,后期
-数据库分区
-分成shards,不同的用户指定到不同的shards
-扩散读写
-更好的缓存位置意味着更少的IO
-导致硬件减少30%
-备份延迟降低到0
-现在可以任意提升数据库的伸缩性

数据中心策略
1,依赖于信用卡,所以最初只能使用受管主机提供商
2,受管主机提供商不能提供伸缩性,不能控制硬件或使用良好的网络协议
3,YouTube改为使用colocation arrangement。现在YouTube可以自定义所有东西并且协定自己的契约
4,使用5到6个数据中心加CDN
5,视频来自任意的数据中心,不是最近的匹配或其他什么。如果一个视频足够流行则移到CDN
6,依赖于视频带宽而不是真正的延迟。可以来自任何colo
7,图片延迟很严重,特别是当一个页面有60张图片时
8,使用BigTable将图片备份到不同的数据中心,代码查看谁是最近的

学到的东西
1,Stall for time。创造性和风险性的技巧让你在短期内解决问题而同时你会发现长期的解决方案
2,Proioritize。找出你的服务中核心的东西并对你的资源分出优先级别
3,Pick your battles。别怕将你的核心服务分出去。YouTube使用CDN来分布它们最流行的内容。创建自己的网络将花费太多时间和太多money
4,Keep it simple!简单允许你更快的重新架构来回应问题
5,Shard。Sharding帮助隔离存储,CPU,内存和IO,不仅仅是获得更多的写性能
6,Constant iteration on bottlenecks:
-软件:DB,缓存
-OS:硬盘I/O
-硬件:内存,RAID
7,You succeed as a team。拥有一个跨越条律的了解整个系统并知道系统内部是什么样的团队,如安装打印机,安装机器,安装网络等等的人。With a good team all things are possible。

 

密码已经是我们生活工作中必不可少的工具,但一个不安全的密码有又有可能会给我们造成不必要的损失。作为网站设计者,如果我们在网页中能对用户输入的密码进行安全评估,并显示出相应的提示信息,那么对用户设置一个安全的密码将有很大帮助。同时也使得网站更具人性化,更有吸引力.

什么是一个安全的密码呢?本程序按以下的方式进行评估.

1.如果密码少于5位,那么就认为这是一个弱密码.

2.如果密码只由数字、小写字母、大写字母或其它特殊符号当中的一种组成,则认为这是一个弱密码.

3.如果密码由数字、小写字母、大写字母或其它特殊符号当中的两种组成,则认为这是一个中度安全的密码.

4.如果密码由数字、小写字母、大写字母或其它特殊符号当中的三种以上组成,则认为这是一个比较安全的密码.

本程序将根据用户输入的密码分别显示不同的颜色表示密码的强度,具体程序如下:

以下是代码:

< script language=javascript>

//CharMode函数
//测试某个字符是属于哪一类.
function CharMode(iN){
if (iN>=48 && iN < =57) //数字
return 1;
if (iN>=65 && iN < =90) //大写字母
return 2;
if (iN>=97 && iN < =122) //小写
return 4;
else
return 8; //特殊字符
}

//bitTotal函数
//计算出当前密码当中一共有多少种模式
function bitTotal(num){
modes=0;
for (i=0;i< 4;i++){
if (num & 1) modes++;
num>>>=1;
}
return modes;
}

//checkStrong函数
//返回密码的强度级别

function checkStrong(sPW){
if (sPW.length< =4)
return 0; //密码太短
Modes=0;
for (i=0;i< sPW.length;i++){
//测试每一个字符的类别并统计一共有多少种模式.
Modes|=CharMode(sPW.charCodeAt(i));
}

return bitTotal(Modes);

}

//pwStrength函数
//当用户放开键盘或密码输入框失去焦点时,根据不同的级别显示不同的颜色

function pwStrength(pwd){
O_color="#eeeeee";
L_color="#FF0000";
M_color="#FF9900";
H_color="#33CC00";
if (pwd==null||pwd==){
Lcolor=Mcolor=Hcolor=O_color;
}
else{
S_level=checkStrong(pwd);
switch(S_level) {
case 0:
Lcolor=Mcolor=Hcolor=O_color;
case 1:
Lcolor=L_color;
Mcolor=Hcolor=O_color;
break;
case 2:
Lcolor=Mcolor=M_color;
Hcolor=O_color;
break;
default:
Lcolor=Mcolor=Hcolor=H_color;
}
}

document.getElementById("strength_L").style.background=Lcolor;
document.getElementById("strength_M").style.background=Mcolor;
document.getElementById("strength_H").style.background=Hcolor;
return;
}

< /script>

< form name=form1 action="" >
输入密码:
< input type=password size=10 onKeyUp=pwStrength(this.value)
onBlur=pwStrength(this.value)>
< br>密码强度:
< table width="217" border="1" cellspacing="0" cellpadding="1" bordercolor="#cccccc"
height="23" style=display:inline>
< tr align="center" bgcolor="#eeeeee">

< td width="33%" id="strength_L">弱< /td>

< td width="33%" id="strength_M">中< /td>

< td width="33%" id="strength_H">强< /td>
< /tr>
< /table>

< /form>

WinMount是一个 Windows 工具,可以把 ZIP RAR等压缩文件 mount 为一个虚拟盘符,这样你就可以直接使用里面的文件了,不需要展开。节省时间,节省空间。WinMount还支持多种光盘映像格式,包括:ISO、cue/bin、ccd (CloneCD)、bwt (Blindwrite)、mds (Media Descriptor File)、cdi (Discjuggler)、nrg (Nero)、pdi (Instant CD/DVD)、b5t (BlindWrite 5)、isz (Compressed ISO images),这时WinMount是一个虚拟光驱软件。

WinMount,让你完全省去解压的等待时间!
一般我们从网上下载到ZIP或RAR文件,都要把它展开,才能使用。你可以双击这个ZIP或RAR文件, 解压软件会打开这个压缩文档里面的文件列表。你可以双击其中的一个文件,好象可以自动打开,但实际上这个文件是被展开到临时目录后才打开的。这种展开操作通常很浪费时间。现在网络越来越快,我们下载的ZIP和RAR文件也越来越大, 几百兆上G的文件越来越多,花几十分钟解压一个压缩文档是常有的事。现在,有了 WinMount,你不再需要等待! 安装 WinMount 后,你只需要在资源管理器中右键这个ZIP或RAR文件,选“Mount 至新驱动器”。几秒后, 系统会报告发现新硬件,一个新的盘符出现了,比如是S盘。打开S盘,压缩文件中的所有文件都在了,你可以直接使用!

WinMount 可以建一个空的32GB的盘,经常有人问这个有什么用。这个空盘实际上相当于一个 RAMDisk,就是在内存中的虚拟盘。所以它肯定速度快, 但一关机就什么都没有了。它新建立的时候,即使是新建一个32GB的空盘,实际上不消耗什么内存。当有写操作时,才会逐渐申请内存。

WinMount 改变你的电脑使用方式!
关于占用内存的问题,很多用户反映 WinMount 占用内存过多。这实际上是使用方法的问题。当 WinMount 把一个ZIP 或RAR文件 mount 为一个虚拟盘时,实际上并不占用多少内存,虽然你看到的虚拟盘有32GB这么大。对虚拟盘上文件的读操作, 都是后台即时解压,并不占内存。只有当ZIP或RAR中包括一个大文件时,才会多占一些内存作index和cache以提高性能。 至于 Mount 一个ISO或BIN文件,则根本不占什么内存。

更值得一提的是,可以创建一个img文件,把它mount为一个盘。一个选项是,你可以设定这个盘有多大,那么它就是一个未格式化过的盘。 如果默认,就是一个格式化好的32GB的空盘。然后,你往mount出来的虚拟盘里写的任何东西,都将后台被写到img文件中, 下次mount时会体现这个更新。 还有一个选项,就是mount这个img时,可以设定NoWriteBack=TRUE,则新mount出来的盘符是可写的, 但所有写入的内容,都不会被写回img文件。下次mount时,还是原来的内容。 你应该可以想象这个功能有什么用。 当我们安装好一个软件后,一般并不需要再修改它目录下的任何东西。用这个方式,可永保它安全,无毒。 因为windows并没有很好的安全机制,你并不能设定任何病毒都不要改我这个目录下的东西。我们的这个功能, 实际上是加强了Windows的安全性。

WinMount 中文版常见问题回答 

Q:有没有专门上传测试文件,提交有BUG文件的地址?
A:有。WinMont专用测试ftp,提交有BUG文件: ftp://upload.winmount.com 用户名:winmount.com 密码:winmount.com 端口:874 注:本ftp只能上传,请对应格式目录上传,请您附一个说明文件,包括BUG、版本、运行环境等。

Q: WinMount相对其它软件有什么优点?对我有什么用呢?
A: WinMount力图实现对常用的文件格式进行兼容性解包,再也不用安装很多软件来读取各式各样的文件了.另一个方面,WinMount从安全性方面考虑,实现对一些映像文件的只读操作,所有的写操作不实际写回磁盘,这样可以保证原始文件的绝对安全.

Q: 有使用限制吗?需要注册吗?
A: WinMount中文版是全功能的,免费的!虽然我们不能承诺永远免费,但至少目前版本对个人用户是免费的。我们保证安装包中不包括流氓软件,无插件。请大家放心使用。你要是觉得好用,就推荐给你的朋友。

Q: ZIP或RAR经mount后,可写吗?
A: ZIP或RAR经mount后,它们的内容在虚拟盘中全部展示出来,你可以直接使用。这个虚拟盘是可写的,你可以新建文件, 也可以修改文件。但所有改动并不会写回原来的ZIP或RAR,你unmount或重启后,所有改动都丢失了。你可以理解这是一项功能:防毒。

Q: WinMount是如何加密的?
A: WinMount 使用本公司独有的“扭曲变换加密”技术,对代码进行了加密变换。任何试图破解,逆向 分析本软件的行动都将变得非常困难。关于扭曲变换加密的详细资料,请联系我们 [email protected] 或 me at liutaotao.com

Q: 为什么 WinMount 的虚盘容量是 32 GB ? 我能改变它的大小吗?
A: WinMount 中文版默认的虚拟盘的容量是32GB。 我们很容易就可以改变这个值的大小。你也可以用这个办法,先用命令行产生一个大的映象文件, ‘WinMount.exe filename.wmt -sectors:0x8000000‘(后面的扇区数是可以随意定义的),然后格式化为 FAT32 分区。然后 unmount 后再以非回写方式 mount,命令行为 ‘WinMount.exe filename.wmt -NoWriteBack‘。这样你就可 以把大的 ZIP 或 RAR 文件 mount 进去了 !

简体中文版本是没有任何使用限制,可以直接 mount 任意大小的 ZIP, RAR, ISO, CUE,7Z 等文件。而英文版本需要注册。

下载地址1:WinMount_setup.exe 
下载地址2WinMount_cn.zip