通用网站统计系统的设计缺陷

作者 : admin 于 2010年03月15日, 10:50:02
2010
03-15

目前互联网上有很多的用户统计系统,开源的(openads,51la但用户统计系统)、免费的(google Analytics,51.la,站长统计)、独立开发的(大型网站自主开发),通用的方法,都是使用js代码回传数据,webserver访问日志统计的方法进行统计。这种方式技术成熟,开发简单,在互联网上广泛使用。

但这种方式也有一个缺陷,就是无法采集用户的post信息,造成用户访问数据跟用户跟网站交互信息的脱节。网站可以跟踪用户进行了多少GET动作,但无法统计POST动作。在大量应用ajax效果的社区网站上,更是无法用普通的js统计来获得真实的用户数据。

POST动作统计有什么意义?对于目前的用户,大致可以总结如下:

1、统计针对某项功能用户的参与程度。比如报名、提交信息等。
2、可以统计单页面用户的行为情况。如facebook中大量的无刷新用户数据交互。

针对上述数据,我们可以结合传统的统计数据,计算出更深入的用户数据:

1、活跃用户与有效用户。一个用户单纯活跃是不完美的,用户参与转变为目标用户直至变为客户,是盈利网站最终目的。
2、用户参与度与贡献度。有效划分用户群体,对于网站的运营和决策是非常有帮助的。
3、ue改进。在单页面中,统计用户的ajax动作,可以有效分析单页面用户行为动作,可直观统计用户行为,改进用户体验。

用户行为统计分析其实有太多遗漏的动作点,而此文之是简单跟进原来的系统,更多的行为有待大家去分析挖掘。

传统的统计,可作为第一代的统计系统。第二代的统计系统,应该根据技术的发展收集更多的用户行为,在细节上去细化我们的数据。随着用户需求的发展,市场上已经出现了很多基于用户统计的系统的BI(商业智能)系统,如果能全局考虑用户行为,则统计系统会对项目有非常重要的指导作用。

新浪微博短URL的意义和实现

作者 : admin 于 2010年01月03日, 00:40:59
2010
01-3

新浪微博,就是迷你博客(废话)。我关心的不是博客,是url。里边的url全部使用了一种很短的url,比如 http://sinaurl.cn/**** 这里猜测了这种url的实现意义:

1:减少url所占的字数,优化排版。微博就是一个小,如果我贴了一个地址就占一半的字数,那作者很不爽,读者很不爽,做页面那哥们(MM)肯定跟不爽。所以,咱弄个短的url,岂不皆大欢喜。

2:排挤灌水广告者。众所周知,很多广告者为了广告,或者为了页面优化,得群发垃圾消息增加反向链接数。而短url跳转这种方式根本无法增加反向链接数。也就是这种方式从根本上掐断了垃圾群发者的命根子,这样也就减少了垃圾信息的量,节约了信息审核的人工成本(这项成本随着严打是越来越高啊)。

3:暂时没想出来。

实现,其实很简单,就是接收个id,然后找到对应记录就行。根据新浪信息的量,不可能用mysql的,成本高(负载和硬件消耗)。不可能用oracle,凭我的了解,不可能用。

新浪在小日本那个ttserver的基础上开发了个支持分布式的key->value型的数据库,这玩意正好用上,支持高并发大负载,逻辑简单还支持分布式,这么实现貌似最好不过。

吃饱没事,大半夜写文章。欢迎大家来讨论。

一段清理系统垃圾的代码(只用于windows)

作者 : admin 于 2009年11月17日, 14:28:47
2009
11-17

discuz的生存之道

作者 : admin 于 2009年09月29日, 15:44:03
2009
09-29

最近修改UCH,改得头大,对他的东西大概也熟悉个七八。

暂且不用说他的代码质量,逻辑或者完善程度,但说这个产品的发展路子,这肯定是个有市场的东西。

UCH是国内最早搞开源sns的了,而且搭配上discuz这个用户量很大的东西,迅速在国内铺开。

当然要说代码质量,那个惨,bug无数。基本做PHP的程序员,死都不愿意改它。

但是很多项目还是拿来了,为啥?因为他适合中国的用户,为啥适合?抄facebook?当然也有一定关系,关键呢,是因为东西出来的早。

产品迅速抢占市场是老戴在discuz闭源收费到开源免费的一个战略性转变,也正是这个转变,让discuz有了更加快速的成长。

