易栈网-膘叔

浏览模式: 标准 | 列表 | 图文
资料:rsync

资料:rsync

服务器同步,最简单的恐怕就是rsync了。如果是同一机房,如果是ubuntu,那就真的是灰常灰常简单啊。apt-get install rsync就over了。当然配置还是需要自己来的。
找的资料居然是百度百科的。好郁闷啊。不过。。。还是COPY一份了(话又说回来,现在百度百科在人肉整理+金钱攻势下,资料也真的是越来越完善了。只是不知道啥时候会把RFC也帮忙全部汉化一下吧。比如大家关心的tcp/ip,http协 议等,是不是也该整个汉化的版本之类的?【或许已经有了只是没有注意过罢了】)
原文:http://baike.baidu.com/view/1183189.htm
rsync是类unix系统下的数据镜像备份工具,从软件的命名上就可以看出来了——remote sync。它的特性如下:

  1. 可以镜像保存整个目录树和文件系统。
  2. 可以很容易做到保持原来文件的权限、时间、软硬链接等等。
  3. 无须特殊权限即可安装。
  4. 优化的流程,文件传输效率高。
  5. 可以使用rcp、ssh等方式来传输文件,当然也可以通过直接的socket连接。
  6. 支持匿名传输,以方便进行网站镜象。

软件下载
rysnc的主页地址为:http://rsync.samba.org/ ,目前最新版本为3.0.7。可以选择从原始网站下载:http://rsync.samba.org/ftp/rsync/。
安装
Ubuntu安装: sudo apt-get install rsync
RedHat: yum install rsync
编译安装
rsync的编译安装非常简单,只需要以下简单的几步:
[root@www rsync-2.4.6]# ./configure
[root@www rsync-2.4.6]# make
[root@www rsync-2.4.6]# make install
但是需要注意的是必须在服务器A和B上都安装rsync,其中A服务器上是以服务器模式运行rsync,而B上则以客户端方式运行rsync。这样在web服务器A上运行rsync守护进程,在B上定时运行客户程序来备份web服务器A上需要备份的内容。
rsyncd.conf
rsync服务器的配置文件是rsyncd.conf.
以下是一个rsyncd.conf的样本:
# Distributed under the terms ofthe GNU General Public License v2
# Minimal configuration file for rsyncdaemon
# See rsync(1) and rsyncd.conf(5) man pagesfor help
# This line is required by the/etc/init.d/rsyncd script
pid file = /var/run/rsyncd.pid
port = 873
uid = root
gid = root
use chroot = yes
read only = yes
max connections = 5
#This will give you a separate log file
#log file = /var/log/rsync.log
log format = %t %a %m %f %b
syslog facility = local3
timeout = 300
[test]
path = /home/nemo
list=yes
ignore errors
auth users = root, nemo
secrets file = /etc/rsyncd/rsyncd.secrets
comment = linuxsir home
exclude = tmp/
各个参数具体含义参见man rsyncd.conf
服务器端启动:
usr/bin/rsync --daemon --config=/etc/rsyncd/rsyncd.conf
可能需要root权限运行.
/etc/rsyncd/rsyncd.conf 是你刚才编辑的rsyncd.conf的位置.
也可以在/etc/rc.d/rc.local里加入让系统自动启动等.
客户端同步:
rsync -参数 用户名@同步服务器的IP::rsyncd.conf中那个方括号里的内容 本地存放路径 如:
rsync -avzP nemo@192.168.10.1::nemo /backup
说明:
-a 参数,相当于-rlptgoD,-r 是递归 -l 是链接文件,意思是拷贝链接文件;-p 表示保持文件原有权限;-t 保持文件原有时间;-g 保持文件原有用户组;-o 保持文件原有属主;-D 相当于块设备文件;
-z 传输时压缩;
-P 传输进度;
-v 传输时的进度等信息,和-P有点关系,自己试试。可以看文档;

