预览模式: 普通 | 列表

[网摘]大型网站架构演变和知识体系

原文地址:大型网站架构演变和知识体系

之前也有一些介绍大型网站架构演变的文章,例如LiveJournal的、ebay的,都是非常值得参考的,不过感觉他们讲的更多的是每次演变的结果,而没有很详细的讲为什么需要做这样的演变,再加上近来感觉有不少同学都很难明白为什么一个网站需要那么复杂的技术,于是有了写这篇文章的想法,在这篇文章中 将阐述一个普通的网站发展成大型网站过程中的一种较为典型的架构演变历程和所需掌握的知识体系,希望能给想从事互联网行业的同学一点初步的概念,:),文中的不对之处也请各位多给点建议,让本文真正起到抛砖引玉的效果。

架构演变第一步:物理分离webserver和数据库

最开始,由于某些想法,于是在互联网上搭建了一个网站,这个时候甚至有可能主机都是租借的,但由于这篇文章我们只关注架构的演变历程,因此就假设这个时候 已经是托管了一台主机,并且有一定的带宽了,这个时候由于网站具备了一定的特色,吸引了部分人访问,逐渐你发现系统的压力越来越高,响应速度越来越慢,而这个时候比较明显的是数据库和应用互相影响,应用出问题了,数据库也很容易出现问题,而数据库出问题的时候,应用也容易出问题,于是进入了第一步演变阶段:将应用和数据库从物理上分离,变成了两台机器,这个时候技术上没有什么新的要求,但你发现确实起到效果了,系统又恢复到以前的响应速度了,并且支撑住了更高的流量,并且不会因为数据库和应用形成互相的影响。

查看更多...

Tags: web 大型网站 负载均衡 设计 构架 数据库 性能

分类:网摘 | 固定链接 | 评论: 0 | 引用: 0 | 查看次数: 4

提取 FLV 中的音频

好久没有写东西了, 八月份写过一篇<提取 SWF 中的音频>, 这篇写 FLV 中提取音频, 算是上篇的姊妹篇. 本篇在一个多月之前就开了头, 并且代码也写好了, 每次想完成本文都不了了之了.  哎, 变懒了.

这次使用的 FLV 操作组件还是 SwfDotNet, 不过此组件对 FLV 操作部分没有开发完毕, 使用的时候完善了一部分代码, 并修改了一部分错误, 最后总算提取音频部分成功.

修改 SwfDotNet 类库的时候参考了Adobe 官方的 <Video File Format Specification Version 9>. 这个格式文档不但包括 FLV 格式说明, 还包括 F4V 格式说明.

查看更多...

Tags: C# FLV FLASH 提取 音频

分类:原创 | 固定链接 | 评论: 0 | 引用: 0 | 查看次数: 4

ASP.NET MVC 教程链接

ASP.NET MVC Beta1 上周发布了, 官方站点的QuickstartsTutorials 系列教程也做了更新.

Quickstarts 系列教程: http://quickstarts.asp.net/previews/mvc/

算是一个快速入门的帮助教程.

查看更多...

Tags: MVC asp.net Link 点滴

分类:点滴 | 固定链接 | 评论: 0 | 引用: 0 | 查看次数: 22

原文地址:http://blog.iamjetty.net/2008/03/%e4%bd%bf%e7%94%a8float%e5%92%8cbackground-color%e6%97%b6%e5%87%ba%e7%8e%b0%e7%9a%84ie-bug/

译者序:在做系主页时遇到了这个问题,原作者说明了几种解决方法,觉得很不错,遂译之。
《IE CSS bugs when using floats and background-color》

如果一个div设置了background-color并且包含了具有float属性的元素(包括利用css的“float”属性或HTML中图片的“align”属性),IE浏览器就会解析错误——我IE6里一些样例页面的截图,对比它应该显现的页面

查看更多...

Tags: ie6 bug css float background background-color

分类:网摘 | 固定链接 | 评论: 0 | 引用: 0 | 查看次数: 33

[转摘]Blog XML-RPC API接口

这几天给一个PHP的内容管理系统添加一个XMLRPC的接口, 这里转一个BLOG API的文章.

来源:http://www.21andy.com/blog/20080211/886.html

# blogger.newPost
说明: 建立一则新文章,并选择性地将其出版。

查看更多...

分类:网摘 | 固定链接 | 评论: 0 | 引用: 0 | 查看次数: 19

php eval-gzinflate-base64_decode 解码

