手机浏览 RSS 2.0 订阅 膘叔的简单人生 , 腾讯云RDS购买 | 超便宜的Vultr , 注册 | 登陆
浏览模式: 标准 | 列表2008年09月的文章

关于PR的好消息

做网站的人关心的是怎么样能够被更多的收录,毕竟收录的越多,被搜索的机会也就越大,被搜索的机会越大,被收录的也就会更多,这是一个良性循环。

对于这一点google的PAGERANK也算是一个门槛,相比较而言,PR值越高的网站,GOOGLE等爬虫就会越关注这个网站,如果上面的资料多,那么被收录的机会就会大大增加。

SEO做的就是这些功能。。

今天pr大更新,欣慰的是neatstudio.com的PR终于升到5了,neatcn.com的PR升到3,然而,52cd.net的PR降为1了,原来是3啊。心痛中。。。

不过,升到5也算是一个好消息了。52cd.net的,我以后会慢慢补回来的。。哼

neatcn.com的alexa rank是342050了,一切在向好的方面发展

谨以此文纪念一下这些数值,OHYEAH.

 

Tags: pagerank, google, pr

精通MYSQL数据库——连载十

本来觉得二进制字段没有什么好介绍的,本来嘛,二进制字段,不就是xxxtext变成了xxxblob?长度,大小都没有变化,只是存储的类型变成了二进制,如果把那些xxxtext字段的属性加一个binary,那就和xxxblob差不多了。
只是在没有加上binary属性的时候,xxxText字段的排序和比较是按字符串类型处理,而xxxBlob是按二进制处理的。加了BINARY属性自然是一样的。
关于在数据库里存在BLOB信息,历来就是一个有争议的话题。最早的VBB论坛就是把附件存在数据库里的,后来还有人单独做HACK把附件剥出来。很多人认为数据库就应该存储一些文本信息,对于二进制数据(图像、附件等)就只应该存储链接,而把文件单独存储出去。这样可以更加有效的利用数据库的空间。
但支持把附件存储在数据库的人却认为,二进制数据存储在数据库内,有利于数据的迁移、备份,提高了数据的集成程度,而且在程序里也能够使用统一的形式访问数据。把常用的数据和这些二进制数据存储在同一个表内,一般被DBA们所痛恨,因为这会导致所有的数据记录的存取速度变慢,而且BLOB数据在正常操作情况下只能作为一个整体来读出。也就是说如果一个BLOB数据长度是1024KB,如果你仅仅想读最后那24KB的内容,没有直接的办法,只能先读出来,然后再定位到最后,BLOB数据只能以一个整体来读写和传输。
从5.0.3开始,原来的BIT型字段正式变形,成为二进制字段了,它的最大宽度达到了64,为了这个BIT型字段,MYSQL还特地增加了一条用来写出二进制数据的新语法:b'0101',SELECT查询的时候,遇到BIT型,将返回二进制数据。(我没有5.0.3的版本,没有测试过怎么读取,书上介绍,可以先使用 seelct bit_field + 0 命令把二进制转为整数,再使用select bin(bit_field + 0 ) 将这些整数显示为二进制)
对于二进制来说,数据会有溢出现象,它分为上溢出和下溢出,但不管是如何的溢出,只要是溢出了,所有的二进制位都将被设置为1。例如将-1,0,1,7,8五个数字依次存入BIT(3)数据列的时候,实际存放的是b'111',b'000',b'001',b'111',b'111'。
除开这些二进制字段,剩下的就是具有MYSQL特色的字段了,如果没有什么必要,确实不太建议使用,因为其他的数据库都不支持这两种类型,一旦在数据迁移的时候,很有可能会造成丢失或增大工作量,是什么字段呢?他们就是ENUM和SET(枚举和集合)。
对于MYSQL来说,这两种字段对于涉及字符的操作,有很高的效率,表面上存储的可能是文本,但在实际处理的时候,是按设置的下标来进行操作,即按INT类型操作,所以效率极高。
ENUM是一个字符串集合,它的成员最多可以有65535个,ENUM字 取值只能是这个集合中的某一个成员(不允许是不同成员的一个组合 ),相当于数学意义上的“排列”。
而SET虽然采用了类似的思路,但允许数据表中的SET字段的取值是集合成员的任意组合(组合数量不得超过64个),相当于数学意义上的“组合”。在内部,这些字符串分别与2的幂(1,2,4,8等)相对应,所以字符串的组合就相当于二进制位的组合 。因为每个安符串分别对应一个二进制位,所以SET类型的空间战胜比ENUM大。
虽然这两种类型的效率相对较高,但由于和其他数据库的不兼容性,因此多创建一个关联数据表来关联这些数据才是更有实用价值。


