loading...

记录一下搜狐和网易的开源镜像

作者:sluke 发布时间:June 10, 2010 分类:资源资料

门户带宽保证,速度快,资源足

搜狐,有ebook目录:
http://mirrors.sohu.com/

网易,我记得这个就是debian的cn99源:
http://mirrors.163.com/

Firmkernel网站内容管理系统

作者:sluke 发布时间:May 31, 2010 分类:资源资料

落伍版主bleakwind开发,采用LGPL发布,值得推荐

托管在google code
http://code.google.com/p/firmkernel/

系统介绍
- 强大的模型管理,三层多记录嵌套,让您的网站可高度定制化...
- 我们用模型实现模块,而不是用模块伪造模型,简而言之就是会给您一个高度定制化的模型功能...
- Firmkernel只包含频道页和内容详细页,其他所有页面都是独立页面,您可以任意组合...
- 系统采用php官方推荐的 Smarty模板引擎, 配合Adodb进行数据库查询, 采用Xajax实现Ajax效果,
Jquery封装JS代码, 另外还采用了CKeditor超文本编辑器.代码与模板完全分离, 您再也不用在
PHP中修改HTML, 让模板制作更加自由, 力求系统的底层具有可扩充和标准化...
- 本站独家开发的Session系统, Cookies系统, 独创最优算法, 使用简介明了, 确保系统承受更大
负载...
- 独创Ajax文件上传, 让体验更加美好...
- 更多优秀功能正在制作中,密切期待...

技术支持论坛
http://forum.weaverdream.com/

ubuntu10.04的The installer encountered an unrecoverable error错误处理

作者:sluke 发布时间:April 30, 2010 分类:闲言碎语

在windows7下用wubi安装ubuntu10.04,在解压文件重启之后,遇到了“The installer encountered an unrecoverable error”的错误,中文提示是“安装遇到致命错误,需要重新引导”,我用以下操作完成了安装:

1、重启计算机进入ubuntu,完成安装
2、在倒计时那里按Esc进入more,这时是一个列表,有各种安装方式
3、选择倒数第二个,不成功就选择倒数第三个

done

这似乎是一个bug,在ubuntu的项目里有人报告过。

维持开源团队及项目的几点心得

作者:sluke 发布时间:December 28, 2009 分类:闲言碎语

1、合理的成员构成,分工明确,宁缺毋滥
2、强势热忱的team leader
3、不间断热点事件激活团队,积极反馈
4、良好的成员关系,偶尔相互妥协
5、稳定的个人收入

这是几句闲话。

Check Software Update,一个小工具网站的构想

作者:sluke 发布时间:October 20, 2009 分类:劳动万岁

这篇日志,是为了纪念几年前一段狂热试用开源程序的日子……

想做小白鼠,试用最新版本的程序,就需要每天访问各种程序的官方网站,看是否有更新,过去我是通过订阅程序官方的博客或邮件列表来达到及时关注的效果,这是一个费时费力的过程,而且并不是所有程序都有博客或是邮件列表。于是我就构思了一个小工具网站,用于自动检测各种程序更新。

核心的机制是通过监测程序的发布网页(尤其是程序下载页的更新)是否有变化,来判断程序是否有更新(当然这样并不精确,所以在网站用语选择上,使用“可能”这样的词)。

一、监测机制
1、RSS监测,这个没什么好说明的
2、Page2RSS,利用这个工具把网页转成RSS来检测
3、监测网页的MD5值是否有变化,需要把整个网页load到服务器,消耗比较大
4、对于开源程序,最好不过的方式是检测SVN的更新,还能获取到更新日志,效果佳
5、托管在google code、sf.net上的项目,单写规则监测,能获取更优质的信息,例如监测typecho的update list

二、展示机制

首页:
将被监测的程序分为两种,在显示时略有区别
1、有SVN,能获取到详细信息的
2、只能监测到可能更新的

采用按最后一次监测到更新的时间倒序排列,同日更新的按收录顺序排列,就像是一个冒泡算法,有更新的会排到前面。用于大致如下:

“XXX日检测到XXX程序可能更新”

程序展示页:
这里还说产生一个需求,就是想进一步了解某一个程序,这就需要有一个单独程序展示页,包括程序简介以及采集网络中对该程序的评价(通过采集blogsearch.google.com的搜索结果实现,缺点在于可能会有重复信息,优点是自动更新,质量由google去保证,最大限度减少人工)。

三、程序实现
这里我实际上构思了两种实现方式:
1、单独写一个程序。优点是简单,确定是不方便编辑,需要做个后台管理部分
2、改造博客程序实现。优点是管理方便,缺点是冗余

单独程序实现包括两个部分:
1、程序
包括
1.1 index.php
功能:判断是否需要更新,并导入一个html显示,下面用伪代码写一下思路:

1
2
3
4
5
6
7
8
9
10
11
12
<?php
//导入一个记录上次更新时间的txt文件
import lastUpdateTime.txt;
//获取当前服务器时间
getNowTime();
//判断是否需要更新,7200是时间,超过2小时即可更新
if NowTime>lastUpdateTime+7200{
//导入监测更新的程序
import checkUpdate.php;
}
//不需要更新则导入一个事先生成的html,可以减少数据库查询
import display.html;

1.2 last_updateTime.txt
功能:记录上次更新时间的txt文件

1.3 check_update.php
功能:根据监测类型监测程序是否更新,并写入数据库,需要分组,避免超时,以下是伪代码表明思路:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
<?php
//数据库连接及操作
function updatebase(){}
//监测RSS的函数
function checkRSS(){
if 程序更新==true {
将更新时间写入数据库;
}
}
//监测网页MD5的函数
function checkPageMD5(){}
//监测SVN的函数
function checkSVN(){}
//监测google code的函数
checkGooglecode(){}
if checkType==RSS{
checkRSS();
}
elseif checkType==MD5{
checkMD5();
}

1.4 update_comments.php
功能:获取以程序名为关键词的google blogsearch结果,并采集到评论表里,供程序展示页使用,需要分组,避免超时,以下是伪代码表明思路:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<?php
//数据库连接及操作
function updatebase(){}
//取出程序名称,提交搜索并获取结果
function getBlogsearch(){
//获取程序名称
getSoftTitle();
//提交搜索并获取结果
getBlogsearch(){
return $blogTitle, $blogSummary, $blogURL;
}
//取出已有评论的URL与新获取的URL比较,去重
removeRepeat();
//写入数据库
writeDatebase();
}

1.5 writePage.php
功能:取出数据库内容,生成html,供首页显示,以下是伪代码表明思路:

1
2
3
4
5
<?php
//取出数据
getSoftDate();
//写入html
writePage();

1.6 index_content.html
功能:首页内容,供index.php调用

1.7 display_soft.php
功能:显示程序展示页

2、数据库设计(简表)

2.1 soft表
字段:
softID 标识录入程序ID 数值
softTitle 程序名称 文本
softSummary 程序简介 文本
softURL 官方地址 文本
checkURL 监测地址 文本
checkType 监测类型 数值

2.2 comment表
字段:
commentID 标识评论ID 数值
commentURL 评论来源URL 文本
content 评论内容 文本
contentBlogTitle 评论来源博客名称 文本
contentBlogURL 评论来源博客URL 文本
softID 标识从属程序ID 数值

上面就是单独写程序的构思,还有一种改造博客程序的实现方式,原理差不多,就是需要写监测程序的功能和加入评论内容的功能。

多一句嘴,已经有网站很好满足了我最初构思这个工具网站的需求。http://chkversion.com/