<?php
echo '<pre>';
$contents = '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';
$i=1;
$contents = gzinflate(base64_decode($contents));
while (preg_match("/eval[ ]*\([ ]*gzinflate/",$contents)) {//在eval(的'('两边加入多空格匹配
    echo '次数:'.$i++."\n";//显示解密次数
    $contents=preg_replace("/<\?php|\?>/", "", $contents);
    $contents=preg_replace("/<\?|\?>/", "", $contents);
    $contents = substr(substr($contents, 2), 0, -2);//去除开始的\?\>(\只是转义,文件中没有)和结尾的<?
    $contents = substr($contents,30); //eval(gzinflate(base64_decode('
    $contents = substr($contents,0,-4); //')))
    $contents = gzinflate(base64_decode($contents));
} 
echo "结果:\n"; 
echo $contents ;
echo '</pre>';
?>

参考地址: http://hi.baidu.com/jayeeliu/blog/item/e0df0229e0816cf898250a5f.html

分类:点滴 | 固定链接 | 评论: 0 | 引用: 0 | 查看次数: 269

[转载]程序员应具备的素质

原文地址: http://www.idreamsoft.cn/coolmoo/show/t/chengxuyuanyingjubeidesuzhi.html

中国有很多精于编码的人,但是中国软件行业,尤其是网络应用开发方面误区很大,很难形成有规模的软件开发力量和产品能力,不但比美国差距甚远,和印度相比也是颇有不如。这些问题不是在于中国程序员的智商和工作努力状况,也不是在于国家和民间对开发的投入程度,而是很大程度上,有一些对技术,对程序开发,对项目设计方面的思想误区,这些误区,导致了软件行业的产品化能力不足,缺乏规模化和大型复用系统研发能力,可以说,改变认识误区,是解决软件行业小作坊模式和个体英雄模式所带来的局限性的重要工作。

程序员是一种技术工作,在IT的发展中有相当重要的地位,从底层硬件通讯协议的建立,到数据传输层的处理,到操作系统的建设,到数据库平台的建设,一直到应用层上各种数据营销平台的搭建,程序员在里面都扮演着举足轻重的角色并为IT事业的发展做出了巨大的贡献。

查看更多...

Tags: 程序员 编程 软件开发 学习

分类:网摘 | 固定链接 | 评论: 0 | 引用: 0 | 查看次数: 27

原文地址: http://weblogs.asp.net/scottgu/archive/2005/12/10/432851.aspx

原文讲的不是很清楚, 文章下面一位 Sam Stange 网友的回复有很大提示作用. 不过这位网友的回复好像有错误, 因为ASP.NET V1.1 配置文件<machineKey />节点中根本没有decryption属性. 不过这个网友提供了一个生成machineKey的地方: http://aspnetresources.com/tools/keycreator.aspx, 选择 3DES 方式.

自己测试的结果为, ASP.NET 2.0 程序提供一个登录口, 1.1程序由这个登录口登录, 具体配置代码如下.

查看更多...

Tags: asp.net Cookies machineKey

分类:点滴 | 固定链接 | 评论: 0 | 引用: 0 | 查看次数: 44

[转载]寂静的战争

在中国的软件行业,一直进行着一场寂静的战争,没有刀光剑影,没有坚船利炮,如润物细无声般的进行了十多年,而且还将继续下去。但我们鲜有人感觉到这场战争,这场关乎中国软件命运的战争,这就是西方列强发动的软件倾销战。 叶圣陶先生曾经写过一篇著名的《多收了三五斗》的文章,深刻描述了旧中国农民破产的情景。以下为该文章的全文。 万盛米行的河埠头,横七竖八停泊着乡村里出来的敞口船。船里装载的是新米,把船身压得很低。齐般舷的莱叶和垃圾给白腻的泡沫包围着,一漾一漾地,填没了这船和那船之间的空隙。 ....

查看更多...

Tags: 软件 中国软件 CNBLOGS

分类:网摘 | 固定链接 | 评论: 0 | 引用: 0 | 查看次数: 60

[转载]关于三种主流WEB架构的思考

原文地址: http://hi.baidu.com/dreamname502/blog/item/4692f5823a32a5b96c8119da.html

做WEB好几年了,各种语言和技术都稍有涉猎。今天心血来潮,突然想总结一下。其实不论什么技术,什么需求,通常WEB开发就是通过WEB前端管理一个或大或小或独立或分布式的关系型数据库,很多东西都是相通的。这里说的WEB架构,是指WEB应用开发中每种技术独有的资源组织形式(包括文件,数据库,HTTP请求处理等。注意并非OO的开发方式才有架构一说),也许说开发方式更容易让人理解一些。

以下想法主要以PHP实现为示例,但很多体会我想Java,.NET,Ruby开发者应该也很容易理解。最后是我对于刚面世就引起无数人关注的Delphi fo PHP的评测

查看更多...

Tags: 框架 web MVC asp.net PHP

分类:网摘 | 固定链接 | 评论: 0 | 引用: 0 | 查看次数: 64