猫窝私语 — Makumo's Blog

玛酷猫的温馨小窝,记录生活点点滴滴。

@玛酷猫17 年前

12/13
02:32
WordPress 建站日志

小窝顺利更新至wordpress 2.7 正式版

昨天(准确的说是前天,已经过了12点了=。=!)登陆后台发现wordpress 2.7 正式版已经发布了,当时太晚了,也就没来的及更新。刚刚把2.7DOWN了下来,依旧老样子的程序:备份文件,备份数据库,覆盖程序,最后upgrade一下,一切都很顺利,有不少人说2.7版和mg12的主题有些冲突,不过我这是没有遇到过。

一进后台超级不适应,整个后台大换脸,看来还是要有短时间来适应下,不过整体来看还是很漂亮的,使用起来非常舒服,新加入的评论分页还没有机会尝试,毕竟来小窝串门的人还不是很多,以后还是有机会的,其他的新功能在慢慢研究了,已经2点了,明天还要去单位参加培训,休息去喽O(∩_∩)O

小窝顺利更新至wordpress 2.7 正式版

@玛酷猫17 年前

11/30
21:51
读书笔记 前端

读书笔记(一)——可以遗忘的HTML标签

长久以来项目网站首页结构一直没有改变,依旧是TABLE结构,随着越做越大,栏目内容越来越多,网站首页也越来越臃肿,访问打开时间也越来越长。趁着年末改版,首页DIV+CSS化也提上日程,虽然这部分工作主要是设计部门处理,不过也借着这个机会好好学一学页面重构方面的知识。最近借阅了本《CSS实战手册(CSS THE MISSING MANUAL)》,还在慢慢阅读中。俗话说:好记性不如烂笔头。把一些好东东记录下来,方便日后查找。这次主要提下一些可以遗忘的HTML标签和一些技巧。 😉

可以遗忘的标签:

<font>标签:这个在自己设计页面是也经常用到,有时候为了某几个字的表现效果,懒得去设置一个新的样式,直接使用<font>标签了,常常一个页面有着许多font,代码看起来有些凌乱,修改起来也不是很方便。

<b>、<i>粗体和斜体标签,这个自己倒是不用,基本在用<strong>,用Dreamweaver设计直接Ctrl+B就OK,斜体自己似乎从做网页也来就没有用过,总感觉字变斜了看起来怪怪的。 :bhan: 做图片的时候到偶尔会用用。

用于网页布局的<table>标签。这个就是自己期望达到的目标:除了显示数据表、图表之外,少或者不用<table>来显示网页结构,这个还需要慢慢来,毕竟是改变一种设计习惯,还需要一定过程

一些展现表现形式的标签属性,类如:color,backgroud,border,一系列调整边距属性,对齐属性等等。如果用过Dreamweaver CS4会发现在元素的设置里面没有了 backgroud 这个填写框了,(家里没装CS4,明天去单位补个图),这些效果的代码代码都很长,使代码变得臃肿的主要原因之一,而且可读性也大幅度下降,其实这些都可以用CSS来定义表现。

不要滥用<br />标签。这块就不是很明白,按书上所写“浏览器自动地——有时令人愤怒地——在段落之间插入空格”,我倒是还没遇到过,先记下来了,或许书中后面、以后工作中会慢慢搞清楚。

一些技巧:

使用<h1>等系列标签来表示标题,使页面层次更分明,更主要的是有助于搜索引擎的收录;
使用无序列表<ul>来显示菜单、一些相关项目;使用有序列表<ol>来显示排名、有顺序的项目;使用<dl><dt><dd>来显示术语表;
使用一些生僻的标签来展示一些特殊的信息,如<cite><address>等等;
注意标签闭合;
使用W3C校验器来校验,能发现一些不容易看出的拼写、不规范等等错误;

暂时先写到这吧,书才刚开始看。以后再慢慢写了 :mrgreen:

PS:读书学习中,难免有一些认识不足或者错误理解,欢迎斧正。

PS2:发现用高亮代码显示来当做<ol>用也挺不错 😀

读书笔记(一)——可以遗忘的HTML标签

@玛酷猫17 年前

11/29
23:42
WordPress

