猫窝私语 — Makumo's Blog

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

@玛酷猫15 年前

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参数简单说明

@玛酷猫15 年前

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、点击数、其他

@玛酷猫15 年前

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

@玛酷猫15 年前

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

@玛酷猫15 年前

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的代码高亮提示插件

@玛酷猫15 年前

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的内存占用之执行缓存

@玛酷猫16 年前

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 前端优化最佳实践之内容篇[转]

@玛酷猫16 年前

10/24
14:14
小窍门

小窍门:如何不让别人使用自己电脑某个软件

如果不想让别人使用某个软件,只要在其安装目录下新建一个文件名为ws2_32.dll的文件,这样系统就会以文件出错误而禁止运行。
本方法适用基于NT系统的WinXP,Win2000,Win2003!Win98没有试,用的时候再删除该文件就是。想在自己电脑上禁止朋友玩游戏,又不能让人看出来是故意的(电脑出现蓝屏的原因),这招就够绝的。比如:qq,我的qq放在d:qq里面,你可以把我说的文件放在这个里面就ok了,不过自己用的时候记得一定要删除,不然也是上不去的。

原理:当程序试图访问网络的时候,首先调用ws2_32.dll这个动态链接库!但一般蓝屏代码0x000000f4程序有个问题就是先找自己目录下面有没有这个文件,有个话就调用自己目录下面的!否则的话就调用WIN目录下面的。

DLL文件:ws2_32或者ws2_32.dll DLL
名称:WinSock2.032bit
描述: ws2_32.dll是WindowsSocket蓝屏死机s应用程序接口,用于支持Internet和网络应用程序。

小窍门:如何不让别人使用自己电脑某个软件

@玛酷猫17 年前

08/6
13:30
Linux

redhat9下安装 MySQL5+Apache2+php5[转]

(正在研究LINUX,寻找了点资料,大家一起分享。)

准备工作: 下载安装文件mysql-standard-5.0.27-linux-i686.tar.gz、httpd-2.2.3.tar.gz、php-5.2.0.tar.gz ,并把它们放在/usr/local/src/ 文件夹里。
一、安装MySQL5
  
1、 在 /usr/local/  里建立 mysql 文件夹。
   # cd /usr/local
   # mkdir mysql
 
2、在 mysql 文件夹里解压文件( 这样解压出的文件夹就是当前文件夹下面 )。
   # cd mysql
   # tar -zxfz  /usr/local/src/mysql-standard-5.0.27-linux-i686.tar.gz
   # ln -s mysql mysql-standard-5.0.27-linux-i686 
//为文件夹 mysql-standard-5.0.27-linux-i686 建立快捷方式。
 
3、# groupadd mysql   
// 建立mysql组
   # useradd mysql -g mysql 
//建立mysql用户并且加入到mysql组中 
 
4、# cp /usr/local/mysql/support-files/my-medium.cnf /etc/my.cnf  
//在 support-files目录下有4个模版文件,我们选择其中一个座位Mysql的配置文件,覆盖/etc/my.cnf(系统默认的配置,其中设置了性能参数和Mysql的一些路径参数)。
 
5、# ./scripts/mysql_install_db –user=mysql    
//初试化表并且规定用mysql用户来访问。初始化表以后就开始给mysql和root用户设定访问权限。
 
6、# chown -R root .    
 //设定root能访问/usr/local/mysql ( 注意root 后面有一个空格和点)。
 
7、 # chown -R mysql data     
//设定mysql用户能访问/usr/local/mysql/data ,里面存的是mysql的数据库文件.这个目录是在/etc/my.cnf中有配置,在mysql_install_db时产生。
 
8、# chown -R mysql data/.    
//设定mysql用户能访问/usr/local/mysql/data/mysql下的所有文件
 
9、# chgrp -R mysql .      
//设定mysql组能够访问/usr/local/mysql
 
10、# /usr/local/mysql/bin/mysqld_safe –user=mysql &     
//运行mysql,如果没有问题的话,应该会出现类似这样的提示:[1] 42264
   # Starting mysqld daemon with databases from /usr/local/mysql/var    
