GoogleCode SVN 版本控制 (一)

概述:

1、我们需要一个完善的版本控制软件
2、选用 Subversion
3、免费的SVN服务器,GoogleCode
4、免费的SVN客户端,TortoiseSVN(Windows版)Subversion(FreeBSD版)

第1个问题:

2 年前,我刚工作的时候,还不懂什么叫版本控制和代码管理,所以经常犯错,把别人的代码搞坏了,或者用自己的旧版把人家的新版覆盖,还有,一个文件改了很多次,突然想恢复到以前某个版本……

没有代码管理软件之前, 遇到这些问题,简直就是噩梦!好在公司的老鸟们经验丰富,不忍心看我这么被折磨下去,就教我用 SourceSafe。这是一个 Windows 版的版本控制软件,用了这个,马上感觉就不一样了。

如果你要编辑一个文件,首先要把文件 CheckOut,在同一个时间,一个文件只能被一个人 CheckOut,因此,避免了 2 个人同时编辑代码的冲突问题。

你修改完一个文件,测试没问题后,把文件 CheckIn,这时服务器会把你提交的文件另存一份,并把这个文件标记为任何人都可以 CheckOut 的状态。每次提交的版本,以后都可以随时查看,还可以用内置的工具对 2 次提交的版本进行差异比较。

SourceSafe 的最新版本好像是 6.0, 已经是 4、5 年前开发的软件了。后来好像一直没有新的功能改进。

后来,我知道了 freebsd 下面的代码管理软件是 CVS,由于开发环境的问题,一直没怎么用。

现在,我们开始使用 SVN 进行版本管理了。他是比较新的代码管理软件,具体的技术特性大家去 谷歌 和 百度 搜索一下吧。

这里只是做个最简单的介绍,给那些比我还菜的兄弟们抛砖引玉。

未完待续……

AV终结者 关闭防火墙

一种名为“AV终结者”的电脑病毒目前正在网上肆虐,约十万台电脑的杀毒软件以及相关安全工具被病毒破坏,致使电脑失去安全保障,遭受到无数电脑病毒的轮番攻击。金山毒霸反病毒工程师提醒电脑用户,注意关闭U盘、移动硬盘等移动存储介质的自动播放功能。

电脑安全保障遭破坏

昨日上午,晨报记者在四川北路某外贸公司目睹了新病毒“AV终结者”的破坏效应。该公司经理宋振明说:“我们公司规模不大,只有8台电脑,一开始不知是谁先染上了病毒,后来因为相互使用U盘,很快就‘传染’开了。”

记者看到,由于没有及时更新病毒库,宋振明和其同事电脑使用的卡巴斯基等杀毒软件、防火墙全部自动关闭,电脑在没有任何防护措施的情况下暴露在网上,受到雨点般的病毒攻击。连“冲击波”等早已被攻克的旧病毒也任意“蹂躏”着这些电脑,飞速弹出的窗口、不断地自动重启让宋振明的公司办公系统陷入瘫痪。

近日,新病毒“AV终结者”的迅速传播引起了国内外杀毒厂商的高度重视,其“忍者”般的隐蔽手段、强悍的杀毒软件破坏功能让众多电脑用户陷入“网上裸奔”境地。金山毒霸软件开发方提供的统计数据显示,目前至少有10万台电脑报告感染此病毒。

挑战整个反病毒行业

昨日下午,金山毒霸反病毒工程师李铁军在接受采访时介绍,“AV终结者”作者是有意识地挑战整个反病毒行业,其名称中的“AV”即为英文“反病毒”(An-ti-virus)的缩写。“这种病毒主要特征有:禁用所有杀毒软件以及相关安全工具,让用户电脑失去安全保障;致使用户根本无法进入安全模式清除病毒;强行关闭带有病毒字样的网页,只要在网页中输入‘病毒’相关字样,网页遂被强行关闭,即使是一些安全论坛也无法登陆,用户无法通过网络寻求解决办法。”

“AV终结者”设计中最恶毒的一点是,用户即使重装操作系统也无法解决问题:“格式化系统盘重装后很容易被再次感染。用户格式化后,只要双击其他盘符,病毒将再次运行。”

注意U盘使用安全

李铁军介绍,除网络传播外,“AV终结者”的重要传播途径是U盘等移动存储介质。“它通过U盘、移动硬盘的自动播放功能传播,我们建议用户暂时关闭电脑的这一功能。”他建议,用户近期一定要注意U盘使用安全,不要在可疑电脑上使用U盘,以免自己的电脑受到传染。

