邵珠庆の日记 生命只有一次,你可以用它来做很多伟大的事情–Make the world a little better and easier


139月/11

推荐四个在线任务管理网站

发布在 邵珠庆

197662518_c449e6924a_m 现在通过网上协作完成的任务是越来越多了。

 

网络协作的优势不言而喻:

  • 不需要在乎对方的学历、年龄、性格、相貌等等,只要你们有想要完成同一件事情,就可以进行网络协作(现实生活中我们总对合作者的性格挑三拣四)
  • 没有地域的限制,IM+协作系统就可以完成沟通
  • 可以找到比现实生活中多得多的资源,在生活中你是和你周围的40-70个朋友打交道,而网络上则是和N个人交流、沟通
  • 可以在现实生活中保密,不会有老板埋怨你做自己的事情。

TodoList可能是网络协作里面最简单的一个功能,但也是最基本的功能,所以今天GTDLife就为大家推荐几款在线任务管理网站

大家如果知道更好的网站,请告诉我,或者在交流圈和大家讨论。

GTDLife从界面、功能两个方面去进行评价:

ToDoist

  • 界面:简洁实用,标准的ToDoList方式,建立项目---创建任务---设定颜色和优先级,没有多余的点缀,这要看你怎么去欣赏,简约和简单就一念之差
  • 功能:比较难于上手,主要体现在Context和时间都需要手工填写,比如:today, overdue @home的意思是查找截至今天过期的标签为@home的任务,我想喜欢linux字符界面的朋友可能喜欢这样的录入方式。
  • 可以通过Gmail来建立任务,可以通过MSN、移动电话、twitter、email进行提醒
  • 可以下载桌面端的小工具,通过小工具发布TODOList

Snap1

 

iPrioritize

  • 界面:虽然足够清爽,但是和Todoist相比就花哨了很多,不过这也说明iPrioritize的功能要比前者强大的多。色调的搭配是我最喜欢的蓝色,看起来很舒服,很成熟。
  • 功能:首先是他提供了可打印版本,这么简单的功能居然ToDoist没有提供,连GTDLife都有打印功能哦。
  • 支持RSS订阅和发布。并且有完善的分享功能,和ToDOist相比起来,他更像是一个协作任务系统。
  • 可以嵌入outlook2003,通过outlook直接进行任务管理,outlook本身自带的任务功能薄弱是他肆无忌惮抢地盘的原因

 

blabla list

  • 界面:界面朴实大方,可以算是TODOist的“升级版”,布局同样很简洁。
  • 功能:从功能方面来讲它比TODOist多增加了RSS订阅功能。
  • blabla list支持通过email邀请朋友和你一起维护任务清单。属于中规中矩的类型,该有的功能都有。虽然写他写的最少,但是也是GTDLife最推荐的一款在线任务管理系统

Snap2

忙吧

严格的说忙吧应该超出了“在线任务管理网站”的范围,忙吧的功能很全:

  • 项目的协作
  • 任务的分配
  • 做笔记
  • 安排日程
  • 交流聚会
  • 招聘

仅仅做任务管理似乎有点“大材小用”,在这个中文平台上你的任务可能会吸引到更多的朋友参与。

GTDLife还是很看好忙吧的,希望他能越做越大

image

pS:GTDLife在试用前三种服务的时候,发现他们注册界面几乎完全一样,需要填写的内容也几乎类似,还有三个网站的图标都是200×30,也不知道是谁抄谁的。

99月/11

PPT、EXCEL、SPSS、数据分析资料汇总

发布在 邵珠庆

一、PPT
1、我的PPT培训
技巧培训1(成功标准、设计原则、统一字体)
技巧培训2---色彩应用
技巧一:快速对齐与分布
技巧二:快速改变图形形状
技巧三:快捷键
技巧四:快速移动复制
技巧五:快速选中
技巧六:自动连接
技巧七:参考线
技巧八:填充
技巧九:裁剪
技巧十:为PPT瘦身
PPT制作参考书介绍
2、其他
PPT自动循环反映技巧
PPT制作技巧--拿填充做文章
PPT“高手”的自我总结
ppt密技真言
高手做PPT的流程
PowerPoint高效达人的七大习惯
制作ppt引人注目的PPT的一些细节
在PPT里图表方式的选择
怎样正确地使用图表
如何选择恰当的图表类型
图表应用总结
如何制作精美的Excel与PPT图表
PPT表格使用123原则
PowerPoint 2007 SmartArt 图形类型简介
如何在内容繁多的幻灯片中轻松选取目标内容(07版)
PPT2007中批量删除备注页
为你的ppt找到好图片
如何快速找到合适的图片
PPT设计、排版创意借鉴
如何用图片进行演示
成功PPT的标准是什么?
如何在PPT里插入FLASH文件
自定义PPT音乐在幻灯片起始结束位置
PPT中强调数据
2008年最新ThemeGallery PPT模版打包下载
TG经典PPT模版饼图制作过程演示
TechNet中文网络广播office系列视频教程下载(一)
TechNet中文网络广播office系列视频教程下载(二)
PPT分屏放映操作设置详解
幻灯片放映快捷键使用
表格字型、字体的选择技巧
Office 2007转为PDF和XPS格式插件(好用)
PPT页码设计
PPT设计容易犯的十大错误
打印PPT讲义
《PPT演义》里的十个专业powerpoint绝招
如何在幻灯片中应用金字塔原理
PowerPoint 2010汉化界面
强烈推荐PPT演说之道资料
二、EXCEL
我的EXCEL培训
小蚊子EXCEL培训--文本数据导入
小蚊子EXCEL培训--快速选中单元格
小蚊子EXCEL培训--图表美化技巧
小蚊子EXCEL培训--数据透视表
小蚊子EXCEL培训--VLOOKUP函数使用技巧
图表技巧--折线图
图表技巧--柱形图
图表技巧--条形图
图表技巧--饼图
1、图表
专业商务图表的设计与制作原则
EXCEL图表资料下载
图表类型选择应用总结
统计图表类型选择应用总结(续)
麦肯锡 用图表说话(中文完整版)
Pareto Chart在EXCEL制作步骤
图表设置操作技巧
什么是交叉表

