用Dust-Me Selectors清理CSS文件

现在减少文件大小是前端的一项重要任务,对于jscss文件可以用软件去除里面的注释和空格来达到减少体积的目的。但是css文件还是有很多无用的代码,可以用Dust-Me Selectors来得到无用代码的名单,然后就可以按图索骥来清除它们。

  • 支持外链形式的样式表,如使用<link>@import外联到页面中的样式表,还包括<?xml-stylesheet?>处理结构里带的样式表。但是对于嵌入样式(在标签<style>内的样式)和内联(使用元素的style属性的行样式)的样式,是不支持的。
  • 支持IE条件注释语句。
  • 即可以检查单页,也可以检查整个站点。
  • 可以识别大部分的CSS2CSS3选择器,但可以识别所有的CSS1选择器。
  • 可以识别一般的CSShack,如:“* html #foo”会被当成“html #foo”。

Dust-Me Selectors

Dust-Me Selectors

发表在 前端 | 标签为 , | 一条评论

Table的“min-height”属性

今天在制做页面时,需要对table元素里的td设置min-height属性,但怎么设置都没有效果。我想难道是和position属性一样,不能对table元素设置吗?搜索了一下这才恍然大悟,原来对于table元素,如thtd来说,使用height属性就等效于min-height属性了,如果表格内容高度大于所设定的高度值,表格会自己扩大高度以适应内容的。如:

td{
    height:300px; /* 等效于普通元素的 min-height */
}
发表在 前端 | 标签为 , , | 留下评论

用php操作sqlite3

Sqlite是一个跨平台的软件,不需要安装或设置,只需在最终用户的系统上创建一个数据库文件就可以了,在平台和系统之间移植非常方便。由于它具有跨平台、规模小的特点,所以被很多公司使用,如MozillaAdobeSymbian等。

这段时间我也打算学习下Sqlite,做一些简单的演示时非常方便,不用在最终用户的系统安装数据库环境了。但在利用PHP操作数据库时发现PHP默认只支持到Sqlite2,不支持最新版的Sqlite3。如果想支持Sqlite3就要使用PDO。要想使用PDO,需要在php.ini里面载入php_pdo.dllphp_pdo_sqlite.dll两个模块。如下:

extension=php_pdo.dll
extension=php_pdo_sqlite.dll

如果这两段代码前面有;,就把它去掉。下面是我编写的Sqlite操作代码,一共有五个函数,分别是链接数据库、插入新数据、删除数据、更新数据和显示数据。


/**
 * 创建一个 sqlite3 链接
 * @author Jon<jon.ju@msn.com>
 * @return object 返回一个数据链接对象
*/
function connectSqlite(){
    // 设置数据库的位置
    $db = "sqlite:".$_SERVER['DOCUMENT_ROOT']."/sqlite/web.db";
    echo $_SERVER['DOCUMENT_ROOT']."/sqlite/web.db" . '<br />';
    $user = "";
    $pass = "";
    $dbHandle = new PDO($db,$user,$pass);
    echo 'Connected to database<br />';
    return $dbHandle;
}
/**
 * 插入新数据
*/
function insertSqlite($conn){
    $qry = $conn->query('select * from site');
    //如果不存在,则创建表
    if($qry ==false){
    $conn->exec('create table mysite(name VARCHAR(30),url VARCHAR(50))');
    }
    // 准备存入数据
    $insert = $conn->prepare("INSERT into mysite VALUES(?,?)");
    // 存入数据
    $insert->execute(array('julabs','julabe.com'));
    $insert->execute(array('google','www.google.com'));
}
/**
 * 删除数据
*/
function deleteSqlite($conn){
	$conn->exec("DELETE FROM mysite WHERE name = 'google'");
}

/**
 * 更新数据
*/
function updateSqlite($conn){
	$conn->exec("UPDATE mysite set url='julabs.me' WHERE name = 'julabs'");
}

/**
 * 显示数据
*/
function showSqlite($conn){
    $sth = $conn->prepare("SELECT * FROM mysite");
    $sth->execute();
    $result = $sth->fetchAll(PDO::FETCH_ASSOC);
    echo '<br />共有<strong>' . count($result) . '</strong>条数据<br />';
    echo '<table>';
    echo '<tr><th>名称</th><th>地址</th></tr>';
    foreach($result as $row){
        echo '<tr>';
        foreach($row as $key => $val){
            echo '<td>';
            echo $val;
            echo '</td>';
        }
    	echo '</tr>';
    }
    echo '</table>';
}

$connect = connectSqlite();
insertSqlite($connect);
showSqlite($connect);
updateSqlite($connect);
showSqlite($connect);
deleteSqlite($connect);
showSqlite($connect);
$connect = NULL;

发表在 php | 标签为 , | 5 条评论

你是这样爱国的吗?

你是这样爱国的吗?腐败盛行,你不骂;权贵横行,你不怒;教育之重,你不语;医疗之痛,你不忿;农村之病,你不视;下岗之哀,你不闻;专独之恶,你不问;可每每因了一些于民无甚增减,于家无甚建树,于己无甚危险的事情时,你就拍案而起了,你就热情似火了,你就冲锋陷阵了,你就上窜下跳了,你就开始爱国了!虚伪。