//如果出现 mysql ended这样的语句,表示Mysql没有正常启动,你可以到log中查找问题,Log文件的通常在/etc/my.cnf中配置。大多数问题是权限设置不正确引起的。
 
11、# /usr/local/mysql/bin/mysqladmin -u root password yourpassword    
//默认安装密码为空,为了安全你必须马上修改.
 
12、# cp support-files/mysql.server /etc/rc.d/init.d/mysqld     
//copy编译目录的一个脚本
   # chmod 700 /etc/init.d/mysqld    
//设置使mysql每次启动都能自动运行
   # chkconfig –add mysqld
   # chkconfig –level 345 mysqld on
 
13、# service mysqld start    
//启动mysqld服务
   # netstat -atln     
//查看3306端口是否打开。要注意在防火墙中开放该端口。
  
二、安装apache2
  
1、解压文件
   # cd /usr/local 
   # tar -zxvf /usr/local/srchttpd-2.2.3.tar.gz
 
2、安装
   # cd httpd-2.2.3
   # ./configure –prefix=/usr/local/apache –enable-track-vars –enable-cgi –enable-so –enable-rewrite –enable-mods-shared=all –with-config-file-path=/usr/local/apache/conf
   # make
   # make install
 
3、启动
   # /usr/local/apache/bin/apachectl start
   # netstat -utl   //并检查是否启动
 
4、把apache加入开机启动,把下面这一行加入到/etc/rc.local中。
   /usr/local/apache/bin/apachectl start
  
三、安装php5
  
请先安装libxml,2.6.10以上版本的。

1、# cd /usr/local
   # tar -zvxf /usr/local/src/php-5.2.0.tar.gz 
   # cd php-5.2.0
 
2、# ./configure –prefix=/usr/local/php –with-mysql –with-apxs2=/usr/local/apache/bin/apxs
–enable-trace-vars –with-zlib-dir=/soft/zlib-1.2.3/
 
3、 # make; make install
 
4、拷贝PHP配置文件php.ini:
   # cp ../php5.2.0/php.ini-dist /usr/local/php/lib/php.ini
 
5、添加php类型
   # vi /usr/local/apache/conf/httpd.conf
   AddType application/x-httpd-php .php (230行左右)
 
6、重启
   # /usr/local/apache/bin/apachectl stop
   # /usr/local/apache/bin/apachectl start
 
7、测试
   # cd /usr/local/apache/htdocs
   # vi test.php
   <?php
      phpinfo();
   ?>
最后输入 http://您的地址/test.php 测试

redhat9下安装 MySQL5+Apache2+php5[转]

@玛酷猫17 年前

07/24
12:04
计算机

Opera的鼠标手势

周末帮朋友配台电脑,回来无事中,看朋友新机用的不亦乐乎,也过去凑个热闹。看朋友时不时在Maxthon浏览器上用鼠标画着“L”,一问才知道原来是鼠标手势。又火星了一把,连忙回到自己电脑上研究下,发现自己的Firefox再不知什么时候已经装了鼠标手势的插件,用起来还是很舒服的,方便呀。

今天上班,习惯打开Opera,突然想到这个有没有鼠标手势的,试了下,没有预想的效果。心想这么方便的功能不应该没有呀,在设置里面找了半天,没有找到(我用的是英文版的,Opera中文菜单显示的超级难看)。上网查了下资料,还是有的。具体在“工具-首选项-高级-快捷方式”下面,英文的是“Tools – Preferences – Advanced – Shortcuts”下面,钩选“启用鼠标手势”(Enable mouse gestures),使用默认方案就可以了,想调整的话可以双击下面方案调整。详细可以看Opera的帮助文档

感觉Opera的鼠标手势不像Maxthon和Firefox可以在屏幕上画出鼠标轨迹和提示,除非记得每个手势,要不很容易误操作

另外,鼠标手势是Opera发明的一种特色功能,至于Myie/Maxthon的鼠标手势功能那都是参考了Opera而来的。

Opera的鼠标手势