高斯不亏是站在牛A和牛C中间的人。看到这张图片后感慨万分,当我刚刚有圆规的时候,我除了上课作图外,其他的功能就是和同桌对刺(哦,是越过所谓的三八线后的对刺)
上图吧。。。鸡动人心的时候到了。
额。大家懂的。。。GIF被处理后不能动了。直接点击看大图吧。
Submitted by gouki on 2010, July 24, 1:15 PM
高斯不亏是站在牛A和牛C中间的人。看到这张图片后感慨万分,当我刚刚有圆规的时候,我除了上课作图外,其他的功能就是和同桌对刺(哦,是越过所谓的三八线后的对刺)
上图吧。。。鸡动人心的时候到了。
额。大家懂的。。。GIF被处理后不能动了。直接点击看大图吧。
Submitted by gouki on 2010, July 23, 11:16 PM
本文还是来自kakapo的博客。主要是因为我看到其中的一段话:
在我的好友中。有不少都是有孩子的。有不少和我们家的孩子差不多大。我们的小孩也是刚刚2周岁出头。而我也经常有做这种威胁的事情,比如小孩子很喜欢从很小就开始盖的黄小鸭的毯子,有时候睡觉醒来就会爬过去把黄小鸭拿起来盖在身上才能继续睡,否则就不肯睡。只是,虽然他这么喜欢。他还是会用嘴咬这条毯子。估计也是更小的时候养成的习惯。因为毯子总归不太卫生,再怎么洗,总感觉还有小家伙尿床的痕迹,所以不喜欢他咬来咬去的。于是就对他说,你再咬黄小鸭,大灰狼就把它带走了。当然也会说,黄小鸭被你天天咬的很疼,你再咬啊咬的,黄小鸭就要自己走了。于是现在提到他咬毯子的事情,他就会说,大灰狼会拿走它的。。。。额,这也算是威胁了。唉。
上全文吧:
或许你的宝宝昨天还是天使,今天就开始成为挑战你忍耐力的恶魔。斯波克有句话形容2岁的孩子,说“可怕的两周岁”,听上去有些匪疑所思。但是,不可否 认,孩子这时候会有许多矛盾的特点:既有依赖性,又有独立性;既可爱又可恶;既大方又自私。有许多令人兴奋的事情都发生在这个阶段,所以该阶段无论对父母 还是孩子都是一个挑战。
■ 心理探秘
这个时期的宝宝正处于独立期,开始表现出自发性。想睡觉了、肚子饿了、感到疲倦了、对自己能 力未达到理想状态等,一点小事情都可能引起宝宝发脾气。这就是“可怕的两岁儿”,他正在渡过他人生里的第一次反抗期。
■ 理解这个时期的孩子
首先父母要理解宝宝在这个时期的拗劲,他们并非想故意和你作对,是心理发育的不平衡使他天性如此。创造一个良好的家庭环境本身 就会使宝宝减少任性。父母平时应尽量避免对他的环境做较大的变化,因为这种超过他心理接受能力的外界刺激会使宝宝感到总是无法预料和处理即将发生的变化。 这让他恼怒、害怕,只能以哭闹来应付这些变化。当然在原则性问题上,我们的确主张家长要制定一些严格的规定,但你要仔细考虑这些规定的内容和适用范围。
■ 妈妈的妙招
宝宝总会长大,也总会进入这个“难搞”的两岁,就让我们来看看各家妈妈们是怎样机智地应对宝宝的反抗期。
贴心提示:
1. 提前预留充足的时间让宝宝自己动手,在打算帮忙而宝宝说“不”时,就放手让他自己去做;
2.面对宝宝的发脾气,爸妈要找清原因,区分宝宝需求的合 理性,坚持一定的原则,让宝宝学会自己控制情绪,不能一味让步,否则容易使宝宝任性;
3.多给宝宝一些动眼动脑和动手的机会,让他自己去感 受去实践,有利于开发宝宝的智力;
4.经常聆听宝宝的讲话,让宝宝表达自己的想法,对宝宝的心灵成长起极大的作用。
■ 对孩子的过分要求给以拒绝时要注意你的方式
很多家长误认为拒绝孩子就是简单冷漠地说声“不行”或者给予一顿暴打。其实对孩子来说,妈妈置之不理的 表情和实际行动比语言更有效。等他安静下来,妈妈再主动邀请他玩新游戏,或把他心爱的玩具拿给他,以转移他的注意力。换句话说,对待宝宝的过分任性,要立 场坚定,态度亲切。
- 紫菜不仅含铁丰富,而且含维生素B12,铁和维生素B12都是造血所必需的营养素。可以适量给孩子添加紫菜。紫菜每次食用15克为好。为清除污染、毒素, 食用前最好用清水泡发,并换一两次水。胃肠消化功能不好或者腹痛便溏的宝宝应少吃紫菜。
违拗症
孩子到了两三岁的时候,好象是天性促使他们自己做决定,而不允许他人干涉。但是这么大的孩子认识世界毕竟有限,因此在自行做决定和反对外来压力时心里很紧 张。正因如此,要想和两三岁的宝宝友好相处可不是一件容易的事。
■ 就爱说“不!”
无疑,这就是所谓的违拗症,或是对父母权威的 挑战。违拗症是一种经常发生的相当正常但却令人痛苦的行为,在孩子的第2年中至少会持续6个月。在某种意义上,这个阶段可以说是青春期的预演。在他们简单 的人生当中,宝宝第一次开始认识到自己是个独立的人。当你让宝宝把某个东西还给你,而他抓着那个东西不放,并说“不,我的”,你就会知道他已经有了自我意 识。随着他会说的词汇的增加,他会开始使用自己的名字,对自己的玩具表现出占有欲,开始对衣服有所挑剔,并且开始抗拒你的一些简单要求。他会开始要看看违 背你的意志的后果。“不”这个词对他充满了魅力。
孩子拒绝做你想要他做的事情是完全正常的。他这么做并非有意让你生气或是故意违抗你的意旨。他之 所以这么做是因为他发现原来自己也是一个个体,他正在尝试自己做决定的能力。
■ 爸爸妈妈要理解自己的孩子
既不要过多地干涉宝宝 做什么,也不要催促他做什么。尽可能地多说些有趣的事情来引逗他去按你的意思去做。家长固然是要制定些严格的、持之以恒的规矩,但是要仔细考虑这些规矩的 内容和适用范围。如果发现自己对孩子说“不行”的时候大大地多于“行”,就可能是你制定的规矩太多了。另外,如果家长一味地妥协,孩子就会被宠坏。所以, 关键是如何在这两者之间找到均衡。
■ 巧妙地给宝宝选择的权力
有时你可能会跟他解释,但他仍然不想做你要求他做的事情。这是因为 他想要自己做出选择。
“这一阶段如果给孩子提供选择项让他自己做出选择,会有助于锻炼他的决策技巧。“你是想穿你的绿外套呢还是黄外套?”“你是 要自己走呢还是要抱着?”只要孩子们选择其一,你的短期目标就达到了。
但你需要确保你提供的选择项是你自己能接收的。如果你是要去某个地 方,就别说:“你是想去呢还是在家里呆着?”如果孩子选择在家呆着,而你又必须要去,那你的孩子得到的教训就是他的选择无关紧要,你提出选择时并没打算说 话算数。
还有,威胁也不是一个选择。“穿上外套,否则我就揍你/把你自己留在家里/再也不带你出门了。”这可不是选择,而是威胁。威胁只会导致你 的孩子害怕你。并且还会给父母设下一个陷阱:如果你的孩子还是拒绝穿外衣,你就只好把你的威胁变成现实,这样,只能使情况更加糟糕。
Submitted by gouki on 2010, July 22, 10:25 PM
来自kakapo的博客:http://www.kakapo.cn/blog/read.php?112,主要是实在不懂。事实上,我看完,我也不懂。
任何一款拥有socket操作能力的语言都有一个专门用于组包的函数,php也不例外!
用了很久php了却很少有机会用php进行一些二进制操作。 最近用php写一个socket客户端连接一个用C++语言开发的游戏服务端。 服务器端开发人员使用了二进制的形式来定义协议的格式。协议格式如下:
包头(2bytes)+加密(1byte)+命令码(2bytes)+帧内容
1.包头的内容是记录帧内容的长度;
2. 加密:0表示不加密,1表示加密;
3. 命令码为服务端命令识别符号;
一开始不了解php原来有pack可以来组装二进制包, 走了弯路,让服务端开发人员用C语言帮忙开发了的几个内存操作函数,按照协议规则返回二进制包,然后我将这几个方法编译成一组扩展函数供php使用。
话归正题,本文是介绍如何使用pack和unpack这两个方法的。php官方手册举例太少,不能很容易理解,特别是那些格式化参数的使用。
转 摘的参数中文说明:
pack/unpack 的摸板字符字符 含义
a 一个填充空的字节串
A 一个填充空格的字节串
b 一个位串,在每个字节里位的顺序都是升序
B 一个位串,在每个字节里位的顺序都是降序
c 一个有符号 char(8位整数)值
C 一个无符号 char(8位整数)值;关于 Unicode 参阅 U
d 本机格式的双精度浮点数
f 本机格式的单精度浮点数
h 一个十六进制串,低四位在前
H 一个十六进制串,高四位在前
i 一个有符号整数值,本机格式
I 一个无符号整数值,本机格式
l 一个有符号长整形,总是 32 位
L 一个无符号长整形,总是 32 位
n 一个 16位短整形,“网络”字节序(大头在前)
N 一个 32 位短整形,“网络”字节序(大头在前)
p 一个指向空结尾的字串的指针
P 一个指向定长字串的指针
q 一个有符号四倍(64位整数)值
Q 一个无符号四倍(64位整数)值
s 一个有符号短整数值,总是 16 位
S 一个无符号短整数值,总是 16 位,字节序跟机器芯片有关
u 一个无编码的字串
U 一个 Unicode 字符数字
v 一个“VAX”字节序(小头在前)的 16 位短整数
V 一个“VAX”字节序(小头在前)的 32 位短整数
w 一个 BER 压缩的整数
x 一个空字节(向前忽略一个字节)
X 备份一个字节
Z 一个空结束的(和空填充的)字节串
@ 用空字节填充绝对位置
string pack ( string $format [, mixed $args [, mixed $...]] )
一些规则:
1. 每个字母后面都可以跟着一个数字,表示 count(计数),如果 count 是一个 * 表示剩下的所有东西。
2.如果你提供的参数比 $format 要求的少,pack 假设缺的都是空值。如果你提供的参数比 $format 要求的多,那么多余的参数被忽略。
下面还 是用例子来说明用法会容易理解一点:
关于Pack:
下 面的第一部分把数字值包装成字节:
$out = pack("CCCC", 65, 66, 67, 68); # $out 等于"ABCD"
$out = pack("C4", 65, 66, 67, 68); # 一样的东西
下面 的对 Unicode 的循环字母做同样的事情:
$foo = pack("U4", 0x24b6, 0x24b7, 0x24b8, 0x24b9);
下面的做类似的事情,增加了一些空:
$out = pack("CCxxCC", 65, 66, 67, 68); # $out 等于 "AB\0\0CD"
打包你的短整数并不意味着你就可移植了:
$out = pack("s2", 1, 2);
# 在小头在前的机器上是 "\1\0\2\0"
# 在大头在前的机器上是 "\0\1\0\2"
在二进制和十六进制包装上,count 指的是位或者半字节的数量,而不是生成的字节数量:
$out = pack("B32", "...");
$out = pack("H8", "5065726c"); # 都生成“Perl”
a 域里的长度只应用于一个字串:
$out = pack("a4", "abcd", "x", "y", "z"); # "abcd"
要绕开这个限制,使用多倍声明:
$out = pack("aaaa", "abcd", "x", "y", "z"); # "axyz"
$out = pack("a" x 4, "abcd", "x", "y", "z"); # "axyz"
a 格式做空填充:
$out = pack("a14", "abcdefg"); # " abcdefg\0\0\0\0\0\0"
关于unpack:
array unpack ( string $format, string $data )
$data = "010000020007";
unpack("Sint1/Cchar1/Sint2/Cchar2",$data);
## array('int1'=>1, 'char1'=>'0','int2'=>2,'char2'=>7);
最后本文开头讲到的协议使用pack/unpack 举例程序代码为 :
Submitted by gouki on 2010, July 21, 9:43 PM
P3P,不算是新名词,但还是有些人不清楚。事实上我也不清楚。。。在百度上看到有这玩意就备份下来。说真的,我只是知道用,但不知道为什么用。额。。很明显,因为在ucenter同步的时候,在discuz的ui/api里有写过。
看内容吧。。。。
IE6/IE7支持的P3P(Platform for Privacy Preferences Project (P3P) specification)协议默认阻止第三方无隐私安全声明的cookie,Firefox目前还不支持P3P安全特性,firefox中自然也不存 在此问题了。
在frameset里面,也就是里面的frame是来自第三方站点(不同IP或不同域名),那么默认情况下IE会自动禁用这些站点的cookie, 也就是在请求某url时在HTTP header里不发送它们的cookie,包括session的cookie。注意,这些站点在response里面设置的cookie还是会被发送到浏 览器的。
在用户浏览a.php时 A.com写入的为第一方Cookie,其嵌入的iframe指向 b.php.这时B.com写入的就为第三方Cookie了,所以它是被IE当在了大门外。 所以,每次当用户提交的cookie提交时,就挂掉了.因为传不到真实的服务器.
解决方案.
PHP的程序,可以直接在B网站中写入
lighttpd的服务器
增加一个网站http头来解决问题;
管理工具——〉选择一个网站——〉属性——〉 http头,增加一个http头
然后输入头名:P3P
输入头内容:CP=CAO PSA OUR
jsp页面:
Submitted by gouki on 2010, July 20, 5:33 PM
1、老王的乱炖中写了一个例子。
写代码要细心【http://hi.baidu.com/thinkinginlamp/blog/item/5e8062d9b33ccc2110df9b2a.html】
看一段PHP代码,设想一下它的输出结果,可以用来做面试题:
<?php if ($a = 100 && $b = 200) { var_dump($a, $b); } ?>
我眼睛一闭就随便想了一下$a=100,$b=200。然后看标题是写代码要细心。再仔细看看。才发现。。。额,我错了。
2、yaml
yaml这东西有据可证以来,好象在国内,应该算是QeePHP最早拿来做应用(我是指开源项目中),确实这东西挺方便【现在新浪sae的配置文件就是用yaml的】
初学者可以看看http://www.lanyg.com/blog/?p=63,Tim在这里写了一些简单的入门。不过我相信,足够你使用了。
yaml主要还是写起来方便。而且不用过多的担心语法(xml还需要闭合。array的话也需要注意PHP语法),yaml反正解析出来,要么不对,要么就正确。至少不会报一些奇怪的错误。
3、HTTP协议。
这篇也是来自于tim的博客:http://www.lanyg.com/blog/?p=33,他也是转载的csdn的文章http://blog.csdn.net/gueter/archive/2007/03/08/1524447.aspx,原作者是jeffrey,内容挺长。不过如果你想要模拟http POST和GET数据,你真的可以看一下这一篇东西
它介绍了【HTTP协议详解之消息报头】,也教你如何用telnet查看http协议的通讯过程(当然现在我们都是用firebug或者fildder之类的工具),文章最后介绍了一些补充协议,如代理(proxy),通道(tunnel)等。值得一看。