| water's profile我是三八我怕谁PhotosBlogLists | Help |
|
August 19 看奥运9号去看奥运男子体操团体预赛,在鸟巢旁边的国家体育馆。
上午,先去了新世界,买了2件上衣,新装上市的夏装,所以不打折,要不是我着急买衣服,决不会现在出手,肯定要等到甩货打折的时候才会买啊,花了我好多银子。
下午,从崇文门出发,先坐2号线地铁,到雍和宫换5号线地铁,到惠新西街南口换10号线地铁,到北土城换奥运支线(8号线),奥运支线只停奥林匹克公园。
安检是在换乘奥运支线的时候进行的,必须从地下先到地上,安检之后再到地下换乘。我背的是平时出门的包,安检的时候,自带的水、火柴和打火机就直接扔掉吧,肯定不让带进去的,还要把硬币、手机、钥匙、伞全部拿出来拿在手上过安检,我包里面一大把的硬币,都是去超市的时候找零的,包过安检的机器,人过安检门,之后还有志愿者在身上比划。原本以为过了之后就完事了,没想到我的包过安检机器的时候,说里面有化学品。于是开包检查,一支护手油和一支防晒霜,要我试用一下,唉。。。。。。然后是两小瓶药,说你怎么带这么多药,只能带当天的量,还问是什么药,我说是降糖药,问为什么切开了,我说医生就让我吃半片,我只好都切成一半一半的方便。志愿者还拿给坐在一旁的警察看,警察撇了我几眼,说下次别带这么多了,然后就放我们过去了。
好麻烦,下次再也不带这么多东西去看比赛了。
喜欢李小鹏,很稳,没什么失误,杨威在双杠上失误了,坐在双杠上了,不过其他动作都很漂亮,所以分数也不算低。
小日本的单杠做的真漂亮啊,飞得很高。俄罗斯衰落了。 January 19 昨天又做了一个梦梦到公司组织去体检, 我去的比较早, 去的时候人很少. 体检中心的布置很奇怪, 量身高体重血压的, 和照X光的在一起, 旁边还有口腔检查和眼科检查的. 我先检查了身高体重和血压, 看到照X光的那没人, 就特高兴的去照了. 医生是个女医生, 50岁左右, 特别认真. 不过, 照X光的仪器很奇怪, 一个长长的操作手臂, 伸出一个竖着的平板, 平板两边还有把手, 照的时候需要体检者手握两边的把手, 把平板在体前移动, 这样操作手臂的另一端的机器就能看到不同的位置的图像. 我把平板上上下下左左右右的移动, 移动到头部的时候我还能看到屏幕上显示出一个骷髅头的样子. 照到右边肺部的时候, 能看到一个一个的小泡, 就像细胞一样. 这时听到医生说你看她的也是这样. 我也弄不懂这话什么意思, 刚想问问清楚, 那个女医生忽然下班了, 结果她就径直走了. 换了个男医生来, 可是这个男医生很笨, 捣鼓半天也没弄好机器. 结果体检的人越来越多了, 在我身后排了很长的队伍, 屋子里面也变得很嘈杂. 我这个后悔啊, 心里还惦记着我还有好多别的项目没查呢, 后悔我为什么不先查别的, 最后再查这个麻烦的X光. 身后排队的人, 有人已经开始不耐烦了, 开始嚷嚷着让医生快点, 还有人嘀咕说, 这个体检的人怎么查了这么久还没完, 不会是有什么问题吧. 我心中有气, 心想胡说什么呢. 然后就醒了...... January 17 昨天做了两个梦昨天做了两个梦, 第一个是, 梦到我是一个大财主的女儿, 我有好几个哥哥, 但是我老爸只有我一个女儿, 所以我家里人都特别娇纵我. 我家有好大的宅院, 宅院有好高的院墙. 宅子外面是一个很大的庄园, 庄园周围也有院墙, 不过是那种像城墙一样的. 我们家虽然表面上是老老实实的财主家, 其实是土匪. 庄园里, 壮丁平时是农民, 但是都是训练有素的, 都会打枪. 我家有好多枪, 我也会打枪, 我从小受哥哥们的宠, 哥哥们都教我怎么打枪. 平时, 我爸爸还和周围的庄园有来往, 制定一些互相不侵犯的条款. 有一天, 听说远处的一个大土匪要路过我们庄园附近, 而且还带着队伍, 我爸爸和哥哥们就特别紧张, 赶紧张罗着预防着, 不过, 后来那个大土匪路过的时候和我们庄园倒是没发生冲突, 后来...就醒了. 第二个梦是, 忘了, 早上还记得, 这会忘了. June 13 sprintf()的使用int _tmain(int argc, _TCHAR* argv[])
{ //int sprintf(char *buffer, const char *format [,argument] ... ); //根据sprintf函数的帮助, 我理解, sprintf函数只是简单的按照格式往buffer里面写入字符串 //sprintf返回int类型的值, 是写入buffer的不包含\0(终止符)的字符个数, sprintf会自动在buffer后面添加一个\0 //但是, sprintf函数本身并不会判断写入buffer的内容是否会造成buffer溢出 //请看下面的例子 { //定义一个8字节的字符串 char strSource[8]; //用memset分配了内存空间以后, strSource所占空间为8;
memset(strSource, 0, sizeof(strSource)); int iSize = sizeof(strSource); //未对strSource赋值, 长度为0 int iLen = strlen(strSource); //用sprintf赋值, 注意, 此时赋值为12345, 只有5个字节 sprintf(strSource, "12345"); //赋值以后, 长度为5 iLen= strlen(strSource); //用sprintf赋值, 注意, 此时赋值为1234567, 7个字节, 加上最后一个\0终止符, strSource的内存空间已经满了 sprintf(strSource, "1234567"); //赋值以后, 长度为7, iLen= strlen(strSource); //下面内容会出现溢出错误
//用sprintf赋值, 注意, 此时赋值为1234567890, 10个字节 sprintf(strSource, "1234567890"); //赋值以后, 长度为10, iLen= strlen(strSource); //出错: //此时, 虽然已经超出了strSource本身定义的长度, 但是程序并不报错, 还能继续执行 //但是, 在程序退出的时候, 会出现运行时错误, strSource的栈溢出 }
getchar();
//请看第二个例子
{ //定义一个8字节的字符串 char strSource[8]; memset(strSource, 0, sizeof(strSource)); sprintf(strSource, "1234567"); //此时的赋值是恰好的 //定义一个5字节的字符串 char strDest[5]; memset(strDest, 0, sizeof(strDest)); //下面内容会出现溢出错误
int iRev = sprintf(strDest,"%s",strSource); //出错. //sprintf只是将strSource的内容按照指定的格式写入strDest, 但是并不检查strSource是否能容纳那么多的字符 } getchar();
//我看帮助, 可以使用_sprintf函数来避免这个问题
//int _snprintf(char *buffer, size_t count, const char *format [,argument] ... ); //请看第二个例子的修改 { char strSource[8]; memset(strSource, 0, sizeof(strSource)); sprintf(strSource, "1234567"); char strDest[5]; memset(strDest, 0, sizeof(strDest)); int iSize = sizeof(strDest); int iRev = _snprintf(strDest, iSize, "%s",strSource);
}
getchar();
return 0;
} May 24 安装Apache服务今天, 人同学在安装Apache服务器的时候, 安装成功启动服务, 先出现80端口冲突的错误.
我修改了conf\httpd.conf文件的listen的端口为8080以后, 启动还是不成功.
出现错误"系统找不到指定文件: No installed :No installed service named "Apache2"". 同时, Apache无法启动, 且在服务里面看不到Apache2注册的服务
Apache的安装非常简单, 而且我们也经常安装使用Apache, 以前从未遇到这个错误, 人同学刚刚新装了windows2003操作系统.
用同样的安装文件, 我在我机器上装了Apache, 我机器是windows2000的环境, 安装和启动一切正常.
一开始我怀疑是操作系统的问题. 求助了伟大的网络. 果然看到解决方法.
原来, 人同学安装了IIS, 且随操作系统安装, IIS服务为自启动.
将IIS服务停止以后, 再重新安装Apaceh, 问题解决. April 24 王某人语录我王某人什么时候说话不算数了??
王某人说: 我其实是个诗人...
王某人说: 两只无助的羔羊, 互相舔拭一下彼此的伤口, 然后默默的各自走各自的路
王某人说: 我是很传统的...
王某人说: 成熟的标志是, 承认脆弱, 承认恐惧...
杨说: 我们以后要仰视王某人了...
戚说: 我们只能看到他的肚子...
王某人说: 我也想改变一切,但我只是个小人物...
王某人说: 英俊我是没问题, 但是我不会修抽油烟机...
王某人说: 我要变得木呐...
王某人说: 哪怕吓的面色苍白, 也继续往前走, 这就是小人物的胜利...
王某人说: 我的最高理想是: 嫁入豪门, 夺其家产, 推入火坑...
场景: 大家在吃饭
一人: 大宝你怎么不吃菜老吃肉.
大宝: 我一直是比较专一的...
场景: 大家吃饭时聊去游乐场玩.
大宝: 当人在空中像树叶一般摇摆时, 才感觉出生命的脆弱...
场景: 大家讨论红楼梦
大宝: 曹雪芹想把红楼梦写成是一个幻灭的故事, 结果高鄂写成了一个轮回的故事
场景: 有一个不可能实现的需求派过来
大宝: 我也想飞上月球, 可是有的时候很多事情都不太现实.
场景: 未知
大宝:那也没有办法,很多事情的乐趣就在与节外生枝,就像越狱
场景: 前方路口有交警
tank: 你快贿赂我们, 不然我们就和交警说这是黑车
大宝: 你们见过这么英俊的黑车司机么!
(待续...) April 07 下午很开心今天下午很开心, 我用了一个obj = NULL; 解决了一个困扰我两天的问题. 虽然产生bug的位置和bug报错的位置相距很远, 但是我执着的试验/跟踪, 最后没有放弃, 把问题圆满解决, 让我很是欣慰.
在此再次提醒自己, new出来的东西, 虽然最后delete掉了, 也最好在delete之后把obj设置成NULL; 避免后续的使用中不必要的HEAP错. 我好像一直都不知道自己追求的是什么今天和大伙一块腐败, 张喆一边吃烤羊肉串, 一边吃米饭, 一边说你是不是25岁?
我从来不觉的自己的年龄是什么问题, 我也从来没想过我是老了还是还年轻, 只不过, 看着现在我周围的人比我小, 将来我周围的人也只会比我更小. 回家路上, 张喆居然还问我, 你结婚了吗? 呵呵, 我并不悲哀我的年龄, 只不过比我小的, 似乎比我更有人生的奋斗目标.
我知道很多事情都是很无奈的, 勉强不了. 不过, 我回想起来, 在工作上, 我总是不知道自己追求的是什么, 可能就是不知道自己应该追求什么, 在意什么, 所以才来来回回都走不出一个怪圈, 其实, 也许我现在在意的并不是我真正应该在意的, 我现在想要追求得到的并不是我真正应该追求得到的, 只是我目光短浅, 看不到更以后的将来, 所以只好在意我现在的在意罢了. March 20 粑子火锅昨天, 吃到了魂牵梦绕很久很久的粑子火锅, 那叫一个香啊, 现在感觉嘴巴里面还是油油滑滑的......
我想吃粑子火锅已经很久了, 上次吃, 还是我LG陪我去的. 之后的三个多月里, 我时不时就有再去吃的冲动, 可是一个人吃火锅, 实在很傻, 每次都忍住了.
多亏了小薛啊!!
March 18 独自一人吃了半斤猪耳朵上午去超市, 想买点熟食, 看着什么都不好, 就猪耳朵还凑合, 说抓一把猪耳朵, 没想到售货的小姑娘手真大, 一抓就是半斤, 半斤就半斤吧。
晚上回来, 一边看武林外传一边吃猪耳朵, 不知不觉就都吃光了。
忽然觉得有点恶心, 我的胃里装了半斤猪耳朵啊!!!!! February 10 mysql 4.1中文乱码mysql4.1的my.ini文件里面指定了默认的字符集为latin1, 所以从4.1导出数据(mysqldump)会出现中文乱码问题. 另外, 听说这也可能会引起客户端的中文显示乱码.
解决方法: 步骤一. 修改my.ini里面的default-character-set=gbk, 然后重新启动mysql的服务. 但是做了上述修改, 在mysql的客户端工具查讯时显示的中文会变成???, 所以客户端连接时也需要指定字符集: mysql -hIP -uusername -ppassword -Pport --default-character-set=gbk 步骤二. 在执行mysqldump的时候, 可以指定字符集为gbk. mysqldump -hIP -uroot -ppassword --default-character-set=gbk databasename > outputfilename February 09 我要喝热水公司有4台饮水机, 每台饮水机假设3分钟可以烧开一杯水, 那么每小时可以烧开80杯, 每天9小时可以烧开720杯, 公司大概有员工150人, 那么720/150=4.8, 就是说, 每人每天可以喝到接近5杯的热水. 每天工作时间喝5杯水也算正常饮水量.
可是, 鉴于每个员工接水的时间的随意性, 可以想象会经常有员工喝不到热水.
而且, 恐怖的是, 接水时间不只是非常随意, 还有高峰期, 比如上班时, 午饭时, 下午上班时等.
看来为了能让每个人都能够喝到热水, 只能对大家接水喝的时间进行严格的排序了. 解决mysql 1251错vicky换了笔记本, 所以以后不能再使用她机器上的mysql数据库了. 于是我们将vicky机器上的mysql数据库做了备份, 导入到冠男的库, 用bin\mysql访问正常, 但是网关程序访问时出现1251错:
Error: Client does not support authentication protocol requested by server; consider upgrading MySQL client
Errno.: 1251 vicky机器上的mysql是4.0版本的, 而冠男机器上的mysql是4.1版本的.
分析一下:
冠男机器上的mysql是4.1版本的, 在安装时, 同时安装了mysql的server和client, 所以bin\mysql也是4.1版本的客户端, 所以访问没有障碍.
网关程序用的是4.0版本的mysqlclient.lib, 所以, 用网关程序访问4.1版本的server时, 出现了障碍.
google以后, 果然找到了解决办法.
解决方法: 1、windows平台 主要是改变连接MySQL的帐户的加密方式,MySQL4.1/5.0是通过PASSWORD这种方式加密的.可以通过以下两种方法得到解决: mysql->SET PASSWORD FOR 'some_user'@'some_host'=OLD_PASSWORD('new_password'); mysql->UPDATE mysql.user SET Password=OLD_PASSWORD('new_password') WHERE Host='some_host' AND User='some_user'; 2、Unix平台
linux平台下首先确定是否安装过MySQL的客户端,这个用rpm安装很简单: rpm -ivh MySQL-client-4.1.15-0.i386.rpm 然后在编译php的时候要加上:
--with-mysql=/your/path/to/mysql 一般情况下都可以解决。如果还出现这种错误,可以按照下面的方法来做:
mysql->SET PASSWORD FOR 'some_user'@'some_host'=OLD_PASSWORD('new_password'); mysql->UPDATE mysql.user SET Password=OLD_PASSWORD('new_password') WHERE Host='some_host' AND User='some_user'; February 08 昨天做了一段非常简单的trim字符串空格的代码小白原来写的trim字符串空格的函数不是很好用, 所以在小白的代码的基础上, 重写了trim函数, 如下:
#include "stdafx.h"
using namespace std;
void LeftTrim(char *str)
{ char * p = NULL;
int pos = 0; char bufTemp[2048]; memset(bufTemp, 0, 2048); p = str; while ((*p != '\0') && (*p == ' ')) { p++; } while (*p != '\0') {
bufTemp[pos] = *p; p++; pos++; } bufTemp[pos] = '\0';
sprintf(str,"%s",bufTemp); }
void RightTrim(char *str)
{ char *pStart= NULL; char *pEnd = NULL; int iLen = 0; int pos = 0; char bufTemp[2048]; memset(bufTemp, 0, 2048); pStart = str; while (*pStart != '\0') { iLen++; pStart++; } pStart = str;
pEnd = str + iLen; while (pStart != pEnd) {
if ((*pEnd == '\0') || (*pEnd == ' ')) { pEnd--; } else { bufTemp[pos] = *pStart; pStart++; pos++; } } bufTemp[pos] = *pEnd;
bufTemp[pos+1] = '\0'; sprintf(str,"%s",bufTemp);
}
void Trim(char *str) { char *p = str; if (*p != '\0') { LeftTrim(str); RightTrim(str); } } int _tmain(int argc, _TCHAR* argv[])
{ char str[2048]; memset(str, 0, 2048); sprintf(str, " a b ");
Trim(str); printf("Trim:%s;", str); getchar();
return 0;
} 写完以后自我感觉很不满意. 一是效率太差, 二是自我感觉安全性也比较差. 经过vicky指导, 修改如下:
#include "stdafx.h" using namespace std;
void LeftTrim(char *str)
{ int iLen = strlen(str); if (iLen<=0) return; char * p = NULL;
char bufTemp[2048]; memset(bufTemp, 0, 2048); p = str; while ((*p != '\0') && (*p == ' ')) { p++; iLen--; } if (iLen > 0) memcpy(bufTemp, p, iLen);
bufTemp[iLen] = '\0';
sprintf(str,"%s",bufTemp); }
void RightTrim(char *str)
{ int iLen = strlen(str); if (iLen<=0) return; char bufTemp[2048];
memset(bufTemp, 0, 2048); char *pStart= NULL; char *pEnd = NULL; pStart = str; pEnd = str + iLen-1; if (pStart == pEnd) {
if(*pStart != ' ') bufTemp[0] = *pStart; else iLen--; } else { while (pStart != pEnd) { if (*pEnd == ' ') { pEnd--; iLen--; } else { memcpy(bufTemp, pStart, iLen); break; } } } bufTemp[iLen] = '\0';
sprintf(str,"%s",bufTemp); }
void Trim(char *str) { int iLen = strlen(str); if (iLen > 0) { LeftTrim(str); RightTrim(str); } } int _tmain(int argc, _TCHAR* argv[]) { char str[2048]; memset(str, 0, 2048); sprintf(str, " a b ");
Trim(str); printf("Trim:%s;", str); getchar();
return 0;
} 写完以后, 还是不满意, 又修改如下:
// TestStrTrim.cpp : 定义控制台应用程序的入口点。
#include "stdafx.h"
using namespace std;
void LeftTrim(char *str)
{ if(str == NULL) return; int iLen = strlen(str); if (iLen<=0) return; int i;
for(i=0; i<iLen; i++) { if (str[i] != ' ') break; } memcpy(str, str+i, iLen-i);
str[iLen-i] = '\0'; } void RightTrim(char *str) { if(str == NULL) return; int iLen = strlen(str); if (iLen<=0) return; int i;
for (i=iLen-1; i>=0; i--) { if (str[i] != ' ') break; } memcpy(str, str, i+1); str[i+1] = '\0'; }
void Trim(char *str) { if(str == NULL) return; int iLen = strlen(str); if (iLen<=0) return; int i;
for(i=0; i<iLen; i++) { if (str[i] != ' ') break; } int j;
for (j=iLen-1; j>=0; j--) { if (str[j] != ' ') break; } if (j>=i) { memcpy(str, str+i, j-i+1); str[j-i+1] = '\0'; } else str[0] = '\0'; }
int _tmain(int argc, _TCHAR* argv[]) { char str[2048]; memset(str, 0, 2048); sprintf(str, " a b ");
LeftTrim(str); printf("LeftTrim:%s;", str); sprintf(str, " a b ");
RightTrim(str); printf("RightTrim:%s;", str); sprintf(str, " a b ");
Trim(str); printf("Trim:%s;", str); getchar();
return 0;
} 现在暂时想不出还能怎么改了, 欢迎高手指正 January 26 昨日惊险昨日上午, 我爸妈去超市购物, 中午回家以后, 我妈妈去卫生间洗手, 推门没推开, 而且推门的感觉像是里面有人, 外面推门推开一点就遇到阻力又被关上. 我妈妈以为我找机会从公司溜回家了, 还挺高兴说: 里面有人啊, 真坏! 然后就去厨房洗手了, 还说: 你怎么早回来了. 可是, 卫生间里面一直没人搭话. 我妈妈忽然觉得很奇怪, 然后就又去推门, 还是推不开, 又问谁在里面, 还是没动静. 我妈妈就喊我爸爸: 快来, 卫生间有人! 有小偷!! 我爸爸一听快步赶过去, 对着卫生间的门, 怒喝一声"出来!", 里面没动静, 我爸爸又说"出来没事! 放你走!", 还是没动静, 中间我爸爸也试图推门, 也是推不开, 我爸爸就拉着门把手和我妈妈说, 快打110!
我妈妈去厨房先拿了一个大擀面仗递给我爸, 然后自己拿了一个小擀面仗, 然后才去打110. 感觉现在北京的110还不错, 110中心先问了我家的地址, 然后几秒钟后就转给了离我家最近的110中心, 我妈妈说我们从外面回来, 家里的卫生间的门推不开, 对方一听就说是不是怀疑有小偷, 我妈妈说是, 对方说马上就到! 果然几分钟警察就来了. 2个警察进屋的时候, 我爸爸还握着擀面仗拉着门呢.
警察来了, 对着门喝斥: 里面的人出来! 可是这么长时间了, 一直都没有听到里面有动静, 警察又观察了一下门, 看到门缝有个地方不透光, 说, 可能是有东西卡住了. 然后大家就开始捅鼓.
最后问题解决, 原来是门后暖气上的洗衣板掉了, 而且恰好掉到暖气后面并且斜出来挡住了门. 每次一推门, 洗衣板一边卡在暖气后面, 所以另一边正好卡着门. 110回复了总部以后, 记下我妈妈的身份证号, 走了.
虚惊一场! January 23 公厕-公司厕所仅限女厕
公司女厕一共8个坐便, 其中有2个坐便没有坐便盖儿, 一个门关不上,能用的坐便只有5个,再加上偶尔有坐便堵了, 或者没有厕纸的情况,就算有效坐便4个。以每人平均使用5分钟算, 每小时能提供48人如厕,每天工作8小时,可提供384人如厕, 以每人每天如厕2次算, 能提供192人如厕了。公司现在人数接近200人,女员工按一半100人算,坐便数量还不算紧张。
但是......考虑到大家如厕时间不是简单排序...... |
|
|