利用EXCEL做矩阵图(散点图) [Excel图表] 搞定散点图
正确使用excel的复合饼图
用图表说话--复合饼图
用图表说话--饼图
用图表说话--柱形图
用图表说话--选择合适的图表类型
如何制作对称条形图
制作经过原点的折线图
EXCEL如何添加平均线(操作演示)
07版本线柱图
创建一个温度计式的Excel图表
用EXCEL制作双坐标轴图表
用EXCEL制作瀑布图
金字塔图在EXCEL的作法
人口金字塔的制作
竖型折线图(蛇形图)绘制步骤
EXCEL动态图
如何制作断层图-图表组合法
直方图、分步柱形图、分步折线图、长城图
加强Excel图表表现能力的小技巧
EXCEL添加辅助标签制作详解
EXCEL中X轴不等间距标签问题
利用JWalk Chart Tools在EXCEL添加文本标签
输入新数据时Excel图表自动更新
Excel图表技巧
图表美化技巧
Excel 图表教程
如何看报表(如何做报表)
图表制作需要注意的事项
Excel图表中的条件格式化
真的需要这么多图表来说明问题吗
[新华图表分析] 失败和错误的案例分析
2、数据分析
EXCEL矩阵相乘MMULT函数应用介绍
Excel技巧:处理折线图表的缺失数据
Excel在统计中的应用
用EXCEL数据分析工具进行抽样
重要程度排序多选题的解题思路
用EXCEL数据分析工具进行抽样
3、其他技巧
EXCEL找不到的函数与错误值提示
如何保护你的EXCEL公式
如何在EXCEL隔7个数就取最大值
我的数据处理
【实用技巧】Excel自定义菜单栏随身带
如果利用EXCEL数据有效性建立下拉菜单
通过使用条件格式查找重复数据
VLOOKUP函数使用的技巧
Excel—通配符在函数里的应用
测测自己对EXCEL的了解程度
困扰已久的问题被VBA搞掂啦
EXCEl问卷制作视频教程
Excel2003函数应用完全手册
关于EXCEL超级链接被禁止的解决方法
EXCEL条件格式的运用
找出重复的数据的几种方法
EXCEL2007删除重复项功能
Access导入Excel 数据注意事项
如何在Access和Excel之间选择
EXCEL打印如何设置每页都显示标题栏
三、OFFICE 2010
OFFICE 2010 BETA安装错误提示
OFFICE2010新功能--PDF转换
EXCEL2010新功能--切片器
EXCEL2010新功能--迷你图
EXCEL2010新功能--条件格式设置增强功能
PPT2010新功能--动画刷
PPT2010新功能--修剪视频
PPT2010新功能--消除图片背景
PPT2010新功能--将幻灯片组织为逻辑节
PPT2010新功能--将鼠标指针转变为激光笔
PPT2010新功能--合并和比较演示文稿
PowerPoint 2010汉化界面
四、水晶易表
如果利用水晶易表制作单选效果
制作简单的水晶易表图
水晶易表从入门到精通(英文视频)
水晶易表2008
水晶易表精美实例(源文件)下载
水晶易表电子版与视频教程
水晶易表不足之处
对水晶易表又进一步了解
再次完工
电子地图终于完工啦
用水晶易表做快递费计算器
用水晶易表做车型市场分析
数据展现的艺术——精通水晶易表Xcelsius
五、SPSS
SPSS 16实用教程--PPT资料下载
SPSS操作快捷键
SPSS中异常值检验的几种方法介绍
在SPSS中将连续变量转化为离散变量
利用SPSS进行快速聚类分析
SPSS12中文菜单
如何显示SPSS一个操作的syntax命令?
如何用SPSS进行数据Z标准化
spss中tables的使用
SPSS问卷分析---编码录入及描述统计详解
利用General tables做多选交叉分析
多项选择题选项在SPSS的转化
SPSS主成分相关资料
SPSS自动生成Case ID程序
如何选择SPSS英文版、中文版、汉化版?
关于顺序问题的设计、分析及SPSS处理(Z)
时间序列预测技术之一
时间序列预测技术之二——SPSS18 软件操作
EpiData数据管理软件的操作与应用--视频教程