扩展阅读:
  1. http://chenzhuo.blog.51cto.com/150592/269530 rsync配置实例

现在,windows下面也有rsync客户端了。。。

Scrum硬币游戏

Scrum硬币游戏

上次我在 ThinkInLamp聚会记录 中提到了一个硬币游戏,当时也是Daniel Teng带着大家做这个游戏的。

只是我当时在博客里写的也是很简单,没有完全写出这个游戏的精髓。

内容如下:

分组:需要将参加者分组,每组8-10人。每一组围着一个桌子站好。每一组需要确定每个人的角色,需要一个President,一个Customer。另外是几对Manager-Worker去模拟几个部门。

材料:为每一组准备硬币(1元N枚,5毛N枚,1毛N枚),另备每组额外准备额外几枚1元硬币(用于第6轮);白板纸每组两张;水笔每组一支;计时器(可以使用手机的计时功能)。

游戏前准备:需要把游戏规则沟通给大家。具体规则如下:

工作:Worker用手翻硬币,1次只翻1个;Manager/Customer/President的任务是计时,具体如下:

计 时:Manager需要记录他手下的那个员工从开始工作到完成工作的时间长度;Customer需要记录从把硬币交给第一个部门,一直到从最后一个部门收 到第一个硬币的时间(其实也就是从需求到上市时间);President需要记录从硬币交给第一个部门,到Customer收到最后一个硬币的时间(其实 也就是项目完成的总时间)。

工作规模:每一轮都游戏组织者说明一个任务规模,每个员工在完成指定的规模工作之后才能把工作移交给下一个部门的员工。

记录:每个团队都需要记录每一轮每个部门花费的时间,上市时间以及完成时间;

图表:所有迭代完成后,每个团队需要根据记录的数据画出几个图表:

  1. 每个迭代每个部门员工完成工作所花费的总时间的变化图;
  2. 客户记录时间的变化图(也就是上市时间的变化图);
  3. President记录时间的变化图(项目完成时间的变化)

其他规则:只用左手

第一轮:指定的工作规模大小是全部硬币,也就是客户一下子把所有的硬币交给第一个部门,第一个部门的员工把所有硬币翻完之后,交给第二个部门,同时每个部门的manager也记录相应的时间。这一轮的目的是让每个人熟悉一下工作,尤其是该怎样记录时间。

第二轮:规模也是跟上一轮一样,重新运行一遍

第三轮:规模减半或者变为1/3,就交给下个部门。需要注意的是,每个部门的manager记录的是从本部门的员工收到第一个硬币,一直到完成所有硬币的总时间。

第四轮:解放生产力。可以使用双手,规模跟上一轮一样。

第五轮:规模降到1,也就是上一个部门每完成一个硬币,立刻交给下一个部门继续处理。

第六轮: 规模仍然是1,但是设定了完成时间,比如20秒,然后目标是在20秒之内生产出尽可能多的价值,因为每个硬币的价值是不一样的。开始几秒钟之后,我有给了每个团队额外的几个1元硬币。

反思

  • 随着规模的减小,上市时间大大缩短。
  • 随着规模的减小,项目完成时间会大大缩短。
  • 随着规模的减小,员工的稼动律会大大减小。因此没有必要去过分关注每个员工的实际工作量,局部工作量的优化并不会带来全局优化。
  • 任务的规模时候,开发的波动(Disburbance)会比较小,开发速度会比较快,形成了“流”。
  • 随着规模的减小,瓶颈现象逐渐消失,但在规模较大的时候,瓶颈现象十分明显。
  • 开发的时候应该关注的生产周期(Cycle time),而不是每个员工的稼动律。
  • 随着规模的减小,在整个开发中的排队(Queue)会有显著的减小,等待也会减少。参见我的另一篇博客“浅谈排队”
  • 在最后一轮中,通常用很短的时间内就可以给客户带来很多的价值
  • 应该关注的是给客户价值,而不是要遵从最初的计划。

