想起我的HTML入门书《网页设计语言教程(HTML/CSS)》

作者:sluke 发布时间:November 12, 2009 分类:闲言碎语 5 Comments


作者: 于鹏
ISBN: 9787505391109
页数: 194
定价: 19.0
出版社: 电子工业出版社
装帧: 平装
出版年: 2003-9-1

那是我在金五星的清华大学书店买的,不知道怎么就逛到那里去了,买了这本书,从这本书开始比较系统自学HTML,互联网于我,终于不只是游戏了,后来长期混迹于个人站长社区,在没有自己电脑的情况之下,克服种种障碍,现在也算在互联网行业里摸爬滚打有些年头了。

凭心而论,这本书very基础,也完全没有什么出彩的地方,对了一个完全不懂的菜鸟来说,却不失为一本中式教科书。

分享一下joyqi同学的一个脚本,用于短域名不能访问

作者:sluke 发布时间:October 30, 2009 分类:闲言碎语 No Comments

常常会遇到短域名不能访问的情况,joyqi同学写了一个脚本,解决这个问题。

<?php
 
//copyleft by joyqi.com
 
$url = isset($_GET['url']) ? $_GET['url'] : exit();
$parts = parse_url($url);
 
if ('http' == $parts['scheme']) {
 
        $ch = curl_init();
        curl_setopt($ch, CURLOPT_URL, $url);
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
        curl_setopt($ch, CURLOPT_HEADER, true);
 
        if (preg_match("/location:[ ]+[^\r\n]+/is", curl_exec($ch), $out)) {
                header($out[0]);
        }
        curl_close($ch);
}

使用:
1、保存成一个php文件,比如jump.php
2、上传到目录,比如http://sample.test.com/jump.php
3、访问http://sample.test.com/jump.php?url=http://sample.ly/fffff

给typecho写个插件就是这么简单

作者:sluke 发布时间:October 25, 2009 分类:闲言碎语 2 Comments

给typecho写一个插件并不是一件高深的事情,首先,需要了解typecho php使用的编码规范,请参考
http://typecho.org/phpcoding
论坛的bin同学也给出一个了简明的说明:
http://forum.typecho.org/viewtopic.php?f=6&t=160

以后就是给typecho写一个方便部署统计代码的插件,使用说明:
1、把下面的代码保存成AnalyticsHelper.php(注意大小写)
2、上传到/usr/plugins/
3、后台启用AnalyticsHelper插件
4、配置插件,输入统计的js代码
5、在模版的合适位置加入<?php AnalyticsHelper::output(); ?>

<?php
/**
 * AnalyticsHelper
 * 
 * @package AnalyticsHelper 
 * @author sluke
 * @version 0.9 beta
 * @link http://typecho.org
 */
class AnalyticsHelper implements Typecho_Plugin_Interface
{
    /**
     * 激活插件方法,如果激活失败,直接抛出异常
     * 
     * @access public
     * @return void
     * @throws Typecho_Plugin_Exception
     */
    public static function activate(){}
 
    /**
     * 禁用插件方法,如果禁用失败,直接抛出异常
     * 
     * @static
     * @access public
     * @return void
     * @throws Typecho_Plugin_Exception
     */
    public static function deactivate(){}
 
    /**
     * 获取插件配置面板
     * 
     * @access public
     * @param Typecho_Widget_Helper_Form $form 配置面板
     * @return void
     */
    public static function config(Typecho_Widget_Helper_Form $form)
    {
        /** 配置各种统计代码 */
        $name = new Typecho_Widget_Helper_Form_Element_Text('code', NULL, 'Analytics code', _t('写入统计代码'));
        $form->addInput($name);
    }
 
    /**
     * 个人用户的配置面板
     * 
     * @access public
     * @param Typecho_Widget_Helper_Form $form
     * @return void
     */
    public static function personalConfig(Typecho_Widget_Helper_Form $form){}
 
    /**
     * 插件实现方法
     * 
     * @access public
     * @return void
     */
    public static function output()
    {
        echo '<div style="display:none">' . Typecho_Widget::widget('Widget_Options')->plugin('AnalyticsHelper')->code . '</div>'; 
    }
}

如果觉得php高亮挺好看,可以去70同学那里下载代码高亮插件
http://www.joyqi.com/typecho/move-to-mediatemple.html

视频网站与内容提供商的共赢

作者:sluke 发布时间:October 22, 2009 分类:闲言碎语 1 Comment

互联网融入生活的程度越来越深,是我们这个时代的最大特征之一。互联网的蓬勃发展,形成了一个巨大的互联网产业群,诞生了各种新奇的企业,比如搜索引擎、即时通讯、电子商务还有视频网站,无论是IT从业者或是互联网用户,都受益于这种产业发展。