wordpress自带标签云设置

总觉得标签云有些怪怪的,感觉使用标签不止这么多,而且最大的字体有些大了。于是乎发动懒猫精神上网搜索了下,这一刻搜索引擎是强大的 😀

在[name]Slyar,http://www.slyar.com/blog/[/name]的blog上看到相关的一篇文章[name]修改WordPress标签云的字体大小以及显示数量,http://www.slyar.com/blog/tag-cloud-font.html[/name]介绍到标签云的一系列参数,顺便也转录过来了:

smallest – Adjusts the size of the smallest tags in the cloud. Default is “8”.
largest – Adjusts the size of the biggest tags in the cloud. Default is “22”.
unit – Sets the unit type for font size (i.e. point or em). Default is “pt”.
number – How many tags will display in the cloud. Default is “45”.
format – “Flat” displays an inline cloud with each term separated by whitespace. “List” generates an unordered list. “Array” lets you define an array of tags. Default is “flat”.
orderby – Sort the cloud by “name” or “count”. Default is “name”.
order – Sort the cloud in ascending or descending order. Default is “ASC”.

把参数值写入wp-includeswidgets.php中的wp_tag_cloud()函数中即可,例如:

wp_tag_cloud('unit=px&smallest=12&largest=20&number=50&orderby=count');

即把标签云设置成最大字体20像素,最小字体12像素,显示数目50,按照使用次数排序

wordpress自带标签云设置

@玛酷猫17 年前

11/21
22:40
前端 建站日志

FusionCharts参数简单说明

之前介绍了这款很不错的Flash统计图软件[name]FusionChartsFree,https://www.makumo.com/fusioncharts.cat[/name],它是[name]FusionCharts,http://www.fusioncharts.com[/name]的一个免费版本,根据官网介绍,最新版本V3支持46种统计图样式,多统计图联动等等一些很有意思的功能,官网的一些统计图demo

在上篇文章中曾经提到了字体小等等一些问题,这几天好好看了下附带的说明文档,其实这些都可以设置的。在说明文档Chart XML Reference栏目下就有详细的参数说明,针对不同的统计图表都用不同的参数说明。公共部分比如baseFont:设置字体样式;baseFontSize:设置字体大小,将<graph>中间加上baseFontSize=‘12’,字体就变成12号字了;还有numberPrefix、numberSuffix:前缀、后缀,根据说明中的提示“To use special characters for numberPrefix or numberSuffix, you’ll need to URL Encode them.”,比如后缀想显示“元”,在graph标签种应该设置成numberSuffix=‘%D4%AA’,一些文本编辑器支持代码转换可以直接转,实在找不到可以借用搜索引擎,例如百度,在搜索框输入“元”,点搜索,在地址栏里面“http://www.baidu.com.cn/s?wd=%D4%AA”中的wd=后面的字符串就是“元”字转过的编码。参数有许多,根据不同的图表,参数也有不同之处,可以通过设置不同的参数显示出很有个性的统计图出来。这里就不再一一说明了,可以参照说明文档中的说明,虽然都是英文版的,但是很简单明了,一般写过程序的基本都能看得懂。

最后顺便提下LICENSE,免费版只用于individual/research/commercial(个人/研究/交流),要尊重别人的劳动成果和知识产权。LICENSE如下:

  • FusionCharts Free can be used for free if you are a individual/research/commercial user.
  • FusionCharts Free can be distributed for free with your free or commercial softwares, irrespective of whether they’re open source or closed source.
  • You must not sell FusionCharts Free as a component in itself. However, your commercial product can embed FusionCharts Free.
  • You must not represent in any way that you’re the author of FusionCharts Free.

FusionCharts参数简单说明

@玛酷猫17 年前

11/18
23:42
WordPress 建站日志

SEO、点击数、其他

