RSS地址: http://feed.black-xstar.com
共有2篇文章被收藏推荐
报错
推荐
分类: 科技新闻

Verbatim (威宝)近日宣布世界上首张双层记录兼双面光雕8X DVD+R碟片诞生。LightScribe(光雕)技术由惠普开发,却被威宝发扬光大。单面单层的光雕碟片容易实现,双面双光雕的碟片在技术上的难度就很大了,双面双光雕的创意很好,但估计是叫好不叫座。
上个月某天心血来潮认真的填写了表格,昨天终于收到了寄过来CD碟。
我是寄到家里,但是填的时候要写组织名称,就写了学校的,可能导致中国邮递员糊涂了,上面贴了张纸条写上“试投某某地址”,不过还算好收到了。
信封是接近正方形的,里面有很多防止压坏的发泡塑料纸,打开来有一张光碟和四张帖子。
废话不多说了,还是上图吧:





都很精美,尤其是贴纸我很喜欢。
通常,我们选择通过 FTP 上传文件的形式将 WordPress 的原文件上传到空间中,然后进行安装。这是最常见的方法。显然,通过 FTP 的方法没有什么缺点,是空间提供商的标准服务。本文要介绍的是另一种方法,通过 SSH 连接 SVN 进行安装或升级。较之传统的 FTP 方式有一定的强处。
什么是 SVN
SVN 的全称是 Subversion,由 CollabNet 公司于 2000 年起开发。SVN 是一个版本控制系统,采用分支管理系统。其他的版本控制系统还有 CVS、GIT 等。由于 SVN 的开发目标就是要取代 CVS,所以改进了 CVS 的很多不足之处,较之 CVS 有以下的优点:
- 原子提交。一次提交不管是单个还是多个文件,都是作为一个整体提交的。在这当中发生的意外例如传输中断,不会引起数据库的不完整和数据损坏。
- 重命名、复制、删除文件等动作都保存在版本历史记录当中。
- 对于二进制文件,使用了节省空间的保存方法,简单的理解,就是只保存和上一版本不同之处。
- 目录也有版本历史。
- 优化过的数据库访问,使得一些操作不必访问数据库就可以做到。这样减少了很多不必要的和数据库主机之间的网络流量。
由于 SVN 的很多优点,很多先前使用 CVS 的团队决定换用 SVN,包括 FreeBSD、Apache、GNOME 等。Google Code 也使用 SVN 做为版本控制系统。当然,WordPress 也是使用 SVN 的。
WordPress 的 SVN
WordPress 1.5 之前,WordPress 是托管在 Sourceforge 的,Sourceforge 使用 CVS 作为版本控制系统。从 WordPress 1.5 开始,开发团队自行搭建了自己的版本控制系统,基于 SVN。
SVN 对于一般的用户没有特别的作用,对于开发展的作用却很大。如果你不属于开发团队,也可以通过 SVN 贡献自己的代码,或者你是主题、插件的开发者,可以通过 SVN 获得最新的开发版本来测试其兼容性。
事先的准备
通过 SVN 安装、升级 WordPress 需要具备一些条件,这大概也就是这一方法不太普及的原因所在,因为这些条件往往不是标配,属于附加服务,这也使该方法看起来很高级、很 geek,实际上则很简单。让我们来看看需要准本些什么。
- 开通 SSH 连接的空间
只有你所使用的空间支持 SSH 连接才能使用 SSH 连接到 SVN 服务器。对很多人使用的 Dreamhost 默认是开启 SSH 连接的,如果没有开通可以写信给客服请求开通。本站使用的 CPH 默认不开通,需要提供个人真实信息证明才可申请开通。
- SSH 连接软件
Windows 系统下使用较多的是 PuTTY,我目前使用的是基于 Putty 衍生的 PieTTY。通过 PieTTY 连接到 WordPress 的 SVN 服务器,将所需文件传输到空间。
安装 WordPress
做好准备后,开始全新安装 WordPress。
1. 连接 SSH
配置连接信息之后便可以连接到空间的 shell。
2. 进入相关目录
进入 shell 后,只是进入了空间的根目录,需要再次进入要安装 WordPress 的目录:
如果所需目录还没有建立,可以通过命令新建目录。比如我想将 WordPress 安装在 public_html 目录下的 blog 子目录:
然后再进入该目录:
3. 获取 WordPress SVN 服务器上的文件
WordPress 的 SVN 服务器上有很多分支,在获取文件之前,先明确要获取的分支。分支的两个选择是:
- trunk
trunk 分支中的文件总是最新的,跟随开发的脚步,所以很可能会导致 WordPress 的不正常运行,除非用于测试目的,正常安装不建议使用这一分支
- 某发布版本
这一分支下的文件总是稳定的,正常安装推荐使用该分支。
明确所需分支后便可以获取对应的文件了:
注意后面的 ./,这很重要,否则获得的全部文件将出现在 blog/trunk/ 目录中。这是获取 trunk 分支中的文件,怎么获取某发行版本的文件呢,很简单:
上面的代码获取 WordPress 2.6.5 下的全部文件。相应的版本可以在“这里”查到。
升级 WordPress
通过 SVN 升级 WordPress 大概是这一方法最大的便利之处,而且可以说是无痛的,即便出了问题也有后悔药可以吃。升级类似全新安装,也分两种。升级到最新的 trunk 分支,执行下面的代码:
升级到某发行版本,执行下面的代码:
如果升级到某一 trunk 或某一版本,发现和主题或插件不兼容,可以平滑的返回到之前的版本。例如,当前版本号是 9999,我想回溯到 6666,执行下面的代码:
一个好的习惯是,在执行升级之前,先通过 svn info 查看当前版本信息,记住 revision 号,以防出现问题方面回溯。
总结
使用 SVN 安装、升级 WordPress 的好处很多,特别是针对升级,不需要“下载—解压—上传”,升级便利,方便回溯。如果条件允许,推荐使用 SVN 安装、升级 WordPress。
参考资料
WordZine 的新 Feed: http://feed.wordzine.cn
© Andor for WordZine, 2008. | Permalink | One comment | Add to del.icio.us
我本来就有玩一些小游戏,当然很久很久以前玩过连连看也不出奇。
我小的时候确实有那么点虚荣心,比如游戏等级高我就觉得爽,就觉得别人不会看不起(其实不然)。
所以我今天也提供个外挂给虚荣心十足的朋友,希望你有相通的一天。
如果你女友有玩这个游戏你给她说我帮你玩玩,然后一天暴级了我想应该会说些什么的(女人?)
这个外挂特别很明确,FREE(免费的),NO Advertisement(无广告),Intellect(智能)
这个智能便是卖点(虽然作者没有要卖),晚上挂机是十分一流,但是我想应该要有蓝钻不被KICK才能挂吧。
只要打开软体便可自动检测游戏窗体自动准备自动“胜利”,别要别人的外挂没你开的速度快。
下面是一张图片:
这个是游戏的截图,一下子就 47 连击,速度开到最快可以秒杀哦。
相关日志
注意:此文和UCHome的Manyou开发模式不同,Manyou是利用Discuz的开放平台MYOP开发公共插件,可供所有基于UCHome的网站使用;而此文涉及的开发模式与Manyou不同,是在本地开发,以APP的形式扩展UCHome原有功能。
UCHome是Discuz的一款SNS程序,能让每个网站都用拥有自己的Facebook/校内。Discuz也提供了MYOP开发者平台,所有开发者都可以在此平台上开发自己的应用程序供其他UCHome网站使用,不但可以为自己的网站增加功能,同时也能将自己网站的功能推广到数以万计的UCHome网站中,可谓一举两得。
有时候,开发者并不一定希望使用MYOP开发应用,一是由于产品的需要,并不希望开发出来的应用被其他网站使用;二者MYOP的开发,必须处理联网模式,不能本地开发,较为繁琐。因此,很多有能力的站长会在UCHome的基础之上,以修改UCHome代码的方式增加功能。
但UCHome发展速度很快,经常会有版本更新,往往这个时候,修改了UCHome源码的站长就会面临一个两难的问题:是升级程序?还是为了保留以往的修改,而不升级?在我看来,如果前期做好开发规范,是完全可以避免这个问题的。下面介绍一下我在UCHome Apps开发过程中的一些经验。
想要能够随着官方的程序发布实现平滑的代码升级,无非一点:尽量的少改UCHome原有代码。
少改,但不是不改。一点不改程序的源代码是不可能的。但如何能实现少改呢?我定制了了下面的一些规则:
基本原则
除template目录下的模板文件,其余uchome原有文件尽量不要改动。如需要改动,需汇报项目管理人员记录后才可实施修改。
即使需要对系统原有文件进行修改,尽量不要在文件中增加逻辑代码,也不要修改原有逻辑,使用include的方式来增加逻辑。
例如,需要在系统首页增加growth的表单,设计到两个系统原有文件的修改:
source/space_feed.php
template/space_feed.htm
但请不要直接在这两个文件中增加逻辑代码,对于模板文件,可以使用<!-{template apps/growth/tpl/widget/form.htm}–>的方式加载一个外部文件;同样,针对程序文件,也可以使用include ‘apps/growth/widget/form.php’的方式。
采用这样的方式,即使以后程序文件被覆盖,也不会增加太多工作量。
文件结构
- 以apps.php作为入口文件,所有应用都使用类似apps.php?do=growth&ac=list这样的URL访问应用程序。其中do为应用名称,ac为动作(执行的脚本名)。例如上面的例子,实际是以apps.php为入口,再加载apps/growth/list.php。
- 应用程序统一放在apps目录之下,以应用的名称创建文件夹。例如,成长曲线的名称为growth,则创建apps/growth/目录,所有成长曲线的应用程序都放在此文件夹下。其中tpl文件夹存放模板文件,image文件夹存放图片,可根据应用需求安排apps/growth/内的文件结构。
- growth/doc 目录用于存放当前应用的文档,例如开发文档、api手册、数据库脚本等。
- growth/api.php为growth为外部程序提供的接口。文件内的代码是一个类,命名为AppsGrowthApi,类中方法均为静态方法,方法名采用驼峰格式,例如getGrowthPointByUid,方法名称要足以描述其功能。
- apps/common文件存放一些应用程序公用的文件,例如公用的js库,function库,类库等。
命名规范
程序命名规范
- 文件名一律小写,单词间以下划线分隔
- 类名采用首字母大写的驼峰命名方式
- 类中的方法名采用首字母小写的驼峰方式命名
- 类中的私有方法和私有变量以下划线开头
- 函数名全小写,单词间以下划线分隔
- 变量名同函数名
数据库命名规范
- 数据表以uchome_app_作为前缀,例如uchome_app_growth_point
- 字段名全为小写,以下划线分隔单词
- 建议在建表时注明备注,方便理解字段用处
- 对数据表结构的更改,请在当前应用的doc/sql目录下以日期为单位新建文件,记录更改。
-
搜索不到您的频道?
>立即加入 -
想与您的读者互动?快来认领您的频道
>立即认领 -
想知道您的博客详细订阅数据么?
>到FeedSky查看 -
想体验专业的博客托管服务么?
>注册BlogBus