注:本游戏根据Peter Stevens和Tommy Norman的Scrum Penny Game做了部分修改而设计。

----EOF----

当然,我写的也不详细,图片我就没有上传,如果你要看更详细的内容,还是建议查看deniel的博客,网址是:http://www.cnblogs.com/tengzy/archive/2010/08/15/1800272.html,更详细。

dedecms 笔记:标签

dedecms 笔记:标签

资料均从网上收集,然后作了整理。。

注意,由于dedecms的模版TAG功能,其实是类似于XML,所以在使用的时候,一定要象XML一样正确闭合,否则,该区块将不变解析

一般来说,我们所使用的DEDECMS模板代码样式有如下几种:

{dede:标记名称 属性='值'/}
{dede:标记名称 属性='值'} {/dede:标记名称}
{dede:标记名称 属性='值'} 自定义样式模板(InnerText),即底层模板 {/dede:标记名称}
如果使用带底层模板的标记,必须严格用{dede:标记名称 属性='值'}{/dede:标记名称} 这种格式,否则会报错。

1、标记通用特性
(1) 短标记:
{dede:tagname.name/} 等同于 {dede:tagname name='' /}

{dede:global.name/} 外部变量 等同于 <?php echo $name; ?> 【其实这里应该是全局变量】
{dede:var.name/} var数组 等同于 <?php echo $_vars['name']; ?>
{dede:field.name/} field数组 等同于 <?php echo $fields['name']; ?>
{dede:cfg.name/} 系统配置变量 等同于 <?php echo $cfg_name; ?>【cfg已经是全局了,所以这个标签其实也可以写成{dede:global.cfg_name/}】


(2) 块标记:
{dede:tagname}
循环代码:
{/dede:tagname}

(3)include 语法:
{dede:include file=''/}
{dede:include filename=''/}
{dede:include file='文件名称' ismake='是否为dede板块模板(yes/no)'/}
例如: {dede:include filename="head.htm"/}
对文件的搜索路径为顺序为:绝对路径、include文件夹,CMS安装目录,CMS主模板目录

2、函数和PHP语法

if 条件
仅支持 if ,else ,else 直接用{else}表示,但不支持{else if}这样的语法 ,一般建议模板中不要使用太复杂的条件语法,如果确实有需要,可以直接使用 php 语法。

{dede:if 条件}
a-block
{else}
b-block
{/dede:if}
条件中允许使用 var.name 、 global.name 、 field.name、cfg.name 表示相应的变量。
如:
{dede:if field.id>10 }
{/dede:if}
php 代码块:
{dede:php
php 代码
/}
或
{dede:php}
php代码
{/dede:php}
......其它还在整理中

CSS中media标签的作用

在网页中,看到使用CSS的地方,大多数都会有这么一句:

<link rel="stylesheet" type="text/css" href="global.css" media="screen">

那么,究竟这个media有什么作用呢?通过查下资料了解到:

all-- 用于所有设备类型
aural-- 用于语音和音乐合成器
braille-- 用于触觉反馈设备
embossed-- 用于凸点字符(盲文)印刷设备
handheld-- 用于小型或手提设备
print-- 用于打印机
projection-- 用于投影图像,如幻灯片
screen-- 用于计算机显示器
tty-- 用于使用固定间距字符格的设备。如电传打字机和终端
tv-- 用于电视类设备

虽然media有10个值,但我们经常看到的也就print,和screen两种。当然也会有没有media标签的情况,这个时候其实就是默认media="all"。
既然如此,那我们也就相当于了解了,如果你需要打印,那么你在按下打印的时候,系统就会默认调用media="print"所对应的CSS文件了。也因此这样可以让你更好的整理你的打印页面,比如把一些不需要打印的内容屏蔽掉、优化打印页面(让内容更利于被打印)等等

虽然我不是前端,但。。了解一下这些内容还是有点用处的。