据了解,“AV终结者”会使用户电脑的安全防御体系被彻底摧毁,安全性几乎为零。它还自动连接到某网站,下载数百种木马病毒及各类盗号木马、广告木马、风险程序,在用户电脑毫无抵抗力的情况下,鱼贯而来,用户的网银、网游、QQ账号密码以及机密文件都处于极度危险之中。 点击下载:“AV终结者”木马专杀工具

.htaccess 防盗链 URL重写 ReWrite 目录访问权限

.htaccess 可以做很多事!

一、防盗链

用 http 协议的 referer 字段,判断对文件请求是否来自相同的域名,如果是,可以正常访问,否则,跳转到其他 url。先来看一小段代码:

RewriteEngine on
RewriteCond %{HTTP_REFERER} !^http://(.)+\.leakon\.com.* [NC]
RewriteRule .*\.(jpg|gif|bmp)$ http://www\.leakon\.com [L,NC]

他的作用是,当请求以 jpg、gif 或 bmp 为扩展名的文件,但 referer 字段不能匹配 http://*.leakon.com* 这个表达式时,服务器返回 302 状态码,重定向到 http://www.leakon.com。

这段代码用于图片站的图片防盗链是能够起到很大作用的,但不太适用于下载站。因为用户如果使用迅雷等专用软件下载文件,下载软件在发送请求的时候,会自动把目标文件所在的域名和路径作为 referer 加到请求里一起发给服务器。除非你能保证用户浏览网站页面的路径和文件所处的下载路径有很大区别,并且精心设计过上面的判断条件,否则,还是找其他办法来做到防盗链吧。

对使用 Windows 的 IIS 服务器的朋友, 如果你想给自己的网站加上防盗链功能,我向你推荐一款功能十分强大的防盗链软件:防盗链专家 ,这是我的一个好朋友开发的,现在已经稳定地运行在几万台 IIS 服务器上,而且很多下载站用的都是这套系统。

二、目录访问权限

有的时候,我们的程序需要读取一些配置文件,配置文件里可能包含一些重要的系统文件的路径,甚至是密码等信息。出于某些条件的限制,这些路径和文件又不能隐藏在 htdocs 目录的下面,都暴露给外网了。

怎样才能保护这些文件,避免被别人浏览到呢?

.htaccess 可以帮你做到。

这个功能使用起来非常简单,只需在你想保护的目录下面放置这个 .htaccess 文件,并添加一行代码即可:

deny all

这时所有对这个目录,以及这个目录的所有子目录的文件的请求都会被拒绝!

国际域名转移 新网 Godaddy (一)

国际域名转移实例教程

现在注册域名很容易了,国内大大小小提供域名注册服务的网站至少有几百家,注册费用也只有几十块钱,只要想一个好名字,几分钟就可以注册一个。

注册商多了,价格会便宜,这本来是好事,但是同时也带来另一个问题,注册商提供的服务水平差距很大,有的设置域名参数等信息很方便,但是续费比较贵,每年要 100 到 150 块钱。

便宜的注册商服务又比较差,有的还会恶意锁定,当你想换一家服务商,或者域名过户时,他们会想尽办法从中作梗,无非就是让你加一笔服务费,由他们帮你做完整个流程。

我查了一些大网站的域名注册信息,很多都是在美国 Godaddy 注册的,百度一下 Godaddy,知道了这是全球最大的域名注册商,注册费用也比国内便宜得多,一般 .com 国际域名注册费是 8.95 美元,加上 $.022 的 ICANN 注册费,一共是 $9.17 ,Godaddy 有很多优惠码,请参考 Godaddy 打折码 ,至少可以优惠 $2,算一下,最终费用是 $7.17,按照最近的美元汇率,折合成人民币是 55 块钱,国内好像没有比这更低的价格了。

我试着注册了一个域名,就可以使用 Godaddy 的域名管理平台,这里可以填写所有域名的所有人信息。(注意,你在国内某些注册商注册域名时,所有人并不是你,实际上是注册商!)同时还有域名密码!这个我在后文会提到,有了域名密码,你就可以把域名任意地转移到任何注册商,而国内的所有注册商在注册的时候是不会提供域名密码的!

同时,Godaddy 还会给你注册的域名提供一个经济型的虚拟主机!说到这个经济型主机,我都为我们国内的虚拟主机服务商感到惭愧,Godaddy 提供 5G 空间的主机,可以是 PHP 4/5,MySQL 4/5,有比较详细的统计信息,可以设定 5 个 FTP 帐号……,而这一切,加上域名的费用,一年有效期,一共是 55 元人民币!国内的虚拟主机服务商,好像是 500M 空间,就是每年 500 到 800 吧?提供的服务是什么水平,我就不说了……