这今天看了几篇SEO相关的文章,正好手边有个良好的测试对象,就拿自己的小窝试一试。懒猫当然是借助插件帮忙了,先去下载了[name]All in One SEO Pack,http://wordpress.org/extend/plugins/all-in-one-seo-pack/[/name],其实可以自己修改相关文件来达到插件的作用,不过作为标准懒猫,还是拿来主义O(∩_∩)O。不过有点比较郁闷的是插件包里面带着有zh_CN.mo的语言包,为什么显示还是英文=。=不过好在比较简单,英文也就凑合这用了。设置完成后将WP默认的“站名-文章名”的title转变成对搜索引擎相对友好的“文章名-站名”,同时也把页面中的keyword和description填补了起来。在编写文章的时候也可以填写相关SEO的内容,还是很方便的。顺便补完了分类的描述,使分类页面中间的description能正常显示,不过显示出来的文字前后多了个<p></p>。。改天找下对应的函数,把这个抹掉。

WP居然不自带文章点击数的统计,难道国外的博客都不将点击数作为一种衡量标准吗?虽然说点击数水分比较大,但是也不至于舍弃这个功能吧,也仅仅是加个字段,加几句代码罢了。依旧发挥懒猫精神,下了[name]wp-postviews,http://lesterchan.net/wordpress/readme/wp-postviews.html[/name],安装后,在样式侧边管理里面多了一个新的模块,可以显示热门文章了,不过我遇到了两个很奇怪的问题,一个就是将计数器控制调整成everyone,怎么刷新都不见点击数加1;另外就是之前All in One SEO Pack所设置的meta标签内容全部乱码了-_-!暂时先停止这个插件,之后慢慢研究那块冲突了。

懒猫还是比较爱吃的,准备抽个时间把以前网上搜索的食谱整理下,发出来,一是方便自己查找,二是有福共享嘛。

晚上天气还是好冷。。。打一会字就手脚冰凉了,不多写了,钻被窝了。O(∩_∩)O

SEO、点击数、其他

@玛酷猫17 年前

11/16
14:02
前端

Flash统计效果图——FusionChartsFree

很久前开发网站的时候曾经遇到过页面显示统计图的问题,直接调用office显示实在是惨不忍睹,当时用的是一个叫TeeChartOffice的插件,虽然同样是需要office支持,不过显示效果好很多,而且不存在浏览器兼容问题,它是先生成图片,然后调用图片显示。但是那个插件问题也很多,最致命的是对中文支持不是很好,经常把中文显示成方块,具体也不知道是什么地方设置问题,可能今天显示的好好的,明天显示就变成方块了,过几天又好了。。。

前几天又遇到网站显示统计图的需求,网上找了一下,大部分是要求组件。检索到一个用VML的解决方案,显示效果还比较满意,就先使用着了。不过随后发现VML只支持IE,没办法,只有放弃。

网上搜索时无意在一篇[name]博文,http://hi.baidu.com/phoenix_lee15/blog/item/effcac13cc66f8045baf5330.html[/name]中看到了一款叫[name]FusionChartsFree,http://www.filetransit.com/go.php?id=34476-4-1[/name]的Flash版统计图,下来试用了下,内附的使用文档还是很全面的,包括用法和例子。有点遗憾的是没有源码,不过一个free版也不能要求太多。还有一点就是中文汉字显示很小,估计只有10号,英文还能看清,中文基本就是一团。暂时先不填写XML中的标题和描述,先凑合用了。继续寻找更好的统计图。

后附几张效果图,从自带说明文档里面截取的:


Flash统计效果图——FusionChartsFree

@玛酷猫17 年前

11/14
00:30
WordPress 建站日志

解决wordpress留言评论者IP都是127.0.0.1

刚刚开始用2.1版本的时候就发现这个问题,所有评论这的IP都是127.0.0.1,当时也没在意,心想可能是那块没有设置好,反正评论的人也不多。前几天更新成2.6.3后,发现这个问题依旧存在,127.0.0.1似乎在评论审核的黑名单中,弄的所有的评论都变成垃圾评论,都要一个个审核,很是烦人。

上网查了下资料,遇到这个问题的人并不多,还在有人提起,也有热心人回复了大概原因以及大概解决方案:原因是空间商启用了某种缓存机制导致取IP产生错误,使得结果都是本机IP,也就是127.0.0.1。解决方案也很简单,更换获取IP语句就好。

查了下PHP获取IP的语句,主要是以下几种

