Submitted by gouki on 2010, April 20, 10:31 AM
这段时间对于百思家网站(http://www.bestjia.com)的SEO已经暂时告一段落,暂时稳定一下,以便搜索引擎能够把近期的一些数据进行收录。
这几天看着搜索引擎过来的报告,发现非技术性的网站,通过百度过来的流量远超于google,因此基本上也可以确定,在国内,做电子商务网站,还是以优化百度搜索引擎为主,一些SEO技巧还是针对一下百度较好。针对google的SEO的话,还是以技术型网站居多。
这段时间是什么样的内容被搜索着呢?让我们来看一下:
- 2009壁纸十大品牌排名,关键字:壁纸十大品牌排名2010
- 简约_卫生间_装修效果图,关键字:卫生间装修效果图 简约
- 2009壁纸十大品牌排名,关键字:壁纸品牌排名
- 2010年最新中国卫浴十大品牌排名榜,关 键字:洁具十大品牌排名2010
- 2009壁纸十大品牌排名,关键字:壁纸排名
我这里只列出了排名前5的,很明显,通过搜索引擎过来的大多是“壁纸”和“洁具”,当然还有排名稍差一点的。我这里就不一一列出了。我列出上面的一些关键字,意思就是想分析一下用户的搜索行为,都是一些很常用的,而且用户对排名啥的特别关注。对于选择多的都是什么十大排名,对于少的都是什么前五名之类的。
百度在一下子收录你很多数量的文章后,慢慢慢慢的还会帮你删除掉一点,然后剩下来的如果量不多,被搜索的机会还是很少。量级,还是很有用的。其他就不说了,先藏着。哈哈
Tags: 百思家, seo, 效果, 资料, 关键字
Misc | 评论:0
| 阅读:18331
Submitted by gouki on 2009, October 8, 7:02 PM
偶尔打开phpoo.com的时候,firefox的seach status插件的显示 PR 居然是0,相当郁闷啊。当然,我不太相信,所以。。。。
打开一些域名检测工具,结果发现,现在的域名PR值果然全部是0,真郁闷啊。。。
原来是3呢。现在居然清零了。不过,这也怪我,长时间不维护了。当然我现在纯粹是把他当成一个资料收集库之类的网站了。慢慢收集吧。。。
告诉自己,不在乎这些虚名。嗯。。哈哈
Tags: 域名, pr, 资料
Misc | 评论:1
| 阅读:18474
Submitted by gouki on 2009, February 18, 2:52 PM
在PHP的开发中,虽然一直标榜LAMP是最佳搭配,但事实上,在小型项目中,sqlite的优势也很明显。pgsql和mysql也是处于同一竞争的水平线上。
sqlite小到一个文件就是一个表,象微软的access一样方便,而且从PHP5开始,就内置了对sqlite的支持(不过需要打开先PDO,才能支持,可以看我以前写的:为windows下面的PHP添加sqlite功能)
但很多人对于sqlite并不是很熟悉,正好在博客园看到有人介绍SQLITE,于是进行了很无耻的复制粘贴,一是笔记,二是传播。望原作者莫生气。
原文作者:arrowcat
原文链接:http://www.cnblogs.com/hustcat/archive/2009/02/12/1389448.html
原文如下:
写在前面:出于项目的需要,最近打算对SQLite的内核进行一个完整的剖析,在此希望和对SQLite有兴趣的一起交流。我知道,这是一个漫长的过程,就像曾经去读Linux内核一样,这个过程也将是辛苦的,但我相信结果一定是美好的... ...接下来是第一章。
1、SQLite介绍
自几十年前出现的商业应用程序以来,数据库就成为软件应用程序的主要组成部分。正与数据库管理系统非常关键一样,它们也变得非常庞大,并占用了相当多的系 统资源,增加了管理的复杂性。随着软件应用程序逐渐模块模块化,一种新型数据库会比大型复杂的传统数据库管理系统更适应。嵌入式数据库直接在应用程序进程 中运行,提供了零配置(zero-configuration)运行模式,并且资源占用非常少。
SQLite是一个开源的嵌入式关系数据库,它在2000年由D. Richard Hipp发布,它的减少应用程序管理数据的开销,SQLite可移植性好,很容易使用,很小,高效而且可靠。
SQLite嵌入到使用它的应用程序中,它们共用相同的进程空间,而不是单独的一个进程。从外部看,它并不像一个RDBMS,但在进程内部,它却是完整的,自包含的数据库引擎。
嵌入式数据库的一大好处就是在你的程序内部不需要网络配置,也不需要管理。因为客户端和服务器在同一进程空间运行。SQLite 的数据库权限只依赖于文件系统,没有用户帐户的概念。SQLite 有数据库级锁定,没有网络服务器。它需要的内存,其它开销很小,适合用于嵌入式设备。你需要做的仅仅是把它正确的编译到你的程序。
2、架构(architecture)
SQLite采用了模块的设计,它由三个子系统,包括8个独立的模块构成。
2.1、接口(Interface)
接口由SQLite C API组成,也就是说不管是程序、脚本语言还是库文件,最终都是通过它与SQLite交互的(我们通常用得较多的ODBC/JDBC最后也会转化为相应C API的调用)。
2.2、编译器(Compiler)
在编译器中,分词器(Tokenizer)和分析器(Parser)对SQL进行语法检查,然后把它转化为底层能更方便处理的分层的数据结构---语法 树,然后把语法树传给代码生成器(code generator)进行处理。而代码生成器根据它生成一种针对SQLite的汇编代码,最后由虚拟机(Virtual Machine)执行。
2.3、虚拟机(Virtual Machine)
架构中最核心的部分是虚拟机,或者叫做虚拟数据库引擎(Virtual Database Engine,VDBE)。它和Java虚拟机相似,解释执行字节代码。VDBE的字节代码由128个操作码(opcodes)构成,它们主要集中在数据 库操作。它的每一条指令都用来完成特定的数据库操作(比如打开一个表的游标)或者为这些操作栈空间的准备(比如压入参数)。总之,所有的这些指令都是为了 满足SQL命令的要求(关于VM,后面会做详细介绍)。
2.4、后端(Back-End)
后端由B-树(B-tree),页缓存(page cache,pager)和操作系统接口(即系统调用)构成。B-tree和page cache共同对数据进行管理。B-tree的主要功能就是索引,它维护着各个页面之间的复杂的关系,便于快速找到所需数据。而pager的主要作用就是 通过OS接口在B-tree和Disk之间传递页面。
3、SQLite的特点(SQLite’s Features and Philosophy)
3.1、零配置(Zero Configuration)
3.2、可移植(Portability):
它是运行在Windows,Linux,BSD,Mac OS X和一些商用Unix系统,比如Sun的Solaris,IBM的AIX,同样,它也可以工作在许多嵌入式操作系统下,比如QNX,VxWorks,Palm OS, Symbin和Windows CE。
3.3、Compactness:
SQLite是被设计成轻量级,自包含的。one header file, one library, and you’re relational, no external database server required
3.4、简单(Simplicity)
3.5、灵活(Flexibility)
3.6、可靠(Reliability):
SQLite的核心大约有3万行标准C代码,这些代码都是模块化的,很容易阅读。
主要参考:The Definitive Guide to SQLite
Tags: sqlite, 介绍, 资料
DataBase | 评论:0
| 阅读:20523
Submitted by gouki on 2009, January 22, 10:22 PM
trunk:表示开发时版本存放的目录,即在开发阶段的代码都提交到该目录上。
branches:表示发布的版本存放的目录,即项目上线时发布的稳定版本存放在该目录中。
tags:表示标签存放的目录。
在这需要说明下分三个目录的原因,如果项目分为一期、二期、三期等,那么一期上线时的稳定版本就应该在一期完成时将代码copy到branches 上,这样二期开发的代码就对一期的代码没有影响,如新增的模块就不会部署到生产环境上。而branches上的稳定的版本就是发布到生产环境上的代码,如 果用户使用的过程中发现有bug,则只要在branches上修改该bug,修改完bug后再编译branches上最新的代码发布到生产环境即可。 tags的作用是将在branches上修改的bug的代码合并到trank上时创建个版本标识,以后branches上修改的bug代码再合并到 trunk上时就从tags的version到branches最新的version合并到trunk,以保证前期修改的bug代码不会在合并。
branches其实也就是分支,它究竟是干什么用的呢?
分支用于解决什么样的问题?
在手机游戏开发过程中,经常会遇到多种机型移植的问题。通常开发人员都说以一种机型作为 release 基础版本的目标,然后再此基础上进行相关的适配工作,如,键值修改,屏幕大小的修改单等。
然而同时维护多个版本是异常头疼的事情,因为很少有人能保证在移植之前,基础版本是没有 bug 的,特别是在工期很紧的情况下。这样一来,基础版本中出现了 bug ,就需要手动的“ Ctrl+C/Ctrl+V ”到其他的所有版本,各种版本的管理非常混乱,经常一不小心就会出现这样那样的问题。
而 SVN 的分支 (branch) 虽然不能做到自动将基础版本中的修改复制到其他版本中,却可以对各种版本的管理提供更有效和更规范的支持,避免了很多人为造成的问题。使用 SVN 来管理,可以将基础版本作为主干 (trunk) ,并从项目启动到 alpha 版本的推出,都可以在主干上进行开发。 alpha 版本发布以后,对于其他版本可以分别建立分支,如: branch_moto , branch_s603 等
如何创建分支?
创建分支非常简单,只需在需要创建分支的工作目录上,使用TortoiseSVN → Branch/Tag命令,在 "To URL" 项指定待创建的分支 url 即可。具体 可查看TortoiseSVN的帮助文档中的“ Braching/Taging ”一节
如何在分支下工作?
假设我们的主干名为 trunk ,分支目录名为 branch 。 branch 实际上是 trunk 目录在 branch 创建时的 copy ,而创建以后, branch 与 trunk 实际就是互不干扰的工作了, branch 上的修改不会影响到 trunk ,反之亦然。
如何合并分支?
事实上,我们并没有解决本文开头所提出的问题,即, trunk 有了修改之后,并不会自动提交到 branch 中(不知道有没有其他的版本管理工具可以做到),这一切都需要手动来实现,而这个过程在 SVN 中称为“合并 (merge) ”。
SVN 合并与原始的“ Ctrl+C/Ctrl+V ”相比,有以下几点好处(假设是将 trunk 合并到 branch 中):
1 、 trunk 中新增的文件可以自动合并到 branch 中
2 、提示 trunk 与 branch 中的同名文件的冲突内容,便于用于编辑冲突
合并操作步骤
在 TortoiseSVN 中提供便捷的合并功能。在待合并的工作目录上(如: branch ),使用TortoiseSVN → Merge命令,在“ From:(start URL and revision of the range to merge) ”中选择希望合并的目录 ( 如: trunk) ,并指定希望合并的开始 revision 编号,在“ To:(end URL and revision of the range to merge) ”中选择结束 revision 编号。然后点击“ merge ”完成合并操作,剩下的工作就是编辑冲突了,当然运气好的话是不需要这个过程滴。
值得注意的是,“ From: ”和“ To: ”中的 URL 通常是相同的,切记不要与创建分支时的含义混淆。
与合并相关的操作可查看TortoiseSVN的帮助文档中的“ Merging ”一节
本文为两篇摘录编辑而文,原文博客为:http://www.phpweblog.net/fuyongjie/
Tags: svn, 资料
Software | 评论:0
| 阅读:21165
Submitted by gouki on 2009, January 2, 12:43 AM
YY博鼎力之作哦,大家支持一下。
除此之外,他还写了一个yBlog,同样请大家支持
http://www.yhustc.com,就是yBlog的官方网站。
介绍:
ThinkPHP 2008年离线资料包,将ThinkPHP论坛使用版面与帮助资料版面2008年所有帖子全部采集生成HTML文件,并添加了全文检索功能。可以在不联网的情况下方便查找论坛中相关问题的讨论,并且可以方便的搜索,比CHM的搜索更强大的搜索。点击搜索结果可以直接来到帖子页,也可以直接通过首页进入相关版面列表,就跟操作BBS一样。
注意:需要安装.NET框架2.0及以上版本
图片:
下载地址:http://www.yhustc.com/ThinkPHP2008.rar
本站分流:下载
Tags: thinkphp, 资料, yhustc
PHP Framework | 评论:0
| 阅读:23059