中国的互联网有自己的性格,它是一个网民没有付费习惯,娱乐型的互联网。在全球经济衰退的压力之下,不管是视频网站还是内容提供商,或者是其他参与互联网产业的企业,都需要寻找到更快更稳定的赢利方式。随着互联网产业发展,也可以看到这样两个有趣的趋势:

第一个趋势是视频网站在向媒体化的方向发展。打开视频网站首页,不管是优酷、土豆、56等专业视频站,还是新浪、搜狐、网易等门户的视频频道,都能看到大量的新闻内容,同传统媒体的合作,使视频网站获得了新闻源,获得了内容的公信力。同时,视频被网友分享和引用到了各种论坛和博客,或者以其他形式在互联网传播,使视频网站获得了庞大的访问量,也获得了传播渠道。公信力和传播渠道正是成为新媒体的必要条件。

第二个趋势是内容提供走向品牌化。有相当多的内容制作团队,其中包括企业和非正式团体,在为互联网生产符合网络传播规律的内容。这种专业性产生了很多内容品牌,比如各种风靡一时的互联网动画形象。

视频网站媒体化和内容提供品牌化这两个趋势其实正好指明了视频网站和内容提供商之间关系的走向。我们可以把视频网站和内容商的关系分为三个阶段:

第一个阶段,视频网站和内容商是对立的。这是在从前,在视频网站刚刚起步的时候,充斥着各种盗版内容和低质量内容,内容商不把视频网站当作潜在的合作者,奔走维权,双方关系紧张对立,直接影响到了收入。

第二个阶段,也就是现在,随着国家对知识产权保护的力度越来越大,视频网站发展越来越快,视频网站和内容商的关系变得更微妙,形成了一个杂货市场与小商品供货商的关系,虽然产生了一些以播放权为主的版权交易,但是属于试水性质,数量少,内容形式单一,仅仅是内容商与传统媒体关系的一种复制,视频网站与内容商依然时有摩擦。为了摆脱这种困境,双方做了不同的探索:

视频网站开始更积极与传统媒体合作,获取新闻类内容,并自建或者引导网友生产视频,降低内容成本。这样的方式还不能满足中国这个娱乐化互联网的娱乐需求,而且网友生产的内容质量参差不齐,网站运营成本比较高。同时,强势的传统媒体对视频网站自建内容还是非常敏感的。内容商这一方面,开始自建互联网渠道,由于自身对互联网理解不够,就造成了内容发行成本搞,渠道维护成本高等缺点,并且受限于自建渠道的流量,传播范围非常有限。

虽然最后的结果是双方收入增长都不明显,却说明了一个问题,视频网站与内容商在融合,两者有合作的必要并能找到一些交集,这也就是视频网站与内容商关系发展的未来,是需要寻求的共赢。

视频网站与内容商共赢的关系,就像是苏宁电器与家电企业的关系,是品牌大卖场与品牌供货商的关系。合作的方式包括很多种:

比如广告分成,内容商帮助视频网站迅速转变为数字发行渠道,共享广告收入和发行收入。
比如版权合作,共同创建优质内容,形成有高附加值的品牌型内容,这些内容是具有排他性的,只在合作视频网站播放。
比如广告精准投放,内容商可以根据视频网站的广告需求,将定制广告植入内容,达到广告效果最大化,双方的深度合作可以为视频网站带来正版化,会产生良好的口碑,增强广告商的信心,大大有利于品牌广告的投放,众所周知,品牌广告才是广告收入的大头,才是收入增长的制高点。
比如共同培育动画形象等周边产业。

这些对视频网站和内容商未来的期望并不是空谈,美国就为我们提供了一个例子,hulu.com,这是内容商与互联网结合的典范,内容商参与而不干预视频网站的运营,视频网站通过广告和分销版权获得收入,2008年它的收入达到了9000万美元,风头盖过了youtube.com。

热情期望视频网站与内容提供商能共同完善中国互联网的视频内容产业链,构建一个健康的网络视频生态圈,来达到共赢。

【这就是一篇自说自话的文字,为整理自己的思路】

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

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

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

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

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

一、监测机制
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显示,下面用伪代码写一下思路:

<?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
功能:根据监测类型监测程序是否更新,并写入数据库,需要分组,避免超时,以下是伪代码表明思路:

<?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结果,并采集到评论表里,供程序展示页使用,需要分组,避免超时,以下是伪代码表明思路:

<?php
//数据库连接及操作
function updatebase(){}
 
//取出程序名称,提交搜索并获取结果
function getBlogsearch(){
  //获取程序名称
  getSoftTitle();
  //提交搜索并获取结果
  getBlogsearch(){
    return $blogTitle, $blogSummary, $blogURL;
  }
  //取出已有评论的URL与新获取的URL比较,去重
  removeRepeat();
  //写入数据库
  writeDatebase();
}

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

<?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/

  1. 1
  2. 2
  3. 3
  4. 4
  5. 5
  6. 6
  7. ...
  8. 91
Clicky Web Analytics