89月/11

Google Analytics进阶运用之跨域跟踪

发布在 邵珠庆

从今天开始一个介绍Google Analytics进阶运用的系列日志,其实没有多少技术含量,主要内容来自http://code.google.com/apis/analytics/docs/index.html,不过其中部分的用词与说法与官方不太一样。

首先,要清楚以下几点:

1、Google Analytics用document.domain定义一个网站的cookies

2、独立的域名意味着独立的访问者和流量数据,也就是说,在只使用Google Analytics默认代码的情况下,即使是访问不同的二级域名,都会被单独计算

3、独立的域名并不一定是不同的内容

4、子目录使用主域名的cookies

ps:本系列的ID都是google文档中的,想使用的话请更换成自己的

只统计一个子目录

假如我有一个网站www.example.com,还有一个网店www.example.com/myStore/,我只想统计网店的访问数据,需要用到_setCookiePath()方法,统计代码这么写:

 

var pageTracker = _gat._getTracker("UA-12345-1");
pageTracker._setCookiePath("/myStore/");
pageTracker._trackPageview();

这是因为cookie路径设置为您的子目录,而不是根目录www.example.com

统计同域名下连个子目录

假如我有一个网店,还有一个购物车

www.example-commerce-host.com/myStore/

www.example-commerce-host.com/myCart/

想统计他们的访问数据,需要用的_cookieCopyPath()方法,统计代码这么写:

 

var pageTracker = _gat._getTracker("UA-12345-1");
pageTracker._setCookiePath("/myStore/");
pageTracker._cookiePathCopy("/myCart/");
pageTracker._trackPageview();

这样就是设置了一个特殊的cookie,由第一个目录提供,也就是myStore目录,这些cookie数据会被复制到myCart目录cookie中

统计A域名及B域名的一个子目录

这是我认为比较有用的应用方式。

假如我有一个网店,使用的是第三方的购物车,这时候需要设定主次,一般自己的是主,第三方的东西是次。统计代码这么写:

主:www.example-petstore.com

 

var pageTracker = _gat._getTracker("UA-12345-1");
pageTracker._setAllowLinker(true);
pageTracker._setAllowHash(false);

次:www.example-commerce-host.com/petStoreCart

 

var pageTracker = _gat._getTracker("UA-12345-1");
pageTracker._setDomainName("none");
pageTracker._setAllowLinker(true);
pageTracker._setAllowHash(false);

_setAllowLinker()方法是为了让目标网站读取到post过来的数据和cookie,但是这样还不够,还需要用到_linkByPost()方法,将网店的cookie通过HTTP POST传到购物车,因此,在网店的表单里需要这样修改:

 

onSubmit="pageTracker._linkByPost('www.example-commerce-host.com/petStoreCart/begin.php');"

当然网店的相关链接也要改为这样的:

 

<a href="pageTracker._linkByPost('www.example-commerce-host.com/petStoreCart/legalTerms.php');">购物车</a>

还有js形式的写法,用到_link方法

 

<a href="www.example- commerce-host.com/petStoreCart /legalTerms.php" onclick="pageTracker._link(this.href); return false;"& gt;购物车</a>

统计主域名及其二级域名

类似这样的:

www.example-petstore.com

dogs.example-petstore.com

cats.example-petstore.com

统计代码这么写:

 

var pageTracker = _gat._getTracker("UA-12345-1");
pageTracker._setDomainName(".example-petstore.com");
pageTracker._trackPageview();

用_setDomainName方法设定主域名

统计多域名及二级域名

这是一种混杂的情况,基本上是前两种情况相加,统计代码要这么写:

主:www.example-petstore.com

 

var pageTracker = _gat._getTracker("UA-12345-1");
pageTracker._setDomainName(".example-petstore.com");
pageTracker._setAllowLinker(true);
pageTracker._setAllowHash(false);

如果有表单指向了其他域名,需要用_link()方法和_linkByPost()方法将cookie传到其他域名去,用法上面已经写过了。如果表单指向的是二级域名,就不一定要使用_link()方法和_linkByPost()方法了,因为已经设定了主域名。

次:dogs.example-petstore.com

 

var pageTracker = _gat._getTracker("UA-12345-1");
pageTracker._setDomainName(".example-petstore.com");
pageTracker._setAllowLinker(true);
pageTracker._setAllowHash(false);

同样的,如果有表单指向了其他域名,需要用_link()方法和_linkByPost()方法将cookie传到其他域名去

其他域名:www.my-example-blogsite.com

 

var pageTracker = _gat._getTracker("UA-12345-1");
pageTracker._setDomainName("none");
pageTracker._setAllowLinker(true);
pageTracker._setAllowHash(false);

统计框架(iFrame)

假如想把框架中的www.my-example-iframecontent.com数据传到父一级www.example-parent.com的窗口中去,需要用到_getLinkerURL()方法,用js读取框架,统计代码要这么写:

 

