Category Description有关各种IT技术的心得、翻译、笔记。November 22, 2004Zend[ Tech ]
不过从他的 PPT 演示中,感觉出 PHP 会越来越走向商业化、努力来迎合企业级应用,从 Java 及 .Net 手中抢一口饭吃。其实这点从 PHP5 的 ZendEngine2 就看出来了,不过这次感受更深切。祝 PHP 一路走好…… November 20, 2004Google 的 Firefox 主页[ Tech ]Firefox 1.0 正式版推出 2 星期,下载量达到 500 万,发布第一天网站根本打不开。如果是新安装 1.0 正式版的话,肯定会发现默认的主页竟然是 Google 为 Firefox 定制的一个页面,就像为 Linux 定制页面一样,Firefox 的成就可见一斑。 同期,邮件客户端 Thunderbired 也更新至 0.9 版本了,看来历史悠久的 Mozilla 寒窗多年之后终于爆发了,而且其势势不可挡,正应了鲁迅爷爷的那句话…… 我老早把 IE/MyIE/Outlook/Foxmail 扔进回忆里了,不久会做一个 Mozilla 的中文专题站,域名都注册好咯(汗……好多站要做啊……),把好东西推荐并教会大家用最开心了^_^ 有那么优秀的开源软件摆在面前,What are you waiting for... November 19, 2004GFans.org[ Tech ]长久以来深受 Google 文化影响,前天注册了 GFans.org 的域名,准备做个 Google 的专题站,今天先凑了点 Google 公益广告的资料:
November 18, 2004还是VeryCD...[ Tech ]今天重新配置了两台静态网页服务器,去掉了 NFS,改由 ssh 定时同步目录,关于这个话题,Dash 已经 Blog 掉了……哈哈,去掉两台静态页服务器的负担,原本的 NFS 服务器(兼数据库)一下子轻松了,想象原来真笨,都是静态页干吗要 NFS 嘛……汗死了…… 自从 VeryCD 实行推荐注册之后,网友们明显开始珍惜自己的帐号了,而且有一种光荣感和使命感了……想不到学 Google 的这招还真管用~~ November 16, 2004Apache日志轮巡/合并/分析[ Tech ]今天在 VeryCD 服务器上设置了访问日志的轮巡、合并、分析。 VeryCD 目前的网页服务器配置结构
构思上个月 VeryCD 使用的是章文嵩博士的 Linux Virtual Server 软件,该系统针对高可伸缩、高可用网络服务的需求,给出了基于IP层和基于内容请求分发的负载平衡调度解决方法,它通过前端一个负载调度器(Load Balancer)无缝地将网络请求调度到真实服务器上,从而使得服务器集群的结构对客户是隐藏的, 客户访问集群系统提供的网络服务就像访问一台高性能、高可用的服务器一样。因此整个网站的访问统计的取样就显得很简单,只要在一台 Web 服务器上分析自己的日志就行了,其他服务器的请求就是它的一个线性分布,系数大致就是硬件的性能比。 而现在整个网站由多个 Web 服务器 DNS 轮巡构成,网站结构对于用户是透明的,因此不能使用简单的抽样分析方法,分析日志的过程就比单个服务器的情况复杂得多。于是希望构建一套系统,能实现自动综合分析多个 Web 服务器的日志,给出准确直观的网站访问状况报告,而不是某台服务器单个的访问状况报告。 注:千万不能将日志记录到同一个远程(NFS)文件里。如果使用远程文件系统记录日志,带来的麻烦远比你获得的方便多的多! Continue reading "Apache日志轮巡/合并/分析"September 11, 2004IPB 2.0 PF4 FreeIPB简体中文版VeryCD.com第一时间公测[ Tech ]北京时间9月10日 19:15,IPS发布了IPB2.0 PF4版,随后,今天凌晨VeryCD就已完成了PF4所有已知中文支持的Bug修复,所有图片的汉化工作,并将全球IPB应用最大的论坛成功从1.3升级至2.0 PF4。虽然现在仍有很多Bug,但是基本在掌握之中,相信不久就论坛就能基本稳定。到时候FreeIPB就会发布IPB 2.0完全中文版。 September 09, 2004Google News[ Tech ] Google今天推出了中文新闻!以下是我在第一时间的截图—— 不过犯了一个大错误——最底下有“中文版(China)”和“台湾版(Taiwan)”……希望不会有什么麻烦了。 September 07, 2004May 15, 2004MovableType(MT) 3.0 变收费软件[ Tech ]MT因其前卫的功能,静态内容发布,已经最为流行的个人网站的Blog系统。 但是刚收到MovableType.org寄来的Mail,大致意思是感谢参与3.0版本的测试(我只是提交过想参加Beta测试的表单,但后来并没有回应了)……然后兴匆匆到官方网站上想下载3.0体验一下,却被满页的$吓住了……原来的movabletype.org/download.shtml也转到了Six Apart销售MT的页面,连原先的免费版本都找不到了……还好自己机器上有存档,否则,哎。 想想也是,现在随便一个服务器提供商都能提供MT的安装环境,甚至帮你全部安装配制好,实在没道理使用Six Apart的TypePad。Six Apart是.com,不是有大把$养着的open source社区。 看来偶的2.661已经是Final Version了。 May 08, 2004初识Python[ Tech ]记得第一次看到 Python 这个词是 Dash 跟我说编 BT 的语言号称是和 C# 一样完美的,当时也没注意,上个月看《Thinking in Java》,Bruce Eckel 也是大力推荐,昨天在找CMS时发现一个很好用的系统:Plone ,也是Python编的。于是花了两天时间捉摸着入门,发现还是很让人吃惊的。 Python.cn 上是这样介绍的:
经过短暂实践,我个人总结了以下几点,仅供参考:
别人总结的其他几点:
参考站点:
May 07, 2004PHP之MVC[ Tech ]前段时间在学习Java,顺水推舟得学了MVC构架。在网上查阅相关资料的时候,发现对于PHP是否以及怎样套用MVC构架,已经有相当多的探讨。以下给出几个链接: 这几篇文章(以及相关的评论)几乎包含了所有PHPer对于MVC构架的认识和疑惑。在我实践使用MVC构造了一个站点之后,可以说对于PHP中的MVC有了自己的一些认识: MVC是面向对象思想的集中体现。特别是模块(Model)的封装、抽象,运用得好就能将OO的封装、多态性表现得淋漓尽致。至少Web应用上,MVC肯定是先进的,甚至我个人认为小型的PHP站点也应采用MVC的构架。 中大型站点一定需要MVC架构。PHP在企业级应用上如此至少,除去商业界和开原界在意识形态上有巨大分歧外,PHP本身的极弱面面向对象的缺陷也是最大的原因。道理很简单,不是高度面向对象的项目,越是大型,维护成本越是成几何级数上升。 那到底该怎么运用MVC呢?应该说对于不同类型,不同规模,不同开发周期,不同维护费用预算,都可以有不同的具体实现。但是有一点是肯定的:并不像《PHP:MVC迷思》所说的“把业务逻辑并入M中,这其实是MVC的思想背道而驰的。”——业务逻辑绝对应该是Model部分的核心,而这篇文章的作者所指出的类似于JSP中Java Beans的作用,只是Model部分最底层的抽象,如果就此理解,那MVC的确不应该应用于PHP了(相信作者肯定没使用过structs)。实际上,判断MVC是否强壮,就是看业务逻辑部分的抽象和封装是否到位。Smarty模版引擎的最大特点就是将业务逻辑从视图中分离,因此说他的思想是最前卫的。以我的看法,Smarty就是在PHP中最大程度地实现JSP的自定义标签库(Custom Taglib),当然,两者还是有很大不同的,这个也只是我个人的理解。如果还不能理解业务逻辑为什么是属于Model部分,那还是先看看一些面向对象的教科书吧。 BTW:4月25日PHP5出了第二个Candidate版本,虽然对于PHP的前景,尤其是php5大量借鉴Java的特点还有很大的争论,但是我认为PHP5无疑会大大延长其寿命,至少让我在做项目的时候会犹豫到底是JSP还是PHP……PHP5也体现了绝大多数程序员对于PHP的最大需求——面向对象。 March 30, 2004如何实现同时访问不同资源使用不同的路由[ Tech ] 我所在的学校有校园网,我们由于觉得校园网访问公众网资源慢就申请了adsl,同时利用校园的硬件资源实现adsl多人共享上网,同时只要更改一下网络配置,就可以上校园网。详见3月22日G9版的《校园网和adsl宽带两不误》。 http://www.shangda.net/UploadFile/2004329209410158.jpg 前期工作做好了,现在开始具体的来实现了。在运行里面输入cmd,在命令行中键入route。route是一个添加删除路由的命令,我们将用到route命令的几个参数,现在简单介绍一下:route print显示当前路由表;route add添加一条路由,route delete删除一条路由。 http://www.shangda.net/UploadFile/20043292094813897.jpg route delete 是删除相应路由,如我要删掉刚才添加的路由:route delete 10.0.0.0 March 23, 2004校园网和adsl二合一(晋级篇)[ Tech ]通过前面两篇文章的介绍,估计使用adsl和校园网已经很方便了。 我前面介绍了netsh写批处理,虽然很方便,但还没有达到我的要求,要是我一边打网络游戏(通过adsl),一边下载校园网内部资源.能不能同时进行呢? 经过一段时间摸索觉得还是可以的,现在写出来给大家共享: 我先简单介绍一下路由器作用,简单的说就是把不同的网段连接起来。这也是为什么我们需要网关才能上internet,如果你要访问的机器,和你的机器在同一网段,就不需要路由。好了,我们来实现以上我的功能。 点击本地连接-属性-internet协议-属性-高级。你会发现里面实际上可以添加很都ip,网关同时也是可以添加好几个好了,添加上你的第二个ip地址子网掩码和网关。填好后,你同时访问你内网的机器(只有校园网可以)和一个国外网站(只有adsl可以)是不是可以^_^ 如果是访问一个国内网站呢?是通过哪个网关呢?一般是通过adsl,因为它的连接速度快。即哪个网关速度快,就通过哪个网关到达你要访问的机器。 March 21, 2004校园网和adsl二合一[ Tech ]前面介绍过了如何利用Adsl猫的路由实现多台机器同时上网具体见利用ADSL猫的路由功能实现多台机器同时上网(基础篇)。 现在我们利用校园网的硬件资源来实现免拖线和换线我们只要把Adsl猫接到一个闲置的校园网的端口上其他机器也接到自己的校园网端口上,网段和猫在同一网段,子网掩码相同网关是猫的ip,为了不和其他机器ip冲突,请改到一个觉得不会发生冲突的网段。 下面我介绍一个win2000和winxp下一个脚本执行命令,netsh。利用这个命令可以 netsh interface ip set address name="用于连接网卡的名称(如本地连接)" source=static 你的ip 你的子网掩码 你的网关 默认网关的跃点数一般为1
例如我网卡连接名称叫本地连结,ip:192.168.1.2 子网掩码:255.255.255.0 网关:192.168.1.1则命令如下: netsh interface ip set address name="本地连接" source=static 192.168.1.2 255.255.255.0 192.168.1.1 1
注意中间的空格 校园网的配置也一样,把上面的一段存为批处理文件,使用时只要双击即可。 利用ADSL猫的路由功能实现多台机器同时上网(基础篇)[ Tech ]本人在学校利用校园网上internet,浏览教育网资源速度尚可,但是上公众网,打网络游戏等就不敢恭维了。所以就决定申请一个ADSL,几个同学用,费用平摊,很适合我们学生一族。 开始是利用一台机器作代理服务器,其他机器通过这台机器上网。但这样有很大弊端:一,只有这台机器开机上网了,其他机器才能上网,很不方便,且增加了这台机器的负担。 二,几个寝室网线乱拖,很影响寝室的环境。三,这样还要多投资一台HUB和一块网卡。四,校园网和ADSL互换需要换接口。 后来得知现在一般SDSL猫都有路由功能,打开猫的控制面板一看,果真有,心中窃喜,说干就干。现在我就以我现在用的猫为例,来实现猫的路由功能(各个品牌的猫差不多的)。 首先把猫和我的机器互联,我的猫的ip地址:192.168.1.1子网掩码:255.255.255.0。我把自己机器的ip地址改为192.168.1.2子网掩码相同,然后在IE里输入猫的ip地址,要求输入用户名和密码,输入后进入控制面板(各个品牌的猫的ip地址、用户名和密码可能不同,请查看猫的说明书,或到相关网站查询)。 这一页是更改密码,根据需要修改吧http://blog.xdanger.com/archives/sorghum/20040321a.jpg 这里是重点,我详细一点介绍。般猫默认是第一种RFC1483 Bridged方式,我要现在用的猫一般都是PPoE虚拟拨号方式,说一就选第三个。里面要我填上用户名和密码,就是 你ADSL猫拨号上网的用户名和密码。模式默认就可以了,空闲超时如果是包月的话就可以设的长一点,如果是计时的话就短一点。还有就是DHCP Server就是自动分配ip地址一些配置,我觉得没有必要,如果你相用就到后面的高级里面的DHCP里设置。还有上面的VPI和VCI的值,这个也蛮重要的,具体是多少,你要问你本地的电信运营商了。我的是0和32。好了,点击Add,把这个设置添加到当前的ATM PVC列表里。把其他不需要的delete好了。 http://blog.xdanger.com/archives/sorghum/20040321b.jpg Lan设置里面就是猫的ip和子网掩码如果怕和别人的ip冲突或者怕别人知道就改一下吧(建议)。 http://blog.xdanger.com/archives/sorghum/20040321c.jpg 点击进入保存&重起页面,先Save一下,然后点Reboot。http://blog.xdanger.com/archives/sorghum/20040321d.jpg 本机设置就是在本地连接的属性里面选择internet协议,在里面填上和猫一样网段的ip地址,如果猫的ip地址是192.168.1.1则其他机器ip可以是192.168.1.2到192.168.1.254之间任意一ip地址。子网掩码相同,网关即为猫的ip地址。DNS可以是猫的ip或者是公网的DNS服务器。 好了,这样应该就可以上网了。 March 13, 2004明天要交的Java作业[ Tech ]编类似贪食蛇的小程序,给一个二维数组描述蛇的移动轨迹,按照给定的表示蛇身的字符、蛇身的长度,在屏幕上打印出移动轨迹。 其中我最疑惑的就是怎么用\b实现清屏,我反复试验后发现\b始终不能移到\n的前面。因此暂时用了个比较傻的办法,一次输出很多换行符把上次输出的内容推到屏幕外面……现在默认的是蛇从上游到下,并且一定从第一行移动到最后一行。暂时没有判断给出的地图是否有效。详细的见源程序&.class。 March 11, 2004MCS-51(8086)的一个汇编[ Tech ]到昨天为止,用了一个星期写了一个汇编程序,是这个学期课程设计的作业。这大概是我接触到的最长的一个汇编了吧,感觉真BT。 目的很简单,就是有八个按钮,分别控制千、百、十、个位的+-(比如按百位的+数字就加100),带进位,在4个7晶体管上显示相应的4位数字,初始值为0000。 Continue reading "MCS-51(8086)的一个汇编"March 05, 2004Java版Do24(24点计算工具)[ Tech ]这学期上大BT考试总算结束了,好好睡了一觉后温习下SL-275。顺便把Dash引以为豪的处女作Do24改成Java的。不过还有点Bug。 下载:源码&程序。update on 3.8:允许分数计算版本:源码&程序。 哦,今天是学雷锋的日子,大家接过雷锋的枪哦︻┳═一 February 24, 2004整合多个局域网[ Tech ]使用ADSL路由方式实现自动拨号后,还是感觉不方便,至少还要双击下.bat文件。想能不能有种方法可以同时使用两个局域网。没想到竟然那么简单…… 只要在连接的TCP/IP协议对话框内点“高级”,然后再加上另外一个内网的ip地址/子网掩码/网关/DNS服务器就行了(太简单,这里就不截图说明了……)。我测试下来,连接的时候系统会自动选择响应快的路由网段进行连接,就是说你一边能Google/MSN,一边能以6Mb/秒的速度下载电影,哈哈,总算完美了!(2000和XP下没问题,9x就不知道了。) February 13, 2004从XP中彻底移除Windows Messenger[ Tech ]想必很多人和我一样,在XP上使用MSN Messenger,但是Windows Messenger又始终关不掉,即使在选项中设置不自动启动、不自动登录,他还是会随系统启动,并且关闭进程后还会自动启动自动登录,并注销掉正在运行的MSN Messenger。最可恶的是,我明明没有登录MSN Messenger,突然就会有人冒出来句话……最后只能改掉程序的文件名了事。 今天Google了一下,想不到有那么多解决办法。其中有一个办法最简单:开始->运行->键入 RunDll32 advpack.dll,LaunchINFSection %windir%\inf\msmsgs.inf,BLC.Remove
哈哈,整个世界清静了……此方式适应所有XP系统。 February 12, 2004上海整幅地图下载[ Tech ]上次做好了一张上海城区的地图,今天传上来了,6.7Mb的JPEG。打开时建议关掉其他应用程序哦……右键单击以下图片->目标另存为…… 这里还有高清晰版的,20Mb(强烈建议不要下载……没512Mb内存的后果自负,呵呵):http://docs.xdanger.com/pics/map.sh.max.jpg February 11, 2004我的第一个Java版Hello,World![ Tech ]总算暂时放下断断续续弄了3年的PHP,今天开始全面攻克Java!先读3个月的SCJP&SCWD。 不过万万没想到一开始试编经典的Hello,World!竟然遇到那么大的困难……反反复复编译、运行,始终出现各种各样的错误,真的差点心力交瘁……网上类似的文章太多了,不过我还是马上总结一下吧,懂的朋友见笑了:
February 10, 2004强烈建议PHPer们使用Turck MMCache[ Tech ]Turck MMCache是一个类似于Zend Optimizer/Encoder的软件,不过速度要超过后者。而且他是一个开源的软件,可以免费使用。官方网站是:http://turck-mmcache.sourceforge.net
安装方法在http://sourceforge.net/project/showfiles.php?group_id=69426根据你的PHP版本下载MMCache解压至任意目录后,在PHP.ini中添加如下内容即可:(C:\PHP\mmcache是MMCache所在的目录,如果是非Windows平台则是 zend_extension_ts=mmcpath/mmcache.so) zend_extension_ts="C:\PHP\mmcache\mmcache.dll"
mmcache.shm_size="16" mmcache.cache_dir="C:\PHP\mmcache\tmp" mmcache.enable="1" mmcache.optimizer="1" mmcache.check_mtime="1" mmcache.debug="0" mmcache.filter="" mmcache.shm_max="0" mmcache.shm_ttl="0" mmcache.shm_prune_period="0" mmcache.shm_only="0" mmcache.compress="1" 目前多数的虚拟主机都没有安装Turck MMCache,实在是大大的浪费。装了之后几乎可以放多10倍的站点。而且PHP程序员用起来没有任何区别。 下表是同类软件的比较: Continue reading "强烈建议PHPer们使用Turck MMCache"February 03, 2004上海地图[ Tech ]王建硕今天做了个上海市地图查看器:http://home.wangjianshuo.com/scripts/map/,准备和他的“汽车站”计划结合,太好玩了! 我准备这个星期做一个类似功能的站点,不过肯定是有特色的,呵呵。 January 31, 2004诺维格(Novarg/Mydoom)病毒及防范邮件病毒注意事项[ Tech ] 昨天和今天,我的 Norton AntiVirus 删除了附件: document.zip。
该附件感染了 W32.Novarg.A@mm 病毒。 明显地,是这两天风头出尽的诺维格Novarg病毒。在此就顺便将防止病毒邮件必须注意的几点说明一下,电子邮件是计算机病毒最常用的传播途径。
January 26, 2004music.xdanger.com[ Tech ]http://music.xdanger.com 刚刚做的,完全免费的音乐搜索引擎哟:-) 使用sogua的VIP搜索服务哦,呵呵,阴险了点点。。。 January 23, 2004实现MT多级分类的Plugin[ Tech ]如果说MT还有什么不足的话,最让人遗憾的可能就是文章还不支持多级分类。 网上已经有很多人在尝试编写多级目录的分类的插件,如今最流行的好像就是David Raynes写的SubCategories。1月21日发布了0.3版。刚才试用了一下,非常小巧简洁,安装方便而且效果很好。 但是反复斟酌之后,我还是观望态度……原因:
国内,也已经有人在开发此类插件了。 January 19, 2004PmWiki安装全攻略[ Tech ]
PmWiki简介:PmWiki是一个不需要数据库的以PHP为主要语言编写的wiki,遵循General Public License (GPL)协议,小巧方便,很适合个人网站用来制作规模不大的互动资源平台。 我的安装平台:Windows XP Pro SP1 + Apache-1.3.* + PHP-4.3.* January 17, 2004使用Google工具栏显示PageRank[ Tech ]以下文字的原文:http://pr.efactory.de/e-pagerank-implementation.shtml 多数人通过Google工具栏开始了解PageRank。Google工具栏是Microsoft Internet Explorer的一个浏览器插件,可以在Google网站上下载到。Google工具栏提供的一些功能使搜索Google变得更为方便。
注意:显示PageRank值是Google工具栏的一个高级功能。如果高级功能被打开,Google就会收集用户信息。另外,工具栏会自动升级,用户无需关心。所以,Google可以访问用户的硬盘。 如果我们进行一下计算,PageRank理论上拥有最大值(Nd+(1-d)),这里的N为互联网网页总数,d为通常被设为0.85,计算出的PageRank值和工具栏显示出的数值成一定的比例关系。普遍认同的是,它们之间的比例并非线性的,而是成对数关系。如果设阻尼系数d为0.85而PageRank的最低值为0.15(xdanger注:因为0.15+0.85=1),并且对数的基数为6,我们得到以下的比例关系:
现在还不确定工具栏所显示的数值和实际的PageRank值是否严格遵循对数关系。看上去的确像遵循了对数关系,因此Google工具栏仅用了一个范围的刻度值就能显示所有页面的PageRank值。对数的基数被定在6-7之间,这一点可以由一个工具栏PageRank值大于4的页面的入链数量举例演算得出,这个连接数量可以从Google那用指令式的链接得到。 Continue reading "使用Google工具栏显示PageRank" | |||||||||||||||||||||||||||||||||||||||||||||||||||||