——来自广东省广州市的匿名人士对新闻:《《京华时报》:反CNN网站站长 年仅23岁的80后》的评论

发表在 文史 | 标签为 | 留下评论

最大的恶行:自爱

对于大多数人来说,一切恶行中最大的恶行已在他的灵魂中植了根,对此任何人都原谅自己,并且决不想找什么借口。

这种情况是由于任何人生性爱自己,并且他是必定从自利的角度来思考一切的。但是,事实上在所有过失中,对自己的强烈的爱,是任何人在任何情况下的遭遇的起因。由于一个人对他所爱的事物是盲目的,以致他很难发现正当的,善良的美好的东西,因为他认为必须尊重的不是真实,而是对他来说是亲切的事物;而真正杰出的人必然既不给自己也不给他人以优先地位,而是给公正的事以优先地位,不管这事他自己或是他人做的。我们可以看到,在所有人那里同样的错误在起作用,在他们看来,自己的愚昧似乎是智慧,以致于我们在什么都不知道的时候,却认为自己什么都知道。

由于我们不让他人去实施我们不理解的事情,导致我们自己去做时必然目睹自己将犯的错误。

——[古希腊]柏拉图

发表在 文史 | 标签为 , | 留下评论

常用时区与语言编码

在编程时,有时候会遇到时区和语言编码配置问题。在中国所用的时区码一般为下面几个:

  • Asia/Shanghai;大陆东部,包括北京、上海、广州等;
  • Asia/Harbin;大陆东北,包括黑龙江、吉林等,但不包括漠河;
  • Asia/Chongqing;大陆中部,包括四川、云南、广西、陕西、贵州等;
  • Asia/Hong_Kong;香港;
  • Asia/Taipei;台北;

更详细的时区码内容请参见List of tz database time zones,但为什么没有Asia/Beijing这样的设置呢?

在中国所用到的语言编码一般有下面几个:

  • zh-tw;中文繁体(台湾);
  • zh-cn;中文简体;
  • zh-hk;中文繁体(香港);
  • zh-sg;新加坡中文;

更详细的语言编码内容请参见Language Codes

发表在 php | 标签为 , , | 留下评论

解决“Unable to find vcvarsall.bat”错误

今天在安装PyAMF时老是发生Unable to find vcvarsall.bat的错误,上网找了一下,在eddsn找到了“Unable to find vcvarsall.bat” error when trying to install rdflib这么一篇文章,解决了问题。方法如下:

  1. 首先安装MinGW,在MinGW的安装目录下找到bin的文件夹,找到mingw32-make.exe,复制一份更名为make.exe
  2. MinGW的路径添加到环境变量path中,比如我把MinGW安装到D:\MinGW\中,就把D:\MinGW\bin添加到path中;
  3. 打开命令行窗口,在命令行窗口中进入到要安装代码的目录下;
  4. 输入如下命令就可以安装了。
setup.py install build --compiler=mingw32
发表在 python | 标签为 , | 6 条评论

两个学习Flash的网站

wonderfl

wonderfl

这是日本人建的一个网站,与众不同的是它直接展示源代码,旁边就显示效果,非常直观。这里有大量的人员发布他们的代码,有很多非常有创意的想法与技巧。

gotoAndLearn

gotoAndLearn

这个网站不仅提供源文件下载,还会以视频的形式教授整个制做过程,是个难得可贵的教学网站。所教内容包括FlashFlex以及AIR

发表在 Flash | 标签为 , , | 评论关闭

用Flashbug调试Flash

Flashbug是一款基于FireBug火狐插件,这给利用Flex SDK开发程序的人带来了便利。以前只能用FDB命令行来调试,现在有了Flashbug就更直观了。

安装Flashbug也非常方便,不过要先给火狐安装FireBug插件,还得给火狐安装Debug版本的Flash播放器

在实际操作中还要注意两点:

一、在编译生成swf文件时,要输出成debug版本的文件,如下命令:

D:\flex4\bin\mxmlc.exe -debug=true --strict=true main.mxml

注意里面-debug=true,加了这一段就能输出debug版本的swf文件。

二、要把生成的swf文件嵌入到HTML文件中,不能用浏览器直接打开swf文件,否则Flashbug会失效。

Flashbug的使用很简单,打开FireBug,切换到Flash Console标签,在Trace Log里就能看到在Flash文件中通过trace方法输出的信息,还能查看Shared Objects的信息。

Flashbug

继续阅读

发表在 Flash | 标签为 , , | 留下评论

开源的社会媒体图标

Nick LaIconDock上发布了一些开源的社会媒体图标,可以免费用于非商业项目。毕竟是出自大师之手,图标简洁而且非常精致。下载的文件中还有包含有Illustrator的源文件,也是研究学习的好素材。

Nick La social media icons

发表在 设计 | 标签为 , , | 留下评论