var iframe = document.getElementById("myIFrame");
iframe.src = pageTracker._getLinkerUrl(http://www.my-example-iframecontent.com/);
69月/11

超过 30 个有用的 CSS、jQuery插件和代码技巧

发布在 邵珠庆

Grid Navigation Effects with jQuery

The 30 CSS Selectors you Must Memorize

Beautiful Slide Out Navigation: A CSS and jQuery Tutorial

Fixed Fade Out Menu: A CSS and jQuery Tutorial

Beautiful Slide Out Navigation Revised

Beautiful Background Image Navigation with jQuery

Twitter API and jQuery Showcase: Display your Followers or Friends

CSS and jQuery Tutorial: Fancy Apple-Style Icon Slide Out Navigation

A Fresh Bottom Slide Out Menu with jQuery

Vertical Sliding Accordion with jQuery

Animated Text and Icon Menu with jQuery

Circular Content Carousel with jQuery

Portfolio Image Navigation with jQuery

Expanding Fullscreen Grid Portfolio

Simple jQuery Fluid Thumbnail menu Bar

Slides, A Slideshow Plugin for jQuery

leanModal – a JQuery modal plugin that works with your CSS

Colorful Sliders With jQuery & CSS3

Contextual Slideout Tips With jQuery & CSS3

Awesome Cufonized Fly-out Menu with jQuery and CSS3

Thumbnails Navigation Gallery with jQuery

Creating a Fancy menu using CSS3 and jQuery

Feature Table Design

CSS & jQuery clickable map of Europe

Easy Display Switch with CSS and jQuery

FancyForm

Perfect Full Page Background Image

Greyscale Hover Effect w/ CSS & jQuery

Greyscale Hover Effect w/ CSS & jQuery

Codename Rainbows

Pure CSS3 bokeh effect with some jQuery help

Accessible, Custom Designed Checkbox and Radio Button Inputs Styled with CSS (and a dash of jQuery)

jQuery UI Selectmenu: An ARIA-Accessible Plugin for Styling a Custom HTML Select Element

jQuery & CSS Sprite Animation Explained In Under 5 Minutes

59月/11

从 SQL 移植到 MongoDB【信息图表】

发布在 邵珠庆

下图是使用 SQL 和 MongoDB 的对应信息图表,点击图片查看大图:

MongoDB 特征:

  • 采用 C++ 开发
  • 授权协议:AGPL (客户端驱动包: Apache)
  • 支持自定义和二进制JSON(BSON)协议
  • 主从复制支持
  • JavaScript 查询表达式
  • CouchDB 拥有更好的及时更新特性
  • 水平伸缩性,内建分区功能
  • 数据存储基于内存映射文件
  • 更好的使用动态查询,解决模式和列
  • 性能非常高

在使用 SQL (以MySQl为例)和使用MongoDB 的区别:

http://www.mongodb.org/display/DOCS/SQL+to+Mongo+Mapping+Chart

59月/11

MySQL字段类型

发布在 邵珠庆

MySQL字段类型

按下列约定给出类型名说明:
[ ] 可选信息。
M 最大显示宽度。除非另有说明,否则M 应该是一个1到255 之间的整数。
D 有小数部分的类型的小数位数。D 为一个0 到30 之间的整数。D 应该小于等于M - 2。否则,M 的值将调整为D + 2。
在ODBC 术语中,M 和D 称为“精度”和“小数位数”。
为了描述每种类型,提供下列一个或多个信息:
说明 该类型的简短说明。
允许的属性 在CREATE TABLE 或ALTER TABLE 语句中与该类型相关的可选属性关键字。属性按字母顺序列出,但这个顺序并不一定与CREATE TABLE 或ALTE R TABLE 中使用的顺序相对应。关于这些语句的语法请参阅附录D。每种列类型在说明中列出的属性为通用属性之外的属性。
允许的长度 串类型的列值所允许的最大长度。
取值范围 对于数值或日期与时间类型,该类型可表示的值的范围。对于整数数值类型,给出两个取值范围,因为整数列可以是有符号或无符号的,有符号或无符号的取值范围是不同的。
零值 对于日期和时间类型,如果将非法值插入该列,则存入一个“零”值。
缺省值 类型说明中不明确给出D E FA U LT 属性时的缺省值。
存储需求 存储该类型的值所需的字节数。对于有的类型,这个值是固字的。而这个值在有些类型中根据存放在列中的值的不同是可变的。
比较 对于串类型,比较是否是区分大小写的。这对排序和索引有效,因为这些操作根据比较进行的。
同义词 该类型名的同义词。
注释 关于该类型的一些杂项说明。
通用属性 有的属性对所有类型或对于几乎所有类型都适用。它们列在这里,而不是列在每种类型的说明中。可对任何类型指定NULL 或NOT NULL 属性。还可对所有类型指定D E FA U LT default_value。

数值类型

 MySQL提供了整数和浮点数的数值类型。可根据所要表示的值的范围选择相应的类型。
对于整数类型,如果指定了AUTO_INCREMENT 属性,则列必须为PRIMARY KEY 或UNIQUE 索引。将NULL 插入AUTO_INCREMENT 列将会插入一个大于该列中当前最大值的值。如果指定了UNSIGNED 属性,则相应的整数类型不允许取负值。
 如果指定了ZEROFILL 属性,则用前导零填充数值类型值以达到列的显示宽度。

1. TINYINT[(M)]

说明:非常小的整数
允许的属性:AUTO _ I N C R E M E N T, UNSIGNED, ZEROFILL
取值范围:-128 到127(-27 到27-1),或者如果为U N S I G N E D,则0 到2 5 5(0 到2 8-1)
 缺省值:如果列可为NULL;则为NULL;如果列为NOT NULL,则为0
 存储需求:1字节

2. SMALLINT[(M)]

说明:小整数
允许的属性:AUTO _ I N C R E M E N T, UNSIGNED, ZEROFILL
取值范围:-32768 到3 27 6 7(-215 到215-1),或者如果为U N S I G N E D,则0 到6 5 5 3 5 (0 到216-1)
 缺省值:如果列可为NULL;则为NULL;如果列为NOT NULL,则为0
 存储需求:2 字节

3. MEDIUMINT[(M)]

 说明:中等大小的整数
 允许的属性:AUTO _ I N C R E M E N T, UNSIGNED, ZEROFILL
 取值范围:-8388608 到8 3 8 8 6 07(-22 3 到22 3-1),或者如果为U N S I G N E D,则0 到16 7 7 2 15(0 到22 4-1)
 缺省值:如果列可为NULL,则为NULL;如果列为NOT NULL,则为0
存储需求:4 字节

4. INT[(M)]

说明:标准大小的整数
 允许的属性:AUTO _ I N C R E M E N T, UNSIGNED, ZEROFILL
 取值范围:-2147483648 到2 14 7 4 8 3 6 4 7(-231到2 3 1-1),或者如果为U N S I G N E D,则0 到4 2 9 4 9 6 7 2 9 5(0 到2 3 2-1)
缺省值:如果列为NULL,则为NULL;如果列为NOT FULL,则为0
 存储需求:4 字节
同义词:I N T E G E R [(M)]

5. BIGINT[(M)]

 说明:大整数
允许的属性:AUTO _ I N C R E M E N T, UNSIGNED, ZEROFILL
取值范围:-9223372036854775808 到9 2 2 3 3 7 2 0 3 6 8 5 4 7 7 5 8 07(-263 到2 6 3-1),或者如果为U N S I G N E D,则0 到18 4 4 6 7 4 4 07 3 7 0 9 5 5 16 15(0 到26 4 -1)
缺省值:如果列可为NULL,则为NULL;如果列为NOT NULL,则为0
存储需求:8 字节

 6. FLOAT [(M, D)]

 说明:小浮点数;单精度(精度小于D O U B L E)
允许的属性:Z E R O F I L L
取值范围:最小非零值为±1.75494351E -38; 最大非零值为±3 . 4 0 2 8 2 3 4 6 6 E + 3 8
缺省值:如果列可为NULL,则为NULL;如果列为NOT NULL,则为0
存储需求:4 字节
同义词:MySQL3.23 版以前,FLOAT(4) 为具有缺省M 和D 值的FLOAT的同义词。
 注释:在MySQL3.23 以后,FLOAT(4) 为真浮点类型(值存储为硬件所允许的完整精度,而不四舍五入为缺省的小数位数)

 7. DOUBLE[(M, D)]

 说明:大浮点数;双精度(比FLOAT更精确)
 允许的属性:Z E R O F I L L
取值范围:最小非零值为±2 . 2 2 5 07 3 8 5 8 5 07 2 0 14 E -308; 最大非零值为±1。7 9 7 6 9 3 13 - 4 8 6 2 3 15 7 E + 3 0 8
 缺省值:如果列可为NULL,则为NULL;如果列为NOT NULL,则为0
存储需求:8 字节
 同义词:DOUBLE PRECISION[(M, D)] 和R E A L [ (M, D)] 为D O U B L E [(M, D)] 的同义词。MySQL3.23 版以前,FLOAT(8) 为具有缺省M 和D 值的FLOAT的同义词。
 注释:在MySQL3.23 以后,FLOAT(8) 为真浮点类型(值存储为硬件所允许的完整精度,而不四舍五入为缺省的小数位数)。

 8. DECIMAL(M, D)

说明:存储为串的浮点数(每位数字、小数点或“-”号都占1字节)。
 允许的属性:Z E R O F I L L
取值范围:最大取值范围与DOUBLE 相同;给定DECIMAL 类型的有效取值范围由M和D 决定。如果D 为零,则列值无小数点或小数部分。
缺省值:如果列可为NULL,则为NULL,如果列为NOT NULL,则为0
存储需求:对于MySQL3.23 前的版本,为M 字节,而MySQL3.23 以后的版本,为M + 2 字节。
 同义词:N U M E R I C (M, D)
注释:在MySQL3.23 以后,M 的值为符合ANSI SQL 标准,不包括符号字符或小数点所占的字节数。

MYSQL串类型

 MySQL的串类型常用来存储文本,它不但是通用的而且还能存储任何数据。可用串类型来存储最大长度可变的值,而且可以选择在处理值时是否区分大小写。

1. CHAR(M)

说明:0 到M 字节长的定长字符串。在MySQL3.23 版以前,M 应该为一个1到255 之间的整数。而MySQL3.23 版以后,M 应该为一个0 到255 之间的整数。短于M 个字符的串存储进右边补空格。长于M 个字符的串存储时剪断为长度是M 的串。在检索值时,去掉后跟的空格。
 允许的属性:B I N A RY
允许的长度:0 到M 字节
 缺省值:如果列可为NULL,则为NULL;如果列为NOT NULL,则为“”
存储需求:M 字节
比较:不区分大小写(如果具有B I N A RY 属性,则区分大小写)

2. VARCHAR(M)

 说明:0 到M 字节长的可变长字符串。M 应该为1到255 之间的一个整数,或者自MySQL3.23 后为0 到255 之间的一个整数。存储时后跟的空格被去掉。存储时,大于M 个字符的串剪断为M 个字符。
允许的属性:B I N A RY
 允许的长度:0 到M 字节
 缺省值:如果列可为NULL,则为NULL;如果列为NOT NULL,则为“”
 存储需求:值的长度,加上1字节用来记录长度
比较:不区分大小写(如果具有B I N A RY 属性,则区分大小写)

3. TINYBLOB

 说明:小BLOB 值
允许的属性:除通用属性外无其他属性
 允许的长度:0 到2 5 5(0 到28-1)字节
缺省值:如果列可为NULL,则为NULL;如果列为NOT NULL,则为“”
存储需求:值的长度加上用于记录长度的1个字节
比较:区分大小写

4. BLOB

 说明:常规大小的BLOB 值
 允许的属性:除通用属性外无其他属性
 允许的长度:0 到6 5 5 3 5(0 到216-1)字节
 缺省值:如果列可为NULL,则为NULL;如果列为NOT NULL,则为“”
存储需求:值的长度加上用于记录长度的2 个字节
 比较:区分大小写

5. MEDIUMBLOB

 说明:中等大小的BLOB 值
 允许的属性:除通用属性外无其他属性
 允许的长度:0 到16 7 7 7 2 15(0 到224 -1)字节
 缺省值:如果列可为NULL,则为NULL;如果列为NOT NULL,则为“”
存储需求:值的长度加上用于记录长度的3 个字节
比较:区分大小写

 6. LONGBLOB

 说明:大BLOB 值
允许的属性:除通用属性外无其他属性
 允许的长度:0 到4 2 9 4 9 6 7 2 9 5(0 到23 2-1)字节
缺省值:如果列可为NULL,则为NULL;如果列为NOT NULL,则为“”
存储需求:值的长度加上用于记录长度的4 个字节
比较:区分大小写

 7. TINYTEXT

说明:小TEXT 值
允许的属性:除通用属性外无其他属性
 允许的长度:0 到2 5 5(0 到2 8 -1)字节
 缺省值:如果列可为NULL,则为NULL;如果列为NOT NULL,则为“”
存储需求:值的长度加上用于记录长度的2 个字节
比较:不区分大小写

8. TEXT

说明:常规大小的TEXT 值
允许的属性:除通用属性外无其他属性
 允许的长度:0 到6 5 5 3 5(0 到216-1)字节
缺省值:如果列可为NULL,则为NULL;如果列为NOT NULL,则为“”
存储需求:值的长度加上用于记录长度的2 个字节
比较:不区分大小写

 9. MEDIUMTEXT

说明:中等大小的TEXT 值
允许的属性:除通用属性外无其他属性
允许的长度:0 到16 7 7 7 2 15(0 到22 4-1)字节
 缺省值:如果列可为NULL,则为NULL;如果列为NOT NULL,则为“”
存储需求:值的长度加上用于记录长度的3 个字节
比较:不区分大小写

 10. LONGTEXT

说明:大TEXT 值
允许的属性:除通用属性外无其他属性
允许的长度:0 到4 2 9 4 9 6 7 2 9 5(0 到23 2-1)字节
缺省值:如果列可为NULL,则为NULL;如果列为NOT NULL,则为“”
存储需求:值的长度加上用于记录长度的4 个字节
比较:不区分大小写

11. ENUM(“v a l ue 1”, “v a l ue 2”, ...)

说明:枚举,列值可赋予值列表中的某个成员
 允许的属性:除通用属性外无其他属性
缺省值:如果列可为NULL,则为NULL;如果列为NOT NULL,则为第一个枚举值
 存储需求:对1到255 个成员的枚举1个字节,对255 到65535 个成员的枚举2 个字节
比较:不区分大小写(MySQL3.22.1版以前区分大小写)

 12. SET(“v a l ue 1”,“v a l ue 2”, ...)

说明:集合,列值可赋予值列表中的零个或多个成员
 允许的属性:除通用属性外无其他属性
 缺省值:如果列可为NULL,则为NULL;如果列为NOT NULL,则为“”(空集)
存储需求:1字节(1到8个成员的集合),2字节(9 到16个成员的集合),3字节(17到2 4个成员的集合),4 字节(2 5到3 2个成员的集合)或8字节(3 3到6 4个成员的集合)
 比较:不区分大小写(MySQL3.22.1版以前区分大小写)

MYSQL日期和时间类型

MySQL提供以各种形式表示时间数据的类型。这些数据有日期和时间类型。有一种特殊的时间戳类型,它在记录更改时自动更新。还有一种用于存储年份的类型,在不需要完全的日期时使用。

 1. DATE

说明:“Y Y Y Y- M M - D D”格式的日期
 允许的属性:除通用属性外无其他属性
取值范围:“10 0 0 - 0 1- 0 1”到“9 9 9 9 - 12 - 3 1”
 零值:“0 0 0 0 - 0 0 - 0 0”
 缺省值:如果列可为NULL,则为NULL;如果列为NOT NULL,则为“0 0 0 0 - 0 0 - 0 0”
存储需求:3 字节(MySQL3.22 版以前为4 字节)

 2. TIME

 说明:“H H : M M : S S”格式的时间(负值为“ - HH:MM:SS”);表示占用的时间,但也可以作为日常时间
 允许的属性:除通用属性外无其他属性
 取值范围:“- 8 3 8 : 5 9 : 5 9”到“8 3 8 : 5 9 : 5 9”
零值:“0 0 : 0 0 : 0 0”
缺省值:如果列可为NULL,则为NULL;如果列为NOT NULL,则为“0 0 : 0 0 : 0 0”
存储需求:3 字节
注释:虽然在非法值插入TIME 列时,“0 0 : 0 0 : 0 0”用作零值,但它也作为一个合法的值出现在正常的取值范围内

3. DATETIME

 说明:以“Y Y Y Y-MM-DD hh:mm:ss”格式表示的日期和时间(两个部分都需要)
 允许的属性:除通用属性外无其他属性
 取值范围:“1000-01-0100:00:00”到“9999-12-3123:59:59”
零值:“0000-00-00 00:00:00”
缺省值:如果列可为NULL,则为NULL;如果列为NOT NULL,则为“ 0 0 0 0 - 0 0 - 0 0 0 0 : 0 0 : 0 0”
存储需求:8 字节

4. TIMESTAMP [(M)]

 说明:以YYYYMMDDHHMMSS 格式表示的时间(日期和时间)
允许的属性:除通用属性外无其他属性
取值范围:19700101000000 到2037 年的某个时刻
 缺省值:当前日期和时间。注意DESCRIBE 和SHOW COLLUMNS 报告缺省值为NULL
存储需求:4 字节
注释:插入NULL 到表的第一个T I M E S TAMP 列将会插入当前日期和时间。更改行中其他列的值使第一个T I M E S TAMP 列被更新为这个修改的日期和时间。在内部计算中存储和使用的值全都为14 位字符精度,与显示宽度无关。如果指定了NOT NULL属性,则此属性不起作用

5. YEAR

 说明:YYYY 格式表示的年份
 允许的属性:除通用属性外无其他属性
取值范围:1900 到2 15 5
零值:0 0 0 0
 缺省值:如果列可为NULL,则为NULL;如果列为NOT NULL,则为0 0 0 0
 存储需求:1字节
注释:YEAR 是在MySQL3.22 版中引入的
MYSQL
 

29月/11

互联网的演变

发布在 邵珠庆

互联网的演变

 

今天的 Web 是一个不断膨胀、增长的空间,在这里,网页、网络应用程序、丰富的视频、照片和互动内容都相互关联。

但普通用户不会看到使这一切成为可能的原因,那就是 Web 技术和浏览器之间的相互作用。

随着时间的推移,Web 技术的发展使 Web 开发人员能够创建新一代的有用和让人身临其境的网上体验。

其实今天的网络是一个开放的网络社区的持续努力的结果,他们帮助了界定很多网络技术,如 HTML5、CSS3和 WebGL,并确保它们在所有的浏览器里都被支持。

这个可视化的色带代表着 Web 技术和浏览器之间相互作用,正是这样, 才促使了许多我们每天都在用的功能强大的网络应用程序的诞生。

29月/11

Memcache 的命令行用法

发布在 邵珠庆

1、启动Memcache 常用参数
memcached 1.4.3
-p <num>      设置端口号(默认不设置为: 11211)
-U <num>      UDP监听端口 (默认: 11211, 0 时关闭)  
-l <ip_addr>  绑定地址 (默认:所有都允许,无论内外网或者本机更换IP,有安全隐患,若设置为127.0.0.1就只能本机访问)
-d            独立进程运行
-u <username> 绑定使用指定用于运行进程 <username>
-m <num>      允许最大内存用量,单位M (默认: 64 MB)
-P <file>     将PID写入文件<file>,这样可以使得后边进行快速进程终止, 需要与 -d 一起使用
如:
在linux下:./usr/local/bin/memcached -d -u jb-mc -l 192.168.1.197 -m 2048 -p 12121
在window下:d:\App_Serv\memcached\memcached.exe -d RunService -l 127.0.0.1 -p 11211 -m 500
在windows下注册为服务后运行:
sc.exe create jb-Memcached binpath= “d:\App_Serv\memcached\memcached.exe -d RunService -p 11211 -m 500″ start= auto
net start jb-Memcached

2、连接:telnet 127.0.0.1 11211
不要说不会用这个?

3、写入memcache
<command name> <key> <flags> <exptime> <bytes>\r\n <data block>\r\n
a) <command name> 可以是”set”, “add”, “replace”。
“set”表示按照相应的<key>存储该数据,没有的时候增加,有的覆盖。
“add”表示按照相应的<key>添加该数据,但是如果该<key>已经存在则会操作失败。
“replace”表示按照相应的<key>替换数据,但是如果该<key>不存在则操作失败

