Archive

Archive for the ‘Develop’ Category

可恶,被 PHP-Mcrypt 的官方 Example 误导了

October 22nd, 2009

在看 php 的 mcrypt 加密,想使用对称算法,解决小块内容(比如 url、post)网上传输的安全性。即加密、解密用同一个密码。官方文档有个非常完整的演示功能的例子,大概顺序是:

打开 module 生成 IV 得到 key/密钥/密码 初始化(引擎?) 进行加密操作 关闭(引擎?) 重新初始化(引擎?) 进行解密操作 关闭(引擎?) 关闭 module

加密、解密放在了一个代码片段中,大概是想说,加、解密就那一句代码不同而已。

按照这个理解,为了使用方便,我把加、解密分解成了2个函数,内容都和例子差不多,不会有错。但一运行,不管用哪种加密算法,都会出现奇怪的解密后与原文不一

......[Continue Read/阅读全文]

PHP , , , , ,

Git 合并 patch 时的冲突处理一例

August 25th, 2009

git version 1.6.0.4

几个新手刚刚开始接触 Git,为了维护核心仓库的“纯洁”,避免太多无关信息被误提交进仓库(再次批评一些图形化工具默认的“Select All”),采用了核心仓库只读,邮件提交 patch,审核后再提交的工作流程。

期间有时会遇到合并冲突,正常的原因一般是未及时下载新版本产生了冲突,特殊一点的原因是手工修改 patch 内容导致的。有时候看注释写得不够准确,忍不住就改了,有时候是 Geany 保存时自动去除了 patch 原文中的行尾空格,有时候是文件回车格式、BOM 等变动了,总之合并 patch 的时候,如果生成 patch 的“原稿”找不到,一般

......[Continue Read/阅读全文]

Svn/Git , , , , , ,

[Git]初学者注意事项

August 4th, 2009

实在是受不了有些人的 Git 提交,费大力气“回滚”,遂整理了这些刚开始用 git 或者还没有建立 scm 概念时容易犯的错误。

和源码无关的东西,尽量不要进仓库

不得不说一些图形化软件,在提交内容的时候大多提供一个“全选”或者“Select All”功能,这是最不好的了,一些懒惰的同志看都不看就连瓢带碗都提交了。

测试时上传的文件,测试时的临时文件,统统不要 对应上一条,强烈建议把所有文件的上传保存目录另行设置,放到源代码目录以外 编辑器产生的备份文件、临时文件,编译时的中间文件,统统不要 对应上一条,有个例外就是为了实现通过 Git 更新系统,.NET 的 bin 文件要进仓库,导

......[Continue Read/阅读全文]

Svn/Git , , , ,

Curl奇怪的403错误

July 1st, 2009

自己用的小PHP应用,使用curl抓网页下来处理,为了穿墙方便,使用Privoxy作为代理,便于选择哪些网站使用proxy、哪些不用。但今天却遇到了奇怪的问题,访问google baidu这些网站居然都返回403错误,而访问其他的一些网站没事,如果设置为不使用proxy则都能正常访问。

难道google baidu就不让用proxy连接么?显然不可能,所以打开curl的信息输出(curl_setopt($this->mSh, CURLOPT_VERBOSE, 1);)看看,得到以下结果:

* Trying 127.0.0.1… * connected * Connec

......[Continue Read/阅读全文]

Develop, Internet, PHP , , , , , ,

[Git]真正回滚已上传的更新

May 14th, 2009

首先,抛弃本地的修改应当用:

$ git reset –hard HEAD

使用 git 自身功能来回滚代码,取消上一次的修改应该用:

$ git revert sha1_of_commit

但要注意,虽然代码是实现了回滚,同时也会自动产生一条“回滚代码”的 log 。

有些时候,由于工作人员粗心,错误提交的内容完全无意义且占用空间颇大,就想真正 undo 掉错误的 commit,连历史记录都不想留。以下是我尝试的做法:

准备一份干净的客户端仓库

在客户端,下载服务器上的每个分支,并更新到最新状态。git branch -a查服务器上有哪些分支,挨个 checko

......[Continue Read/阅读全文]

Svn/Git , , , , ,