介绍完MYSQL所支持的所有字段的属性,也该介绍一些在创建数据列的时候涉及到的属性,注意,有一些属性只能用于特定的数据类型

属性名    含义
NULL    数据列可以NULL值(一般是默认设置)
NOT NULL    不允许包含NULL值(因为bTree索引不支持NULL)
DEFAULT xxx    如果输入时没有指定值,则默认以xxx为值
DEFAULT CURRENT_TIMESTAMP 这个在介绍日期时间类型的时候介绍过,默认插入当前时间
ON UPDATE CURRENT_TIMESTAMP   在数据更新的时候,自动更新为当前时间
PRIMARY KEY   定义为主键
AUTO_INCREMENT    自动输入一个序列编号,只能用于整数类型的数据列,一般与主键对应使用,必须与NOT NULL,或UNIQUE 属性同时使用
UNSIGNED    无符号整数,值得注意的是,无论怎么计算,即使是1-2,返回的也是无符号的整数
CHARACTER SET name  仅适用于字符串列,指定一种字符集和一种可选排序方式

  
虽然MYSQL有DEFAULT XXX这种属性,但实际上,MYSQL并不允许使用函数来设定默认值,比如DEFAULT rand()就不被允许了。

介绍完这些,以后就该介绍数据库的设计技巧了。之所以在介绍设计技巧之前连载了这么长时间的数据类型,是因为在设计中,使用合适的类型可以适当的增加效率,具体的还是看设计吧。

Tags: database, mysql, 连载

Alexa Rank

This picture is :Traffic Graph
congratulation for myself.

图片附件:
大小: 14.59 K
尺寸: 380 x 250
浏览: 2003 次
点击打开新窗口浏览全图

Tags: alexa, traffic

wubi惊魂

wubi...这个wubi不是传统意义上的五笔哦。
wubi是一个小软件,可以让你在windows下面安装ubuntu而不需要改分区表等信息,说白了就象一个dos启动+liveCD那样的应用,只是内容可以被更改而己。
关于wubi,我就不详细说了。可以到wubu-installer.org上面找个仔细。

我说说我的使用过程吧。
我在笔记本上装的时候,很痛苦,因为,我是intel core duo的芯片,默认就帮我下载了amd64(经朋友指点,amd64不是说为amd64位芯片用的,而是说是64位的版本),结果很多软件装不上,因为那些都是for i386的。确实有点郁闷。可是好象在安装的时候并不能选择。。。(我也没有看到有ini文件配置啥的,这点让人很不舒服,不知道amd64X2的芯片会下载哪个,装了这个版本,qq for linux就不能使用deb包的,而只能使用tar.gz的版本[这个版本,居然不支持打中文???或许是我太笨])
凄凉的事情,咱不多讲。
讲点在单位机器上折腾的事情吧。

单位的机器用的是DELL,显卡是nvidia的,安装完,第一次启动后进行部分设置后会自动重启,然后才算是开启了ubuntu之旅。
建议步骤:
1、进系统后,先更改网络设置,改成能上网先
2、使用新立得软件安装器,先更新所有补丁
3、直接到system菜单找到language support,把环境改成汉语
4、下载好所有的语言包后,再找到 软件的添加删除 ,找到scim,看看有没有选项可以配置,默认的scim在没有装汉语语言时,是没有中文输入法的。
5、由于我的机器是nvidia显卡,初进去时没认出来,需要到hardware test里找到它,打上勾,会自动安装驱动,装完会提示你重启
6、常用的都更新完后,建议安装wine或者通过fushiion安装虚拟机,毕竟大多数情况下,我们还是会用到windows程序。
7、普通的配置没有什么好讲的,firefox还是照常使用,不过好象多了一些插件。伤心的是alipay不支持linux下的firefox,还是慢慢等吧。
8、安装wubi会在启动的时候多一个菜单,所以如果想一启用就进入ubuntu,可以考虑改菜单跳转时间
9、如果觉得ubuntu好用,可以看我博客上的另外一篇文章:把wubi版的改为正式版的

废话不多说了。。开启你们的ubuntu之旅吧

Tags: wubi, linux, windows, ubuntu

服务器正式启用ImagIck组件

Imagick的DLL在windows上本来无法装上,前面一篇博客里介绍说团队好友hihiyou帮忙找了一个DLL,可以用在PHP 5.2.X上面的,今天一大早COPY到服务器上,并扩展出来。。

看图说话,OH YEAH。可惜。。。sablog不支持Imagick,它还是用GD的,不知道新版本会不会采用。

好象小图看不太清楚。还是点击一下看大图吧。。。

大小: 31.27 K
尺寸: 398 x 376
浏览: 2553 次
点击打开新窗口浏览全图

Tags: imagick, 安装