& Witty &
朋友们如果看下边儿有一大堆什么这个技术那个代码还有程序的看不懂,请直接自动快速的忽略,赶紧的蹂躏下边儿的内几个链接直接看我本人。
1. 减肥日记
2. 我,就TMD一俗人!!!
3. 生活 情感
4. 随来而去 随笔随想
上帝让人类有了感情,有两个目的,一个是解决人类本能的欲望,一个是让本来无味的世界变的美丽起来.
使用squid做qq,msn代理
因为公司不让用qq,msn等一切IM,
只能使用jabber
没有办法,自己动手,丰衣足食
先从 http://www.squid-cache.org下载squid
然后直接make install
进入到squid/etc下
编辑squid.conf
- #设置管理员email
- cache_mgr supertaoer@vip.sina.com
- #设置cache目录,因为不用web代理,所以我不想让squid进行缓存
- cache_dir null /tmp
- #设置log文件
- cache_access_log /usr/local/squid/var/logs/access.log
- #设置Squid在错误页面中显示的服务器名称
- visible_hostname IM_agent.proxy
- #设置端口
- http_port 80
linux查找文件的方法
一般用whereis等找不到一个软件的路径
可以这样试试看
find / -name ‘*findfilename*’ -print
find为查找的命令
/为查找的路径,
-name 为匹配的文件名
-print为打印出查找结果
父亲
朱自清—背影
我与父亲不相见已二年余了,我最不能忘记的是他的背影。那年冬天,祖母死了,父亲的差使也交卸了,正是祸不单行的日子,我从北京到徐州,打算跟着父亲奔丧回家。到徐州见着父亲,看见满院狼藉的东西,又想起祖母,不禁簌簌地流下眼泪。父亲说,“事已如此,不必难过,好在天无绝人之路!”
回家变卖典质,父亲还了亏空;又借钱办了丧事。这些日子,家中光景很是惨淡,一半为了丧事,一半为了父亲赋闲。丧事完毕,父亲要到南京谋事,我也要回北京念书,我们便同行。
到南京时,有朋友约去游逛,勾留了一日;第二日上午便须渡江到浦口,下午上车北去。父亲因为事忙,本已说定不送我,叫旅馆里一个熟识的茶房陪我同去。他再三嘱咐茶房,甚是仔细。但他终于不放心,怕茶房不妥帖;颇踌躇了一会。其实我那年已二十岁,北京已来往过两三次,是没有甚么要紧的了。他踌躇了一会,终于决定还是自己送我去。我两三回劝他不必去;他只说,“不要紧,他们去不好!”
我们过了江,进了车站。我买票,他忙着照看行李。行李太多了,得向脚夫行些小费,才可过去。他便又忙着和他们讲价钱。我那时真是聪明过分,总觉他说话不大漂亮,非自己插嘴不可。但他终于讲定了价钱;就送我上车。他给我拣定了靠车门的一张椅子;我将他给我做的紫毛大衣铺好坐位。他嘱我路上小心,夜里警醒些,不要受凉。又嘱托茶房好好照应我。我心里暗笑他的迂;他们只认得钱,托他们直是白托!而且我这样大年纪的人,难道还不能料理自己么?唉,我现在想想,那时真是太聪明了!
我说道,“爸爸,你走吧。”他望车外看了看,说,“我买几个橘子去。你就在此地,不要走动。”我看那边月台的栅栏外有几个卖东西的等着顾客。走到那边月台,须穿过铁道,须跳下去又爬上去。父亲是一个胖子,走过去自然要费事些。我本来要去的,他不肯,只好让他去。我看见他戴着黑布小帽,穿着黑布大马褂,深青布棉袍,蹒跚地走到铁道边,慢慢探身下去,尚不大难。可是他穿过铁道,要爬上那边月台,就不容易了。他用两手攀着上面,两脚再向上缩;他肥胖的身子向左微倾,显出努力的样子。这时我看见他的背影,我的泪很快地流下来了。我赶紧拭干了泪,怕他看见,也怕别人看见。我再向外看时,他已抱了朱红的橘子望回走了。过铁道时,他先将橘子散放在地上,自己慢慢爬下,再抱起橘子走。到这边时,我赶紧去搀他。他和我走到车上,将橘子一股脑儿放在我的皮大衣上。于是扑扑衣上的泥土,心里很轻松似的,过一会说,“我走了;到那边来信!”我望着他走出去。他走了几步,回过头看见我,说,“进去吧,里边没人。”等他的背影混入来来往往的人里,再找不着了,我便进来坐下,我的眼泪又来了。
近几年来,父亲和我都是东奔西走,家中光景是一日不如一日。他少年出外谋生,独力支持,做了许多大事。那知老境却如此颓唐!他触目伤怀,自然情不能自已。情郁于中,自然要发之于外;家庭琐屑便往往触他之怒。他待我渐渐不同往日。但最近两年的不见,他终于忘却我的不好,只是惦记着我,惦记着我的儿子。我北来后,他写了一信给我,信中说道,“我身体平安,惟膀子疼痛利害,举箸提笔,诸多不便,大约大去之期不远矣。”我读到此处,在晶莹的泪光中,又看见那肥胖的,青布棉袍,黑布马褂的背影。唉!我不知何时再能与他相见!
1925年10月在北京。
在chinunix无意间看到了关于父亲节的文章
记得 朱自清的< <背影 >>还是初中时候学习的吧。。。
昨天,爸爸来我家了,给我做饭,
看着爸爸的白头发越来越多,但是作为儿子的我却没有办法为父亲分担些什么
感觉和不好受,父亲现在太辛苦了,家里的奶奶需要照顾,工作也不是很顺利,
还要支撑起来整个家庭,个中辛苦,还要藏在心里,
非常的担心父亲的身体,父亲吸烟太多了。。。
没有什么愿望,希望我的家人身体健康,开心就好,一家人和和睦睦的比什么都宝贵。
今天,终于搞定了apache的rewrite
wp本身提供类似于rewrite的功能
但是我的不知道怎么回事由日本的服务器挪到黑龙江的服务器就不好用了
今天早上起来萌生了一个想法
把blog的.htaccess给mv .htaccess .htaccessbak
然后重新进入wp的后台生成.htaccess文件
但是文件没有生成
我想
会不会是目录权限的问题呢?
于是,我直接在apache的conf里面加入:
中间加入了wp的rewrite的规则
然后apachectl graceful
再看
搞定
嘿嘿。。。
以前的链接地址要用 http://www.taoer.com/index.php/2005/07/
现在只要http://www.taoer.com/2005/07/ 就可以了
看着舒服多了
下一步等有时间可以看看openssl怎么制作证书了
技术测试:你是oltp应用开发方面的高手吗?[转载]
来源:未知
作者:曹政
这里是一篇技术测试的文章,希望所有那些自称的和被人吹捧的技术高手来看一看,做做我们的几个测试,看看你属于那种层次的高手?
以下测试是针对oltp开发而言的,对于做算法和桌面程序的,不是我这里要讨论的对象。
好了,第一个考题:你能否做一个统计系统,功能上和易数差不多,能够通过页面嵌入方式记录一个网站的显示次数,来访分析,时段分析,日期分析等等。怎么,这就被难住了,那你算哪门子高手?啊哈,这位说了,这些都easy,手到擒来,很好,很好,看来在实现功能上,你具有了高手的基本能力,不过且慢,如果你认为可以实现这些功能就能自称做个易数统计出来,未免也太小瞧了技术这碗饭的分量,实现这些功能,就中国而言,至少有6位数的程序员可以作到,而设计这么一套系统(仅从功能考虑),也至少有5位数的程序员可以作到,明白吗?你不过是这里面平平常常的一个而已了,要高兴还早呢。
第二个考题:呵呵,其实还是做这些功能,不过加个条件,我只给你一台PC Server(单/双PIII 733+512M Ecc内存+18G SCSI硬盘),你要支撑300万/天的请求调用。琢磨琢磨吧。
简简单单的一个cgi+数据库,那是肯定死翘翘了,怎么办?
第一,你要建立三层体系模型,后台数据库必须通过中间应用层和前台CGI分开。
第二,合理分配使用共享内存空间,并合理通过IPC信号量防止内存区的读写冲突和死锁。
第三,必要时改写web server原代码以获得效率最优化,比如改写apache server的http_log.c程序并重新编译。
如果你对建立这么一套系统的整体架构非常清楚,那么恭喜,你可以在一个比较不错的网络公司做一个CTO了,中国能够清晰搭建这样系统的人,不过4位数而已(当然,能够在这样系统里进行编码工作的,肯定还是有5位数以上的,毕竟左右都是c语言而已)。
知道为什么层出不穷那么多统计系统,虽然功能花哨,但是最后都撑不过易数,基本功不扎实,光靠功能花哨,那是没前途的。
在这个领域做的比较好的,好耶,网易,adsunion,腾讯,太极链等几家而已。
那些所谓广告交换没什么技术瓶颈的人,自己做一套大并访系统出来再说话。
第三个考题,还是这些功能,(我够贫的是吧)我要你一天能记录下3000万次浏览日志,不但要统计,还要完整记录,以供随时查验,当然主机环境提升一下,处理数据的主机用集群,但是核心数据库还是用一台电脑的,这次用sun的小型机,比如RS6000什么的;还有这次再加个条件,数据损失不能超过 0.01%。
这个已经不再象建立一个网站了,到象是大型电信的计费中心。你能胜任吗?
这时候要求对整体操作系统,对C语言,对数据库核心都必须有深入骨髓的理解,甚至于,对于数据的导入导出和一些日志的数据库记录,你已经不能再用sql去写了!要利用数据库产品的核心接口按照其数据存储格式直接进行文件或设备块的读写操作!对于一些负载非常大而性能要求又非常高的系统,甚至你需要建立一套独立的数据库体系和数据结构体系。这不是玩笑,因为我领教过这样的系统。
在中国,能搭建这样平台的高手,最多3位数而已。主要集中在电信计费领域,如亚信这样的企业。
第四个考题,这次每天的请求不是3000万了,而是3万万,我没说胡话,3万万!不过你的工作变了,我不要你再做后面的数据处理,我只让你做一个前端报文转发处理,这次我很苛刻,给你一台PII的PC服务器,256M Ecc内存,而数据损失要求则绝对不能超过0.0001%,你的工作很简单,对来往的请求进行简单识别并转发到合适的应用服务器处理。
你用web server转发?别开玩笑了!这时候,你已经别无选择,用汇编自己写一套报文处理程序,作为看守进程驻入内存并挂在接收报文的端口上,你对效率的理解,应当已经超出了对操作系统的认识,对编程语言的认识,而直接达到对CPU指令集的认识程度上,是的,你必须清楚自己的每一条汇编指令是不是已经达到最小的 CPU指令占用。必须能计算出分解和处理一条报文的流程需要多少CPU指令循环,是不是已经针对CPU的指令集达到了最大优化,当然,你还必须很熟悉 TCP/IP协议对每一种报文的格式定义和规范,不过这和汇编指令的效率优化而言,到不显得有多高深了。
我们经常说CISCO是硬件产品服务商,错了!他们的利润主要就来自于这样的算法!!中国联想、华为等等都想强占这块肥肉的市场,但是在高端领域(其实并不是硬件高端,而是算法高端!),我们还是彻底的空白。
庆幸的是,我知道国内有人在做这样的事情了,当宽带不可避免的成为主流的时候,这种算法的强度和要求,会成为攫取利润的最好途径。
中国在这方面能达到标准的,又有几个人呢?
出了这四个考题,没别的意思,我刚大学毕业的时候,也是自视甚高,因为当时的感觉是,和专业课的计算机作业相比(我是力学专业的,动不动要求编程解一个偏微分方程的收敛解,来分析什么旋流场的速度、温度等的分布),做wewebb开发简直毫无算法可言。再加上当时国内做web数据库的也少,动辄以为自己已经是满高手了,结果幸好跑到给电信做计费的企业混了一年,接触了国内最大的电信集中计费中心的解决方案(一直在运营,还不错),才知道敢情OLTP应用里面学问大的很,自己这点皮毛拿出来吹嘘简直是不知天高地厚。现在看看外面一堆和我当初一样的小毛孩子整天做两个烂程序就自诩高手,只好出来说几句。
其实对于OLTP应用而言,功能的实现一般都非常容易,和那些从事力学、数学、物理等行业的数值计算相比简直毫无算法可言,而OLTP的技术难点主要在于性能,也就是你做一个桌面程序或算法程序,都不会面临并访过高的处理问题,但是做一个OLTP应用,无论如何你都必须直视一下子很多访问冲上来的情况,如果这个问题解决不了,无论多好的创意,多好的功能,都不会得到持续和长远的发展。
由于很多创业者和投资者对技术不通或半通,他们往往拿一个性能指标有很大缺陷的东东当个宝贝,因为一般而言,开发出新东东大家都只是忙着测试功能,很少有对性能进行完整测评的,只有持续运营到一定阶段,并访达到一定程度,性能缺陷开始暴露,才临急抱佛脚,这时候造成的损失就很不核算,甚至是压根解决不了,只好放弃某种功能,从而使品牌信誉整体下降。
加强算法基础,加强技术基础,少卖弄一些花里胡哨的东西,是走向技术高手的真正路线,那些今天学会了什么语言,明天又学会了什么语言的主儿,别吹嘘了,从70年代到现在,最值钱的程序员一直是写汇编和写标准C的,不为什么,因为这是真功夫。
再次与apache革命
今天
继续与apache的rewrite模块进行革命
为了知道到底是什么原因
我编译了apache不下20次
先解压缩mod_limitipconn-0.22和httpd
然后进入httpd的目录
先把mod_limitipconn给patch进去
patch -p1 < ../mod_limitipconn-0.22/apachesrc.diff
./buildconf
然后会提示如下的警告,不用理会
- : WARNING: Using auxiliary files such as `acconfig.h’, `config.h.bot’
- autoheader: WARNING: and `config.h.top’, to define templates for `config.h.in’
- autoheader: WARNING: is deprecated and discouraged.
- autoheader:
- autoheader: WARNING: Using the third argument of `AC_DEFINE’ and
- autoheader: WARNING: `AC_DEFINE_UNQUOTED’ allows to define a template without
- autoheader: WARNING: `acconfig.h’:
- autoheader:
- autoheader: WARNING: AC_DEFINE([NEED_FUNC_MAIN], 1,
- autoheader: [Define if a function `main' is needed.])
- autoheader:
- autoheader: WARNING: More sophisticated templates can also be produced, see the
- autoheader: WARNING: documentation.
最后我的编译时的参数是:
- ./configure –prefix=/usr/local/apache2 –enable-mods=all –enable-rewrite –enable-speling –enable-ssl –with-ssl=/usr/local/openssl –enable-forward –enable-vhost-alias –with-module=aaa:../mod_limitipconn-0.22/mod_limitipconn.c
- make
- make install
然后apachectl -l
显示:
Compiled in modules:
core.c
mod_access.c
mod_auth.c
mod_include.c
mod_log_config.c
mod_env.c
mod_setenvif.c
mod_ssl.c
prefork.c
http_core.c
mod_mime.c
mod_limitipconn.c
mod_status.c
mod_autoindex.c
mod_asis.c
mod_cgi.c
mod_negotiation.c
mod_dir.c
mod_imap.c
mod_actions.c
mod_speling.c
mod_userdir.c
mod_alias.c
mod_rewrite.c
mod_so.c
看到了rewrite,limitipconn,ssl都加载了。。
终于暂时的松口气了。。。
然后再重新编译php
- ./configure –prefix=/usr/local/php/ –with-mysql=/usr/local/mysql/ –with-apxs2=/usr/local/apache2/bin/apxs –with-curl=/usr/local/curl/ –with-mcrypt=/usr/local/libmcrypt/ –enable-ftp –with-zlib-dir=/usr/local/zlib/
- make
- make install
- cp ./php.ini-dist /usr/loocal/php/php.ini
这次我知道
apache的知识点非常的多
我现在也只不过是学习一些皮毛而已
学海无涯啊!!!
下面附上我这次编译apache参考的URL:
http://www.kreny.com/doc/apache2.0/install.html
http://www.kreny.com/doc/apache2.0/dso.html
http://www.kreny.com/doc/apache2.0/mod/mod_rewrite.html
http://www.chedong.com/tech/apache_install.html
http://blog.supercn.net/archives/2004/12/06/164/
http://www.gd-linux.org/bbs/archive/index.php/t-554.html
继续努力!!!
也希望可以结交更多的朋友,来一起研究
自己对apache中的动态与静态编译的理解
以前编译apache的时候
都是google搜索到的直接拿来用
这次自己编译mod_rewrite和ssl遇到了问题
又不知道问题出在哪里
一个是mod_rewrite模块没有起作用
一个是以ssl启动apache的时候报告如下错误:
apachectl startssl
Syntax error on line 246 of /usr/local/apache2/conf/httpd.conf:
Cannot load /usr/local/apache2/modules/mod_ssl.so into server: /usr/local/apache2/modules/mod_ssl.so: undefined symbol: X509_free
后来经过查找
明白了问题出在哪里
当时我是这么编译apache的
- ./configure
- –prefix=/usr/local/apache2
- –enable-so
- –enable-mods-shared=most
- –enable-rewrite
- –enable-speling
- –enable-forward
- –enable-ssl
- –with-ssl=/usr/local/openssl
而问题就出在–enable-so
现在知道了–enable-so的意思是说
让apache 核心装载DSO,但是不实际编译任何动态模块
–enable-ModuleName的意思是说 编译并包含模块ModuleName
而 –enable-ModuleName=shared 的意思是说将这个模块编译成动态的.
明白了这几个选项的意思,感觉就水落石出了
根据上面的总结
我应该去掉–enable-so这行
如何希望动态编译模块
比如:–enable-rewrite应该替换为: –enable-rewrite=shared
最后,我将要编译的应该为:
- ./configure
- –prefix=/usr/local/apache2
- –enable-mods-shared=most
- –enable-rewrite
- –enable-speling
- –enable-forward
- –enable-ssl
- –with-ssl=/usr/local/openssl
上面中 –enable-mods-shared=most的意思是说 动态的编译进来大多数的模块
而 –enable-mods-shared=all是指动态的编译所有的模块
如果把-shared去掉,就是静态的编译了…
综上所述
总结出了我个人对apache的动态与静态编译的理解
好比有两个人a和m
a代表apache,m代表module
要想让a使用m的东西
一个方法是把m的东西都放到a那里去,a使用的时候就是现成的了
就是所谓的静态编译
还有一个方法,
就是告诉a, m的住址,当a要使用m的东西的时候,a去找m,然后使用
不过,这种方法要注意的一个问题就是:m必须要有实际的住址,
否则a会找不到m而产生错误的,我此文开始提到的 apachectl startssl产生
的错误就是这个原因,应该再编译好ssl才可以的.
这种方法也就是apache 的动态(DSO)编译了
希望我上面的叙述能够给初学的朋友一些帮助
同时也希望朋友们和我一起交流
共同学习,共同进步
mysql中的字符串区分大小写
今天上午同事说要将mysql的字符串区分大小写
于是帮他上网找了下
最后google + 实践
总结出了方法
- CREATE DATABASE mytest;
- USE mytest;
- CREATE TABLE `tcase2` (
- `id` INT(10) UNSIGNED AUTO_INCREMENT,
- `name` VARCHAR(200) NOT NULL DEFAULT 0,
- PRIMARY KEY (`id`)
- ) TYPE = MyISAM;
- INSERT INTO tcase2 (name) VALUES (‘RSS‘);
- INSERT INTO tcase2 (name) VALUES (‘rss‘);
- INSERT INTO tcase2 (name) VALUES (‘rSS‘);
- INSERT INTO tcase2 (name) VALUES (‘Rss‘);
好了,至此已经插入了4条记录,如果不区分大小写的情况下,这4条记录的name字段是一样的。
下面说明3条sql的执行结果
- SELECT id,name FROM tcase1;
显示所有的4条记录
- SELECT id,name FROM tcase1 WHERE BINARY name = ‘rss‘;
只是显示全部小写的rss记录
- SELECT id,name FROM tcase1 WHERE name = BINARY ‘Rss‘;
只是显示首字母大写其余小写的Rss记录
由此可得在WEHRE子句中的字段部分或者字段的值得部分,这两个地方任意一处加入 BINARY即可完成对大小写敏感的SQL
后来
我又进行了这样的测试
就是把字段类型声明为 BINARY VARCHAR类型
以为 SELECT id,name FROM tcase1 WHERE name = ‘rss’;
能检测出大小写,但是结果不是这样的。。。
也就是说。只有在SQL语句的WHERE子句中加入BINARY才可以完成对大小写敏感的操作。
3次编译apache
前天凌晨第一次搞apache
为了早些把站点从日本转到黑龙江来
就没有加入什么module???
在用blog的时候
突然发现rewrite不管用了…
apachectl -l
没有发现mod_rewrite???
不知道怎么解决
还是重新编译apache,指定加载rewrite吧
- ./configure
- –prefix=/usr/local/apache2
- –enable-so
- –enable-mods-shared=most
- –enable-rewrite
- –enable-speling
- –enable-forward
- –enable-ssl
- –with-ssl=/usr/local/openssl
- make
- make install
- ./configure
- –prefix=/usr/local/php/
- –with-mysql=/usr/local/mysql/
- –with-apxs2=/usr/local/apache2/bin/apxs
- –with-curl=/usr/local/curl/
- –with-mcrypt=/usr/local/libmcrypt/
- –enable-ftp
- –with-zlib-dir=/usr/local/zlib/
- make
- make install
编译很顺利
修改下配置文件
然后reboot
晕.还是没有起作用???
检查配置文件
LoadModule rewrite_module modules/mod_rewrite.so
也有加载rewrite啊?
不知道是什么问题
暂时先不考虑了
还是先把服务器大体搞完吧
接下来打算搞定
squid,如果有时间的话考虑把mod_limitipconn给加载上apache…
我的简介: 谁说tmd巨蟹座傻来的?我就是tmd巨蟹里边儿最聪明的!!!