bug?功能的欠缺?每天在discuz官方网站上可以看到无数的抱怨。吵得,骂的,一群一群的,但仍然阻止不了新版本接连不断的发布。

用户就是在这样不断的期望失望再期望再失望中逐渐培养出来的。

ecshop,我自认为做的很好,只可惜推出较晚,被南边的大头抢了先机。老戴的产品肯定会发展好的,因为他已经不是一个程序员。

firefox的cache和http头信息

作者 : admin 于 2009年09月24日, 11:05:03
2009
09-24

最近调试squid,发现一个很奇异的问题,程序服务器都配置好后,使用ie狂刷,每次都是HIT,而是用firefoxF5狂刷,结果很多都是MISS,google后发现firefox独有的特性:

如果一个页面访问后,在地址栏再次敲入打开,则走cache,而如果点F5,则firefox发送http请求的时候会自动在头上增加 Cache-Control max-age=0 因此缓存失效。不过正常访问下,还是没有问题的。

原文:

I usually post about problems that I’ve solved. But every once in a while, for all my digging around and googling, I come up on something that I can’t solve quickly and thuroughly enough – so I post about it here in the hope someone can help.

To make a long story short – I’ve found out that FireFox 1.5 appends a “Cache-Control: max-age=0″ HTTP header to requests for ASPX files. This header tells the web server and any proxy servers on the way not to respond with cached version of the requested page and to go and run the actual ASPX instead.

For me, this is a big problem. It renders the NetApp NetCache reverse proxy that I’m using quite useless and impacts badly on response times for that particular page.

Does anybody know why FireFox adds this header to the request? How can this be circumvented either on the browser’s side or on the proxy server’s side?

It took us a bit to work it out.

If you hit refresh, firefox will ask for the latest copy (max-age=0).

If you type the url into the address bar and hit enter, then type it in again, it’ll cache.

Check it works in about:cache.

See also:

http://developer.mozilla.org/en/docs/Using_Firefox_1.5_caching

智联招聘的个人评测系统

作者 : admin 于 2009年07月16日, 04:56:56
2009
07-16

朋友发给我智联招聘一个个人评测系统,进行了职业兴趣,IQ,EQ的测试,经过一中午的测试,我发现这个测试还是蛮有道理的,对我的分析大体如下:

职业兴趣:研究型、社会型。 从小不喜欢学习,但喜欢玩弄点高深的东西,让只看分数的老师们头疼不已。分数不高,难题倒解得非常出色,让我想起了爱因斯坦(狂晕)。中学往后一直在学校担任领导干部,估计是社会型性格的由来。

智商102,平均水平。看来真是一般人。其中对数字的敏感很强,排到了82%,估计我天生是搞计算机的命。不过我更喜欢研究hack。

情商不高,不喜欢研究人,估计长期跟计算机打交道的结构。不过沟通能力语言能力情绪控制能力挺强。在情商分支看来我也偏科。我是很理智的人。

————————————-

人的发展还是取决于个人和环境,测试权当一参考。

蓝芒主机管理系统简析

作者 : admin 于 2009年05月02日, 20:24:01
2009
05-2

最近问了下蓝芒的销售,一套全功能的主机管理系统网络版是5000来块,而且现在可以打8折,也就是4000。

蓝芒的软件可以说是国内拔尖的,论技术,可能仅次于创值立信。这个价格多少对我写自己的主机管理系统有点打击。如果只是为了完善我的主机业务,买一套软件比我写可划算的多,而且他们有现成的售后队伍。

不过我还是网上google了一套破解的系统先看看。

昨天的帖子也说了,我弄了PHP DeZend系统去反解他们代码,很顺利,整套代码跃然呈现出来,最新版。5.0,程序注释都是5.1,估计是最新版。

能反解的,只是他的主控端,集成了业务系统。而被控端是一个windows的被控程序,没有反解,因为我没那个能耐。

下边是我阅读代码后分析的其软件架构:

e8939de88a92

主控端可以看出集成了业务平台,管理平台,代理平台等应用,而被控端可以是windows或者linux等操作系统。

主控端无需考虑操作系统,只需要销售产品,而被控端根据主控端传来的参数执行指令,生成产品。

这里蓝芒设计比较巧妙的,就是对windows和linux的一些相似业务做了规整,作出了通用的控制接口,可无缝去对接w或l的操作系统。

经过考虑,我决定还是购买一套蓝芒的系统,不过,我自己的系统依然准备进行开源开发,重新整合。

wordpress在不同webserver下的重写规则和配置