b) <key> 客户端需要保存数据的key。

c) <flags> 是一个16位的无符号的整数(以十进制的方式表示)。
该标志将和需要存储的数据一起存储,并在客户端get数据时返回。
客户可以将此标志用做特殊用途,此标志对服务器来说是不透明的。

d) <exptime> 过期的时间。
若为0表示存储的数据永远不过时(但可被服务器算法:LRU 等替换)。
如果非0(unix时间或者距离此时的秒数),当过期后,服务器可以保证用户得不到该数据(以服务器时间为标准)。

e) <bytes> 需要存储的字节数(不包含最后的”\r\n”),当用户希望存储空数据时,<bytes>可以为0

f) 最后客户端需要加上”\r\n”作为”命令头”的结束标志。
<data block>\r\n

紧接着”命令头”结束之后就要发送数据块(即希望存储的数据内容),最后加上”\r\n”作为此次通讯的结束。

结果响应:reply
当以上数据发送结束之后,服务器将返回一个应答。可能有如下的情况:

a) “STORED\r\n”:表示存储成功
b) “NOT_STORED\r\n” : 表示存储失败,但是该失败不是由于错误。
通常这是由于”add”或者”replace”命令本身的要求所引起的,或者该项在删除队列之中。

如: set key 33 0 4\r\n
ffff\r\n