typecho 发布 0.8release版本

typecho 发布 0.8release版本

算起来,这一个release版本的时间是挺长了。从5月25日到8月15日,跨度也挺大。
下载页面在:http://typecho.org/download,这次更新的内容不多,主要还是一些补丁和BUG的修复吧。

其实如果你对typecho有意见,你可以到 http://code.google.com/p/typecho的issue里进行提问和申请。
顺便说一声,如果你觉得官方的插件太少,你可以直接从SVN里下载全部版本,里面包含了几乎所有的插件。还有一些文档也可以查看

svn的地址是:svn checkout http://typecho.googlecode.com/svn/trunk/ typecho-read-only

http://code.google.com/p/typecho/source/list,看这里就可以了解每一个小版本改动了些什么东西。当然一些细小的改动,就没有description了。其实说起来typecho的东西对于很多人来说算是比较复杂的。几乎所有的组件都基于plugin或者widget了,对效率还是会有影响的吧。。。

关注:jQuery Mobile来了!

关注:jQuery Mobile来了!

  为了让移动设备也能用上jQuery,jQuery开发团队发布了jQuery移动设备版开发项目jQuery Mobile Project(http://jquerymobile.com)。jQuery Mobile不仅会给主流移动平台带来jQuery核心库,而且会发布一个完整统一的jQuery移动UI框架。

  对于大名鼎鼎的jQuery开发团队来说,当然要让jQuery Mobile支持全球主流的移动平台,而不仅仅是北美流行的移动平台。想要知道jQuery Mobile项目将要做些什么吗?请看jQuery移动平台策略;想要知道jQuery Mobile项目将会支持哪些浏览器吗?请看Mobile Graded Browser Support。

6f521567fde3e8f1ee0e82a225ab1bba

  jQuery Mobile开发团队正在紧张工作,准备那些要支持的移动设备并针对这些设备进行测试。他们争取在今年晚些时候发布jQuery Mobile。如果你想为jQuery Mobile提供帮助,请加入jQuery Mobile社区的讨论组。

  jQuery Mobile项目已经得到了Palm, Mozilla等移动浏览器厂商的赞助。

  jQuery Mobile开发团队说:“能开发这个项目,我们非常兴奋。移动Web太需要一个跨浏览器的框架,让开发人员开发出真正的移动Web网站。我们将尽全力去满足这样的需求。”

  编者:移动互联网,挡不住的趋势...

  英文原文:Announcing the jQuery Mobile Project

  博客园编译

郁闷

郁闷

昨天,乘着最近比较空,于是选择了回家一次,顺便也可以帮小朋友带点草鸡蛋过来。于是一大早就乘车回家了。然后下午4点40的车回上海。
让我郁闷的事。。回家的车和到上海的车都是在途中空调坏了。然后就是越乘越热。几乎就是坐在蒸笼里。汗是嗒嗒滴啊。。。
说真的,差点中暑,想想自己的运气也真是差呀。
车箱里应该40度左右了。后来开了天窗稍有一点风。哦,也是热风。。。。
所幸的是,自己没有中暑,车上也没有人暈车。总算是值得让人欣慰的。否则,估计全车人都会趴下吧。。

dedecms:如何在runphp=yes的标签中使用其他field值

dedecms:如何在runphp=yes的标签中使用其他field值

dedecms有强大的TAG自定义功能,但如果你是在runphp=yes的情况下,你无法使用[field]等标签,因为它不解释了(都当成PHP代码了,怎么可能解析呢?)
怎么办?
查了一下google,没有发现解决方法。所以我想了很久想出一个临时性的解决方法,即用全局变量来解决这个问题。。
{dede:php}$GLOBALS['xxoo']=$arc->Fields['fieldname']{/dede:php}
{dede:field.xxxx runphp="yes"}@me="test".@me."-test".$GLOBALS['xxoo'];{/dede:field.xxxx}
即,先开一个PHP的标签,把想赋的值替换给global变量。然后在另外的运行中将field值赋值给他。

写的乱,不过还是解决了这个问题了。。

PHP手册

PHP手册

不得不说,PHP的手册已经有很久没有人更新过了。我也没有VC,也没有去尝试编译成CHM过。所幸,乔楚仍然在做这样的事情,细细算来,应该有N年了吧。毛大爷说过,做一件好事并不难,难的是一辈子做好事。虽然到现在为止并没有一辈子,但从第一次编译chm版PHP手册开始到现在,也几乎有3年了。

OK,不说废话,看手册地址。。

PHP 手册 (最新评论整合版V0.3,HonestQiao编译于2010-08-12)

2010演示版,测试地址:php_manual_zh-HonestQiao-20100812-Beta-V0.3.gz(下载后如打开无法正常查看,请从鼠标右键查看属性解锁;请使用7Zip打开,7-Zip下载)

零、更新日志:ChangeLog
1. 2008年3月19日,因官方问题,暂停继续更新
2. 2010年8月5日,2010演示版V0.1提供测试,基本整合最新手册和评论
3. 2010年8月11日,2010演示版V0.2提供测试,样式修改基本完善
4. 2010年8月12日,2010演示版V0.3提供测试,版式完善,加上了CHM导航目录和索引,可供正式使用

一、当前问题列表:TODO
1. CHM左则目录没有目录细节:已处理
2. CHM左则索引基本没有:已处理
3. 评论部分PHP代码没有颜色

二、感谢测试(部分人员,其他未列出请见谅):Thanks
jayeeliu@gmail.com、QQ/50753256、QQ/496995561

三、说明:More
1. 因为属于演示版,所以存在诸多问题,例如可能版式不正确不美观,可能存在乱码,可能有部分内容缺失等!
2. 请协助改进,与http://docs.php.net/manual/en/index.php对比测试
3. 如有问题,敬请告知,多谢了!
4. 反馈请致信 honestqiao@163.com,标题【PHP手册反馈】;
亦可通过QQ/5601680、MSN/honestqiao@hotmail.com反馈
5. 一旦测试反馈和修改完善,就进入正式发布队列,每周更新
6. 下载后如打开无法正常查看,请从鼠标右键查看属性,点击解除锁定即可

四、友情推荐:Friend
1. Coreseek开源中文检索引擎,http://www.coreseek.cn/,基于Sphinx,专业针对中文应用,MySQL绝配!

--------EOF------

当然我这边提供的就只是镜像(用于分流)了。但还是推荐经常关注http://bbs.chinaunix.net/thread-999247-1-1.html,因为,说不定哪天我们乔大姐又会更新手册了,不是吗?现在是RC版,过两天就可是正式版了。

本地镜像下载:点击下载,好处多多,缺点就是文件名太长了。。。

jQuery 绑定自定义事件

jQuery 绑定自定义事件

一般情况下,我们对于jQuery的事件绑定都是采用bind,从1.3开始。可以同时绑定多个事件了。这是非常方便的情况,但是对于checkbox和radio来说会有几种情况,比如checkbox选中时,本身就触发了click事件,这时候怎么办?如果为checkbox添加label那么lable在点击时,能不能触发checkbox的click事件?这都需要研究一下。比如,我们在checkbox上绑定了click事件,平时我们在选中的时候都有触发。但是在label上点击的时候,就要再额外加一下了。

$("input[type=checkbox]").bind('click',function(){
//...
})
$('label').click(function(){
$(this).children('input[type=checkbox]').click();
})

基本上也可以触发这种事件。
一般元素在绑定的时候,都是绑定click,change,等

//但如果想触发系统事件,就必须是evtClick了。【这里其实是自定义事件。在绑定后还是需要单独触发一下。原来我写错了。】

可以参考http://www.cnblogs.com/mamboer/archive/2010/08/11/1797532.html