$_SERVER["HTTP_X_FORWARDED_FOR"; 
$_SERVER["HTTP_CLIENT_IP"]; 
$_SERVER["REMOTE_ADDR"]; 
getenv("HTTP_X_FORWARDED_FOR"); 
getenv("HTTP_CLIENT_IP"); 
getenv("REMOTE_ADDR"); 

剩下的就很简单了,写一个测试页面,一个一个试,看那个能显示正确的IP地址,在修改/wp-includes/comment.php ,我的文件是在第718行

	
$commentdata['comment_author_IP'] = preg_replace( '/[^0-9a-fA-F:., ]/', '',$_SERVER['REMOTE_ADDR'] );

将$_SERVER[‘REMOTE_ADDR’]改成上面测试正确IP的语句,问题解决。

本人对PHP还是初学者阶段,如有叙述不当之处,还希望多多斧正。

解决wordpress留言评论者IP都是127.0.0.1

@玛酷猫17 年前

11/13
01:01
WordPress 建站日志

WP的代码高亮提示插件

今天无意翻阅以前发的文章,发现原来使用的高亮插件coolcode版面乱掉了,试着调了一会CSS,效果依旧不是很理想,无奈只有放弃。(后来才发现是定了首行缩进的缘故,不过考虑到coolcode修改经常标签丢失,也还是放弃了)

在网上搜索了下,先用的是[name]Syntax Highlighter,http://code.google.com/p/syntaxhighlighter/[/name],页面显示还是很漂亮的,不过可能是纯JS的缘故,我这显示总是用一种滞后。页面打开后,显示的是普通的代码,代码比较长,页面版面变形厉害,等页面输出完毕后,代码部分才变成需要的高亮样式,感觉比较难受,而且个人喜欢使用禁用JS的火狐上网,看自己页面效果全无。只有先放一边了。

下载[name]iG Syntax Hiliter,http://blog.igeek.info/still-fresh/2006/02/25/code-for-fun/[/name],启用的时候不同的提示严重错误,无法启动,错误代码是:路径/geshi.php不存在,一头雾水,在服务器上查了下,文件的确在那,头晕中。

[name]Highlight Source Pro,http://blog.kno.at/tools/highlight-source-pro[/name]和[name]WP-Syntax,http://wordpress.org/extend/plugins/wp-syntax/[/name]有点类似,使用pre标签,每行代码短还好,代码一长,滚动条就出来了,有点破坏整体风格,虽然有些人可能喜欢滚动条。

暂时先用着WP-Syntax了,毕竟用到代码的地方并不是很多,有空再去网上找找其他的高亮插件了。

WP的代码高亮提示插件

@玛酷猫17 年前

11/12
15:06
数据库

优化SQL Server的内存占用之执行缓存

(转载以便日后查找,原作者实在没找到是谁,不过还是很感谢作者)

在论坛上常见有朋友抱怨,说SQL Server太吃内存了。这里笔者根据经验简单介绍一下内存相关的调优知识。首先说明一下SQL Server内存占用由哪几部分组成。SQL Server占用的内存主要由三部分组成:数据缓存(Data Buffer)、执行缓存(Procedure Cache)、以及SQL Server引擎程序。SQL Server引擎程序所占用缓存一般相对变化不大,则我们进行内存调优的主要着眼点在数据缓存和执行缓存的控制上。本文主要介绍一下执行缓存的调优。数据缓存的调优将在另外的文章中介绍。

对于减少执行缓存的占用,主要可以通过使用参数化查询减少内存占用。

1、使用参数化查询减少执行缓存占用

我们通过如下例子来说明一下使用参数化查询对缓存占用的影响。为方便试验,我们使用了一台没有其它负载的SQL Server进行如下实验。下面的脚本循环执行一个简单的查询,共执行10000次。
  首先,我们清空一下SQL Server已经占用的缓存:

dbcc freeproccache

  然后,执行脚本:

DECLARE @t datetime
SET @t = getdate()
SET NOCOUNT ON
DECLARE @i INT, @count INT, @sql nvarchar(4000)
SET @i = 20000
WHILE @i <= 30000
BEGIN
    SET @sql = 'SELECT @count=count(*) FROM P_Order WHERE MobileNo = ' + cast( @i as varchar(10) )
    EXEC sp_executesql @sql ,N'@count INT OUTPUT', @count OUTPUT
    SET @i = @i + 1
END
PRINT DATEDIFF( second, @t, current_timestamp )

输出:
DBCC 执行完毕。如果 DBCC 输出了错误信息,请与系统管理员联系。
11

使用了11秒完成10000次查询。

我们看一下SQL Server缓存中所占用的查询计划:

Select Count(*) CNT,sum(size_in_bytes) TotalSize From sys.dm_exec_cached_plans

查询结果:共有2628条执行计划缓存在SQL Server中。它们所占用的缓存达到:
92172288字节 = 90012KB = 87 MB。
Read More →

优化SQL Server的内存占用之执行缓存

@玛酷猫18 年前

06/27
21:21
前端 他山之石

Web 前端优化最佳实践之内容篇[转]

(朋友发给我的,觉得很不错就转到这来了,方便随时查看。)

Yahoo! 的 Exceptional Performance team 在 Web 前端方面作出了卓越的贡献。广为人知的优化规则也由 13 条到 14 条,再到 20 条,乃至现在的 34 条–真是与时俱进啊。最新的 34 条也针对不同的角度做了分类。

面向内容的优化规则目前有 10 条。

1. 尽量减少 HTTP 请求 (Make Fewer HTTP Requests)

作为第一条,可能也是最重要的一条。根据 Yahoo! 研究团队的数据分析,有很大一部分用户访问会因为这一条而取得最大受益。有几种常见的方法能切实减少 HTTP 请求:
    * 1) 合并文件,比如把多个 CSS 文件合成一个;
    * 2) CSS Sprites 利用 CSS background 相关元素进行背景图绝对定位;参见:CSS Sprites: Image Slicing’s Kiss of Death
    * 3) 图像地图
    * 4) 内联图象 使用 data: URL scheme 在实际的页面嵌入图像数据.