4、获取/检查KeyValue
get <key>*\r\n
a) <key>* 表示一个或者多个key(以空格分开)
b) “\r\n” 命令头的结束

结果响应:reply
服务器端将返回0个或者多个的数据项。每个数据项都是由一个文本行和一个数据块组成。当所有的数据项都接收完毕将收到”END\r\n”
每一项的数据结构:
VALUE <key> <flags> <bytes>\r\n
<data block>\r\n

a) <key> 希望得到存储数据的key
b) <falg> 发送set命令时设置的标志项
c) <bytes> 发送数据块的长度(不包含”\r\n”)
d) “\r\n” 文本行的结束标志
e) <data block> 希望接收的数据项。
f) “\r\n” 接收一个数据项的结束标志。

如果有些key出现在get命令行中但是没有返回相应的数据,这意味着服务器中不存在这些项,这些项过时了,或者被删除了
如:get aa
VALUE aa 33 4
ffff
END

5、删除KeyValue:
delete <key> <time>\r\n

a) <key> 需要被删除数据的key
b) <time> 客户端希望服务器将该数据删除的时间(unix时间或者从现在开始的秒数)
c) “\r\n” 命令头的结束

6、检查Memcache服务器状态:
stats\r\n
在这里可以看到memcache的获取次数,当前连接数,写入次数,已经命中率等;