作者 : admin 于 2009年04月07日, 21:22:07
2009
04-7

apache下

  1. #.htaccess
  2. RewriteEngine On
  3. RewriteBase /
  4. RewriteCond %{REQUEST_FILENAME} !-f
  5. RewriteCond %{REQUEST_FILENAME} !-d
  6. RewriteRule . /index.php [L]
  7. #httpd.conf
  8. Options ExecCGI FollowSymLinks
  9. AllowOverride All
  10. Order allow,deny
  11. allow from all

nginx下

  1. #nginx.conf
  2. location / {
  3.         if (!-f $request_filename){
  4.             rewrite (.*) /index.php;
  5.         }
  6.     }

虚拟化产品市场分析

作者 : admin 于 2009年04月04日, 13:13:41
2009
04-4

我这里分析的虚拟化产品,主要是和IDC相关的一些虚拟产品。

我们常见的产品,比如虚拟主机(空间),VPS,服务器合租等。这类产品目前在市场上发展比较成熟,而且随着互联网发展,这类产品市场前景逐渐看好。

这点,从万网的发展路线就可以看出,中小企业越来越重视自己信息化的建设,而从百度的销售业绩也能看出,企业的投入逐渐从传统媒体转向了互联网。另外,各大IDC机房内,也有相当的托管机器是用在中小网站上。

而这些产品的基础构建,管理,对于不管是企业还是个人,都是一个问题。对于国内做虚拟主机产品的老大们,万网,新网都有自己的管理系统,而对于一些小型用户,一些开源的管理软件足矣,无非是增加点人力。

目前虚拟主机应用主流平台就是windows,linux,freebsd,windows系统首先有自己完善的管理机制和可供开发人员使用的API,对于unix相关系统,开源界更是提供了数不尽的资源。而这些产品更大的问题就是:他们只考虑了去如何管理一个系统,而并没有更多的考虑如何去运营这个系统,如何把产品更快投入商业生产中。

我熟知的成熟商业系统主要有cpanel系统,在整个产业都很出名的,因为美国很多主流虚拟主机提供商都使用这个系统。国内很出名的是创值立信,他们的产品可以算上国内老大了,据说他们的开发团队是从万网跑出来的一伙人,所以在经验和技术积累上很成熟。

但这两个系统都有致命的缺点,就是高昂的价格,不能被大众尤其是中小型的客户甚至个人所接受。

再说其他的一些产品。国产的蓝芒主机管理系统,也是行业内的佼佼者,它们的系统支持国内完善的业务流管理,跨平台的系统支持,可谓非常完善的产品。而再有一些小型的产品,基本都工作在windows下,而无法实现对windows/*nix混合集群的支持,这样就造成了部分客户的流失。

而一些开源的虚拟主机管理,其功能之强令人震撼,比如webmin主机管理平台,还有一些windows下的免费软件基本能实现对整个操作系统虚拟化的管理,但一旦涉及商用,就有很大的问题,其欠缺的不仅是支付,业务流,财务等,更难以实现的是对整个运营流程的管理。

而目前国内此市场上,或者产品功能的欠缺,或者价格的昂贵,对于一些初创的公司或者个人都是一个门槛,无法达到成本低廉化。

所以,我认为国内此类虚拟化管理软件还有很大的市场潜力,只要是能够适应市场的产品,会在如此大的市场份额中再分一杯羹。

做完数据库抽象层,可能要做一个通用的缓存层

作者 : admin 于 2009年03月07日, 14:17:49
2009
03-7

数据抽象层实现了Mysql和SQLite的兼容,基本也就够用了,基本所有的PHP环境现在都支持sqlite(起码我配的环境是),而且扩展的过程证明了这个规则是可以通用的。

低下要做个通用的缓存层,基本就是 key value 这种简单映射的就足够。这种缓存目前实现主要有本地文本,bdb,memcache几大系列。本地文本异常灵活,方便迁移,不依赖其他组件,直接用PHP的文件读写函数就可以。缺点是,未有大规模系统使用,因为PHP本身效率问题。小的应用还是可以使用的,phpx上也有个三德子写的通用文本缓存类。

bdb就非常不错了,嵌入式的数据库,支持简单的key value模式,而且本身非常小,但效率高,支撑非常大的数据量。

memcache就不用说了,太通用了,很多大型的系统都在应用,优缺点不再重复。

抽象层兼容这几个就行了,能实现无缝迁移即可。

计划下周末开工。

 Page 1 of 3  1  2  3 »