未完待续……

load data infile 导入数据 InnoDB 外键约束

用户表:user
主键:id

内容表:post
主键:id
外键:user_id(关联到 user 表的主键 id)

post 表的数据文件存在文本文件中,字段之间用 tab 分隔,当要把文件导入到 post 表时,因 user 和 post 都是 InnoDB 引擎的,有外键约束,运行导入语句:

load data infile '/home/leakon/post.sql' ignore into table post ignore 1 lines ( user_id, title, unixtime );

MySQL 报错,信息如下:

Cannot add or update a child row: a foreign key constraint fails (`leakon/post`, CONSTRAINT `post_FK_1` FOREIGN KEY (`user_id`) REFERENCES `user` (`id`))

反复尝试,总是失败,后来查了一下解决办法,只要在装载数据之前,插入下述语句,即可暂时关闭外键约束检查:

SET FOREIGN_KEY_CHECKS = 0;

然后再次运行 load data infile 语句,即可立即导入数据。

VMware 为 Freebsd 6 设置网络

1. 打开 Edit -> Virtural Network Settings
2. 在 Host Virtural Adapters 中新增一个 VMnet9
3. 在 Host Virtural Network Mapping 中为 VMnet9 设置 Subnet
Subnet IP: 192.168.10.0; Subnet Mask:255.255.255.0
4. 在 DHCP 中为 VMnet9 设定 IP 地址段,可以设定为 192.168.10.100 ~ 192.168.10.120
5. 在 NAT 中把 VMnet host 设定为 VMnet9
6. 应用上述设置
7. 重启 Freebsd

Godaddy 打折码

Godaddy 是全球最大的域名注册商,也是服务非常好的虚拟主机服务商。
在 Godaddy 注册 .com 域名,一般只要 9 美元,比国内的 新网、万网等注册商便宜多了。而且注册后立即可以得到域名密码,也就是 Authorization Code,有了这个密码,你就可以把域名随意转到任何一个注册商,不像国内,转移域名有很多限制,遇到个别服务商,还有恶意收费等情况!

这里还有非常棒的虚拟主机。
100G空间、每个月1000GB的传输流量、可以绑定无限个网站(注意!是多个独立域名指向不同的目录!!)、可以在 PHP4 和 PHP5 两种环境任意切换 ,25个MySQL数据库、每个数据库可以随意设定是 MySQL4 还是 MySQL5、数据库容量和主机容量共享!!这些设置,你猜需要多少钱?每个月 8 美元,一年是 96 美元,这只是按月付款,如果一次性付一年,还要便宜将近 10 美元!换成人民币,还不到 800 块钱!看看国内的虚拟主机,500M 容量,只能设定一个网站,一个数据库,PHP4,MySQL4,每个月2GB传输流量,这样的主机每年还要 1000 块钱!!

话题说远了,还是说说打折码,尽管刚才说 Godaddy 买东西很便宜,可是人家还提供了打折措施,只要输入一些打折码,在最终付款的时候还是可以便宜几美元!!

只要在最终付费(Review Your Shopping Cart)的时候,在申请折扣输入框(If you have a promo or source code enter it here)输入下列打折码即可。
这个打折码又称为 promo code 或 source code。

DAVID – $1 off any order

USA6 – $1 off any order

OYH3 – $2 off / $6.95 any .COM (renewals too!!!)

goox3004at – $2 off any order

OYH2 – $5 off a $30 purchase

RENEW35 – $5 off $30

gdg0805b – $5 off $30

OYH1 – 10% off whatever

SAVETEN – 10% off any order

SAVENOW – 10% off any order

AMAZON5 – 10% off any order

gdp0621a – 10% off domain registration

gdp1016b – 10% off (excludes domain renewals, domain transfers, .mobi domain name or gift cards)

gdm0420a – 25% off .MOBI registration

Symfony 数据库连接 utf8 (二)

接上文:Symfony 数据库连接 utf8

前文所述的代码,可以加在每个 Module 的 Actions 类的构造函数中,这样就确保了每次数据库链接时都是按照 utf8 编码进行传输和读取的。