pid : 进程id
uptime :总的运行时间,秒数
time : 当前时间
version : 版本号
……
curr_items : 当前缓存中的KeyValue数量
total_items : 曾经总共经过缓存的KeyValue数量
bytes : 所有的缓存使用的内存量
curr_connections 当前连接数
….
cmd_get : 总获取次数
cmd_set : 总的写入次数
get_hits : 总的命中次数
miss_hits :  获取失败次数
…..
bytes_read : 总共读取的流量字节数
bytes_written : 总的写入流量字节
limit_maxbytes : 最大允许使用的内存量,字节

7、高级缓存细节查看方法:
stats reset
清空统计数据

stats malloc
显示内存分配数据

stats cachedump slab_id limit_num
显示某个slab中的前limit_num个key列表,显示格式如下
ITEM key_name [ value_length b; expire_time|access_time s]
其中,memcached 1.2.2及以前版本显示的是  访问时间(timestamp)
1.2.4以上版本,包括1.2.4显示 过期时间(timestamp)
如果是永不过期的key,expire_time会显示为服务器启动的时间

stats cachedump 7 2
ITEM copy_test1 [250 b; 1207795754 s]
ITEM copy_test [248 b; 1207793649 s]

stats slabs
显示各个slab的信息,包括chunk的大小、数目、使用情况等

stats items
显示各个slab中item的数目和最老item的年龄(最后一次访问距离现在的秒数)

stats detail [on|off|dump]
设置或者显示详细操作记录

参数为on,打开详细操作记录
参数为off,关闭详细操作记录
参数为dump,显示详细操作记录(每一个键值get、set、hit、del的次数)

8、清空所有键值
flush_all
注:flush并不会将items删除,只是将所有的items标记为expired,因此这时memcache依旧占用所有内存。

8、退出
quit\r\n