2. 减少 DNS 查找 (Reduce DNS Lookups)

必须明确的一点,DNS 查找的开销是很大的。另外,我倒是觉得这是 Yahoo! 所有站点的通病,Yahoo!主站点可能还不够明显,一些分站点,存在明显的类似问题。对于国内站点来说,如果过多的使用了站外的 Widget ,也很容易引起过多的 DNS 查找问题。

3. 避免重定向 (Avoid Redirects)

不是绝对的避免,尽量减少。另外,应该注意一些不必要的重定向。比如对 Web 站点子目录的后面添加个 / (Slash) ,就能有效避免一次重定向。http://www.dbanotes.net/arch 与 http://www.dbanotes.net/arch/ 二者之间是有差异的。如果是 Apache 服务器,通过配置 Alias 或mod_rewrite 或是 DirectorySlash 能够消除这个问题。

4. 使得 Ajax 可缓存 (Make Ajax Cacheable)

响应时间对 Ajax 来说至关重要,否则用户体验绝对好不到哪里去。提高响应时间的有效手段就是 Cache 。其它的一些优化规则对这一条也是有效的。

5. 延迟载入组件 (Post-load Components)

6. 预载入组件 (Preload Components)

上面两条严格说来,都是属于异步这个思想灵活运用的事儿。

7. 减少 DOM 元素数量 (Reduce the Number of DOM Elements)

8. 切分组件到多个域 (Split Components Across Domains)

主要的目的是提高页面组件并行下载能力。但不要跨太多域名,否则就和第二条有些冲突了。

9. 最小化 iframe 的数量 (Minimize the Number of iframes)

熟悉 SEO 的朋友知道 iframe 是 SEO 的大忌。针对前端优化来说 iframe 有其好处,也有其弊端,一分为二看问题吧。

10. 杜绝 http 404 错误 (No 404s)

对页面链接的充分测试加上对 Web 服务器 error 日志的不断跟踪能有效减少 404 错误,亦能提升用户体验。值得一提的是,CSS 与 Java Script 引起的 404 错误因为定位稍稍”难”一点而往往容易被忽略。

这是内容篇的 10 条。应该说具体引导性的内容还不够详细。逐渐会根据自己的理解补充上来。

Web 前端优化最佳实践之内容篇[转]