但如果 Module 多了,到处重复代码可是一件烦人的事,也严重违反了 DRY(Don’t Repeat Youself) 原则,另外,有些 action 只显示一些表单或其他内容,并不需要数据库连接,而在构造函数中调用那段代码,每次都会连接数据库,造成了不必要的性能损失,因此,我们要进行一下小小的重构。

研究了 Symfony 的框架,发现他在做数据库方面的处理时,用了第三方的工具来封装,Creole 和 Propel,这 2 个工具之间的关系我还没深入研究,据我目前的理解,Creole 是对 MySQL 等数据库的底层封装,Propel 提供了应用层的逻辑代码,也就是说,在写跟逻辑有关代码时,用 Propel 把 SQL 语句封装起来,等语句都拼接好后,调用 Creole 的接口连接数据库。

我看了 Creole 的代码,找到了 getConnection 这个静态方法,他负责解析 DSN 并返回一个数据库连接。我们要做的,就是在每个需要数据库连接会话开始时,发送一条
‘SET NAMES “utf8″‘
语句,这个方法正好给了我们这个机会,因此,我在这个方法的 return 语句前面,调用了另一个方法:


$obj 是 getConnection 要 return 的数据库连接。

打开 symfony/vendor/creole/Creole.php ,在 getConnection 方法的 return 前面加入上面这条语句,然后写出方法的定义:

prepareStatement($query);
return $statement->executeQuery();
}
}
?>

说明:为了保证 SQL 语句只被发送一次,定义了宏

 

作为判断标志。下次调用这个方法的时候,不会执行任何操作。

删除盗版Windows XP警告 wgatray.exe

Windows正版增值Windows Genuine Advantage, WGA)计划是微软自身为了对抗盗版而所设的一个项目。

最近 Windows Update 会自动下载一个更新,就是这个 wga,他会验证你正在使用的系统是否为正版。如果没有通过验证,会一直在任务栏的小图标区域显示一个小星星,不停的提示你的系统是盗版,很烦人!并且,他还会给你的系统打上盗版软件的标记,如果你想使用其他微软新推出的软件,如 IE7、LiveMailDesktop等,都会拒绝安装。

要删除这个烦人的小图标需要一下几步:

1、首先重启你的计算机,进入安全模式,登陆管理员帐号,保证你拥有进入 windows\system32 以及 windows\system32\dllcache 路径的权限。在这两个路径下均有一个名为 wgatray.exe 的文件。你必须将两个路径下的 wgatray.exe 均删除,这将阻止 Windows 在启动时弹出”盗版XP”气球。
在删除 windows\system32 下的 wgatray.exe 可能需要一点技巧:

步骤一:wgatray.exe 图标 -> 右键 -> 删除 -> 出现删除确认框后先不要按”确定”按钮;

步骤二:Ctrl+Alt+Del -> 打开进程管理器 -> 找到 wgatray.exe -> 删除 -> 出现删除确认框后先不要按”确定”按钮;

步骤三:先按打开进程管理器的删除确认键,然后用最快速度按步奏一的删除确认键;

步骤四:如果 windows\system32 下的 wgatray.exe 不会出现,代表操作成功,继续删除 windows\system32\dllcache下的 wgatray.exe。

2、进入注册表,进入
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\ Windows NT\CurrentVersion\Winlogon\Notify ,删除其中的”WGALOGON”文件夹,这将使 Windows 无法加载任何有关 WGA 的 DLL 文件。

重启计算机,你将暂时告别微软正版增值计划的”骚扰”。

听了上述的方法,是不是觉得很麻烦?

没关系,现在有了一个小工具,他将自动帮你搞定上述步骤,只需点一下鼠标即可:

步骤:

1、先下载这个小工具:Remove_WGA.zip

2、解压到空的目录下,运行 install.bat 即可;

3、重启电脑,搞定!

注:破解程序来源自 http://www.9down.com/

这个破解程序所在页是
http://www.9down.com/…Validation-v1-7-36-0-10774/

CuteFtp 8.0 Professional 英文正式版 + 破解补丁

压缩包包含2个文件:

cuteftppro.exe 8,253,896 字节

patch.exe 169,984 字节

破解方法:

1、运行原版安装文件 cuteftppro.exe;

2、安装完成后,打开程序所在目录,通常都是”C:\Program Files\GlobalSCAPE\CuteFTP 8 Professional”,把patch.exe 复制到该目录并运行;

3、运行时有2个按钮,先点击”Patch”,破解主程序,然后点击”Register” ,填入注册信息,然后重新打开软件,就是正式版的了。

点击这里下载: CuteFtp 8.0 Professional 英文正式版 + 破解补丁