夜行者之路


  • 首页

  • 归档

  • 标签

  • 关于

JiaThis

发表于 2010-10-28 | 分类于 WEB技术

网站地址:http://jiathis.com/

之前我曾找过社会化分享的按钮代码,并放到了bbpcn上。

今天偶然看到一个网站源码有个js是外联到上面这个网站,打开一看,原来是这么个网站。

“加上这个按钮,
您的网站将被分享到互联网任何角落。
稳步提升网站流量和搜索引擎排名的WEB2.0工具,
JiaThis是国内最大的社会化分享到按钮提供商:提供分享到QQ空间、新浪微博,分享到人人网、开心网、豆瓣等代码...网站主可以在这里获得按钮代码,嵌入到自己的网站上!”

由他们提供现成的分享按钮,确实能省不少事。

阅读全文 »

开始尝试ThinkPHP开发

发表于 2010-10-14 | 分类于 WEB技术

前几天下了ThinkPHP,并按照手册上的例子生成了首页,并不是很理解它所谓的单一入口文件的意思。今想用它增加一个login页。仔细研读下才明白。

整个项目就一个index.php文件。引入ThinkPHP框架后通过类似于

http://[::1]/index.php/index/index

http://[::1]/index.php/index/login

这种形式来访问。即手册中所指:“ThinkPHP 框架的应用采用单一入口文件来执行,所有的模块和操作都通过URL 的参数来访问和执行。”

阅读全文 »

xampp+SVN+SVNmanager+bugfree|禅道

发表于 2010-10-10 | 分类于 WEB技术

服务器+版本控制+开发问题管理

阅读全文 »

seo优化pr提升碎语

发表于 2010-07-22 | 分类于 生活碎念

最近开始和rayyn合作建http://bbpcn.net。

从前年起我们就开始维护管理论坛,所以对论坛这种形式情有独钟,bbPress是一套简易的论坛系统,至今没有什么大作为,国内国外很多讨论组因此销声匿迹了。

但我们就是要做他,接触了一段时间后发现它还是很靠谱的。1.0版发布后,非常 稳定,安装也简洁省力,插件系统几乎可以用BT形容。

我可以预见,只要插件开发者有心把较强的插件整合进bbPress,并重新发行绝对可以和大型论坛相媲美。

闲话说多了。这条路还很长。

今天说seo优化。bbPress和WordPress一样有个seo优化插件。不过有人不推荐使用那个WordPress seo插件:all-in-one-seo-pack好像是这个名。

bb-seo-tool是插件作者从WordPress上移植的,基本功能都实现了。对seo还是不错的。

伪静态的使用:设置好web-server,开启后台永久链接选项即可。

tags:bbPress的tag理念很早就有了,不过我至今还没找到一个自动生成tag的插件。每个帖子自己编写tag吧。

由于是技术性比较强的站点,主要还是考虑google排名。

pr值是google的排名参数之一,如果pr值高了,在搜索中排名就靠前了。seo就没白费力。

今天看了一个多年前的东东

10个增加PR的方法

先说说今天一个神奇的发现:www.pr10.com。02年就开始存在的一个站,就一个页面,上面列举了10条SEO方法(一部分我觉得是作弊方法)。简单翻译一下,大家不妨看看。

  1. 使用大量的meta keywords,用逗号分割每个keyword,同一个keyword不要重复三次以上。此外,google只抓取文档的前101k,所以不要写得太长。
  2. 确保你的网站上给Google一个链接,Google也是需要流量的:)。
  3. 使用和背景色接近(不能相同)的颜色写隐藏文字。
  4. 在页面的底部添加一堆点(……),给每个点都设置成站内链接。
  5. 创建循环链接。从page1到page2,从page2到page3,再从page3到page1。Google也会循环的给这三个页面加权。
  6. 每个页面里都使用H1标签。
  7. 网站提交要早,要勤。建议星期天提交,这样到星期一,Googleplex开始工作时就会抓到你了。
  8. 给你的反向链接输送链接。同5,但效果不如5。
  9. 谨慎的拼写,注意错误拼写带来的恶劣后果——比如被误认为是色情站(这条是针对英文站的)。
  10. 如果以上9条都没有用,请给Google写信,记得把你的URL写在序列号的位置。如果写不下,那就对了!Google讨厌长URL。
    把信寄到:
    Mr. Güg L. Baht
    c/o Larry & Sergey
    2400 Bayshore Parkway
    Mountain View, CA 94043

虽然我没作弊,但总算对pr算法大概能霸主方向了。好好琢磨一下关键字的写法,友情链接的设置要合理,初期还只能在自己的博客设置链接。h1标签这个如果不行尝试用插件实现。

阅读全文 »

正则表达式的问号|nginx rewrite 匹配问号(?)

发表于 2010-07-17 | 分类于 linux应用 , WEB技术

今天再给bbpcn.net添加rewrite功能时遇到一个难题。

要把这个地址http://bbpcn.net/bb-admin/admin-base.php?page=4&plugin=mass_edit

rewrite成这个http://bbpcn.net/bb-admin/admin-base.php/page/4?plugin=mass_edit

考虑到通用性我的语句为

rewrite ^/bb-admin/admin-base.php/page/([0-9]+)&plugin=(.*)$ /bb-admin/admin-base.php?page=4&plugin=$2 last;

但是reload nginx后一直在404,于是猜测是正则问题。

之前写的rewrite规则都比较简单,这次多了些特殊符号,“.”、“?”。按照我那破破的C语言水平,我试着添加转义符号“”,不过依然不起作用,开始在Google上以多个关键字搜索,终于让我找到方法了。

这个问题apache和nginx可能都存在。

只说解决方法吧。点号可以用反斜杠转义,问号后面的字符串用自带变量处理。最终我的rewrite规则改写为如下即可。

rewrite ^/bb-admin/admin-base.php/page/([0-9]+)$ /bb-admin/admin-base.php?page=$1&query_string last;

阅读全文 »

自己动手翻译 WordPress/bbPress 插件【译文】

发表于 2010-06-27 | 分类于 未分类

本文是一个指导大家将WordPress 或 bbPress插件(一般这些插件都带有一个POT文件)翻译成他的母语的教程。文章不长,图文并茂希望大家看完。下面我以bbPress的插件 After the Deadline 为例来演示如何用  Poedit 这款软件来翻译。我之所以选择Poedit是因为它界面简单而容易上手。

步骤如下:

  1. 下载并安装 Poedit.
  2. 运行程序, 打开菜单栏的文件 -> 从 POT 文件建立新的消息目录文档 File -> New Catalog from POT file
  3. 选择 POT 文件. 它大概在插件的根目录、languages 或 translations 目录下。
  4. 设置如图所示对话框。
  5. 还是那个对话框,切换到路径选项卡。这是你存在本地硬盘上的插件的位置。我这个例子里是 F:after-the-deadline。
  6. 下面就是写你的翻译内容了. 下面的途中我把它翻译成了 hindi 语。注意: 多多注意 php 的属性值 例如 %s, %1$s 等。保证在翻译这些字符串时是 %s 而且不包含$ 标记就不要改变顺序! 参考上面截图. 注意%s 在两个字符串中都包含.
  7. 将PO文件存在POT储存的同一个目录下。命名规则为 语言代码_国家代码 languagecode_COUNTRYCODE。例如 hi_IN (Hindi 是一种语言 and India 是说这种语言的国家).
  8. 同样要创建一个 .mo 文件。would also have been generated. 现在看看我的POT的文件名是 after-the-deadline 而 我的 PO 文件名是hi_IN. 那么就把 .mo 文件重命名为 POT-PO.mo格式。 本例中文件名结果就是 after-the-deadline-hi_IN.mo。如果你想的话,你当然也可以把 PO 文件也改成这个名字, 但这不是必须的.

成功翻译了插件吧, 小小庆祝一下! 如果你翻译了我任何一个插件, 恳请 联系我 我会把它加入我插件的语言文件中。欢迎留言提问!

原文:

Translating WordPress/bbPress Plugins | Gautam's Blog.

阅读全文 »

非著名高校的yy空间

发表于 2010-06-25 | 分类于 生活碎念

我一上车发现角落里只有一个空位了,旁边坐着一个mm,嘿嘿,我忙走过去一屁股坐下,那漂亮mm很熟练的皱皱眉头,职业性的使劲往旁边挪。
"到哪?"
"华科。"
"哪?"
这个面部肌肉僵硬的售票员一脸不解。
"华北科技学院,唔"。
"华北科技学院?!"丫更吃惊了。这么高的分贝使全车的人都回头。我前座的一位再老就不能说话的那种老人,悠悠的问:"小伙子,你真是华北科技学院的?"
这似乎是所有人所期盼得到答案的问题。大家盯着我看,看得我都脸红。我更感受到了旁边mm由于迅速靠近我所不得不散发出来的体香。
于是我给他们展示了我放在书包的学生证。
于是车厢轰动了。体香更浓了。我利索的从钱包里拿出两块钱买票,一不小心学生卡掉出来了,于是全车厢传阅,那位长者郑重地戴上老花镜,眯着眼睛吃力地扫描 的我学生证,然后老泪纵横……大家相互传阅的红火场面令那个长着死鱼眼睛的售票员的死鱼眼睛湿润了。
一位年轻人不无揶揄的说,"听说你们华北科技学院毕业一个月就三百万啊。"
我笑了笑,社会谣言真多,"没有没有?大多数人都是七八万,哪有上百万的。"又是一阵轰动。不只是谁低声说:"老子一年还没那么多呢……"
总算mm有机会插话了,
"同学你大几了?"
"下学期大四。"我铆足了力气掩饰我内心的激动。
"我大一啊。我也在华北科技学院下,去听你们的课。"
我问:"同学,你哪个学校的?"
mm警觉地望了望四周,轻声地吐出两个字"清华"。
我忙拍马屁,"不错了,清华嘛!"
mm一听更加心酸,"我高考也是报华科,差两分,掉到清华了……"
类似的故事我听了一遍又一遍清华 北大 人大学子的华科情结。她把"两分"说得很重,于是车里一阵扼腕叹息之声。
长者摇摇头,"长太息以掩涕兮,哀学子之多艰!"
但见售票员死灰复燃的脸上簌簌留下的泪水,他一字一顿,"苟余心之所善兮,虽排死其尤未悔。"接着,他痛苦地说起了革命家史,三年前,高考报华北科技,落 榜了,复读,再报华北科技,落榜,复读,再报华北科技,落榜,于是出来工作了……我明白了,华科学子的幸福是相似的,与华科失之交臂的人各有各的不幸。
保尔怀着这样的心情离开了烈士陵园……
错了错了,是我怀着这样的心情带领mm下了车。
背后传来了幼稚的童声:"妈妈,我以后也要上华北科技!"
我回过头,车上那位妇女的表情告诉我,她是世界上最幸福的母亲。

yy频道:271900

暗号:我不是华北科技的

阅读全文 »

mysql遇到marked as crashed and last (automatic?) repair failed

发表于 2010-06-16 | 分类于 WEB技术

myisamchk -r /path/tbl_name  修复中,有戏

阅读全文 »

我不喜欢他但大家都在用

发表于 2010-06-14 | 分类于 生活碎念

QQ确实在中国市场做到最大,但我不喜欢他,更不尊敬他.用QQ的原因只是 朋友都在用,没办法

奇虎确实在中国市场做到最大,但我不喜欢他,更不尊敬他.用360安全卫士的原因只是 朋友都在用,没办法

微软确实在中国市场做到最大,但我不喜欢他,更不尊敬他.用windows的原因只是 朋友都在用,没办法

阅读全文 »

【转】windows 下 openvpn 使用小结

发表于 2010-06-14 | 分类于 WEB技术

由于03自带的vpn服务器改端口麻烦(不知道能不能改...),而且它只支持tcp连接,所以如果碰到VPN要用指定端口连接,或者想 用win做linux的vpn服务器的话,openvpn是个不错的选择。用了也有一段时间了,除了IPV6问题没解 决外,感觉一切还在掌握之中。简单小结下过程。可能somebody会需要...

1. 服务端
环境:win2003+openvpn2.1.1
(1)安装openvpn,最好默认安装,否则后面配置时注意路径。
(2)到安装目录下的easy-rsa文件夹下,用文本编辑器打开vars.bat.sample文件,根据需要修改最后几行(其实也可以不改,就是为了 配置过程中输入的东西少点):

  1. set KEY_COUNTRY=CN
  2. set KEY_PROVINCE=GD
  3. set KEY_CITY=FS
  4. set KEY_ORG=NCIST
  5. set KEY_EMAIL=a@b.com


(3)打开cmd命令行窗口同样进入到安装目录下的easy-rsa文件夹,分别执行下面三个命令:

  1. init-config
  2. vars
  3. clean-all


上面是初始化工作,以后,在进行证书制作工作时,仍旧需要进行初始化,但只需要进入openvpneasy-rsa目录,运行vars就 可以了,不需要上面那些步骤了。
(4)生成根证书,分别执行命令:

  1. build-ca
  2. build-dh


(5)生成服务端密钥:

  1. build-key-server server


(6)生成客户端密钥

  1. build-key client1


build-key client2 可以继续配置第二个VPN客户端密钥
以上三步执行过程中需要输入一些参数,大部分只需按要求输入即可。其中一些是需要注意的:

  • common name,出现三次,据说要求每次输入的都不一样,至于都一样行不行我没试,那就随便输入三个不一样的参数。
  • A challenge password []:  An optional company name []: 这两个都可以留空

将生成的keys文件夹内的ca.crt,dh1024.pem,server.crt,server.key,ta.key复制到 OpenVPNconfig目录下

(7)配置文件

  1. port 60000
  2. proto udp //如果不能连接换成tcp
  3. dev tap
  4. //下面四项注意路径,如果不是放在config目录下请用绝对路径
  5. ca ca.crt
  6. cert server.crt
  7. key server.key
  8. dh dh1024.pem
  9. server 192.168.10.0 255.255.255.0
  10. ifconfig-pool-persist ipp.txt
  11. push "route 0.0.0.0 0.0.0.0"
  12. push "redirect-gateway def1 bypass-dhcp"
  13. push "dhcp-option DNS 192.168.175.5" //这个根据实际自行修改
  14. keepalive 20 120
  15. comp-lzo
  16. persist-key
  17. persist-tun
  18. status openvpn-status.log
  19. verb 3


要配置的大概就是这些,将配置文件另存为.ovpn文件,并保存到openvpnconfig目录下即可。如果需要通过服务器端连接外网,还需配置 win2003自带的vpn服务器,在nat/防火墙那里把本地连接接口添加进去。

2.客户端
客户端安装openvpn后,只需把服务端生成的ca.crt client.crt client.key三个文件拷到openvpnconfig目录下,再建一个配置文件即可。
配置文件:

  1. client
  2. dev tap
  3. proto udp
  4. remote 10.1.x.x 60000 //服务器ip 端口
  5. resolv-retry infinite
  6. nobind
  7. persist-key
  8. persist-tun
  9. ca ca.crt
  10. cert client.crt
  11. key client.key
  12. ns-cert-type server
  13. comp-lzo
  14. verb 3


大概就是这个样吧...
然后还有些小技巧:
(1)让openvpn随系统自启:编个批处理,写入以下代码:

  1. net start openvpnservice
  2. openvpn-gui-1.0.3 --connect client1.ovpn
  3. pause


其中:
net start openvpnservice 是启动openvpn的系统服务。
openvpn-gui-1.0.3  --connect client.ovpn是用命令行方式连接openvpn,这里要注意路径问题:一是openvpn-gui-1.0.3,这个文件在 OpenVPNbin目录下,如果出现不是有效命令,请在系统环境变量里把“C:Program FilesOpenVPNbin”添加进去;二是client.ovpn配置文件的路径,如果配置文件不是在config根目录,请用绝对路径。

另:转份配置文件的解析,可以琢磨下:

openvpn配置文件详解

转自星期三~

阅读全文 »

dz7.2论坛Got error 134 from storage engine修复记

发表于 2010-06-04 | 分类于 WEB技术

版主室有人报告某个新建板块无法访问的问题,过去一看
Got error 134 from storage engine
习惯性的点进dz的faq页,说是要么mysql空间满了,要么硬盘坏了,我心说要是mysql数据坏了就杯具了,Google一下,有说用命令修复一下mysql就行了,抱着试一下的心态,dz后台->工具->数据库->优化
更新缓存。
页面能访问了。

阅读全文 »

内网pt站高峰期600个种子在线多不多?

发表于 2010-05-09 | 分类于 生活碎念

RT....

好久没写日志,谨以此篇“为了忘却的纪念”。
今天母亲节,整个校园都是打电话回家的人,周末的晚上,如果你忙于工作、学习、恋爱或是游戏,不要忘了在明天到来之前给家里打电话哦~

阅读全文 »

唱歌无须那么麻烦——跟我学发声

发表于 2010-02-16 | 分类于 未分类

版权声明:转载时请以超链接形式标明文章原始出处和作者信息及本声明
http://mozqh.blogbus.com/logs/33581976.html

当今音乐圈中唱歌已是成为每个人奋斗的方向,不错它可以表达人的情感和发泄自己内心当中无法言语的东西.其实唱歌没个人都会,尽管你五音不全也能唱个大概.为什么会有人唱的好听,有味道,而有的人让你耳朵倍受煎熬.原因就是没有找到正确的唱歌方法和良好的训练.其实要想唱好歌只要遵循4点就够了,呼吸,良好的发声方法,共鸣腔和咬字,剩下的就是对歌的处理和情感的运用, 然后正确的加以练习.

先 说呼吸.呼吸是唱歌最重要的,甚至占了一大半.正确的呼吸是用胸腹式呼吸.这样就避免了胸式呼吸的过浅和腹式呼吸的过硬.要想有良好的呼吸就要有良好的训 练方法,首先我们闭上眼睛幻想在花丛中,然后用鼻子深深闻一下花香,挺一段时间.是否感到腹部有一股热热的感觉.那就是丹田气.然后用嘴涣涣把气均匀的呼 出,要用横膈膜和腹脊呼气.这就是要你找到胸腹式呼吸的感觉.为了训练横膈膜的弹性,你可你做狗喘气的训练:把舌头伸出学作狗喘气的感觉,气应该往下去. 用腹部的挺与收来训练横膈膜.气要快有力.平时也可做作仰卧起坐.和俯卧撑.在平时可已拿一个带绳的扣子,放在身上.没事的时候可以拿出来吹一段时间.要 一口气均匀的呼出,不能让扣子掉下来.这需要长时间的练习才能良好的运用.

发声.是唱歌职官重要的一项.如果通俗唱法来说就 比较简单了.方法是:我们应该把喉头固定在一个对自己有利的位置,不能让他来回的动.术语上叫拨算盘.然后把嗓子打开,能让空气顺畅的流通.然后练习时把 嘴张大.圆口,或是竖口.深吸一口气{记得上面说的},用"啊"把声音涣涣的而且均匀的发出来.必须要直,声音响亮必须一致.不能忽明忽暗.颈部要放松, 不可以用嗓子挤气,应用腹部的力量发生.之后就是从中音区开始练习,慢慢渐进.先练中音区.练一段时间以后就可已向高音区延伸.由于时间问题,训练声音跨 度的练习就自己设计吧.这因人而议,只要练的不费劲就行.

共鸣腔就象是唱歌的音箱.它分为胸腔,喉咽腔,口腔,和颅腔.胸腔在低音时是长用 的,但不是在唱别的声区时不用.他就象是盖楼的地基.能让声音固定住在一定的高度.不会让人听起来飘忽不定.也可以说是吉他中的六五线.是打根音的.喉腔 就是桑子,它通常和口腔一同发声,一般都在中音区.口腔也是共鸣腔的重点,因为他可以调节.我们在找口腔共鸣的时候,唱出的声音应该响亮有力.颅腔就是头 部,它唱高音经常使用的.我们在唱高音时应用意念让声音往上走,不能停留在口腔.要让头顶感到震动,甚至要迸裂开花的那种感觉.上高音时要用腹部用力.在 正式演唱时可已半毛腰.或是头和身子向上仰半蹲式.来唱出高音.我刚才说的这些共鸣腔都不是绝对的,应该自如的运用.每个腔体都能在每个声区起到它的位 置,这就需要大家在实践中慢慢发觉了.

咬字也是非常重要的.必须要让观众们知道你在唱什么,才能让别人容入你的歌声当中.大家可以找一篇高亢有力的诗或文章,高声朗读.咬字要字字有力清楚.或是练习绕口令.每天都训练几便,来提高饶字准确性.

剩 下的就是对歌区的加工,和情感的运用了,我们应该在自身上找问题.提高自身的修养,情感是源于生活又要高于生活的.用不同的角度看事物.对歌曲的每一句. 每一个字都要不断的揣摩寻找其中的含义.以情带声.把感情和歌声同时表打给人们.          我们不是为了唱歌而唱歌,我们是为了表达内心的东西而唱歌.

上面我所的一切是我在网上看到的,老师教的.书上看的,和自己悟的一些知识.然后加以整理.可能说的不具体,也可能有不对的地方.希望大家能多提宝贵意见.我也会在大家批评当中慢慢长大.希望大家支持.

最后我还要说一句"大家歌唱快乐".

阅读全文 »

多种方法结合加速网站

发表于 2010-02-12 | 分类于 WEB技术
使用主从读写分离 + memcached + eaccelerator + 页面缓存技术加速网站
windows环境下:
安装appserv 工具包。

配置apache的虚拟主机:
Include conf/extra/httpd-vhosts.conf

编辑httpd-vhosts.conf:
NameVirtualHost *:80


DocumentRoot "D:/AppServ/www/"
ServerName youhap
ErrorLog "logs/youhap-error.log"
CustomLog "logs/youhap-access.log" common


DocumentRoot "D:/AppServ/www/mysite/"
ServerName center
ErrorLog "logs/center-error.log"
CustomLog "logs/center-access.log" common

编辑hosts:
127.0.0.1    localhost
127.0.0.1    center
127.0.0.1    youhap

分别保存。

php编码,我使用的是codeigniter这个框架。
下载地址:http://219.239.26.9/download/832062/866311/1/zip/151/72/1252812646551_840/CodeIgniter_1.7.2.zip

mysql主从分离:

mysql主从配置及优化:
-------------Mysql Replication Setup------------
# The MySQL server
[mysqld]
port            = 3306
server-id = 1
#log-bin
master-host = 10.99.1.1
master-user = slave
master-password = slave
master-port = 3306
slave-skip-errors = 1050,1007,1051,1062
read-only
socket          = /tmp/mysql.sock
skip-locking
key_buffer = 384M
max_allowed_packet = 1M
table_cache = 512
sort_buffer_size = 2M
read_buffer_size = 2M
read_rnd_buffer_size = 8M
myisam_sort_buffer_size = 64M
thread_cache_size = 8
query_cache_size = 32M
# Try number of CPU's*2 for thread_concurrency
thread_concurrency = 8

在master执行:
mysql>GRANT FILE ON *.* TO slave@'%' IDENTIFIED BY 'slave';
mysql>GRANT REPLICATION SLAVE ON *.*  TO slave@'%' IDENTIFIED BY 'slave';
mysql>flush privileges;

修改slave的my.cnf:
master-host     =  10.99.1.1
master-user     =  slave
master-password =  slave
master-port     =  3306
server-id       =  2
slave-skip-errors = 1050,1007,1051,1062
read-only

启动mysql以后,
在从上执行:slave start;
主从复制成功以后,继续。

一个主master,多个从slave
修改、插入连接master服务器,读取数据从slave上读取。
以下代码已经测试通过。
数据库连接设置:
$active_group = "master";
$active_record = TRUE;

$db['master']['hostname'] = "192.168.1.1";
$db['master']['username'] = "root";
$db['master']['password'] = "******************";
$db['master']['database'] = "dbname";
$db['master']['dbdriver'] = "mysql";
$db['master']['dbprefix'] = "";
$db['master']['pconnect'] = TRUE;
$db['master']['db_debug'] = TRUE;
$db['master']['cache_on'] = FALSE;
$db['master']['cachedir'] = "";
$db['master']['char_set'] = "utf8";
$db['master']['dbcollat'] = "utf8_general_ci";

$db['slave']['hostname'] = "192.168.1.2";
$db['slave']['username'] = "root";
$db['slave']['password'] = "********************";
$db['slave']['database'] = "dbname";
$db['slave']['dbdriver'] = "mysql";
$db['slave']['dbprefix'] = "";
$db['slave']['pconnect'] = TRUE;
$db['slave']['db_debug'] = TRUE;
$db['slave']['cache_on'] = FALSE;
$db['slave']['cachedir'] = "";
$db['slave']['char_set'] = "utf8";
$db['slave']['dbcollat'] = "utf8_general_ci";
?>

这个地方,主从已经分离。但是,如果只有主和从两台服务器的话,如果写数据库的操作所占比例较小的情况下,也可以让主服务器承担一部分查询操作。修改以上的配置:
$rand = mt_rand(1, 10);
/* 只有主从
* 读取数据,主:30%,从70%
* */
if( $rand < 4){
$db['slave']['hostname'] = 'master_ip';
}else{
$db['slave']['hostname'] = 'slave_ip';
}

/* 多个从,随机选择其中之一读取数据
* $slaveGroup = array('slave1_ip' => 1, 'slave2_ip' => 2, 'slave3_ip' => 3);
* $db['slave']['hostname'] = array_rand($slaveGroup, 1);
* */

控制器:
class Replication extends Controller{
private $master;
private $slave;

function Replication(){
parent::Controller();
$this->master = $this->load->database('master', true, true);
$this->slave = $this->load->database('slave', true, true);
}
function index(){
//读写分离技术
$this->master->set('awardName', '2008 olimpic games media');
$this->master->set('awardSubTypeId', 1);
$this->master->set('awardTypeId', 1);
$this->master->insert('awards');

$this->slave->from('t_login');
$query2 = $this->slave->get();
}

function memcache(){
$this->load->library('cache');
$conn = $this->cache->useMemcache('127.0.0.1', 11211);
$this->slave->from('t_login');
$query = $this->slave->get();
$this->cache->save('loginInfo', $query->result(), null, 3600);
var_dump($this->cache->get('loginInfo'));

?>

安装memcached:
下载:http://jehiah.cz/projects/memcached-win32/files/memcached-1.2.1-win32.zip
安装:cmd --> memcached.exe -d install
启动:cmd --> memcached.exe -d start
启动成功以后。

在php.ini里面加载memcache.dll
下载:http://jp.php.net/distributions/pecl-5.2.6-Win32.zip(注意版本,我的php是5.2.6)
解压缩,找到memcache.dll放在ext目录下。

加载:打开php.ini:
extension=php_memcache.dll

重启apache。没有错误表示可以用memcache了。

使用:

$memcache = new Memcache;
$memcache->connect('localhost', 11211) or die ("Could not connect");
$data = $memcache->get('view_data');
$memcache->set('view_data', $data, false, 3600) or die ("Failed to save data at the server");
$memcache->get('view_data');

?>

文件: Cache.zip
大小: 1KB
下载: 下载

继续优化:
使用eAccelerator,官方主页:http://eaccelerator.net/
windows版本:http://www.sitebuddy.com/PHP/Accelerators/eAccelerator_windows_binaries_builds

注意版本。

下载好的eAccelerator0952_5.2.6.dll放在php的ext扩展下,打开php.ini:

extension=eAccelerator0952_5.2.6.dll
eaccelerator.shm_size="64" ; 20MB per heavy site ?
eaccelerator.cache_dir="D:AppServwwwmysitesystemcache"
eaccelerator.enable="1"
eaccelerator.optimizer="1"
eaccelerator.check_mtime="1"
; 0 should be faster but will skip checking the modified date on your cached files eaccelerator.debug="0"
eaccelerator.filter=""
eaccelerator.shm_max="0"
eaccelerator.shm_ttl="0" ;( I have used 3600 = 1 hour)
eaccelerator.shm_prune_period="0"  ;( testing 1800)
eaccelerator.shm_only="0" ;(testing 1 this seem noticeably faster?)
eaccelerator.compress="1"
eaccelerator.compress_level="9"
eaccelerator.keys = "shm" ;(testing)
eaccelerator.sessions = "shm" ;(testing)
eaccelerator.content = "shm" ;(testing)
eaccelerator.admin.name="yourusername" ;(upto eAccelerator 0.9.4)
eaccelerator.admin.password="yourpassword" ;(upto eAccelerator 0.9.4

如果还不够快,可以用smarty或者其他的页面缓存。这样你的网站就跟飞一样快。

有人已经测试过了,在这里:http://www.haughin.com/2008/02/13/optimizing-and-scaling-your-codeigniter-application/

参考文档:
http://devbee.com/opcode_cache_for_dummies
http://www.haughin.com/2008/02/13/optimizing-and-scaling-your-codeigniter-application/
http://www.sitebuddy.com/PHP/Accelerators/eAccelerator
http://blog.zol.com.cn/838/article_837067.html
http://hi.baidu.com/xpiaoxue/blog/item/f87b2aecbb33c534279791ac.html
http://codeigniter.com/forums/viewthread/57117/

阅读全文 »

众包 -- 大众力量推动商业未来

发表于 2010-02-08 | 分类于 生活碎念

http://www.cnblogs.com/Tangf/archive/2010/01/04/1638626.html
第一次知道众包这个词,是朋友告知有一本新书:《众包:大众力量缘何推动商业未来》。现在,我真的买了这本书拜读起来,书刚刚才看完第二章,觉得有点枯燥、太过于理论,所以决定先发表一下我对众包的理解或想法。

众包这个词现在越来越新潮,很多的人都在引用,那么,什么是众包?维基百科已经给出了非常好的解释,不过简单的说,就是用大家的力量来完成一件事情,就如同书的推荐序中所言:“三个臭皮匠顶一个诸葛亮”就是一种众包最简单的体现。

其实众包并不是多么神秘多么高级的模式,众包随处可见:Google的许多服务,比如Google Code/Google App Engine/Google 3dwarehouse,以及Google的所有APIs等等;WordPress的Plugin和FireFox的附加组件;IBM的开源社区和威客任务;digg和维基百科(虽然维基百科创始人批评这个词);大众点评网和豆瓣;博客平台(新浪博客和博客园);FaceBook和开心网的插件系统;苹果手机的app store;可以说所有的社区都是一种众包;公益事业也使用众包,比如多背一公斤以及捐献时间(我喜欢这个网站的模式和概念但不知道为什么现在这个网站不能访问了);除了网络,现实生活中也存在众包,比如广告语征集或者摄影大赛、卖小东西小玩意的格子屋商店(可能不算)、上海电视台的相约星期六和湖南卫视的智勇大冲关等等。

说了这么多的众包,好像所有的内容都能和众包扯上一点关系,可能我说的比较宽泛了一些(在第二段关于什么是众包的时候就写的非常宽泛),但众包是有特征的。引用维基百科中的话说就是:“众包是一种分布式的问题解决和生产模式。众包和普通意义上的外包不同点在于,任务和问题是外派给不确定的群体和外派给确定的个体间的差别。众包和开源的不同在于,开源是一种通过公众的团员志愿地开创和进行合作性的行为活动。众包中的行为活动是由某个客户提出的,并且由个人或小组为基础来进行的。”。以大众点评网为例,假设大众点评网的初衷是收集城市中的餐厅信息,传统做法是自己收集整理或者外包给第三方收集整理,如果使用传统的模式,可想而知,“劳民伤财”,花费非常多的人力和金钱,最终的结果也不一定很好(至少有很多公司在默默做信息收集整理的都不怎么样),而现在,众包了,建立了大众点评网这一个网络平台,让所有的人都参与进来,不管你是医生还是教师,也不指望你是美食家还是评论家,只需要你发表你的想法(基本上都是用户就餐后的感受),当然如果你发现一家新开的馆子,你可以将这家餐厅添加到网站上来。让大家一起添加餐厅,让大家一起评价餐厅,让大家一起推荐菜单,让大家一起给餐厅打分,于是,大众点评网辉煌了,拥有相当多数量的餐厅,有很多好的点评就被引入到餐厅的介绍中,这个餐厅的介绍也就变得非常的中肯,推荐的菜谱也基本上是最好吃的,而打分更可以体现餐厅的环境服务等,并且我甚至觉得大众点评提供的人均消费都是非常合理的(不吝啬不夸张的正常人均消费基本上和大众点评所述一致)。无疑,大众点评网是运用众包模式的成功典范。(国外的Yelp也是非常的火爆)

众包是一个好的模式,但做好众包不是易事,那么如何做好众包?个人认为有两点,第一是平台,第二是激励政策。在《众包》一书中强调的是将问题在互联网上发布和传播,可见互联网就是一个不可或缺的平台(个人认为平台不仅仅是互联网,比如相约星期六和智勇大冲关就是建立在电视平台上,摄影大赛通过传统报纸发布和传播)。可以说互联网是基础平台,只有基础平台是不够的,你还需要给大家一个舞台。比如大众点评网只是告知大家说需要收集许多餐厅信息,并且将这个问题通过网络传播了,那么大家如何提交就是一个问题,而大众点评网站就是一个很好的舞台,大家可以添加商铺可以对商铺评论打分。可见,做好众包并不是想象中的那么简单,除了发布和传播,还需要给大众搭舞台,不是所有的人或公司都会搭舞台的,这无疑是做好众包的第一道门槛。舞台搭好了,那就让大家一起来跳舞吧,但不是你说让人家来就会过来的。众包有一个有趣的现象:1%的创造,10%的互动,89%的吸引,从中可以看出 1%是你的核心舞蹈员,10%是边缘人员,他们会为好的舞蹈员鼓掌呐喊,而89%的仅仅是观众。比如豆瓣影评,有一个人发表了一篇影评,有十个人推荐或者留言回复,而吸引了89个人看了这篇影评,无疑这就是一个成功的众包。如何提高创造增加互动吸引更多的人,这是一个值得思考的问题,由此,激励政策很重要。激励可以通过钱(类似于工资,但如果高工资势必违背了众包的低成本模式),可以通过物(类似于资源互换,不管是有形还是无形的物),更可以通过精神 (名声、知名度、个人满足感和成就感等),这样的激励是推动大家在低成本下利用业余时间完成众包的动力。比如博客园这样的博客服务托管商,吸引大众写博客,人为什么写博客呢?一是炫耀,向人们告知他的想法,另一是需要被认可,是对自己的肯定,可见大家为什么源源不断写博客,更多的是精神满足感(也包括我花好几个小时写这篇博文),这样小小的精神力量竟推动了博客服务托管平台(当然现在自建平台的人越来越多,但博客托管是一个舞台,比如新浪博客就是一个拥有超高曝光率和影响力的炫目舞台)。

同时,众包所带来的争议也不少。问题之一:众包是否可行?虽然搭建了舞台并提供了激励,但舞台太高或者大众积极性不够,是否会导致众包的失败?是的,这是一个很头痛的问题,许多残酷的现实告诉我们,在大陆,推动众包更艰难。维基百科中,中文词条的数量远远少于英文词条,并且有很大一部分词条可能是我们台湾同胞帮助编辑的。GPS寻宝是一个非常有意思的户外游戏,在国外非常的火爆,有狂热的追随者,但在国内,没有一个成功的典范。而所谓的摄影大赛、征文大赛等众包活动,许多就有可能是发起者的“自娱自乐”,因为没有人积极参与。现实生活中提供炒作(在报纸杂志网络中提供并推广枪文枪稿让某个活动看上去很火爆或者某个产品看上去很美)服务的更是开口就多少多少万。诟病我们无法摒弃和左右,但我们只有积极的尽我们一份微薄的力量,就如同哥本哈根并没有实质性结果,但积极的影响力我们不容忽视。热情、奉献和快乐,应该是众包的信条,更是每个人积极的人生信条。问题之二:众包如何获益?这个问题应该是多余的,因为众包肯定是有一个出发点的,达到了目的就表示你获益了,不管你是开发产品还是召集大家公益服务,并且,有些时候是直接获益,而有些时候是间接获益。问题之三:被剥削和专利版权问题纠纷。这是一个双刃剑的问题。一个容易感到被剥削的人是很难“被众包”的,因为他们即使不自私那也会很自我 (Google那么大度,许多产品开源,但也不见得哪个能够利用开源超越Google)。而专利和版权我们不需要太在意但也不要不在乎,IBM为什么放弃专利(部分产品或软件),是因为开源环境下获得的服务利益大于专利许可授权利益(开源不等于免费,服务是收费的,而开源更能帮助软件成长),而对于一些原创文章不署名作者和出处并篡改为自己所写,是容易遭受鄙视的(我其实非常不满意大众点评网服务条款中的版权说明:发言人发言内容的版权无偿归大众点评网所有,并不允许别人引用,别人引用引起的纠纷获得的赔偿归大众点评所有。这也是我为什么至今不在大众点评网发表评论而自建一亩三分地自娱自乐的原因)。那为什么我们还是愿意“被众包”?“塞翁失马,焉知非福”告诉我们的就是这个道理,是否被剥削可能仅仅是角度不同而已,解决问题的过程是一个学习的过程,经验分享则是一种学习交流,我也有时候想,我为什么要将我的想法写成文字发布到网上,我为什么要将我做的东西提供给大家下载,其实分享的同时也是在获得,别人的评论和留言有时候帮助我看的更远,所以得与失仅仅是一念之间。

文字越写越像励志文学了,有点跑题,是应该收尾了。最后,不管众包是一种概念的炒作还是商业模式的变革,至少众包为我们提供了一个好的思路,运用众包让平台和用户双方获益,双赢应该是商业的真正未来。

现在,我想做一个众包实验:《分享上海》出书计划,依靠大众的力量出版一本关于上海旅游的书籍。具体信息请登录分享上海网站(ShareSh.cn),请大家多多支持。

Rover.Tang
http://Tangf.CnBlogs.Com
http://www.ShareSh.cn

阅读全文 »

UltraEdit text editor for Linux 1.0

发表于 2010-02-03 | 分类于 linux应用

UltraEdit是windows下是知名的反汇编软件,也可用作文本编辑器,今天说的则是他在linux平台下发布的文本编辑器啦。
fedora下
redhat
ubuntu

简单翻译一下官方介绍:
支持的系统环境:

现有的UltraEdit for Linux发行版本支持以下发行版的linux(32位和64位):

  • Ubuntu 8.04, 9.04, and 9.10
  • Fedora 11 and 12
  • OpenSUSE 11.1 and 11.2
  • CentOS/RedHat Enterprise 4.8 and 5.4

对于其他发行版官方提供32位和64位版tar包下载. 虽然有tar.gz可使UltraEdit安装在任何linux发行版上,官方却不提供对安装和依赖性的说明,而只对上述发行版提供支持。

免费试用
安装完后,你将有30天试用时间,之后需要购买许可证继续试用程序。

购买UltraEdit for Linux

如果试用满意点此链接购买此产品。 purchase a license.

Fedora 12下载:http://www.ultraedit.com/files/uex/Fedora/12/UltraEdit-1.1-0.0.fc12.i686.rpm  (32位)

http://www.ultraedit.com/files/uex/Fedora/12/UltraEdit-1.1-0.0.fc12.x86_64.rpm  (64位)

Tar包下载:

http://www.ultraedit.com/files/uex/Other/uex-1.1.0.0_i386.tar.gz(32位)

http://www.ultraedit.com/files/uex/Other/uex-1.1.0.0_amd64.tar.gz(64位)

更多版本下载地址就不一一贴上来了:http://www.ultraedit.com/downloads/uex.html

阅读全文 »

十分BT仿dz7.2风格

发表于 2010-01-31 | 分类于 WEB技术

shifenshifen2昨天架设好了环境,今天稍作记录并开始尝试改变风格,有firebug在手,比较dz和本程序的差别进行缓慢修改,参考cgbt.cn站点,源码并没有与模板分离,只能做出一个风格来,后面再慢慢看吧。。晚安

阅读全文 »

Discuz!的Memcache缓存实现【转】

发表于 2010-01-30 | 分类于 WEB技术

Discuz!的Memcache缓存实现

原文地址:http://www.ccvita.com/261.html

前言:
在PHP+MySQL架构的站点中,本文重点从MySQL的角度去分析如何使Discuz!论坛(或者类似的PHP+MySQL架构的程序)应对大访问 量。同时给出一些使用Memcache去减轻MySQL压力的建议。其中很多数据是个人测试的结果,如有不同意见,敬请留言告之。另外由于个人思维的问 题,行文比较跳跃,特此声明!

系统分析:
单纯的从MySQL的角度出发,单台MySQL的数据库负载到每天上亿次的操作(每秒大概1100次MySQL操作,然后乘以86400)应该不是非常困 难的事情。按照这个数据也就是说一个单MySQL服务器的论坛来说可以跑到2千万PV是不成问题的,我相信国内绝大部分的论坛都不可能做到每天2千万的 PV,但实际情况并不是如此。当论坛PV超过百万的时候一台WEB早已经不堪重负了。

就我手头的一些数据显示,目前的Discuz!论坛的基本服务器架构是前面Squid顶着,后面才是一台DB在撑着。这种架构中,web服务器压力 增大可以通过并行增加服务器解决,而MySQL压力却无处释放,在不考虑MySQL官方服务的情况下,我们通过合理的利用Memcache是可以达到减轻 MySQL服务器负载的。

可能会有朋友说我们可以对数据表进行分表(注:此处分表是指通过PHP程序去分表,比如pw,dv的分表)处理,但是当前的情况 是一台DB服务器已经不能支撑当前的数据处理了,通过PHP对MySQL进行的分表依然不能减轻MySQL的负载。(注:本段文字针对已经成型的 系统,如果是独立开发的系统在架构前期就进行数据的同步分区还是不错的。)

还可能有朋友会说利用MySQL的主从构架,如果你提出这个问题,我就很明确的告诉你,回去看看手册吧。在Mysql Master/Slave 模式中,Slave主要是来备份数据的,只有当Master出现故障时,Slave才会接过Master的服务,对外部请求进行处理,直到Master恢 复正常。就是说:在Master/Slave中,要么是Master在服务,要么是Slave在服务,不会Master /Slave同时提供服务。使用MySQL主从依然不能有效的降低MySQL的负载。

或许你又会问我为什么不使用MySQL集群(MySQL Cluster),那可是白花花的银子啊,同等金钱的付出下,获得最大的收益才是王道。PS:说句题外话,MySQL手册中将MySQL集群解释为 MySQL簇,不习惯。

其实在MySQL5.1中的MySQL分区(MySQL Partition)是个很好的东西,它允许根据可以设置为任意大小的规则,跨文件系统分配单个表的多个部分。实际上,表的不同部分在不同的位置被存储为 单独的表。我认为这个才是当前情况下,最积极有效的降低MySQL负载的解决方法之一。但是遗憾的是,这种MySQL 分区的方式我个人没有使用过的经历,也不见有相当充分的案例表明它是稳定的或者不稳定的。所以我还在徘徊中。如果你知道,请麻烦告之!有朋友说腾讯是在用 MySQL分区,但是遗憾的是我没有得到确切的数据。

好了分析总结了这么多种降低MySQL负载的方式之后,在用户环境需求等特定条件下,我得出结论在当前情况下,缓解Discuz!论坛的MySQL 负载比较有效的方法就是使用Memcache!

使用Memcache的理由:
1.Web Server(Lighttpd、Nginx据说都比Apache效率高好多,大家可以试用下)对CPU要求高,对内存要求低;而Memcached Server是对CPU要求低,对内存要求高,所以可以搭配使用。在对前端的Web Server上安装Memcached Server是可行的。
2.金钱金钱金钱,最少的付出,获得最大的收益。
3.简单简单简单,对于一个架构合理的系统来说,添加Memcache的支持可能只是一个批量处理文件的过程

Discuz!使用Memcache
1.在config.inc.php中增加

$memcachehost = '127.0.0.1';
$memcacheport = 11211;
$memcachelife = 60;

2.在include/common.inc.php中

$mem = new Memcache;
$mem->connect($memcachehost, $memcacheport);

3.修改include/db_mysql.class.php中的fetch_array、query这两个方法,并添加query_mysql 方法,代码如下:

function fetch_array($query, $result_type = MYSQL_ASSOC) {
return is_resource($query) ? mysql_fetch_array($query, $result_type) : $query[0];
}

function query_memcache($sql, $type = '') {
global $mem,$memcachelife;

$key = md5($sql);
if(!($query = $mem->get($key))) {
$query = $this->query($sql, $type);
while($item  = $this->fetch_array($query)) {
$res[] = $item;
}
$query = $res;
$mem->set($key, $query , 0, $memcachelife);
}
return $query;
}

function query($sql, $type = '') {
global $debug, $discuz_starttime, $sqldebug, $sqlspenttimes;

$func = $type == 'UNBUFFERED' && @function_exists('mysql_unbuffered_query') ?
'mysql_unbuffered_query' : 'mysql_query';
if(!($query = $func($sql, $this->link)) && $type != 'SILENT') {
$this->halt('MySQL Query Error', $sql);
}

if(substr($sql, 0, 6) == 'SELECT') {
echo 'Cache SQL:'.$sql.'

';
} else {
echo 'Flash SQL:'.$sql.'

';
}

$this->querynum++;
return $query;
}

4.将需要使用Memcache缓存的SQL查询的代码由

$db->query(

修改为

$db->query_memcache(

注意并将

while($post = $db->fetch_array($query)) {

修改为

foreach($query as $post) {

没有while的$db->fetch_array可以不用修改。

下面代码有用得着的就拿去:

preg_replace("/while([$](w+)s*=s*[$]db->fetch_array([$]query))/is", "foreach($query as $1)", $file);

回头放出个小工具批量替换下就可以了。
在EditPlus中可以这样替换:while([$](.*) = [$]db->fetch_array([$]query))替换为foreach($query as $1)
5.完成了,测试吧!~

参考资料:
对Memcached有疑问的朋友可以参考下列文章:
Linux下的Memcache安装:http://www.ccvita.com/257.html
Windows下的Memcache安装:http://www.ccvita.com/258.html
Memcache基础教程:http://www.ccvita.com/259.html
Discuz!的Memcache缓存实现:http://www.ccvita.com/261.html
Memcache协议中文版:http://www.ccvita.com/306.html
Memcache分布式部署方案:http://www.ccvita.com/395.html

后记
写完之后突然发现天已经要亮了,闷骚了一个晚上。个人的一些总结,欢迎留言探讨!

Tag: Discuz!, Memcache

kimi at 2007-12-17 05:39:29 in Memcache

版权声明:原创作品,欢迎转载,转载时请务必以超链接形式标明文章原始地址、作者信息和本声明。

阅读全文 »

柯南教我们的小知识

发表于 2010-01-30 | 分类于 生活碎念

柯南: 01
有练过高低杠的人
大腿上都会长出独特的茧
…………………………….
柯南: 02
衣服前面淋湿
后面却没有
这就是在雨中跑步的证据
…………………………….
柯南: 07
外科医生的手指上有一条斜斜的痕迹
担任外科医生在手术的时候
通常会边用两手的食指固定细细的线
一边打结
所以在食指的前端才会留下斜斜的痕迹
…………………………….
柯南: 16
左手有细细的伤痕
就位于手掌的拇指跟食指的中间
有练习日本剑道的人把刀收起来的时候
常常会在这个部位受伤
……………………………..
柯南: 18
氢氧化钠只要拿出来放在空气中
就会迅速吸收水分子成为液态的剧毒
………………………………
柯南: 27
在开枪的时候
子弹会和一股高温的热风一起从枪口喷出
如果枪口抵着头部的话
头上会有烧伤的痕迹
………………………………..
柯南:29
长毛种的猫最怕温度过热
所以要提供一个具有空调的环境才行
…………………………………
柯南: 33
把手电筒的头部拆掉
把里面的反射板拿下来
再将火柴放进反射板里
然后把这个正对太阳
让他的光线集中
就算是湿的火柴也能点着
把短针指向太阳的时候
短针和十二点之间二分之一的方向就是南方
所谓的东方就是在他左边的九十度角
………………………………….
柯南:47
溺死的人鼻子和嘴巴里都可以看到泡沫
耳朵里有少量的出血
这是从鼻子和嘴巴里进去的水
对耳造成的压迫的关系
…………………………………..
柯南:48
中国的白干可以治感冒
…………………………………..
柯南:58
人类死后的三十分钟到两个小时之内就开始僵硬
死后三十个小时之内
身体会呈现最硬的状况
然后开始逐渐软化
大概七十个小时就会恢复原样
尸体周围的温度在三十五度左右
尸体僵硬和软化的速度就会加速进行
只要二十四到三十个小时
死后僵硬就会开始软化
……………………………………
柯南:71
有机磷化学物
如果是轻微中毒的话
只会让人作呕或流口水而已
如果大量服用的便会出现呼吸困难和脱水症
……………………………………
柯南:73
用石头的回声来判断前方的路
如果回声大的话就表示前面是条死路
变小的话就代表前面还有路
……………………………………
柯南:75
硫化酸钠
可以去除消毒液颜色的漂白剂
不但如此
同时也是能够去除氢酸甲毒性的解毒剂
在常温之下
还是能够反应的一种具有特殊成分的漂白剂
…………………………………….
柯南:96
乌头碱
是能把神经麻痹的一种毒物
是从一种叫三乌根的植物中提取出来的
两毫克就足以使人致死
当毒素开始进入体内后
很快便能致命
是强力毒物
……………………………………..
柯南:100
冲进火场救人时要带上安全帽
这样可以保护脸和头发不被烧伤
………………………………………
柯南:106
生石灰沾水后会产生高温的热量
………………………………………
柯南:110
背部有一个相似被蚊子叮咬的红色斑点
就像是被冰锥刺到背部以后
才留下那样一个斑点
如果那真的是利用冰锥所造成的伤口
看起来虽然不严重
但一般来说常常发生刺到肺或是内脏的例子
如果被刺到会胸口痛无法呼吸
如果肺部被刺穿一个洞
即使想呼吸也因为肺部不能膨胀而导致呼吸困难
………………………………………
柯南:113
红茶里面含有的单宁酸成分现将伤口洗干净
这样可以中和毒素
这是被海蛇咬到的时候最佳的应急措施
但是还有一点就是有人将毒血吸出来的话
那个人如果不用茶水清洗空腔也会有危险
……………………………………….
柯南:122
盐酸性和酸性的清洁剂混合之后会产生有毒的盐酸气体
………………………………………..
柯南:124
如果每天都在碰那些染料的话
不只是人的手指
就连他的指甲里面也都会染上颜料很难洗掉
………………………………………..
柯南:163
通常一些暗号大多用前一个或后一个文字写的
正常的时钟如果是六点半
时钟与分钟应该是分开的
如果是重叠在一起的
这就表示有人故意移动过
………………………………………..
柯南:174
杀人案的时效是15年
但是民法规定20年之内还是法律追诉期
热僵硬现象
尸体遇火的时候
骨骼肌肉在热力的作用下会产生热凝固而收缩
引发热僵硬现象
手脚弯曲后的肌肉要比伸展开的肌肉力量大上许多
所以关节部分都会呈现弯曲状态
硒胶树脂
简称硒胶
整形手术中的隆鼻手术常常会使用到
……………………………………….
柯南:181
红玫瑰代表热情
金盏花代表绝望
半边莲代表恶意
大理花代表背叛
………………………………………..
柯南:183
克罗尼
无色或者是白色结晶
通常用来消毒皮肤和杀菌什么的
克罗尼有很强的毒性
通常用来除鼹鼠
做鼹鼠丸用的
…………………………………………
柯南:190
【中文名称】氰酸钾
【英文名称】potassium cyanate
【结构或分子式】 KCNO
【密度】2.056
【性状】白色四角晶体
【溶解情况】溶于水,极少溶于乙醇
【用途】 用于有机合成和制催眠药、麻药等。也可用作除草剂
【制备或来源】 由氰化钾与氧化铅研和共热,然后在水或稀乙醇中结晶而得
在700~900℃分解
【氰酸钾中毒】
死的时候不失去血色,嘴唇和指甲的颜色没有发紫现象不过呈现为粉红色
在服下之后,细胞中的电子传输系统会开始运作
可以在不使用血液中氧气的情况下顺着血液循环
全身这么一来气色反而会变得更好,嘴里有杏仁的臭味。
………………………………………….
柯南:196
冲击后遗症
也就是说有些人只要长时间
跟一些绿色植物在一起
他们就很容易生病
那是因为绿色植物里含有大量的甲醛
………………………………………….
柯南:206
要认罪前的嫌疑犯总是喉咙干渴而伸手拿水
如果这时拿水给他们
他们就会把话和水以前吞进去
………………………………………….
柯南:212
有些松树变成黄绿色
松茸一般都喜欢依附在赤松木的根部吸取养分
所以看起来精神不佳
松叶呈那种颜色的赤松木根部都很有可能
除此之外
这些赤松木在成长过程中
必须在日照,排水,通风
都良好的地方才会长得好
在毛巾上每隔一段距离剪隔不到底的缺口
就能变成长长的绷带了
………………………………………….
柯南:219
伪装他人的能手
连一般人都不太会记得的事情说不定他也会记住
成功之士通常绝对不放过任何机会的人
因为 如果认为机会会再次出现而将它放过
那你在怎么等也等不到
鲁米诺试剂
只要将它喷在血迹上面
就会因血液中的活性氧而发生氧化反应
于是释放出蓝紫色的荧光
………………………………………….
柯南:227
河豚毒
河豚毒素 通称TTX
0.5到1毫克就能致命
是种只要氢酸钾1/500的量就能杀人的剧毒
通常在河豚的体内
从口中食入的中毒反应则较为迟缓
及时治疗一般都能获救
相对的 直接进行血管注射
神经就会在短时间内麻痹而立刻丧命
…………………………………………..
柯南:239
打哈欠和关节痛
是吸毒者的毒瘾发作的症状
吸毒的人无法解毒
是吸毒带来的快感
和无法忍受毒瘾发作时的肌肉跟关节的激痛
吸毒和杀人是绝不能干的违规行为
Drugs and murber are foul without any excuse….
这只能令你得到可耻的红牌
deserve a red card for a loser…
……………………………………………

柯南:240
被押送的犯人中途自杀
对于押送的警官来说是很严重的事情
这下子不是要申诫,减薪处分就是停职了
不止这样
弄不好的话会被撤职的
heparin(防止血液凝固的化学物质)
一般血液过一段时间就凝固了
搬运的时候很不方便
把血和heparin混合放在密封塑料袋里
便可轻易保持血浆的原貌带上新干线
…………………………………………..
柯南:246
体温很高,皮肤又干
汗也排不出来而且瞳孔有一点缩小
脸色有点红,但脉搏却跳的很快
这是标准的中暑现象
…………………………………………..
柯南:250
降血糖剂
糖尿病患者服用的药
身体健康的人喝了的话
血糖会突然下降
可能导致死亡
…………………………………………..
柯南:275
在酚酞与酒精混合的无色液体中
加人同样无色的微碱性液体氨水
就会像魔术般变成红色
…………………………………………..
柯南:288
我从不知道人杀人的理由
杀人需要动机,但人救人的理由是不会有逻辑思考的
…………………………………………..
柯南:304
急性厚壁下血肿
右侧头部出血
左边脚麻痹
水银控制杆
只要轻微的震动,内部的水银珠就会滚动
……………………………………………

柯南:315
竹笋吸收了水分之后
加上气温的变暖就会生长的快
……………………………………………

柯南:327
100瓦的灯泡的表面温度是218度
……………………………………………

柯南:330
为了金钱而成为朋友
这样的话从一开始就不是朋友
和卖听装果汁的自动售货机一样
只要投入钱就满足你的渴望
没钱就什么都没有
用钱买不到人的心
……………………………………………..
柯南:332
拔牙以后
一段时间内不能吃刺激性的食物
……………………………………………..
柯南:334
异丙基肾上腺素
是诱发神志不清的试验时的药
这是给那些神志不清的患者使用
诱发他们的症状
以便查清原因的用药
……………………………………………..
柯南:343-344
线索就是反常的地方
有案子发生的话肯定会有和平时不一样的地方
首先通过仔细观察把这些地方找出来
就算是谁都会做的事
或者是平时一直发生的小事
只要和平时不一样就是大问题
这么说吧太阳地下无新事
When you have eliminated the impossible
Whatever remains however improbable
must be the tureth
出去不可能的,剩下的即使再不可能,那也是真相
……………………………………………..
柯南:349
漆树
一旦碰到就会中毒发炎
……………………………………………..
柯南:356
戴隐形眼镜的人骑摩托车
不戴防风镜是相当难受的
风吹到眼睛很痛而且还会流泪
即便是装有挡风板
骑起来也会相当的难受
………………………………………………
柯南:359
没人运动员都会有个禁忌
之一
保护最重要的部位
………………………………………………
柯南:366
在水不那么深的地方
阳光会把海水照的很清澈
鱼就比较警惕
后以其实阴天或者小雨的天气更适合钓鱼
钓到鱼后,再放会海里之前
先把守在水桶里浸一下降降温比较好
因为人的体温对于鱼来说太高了
鱼会被烫伤的
清晨后傍晚比较适合钓鱼
嘴唇变成紫色
开始出现缺氧的情况
这是不能正常呼吸的证明
虽然这样
但脉搏还在跳动
心脏跳动还很正常
就是说
可能的原因是闹障碍
或者是
神经毒
………………………………………………
柯南:372
投手习惯左手接东西
………………………………………………
柯南:373
背上有红色斑点的蜘蛛被称为红背蜘蛛或者red back spider
主要生活在澳大利亚 中南美洲等地
………………………………………………
柯南:374
天气冷的话,天空比较清澈,星星可以看得比较清楚
………………………………………………
柯南:424
人类在死后 身体的肌肉会变僵硬
一般从死后两个小时左右开始僵硬
但是
如果是夏天在屋外
或者房间有暖炉的暖和的地方
会开始的更快
………………………………………………
柯南:428
猫没有分解乳糖的身体结构
吃草的牛和吃肉的猫
母乳的营养也不一样
直接给它喝牛奶的话
有时肚子会喝坏
它就不会喝了
所以
如果用婴儿用的奶粉
对上和人的体温差不多约38度的开水
用2倍的水稀释,在给它们喝
………………………………………………
柯南:435
花粉症是抗原
也就是说引起过敏反应进入体内
对抗抗原的抗体被制造后
积存字体内
超过一定量后
抗体和抗原就会发生反应
就会释放出引起过敏的物质
但是被那种抗原的花粉袭击
固定在一年里的这个时间
所以积存要花很多年月
所以就有了很多孩子提时代没关系
到了二三十岁又有花粉症的事例
……………………………………………..
柯南:441
艾篙花粉症
艾篙是赤蛱蝶的食物
艾篙对于赤蛱蝶来说是美餐
但对于人类来说就可能会引发花粉症
……………………………………………..
柯南:466
在雪中撒盐
雪的凝固点
也就是让雪的溶解温度下降
撒上盐的部分虽然会融化
但融化之前会收集周围的温度
在没有撒盐的地方就会变的坚硬
并不止是变硬
在雪中撒盐后搅拌的话
盐会分解后持续溶解
然后雪会融化光
同样在以溶解液使用于积雪的道路
叫氯化钾
…………………………………………….
柯南:476
并不是强者胜,而是胜者强
这是德国足球皇帝贝肯鲍尔的名言

阅读全文 »

Go,墙外,见[ZT]

发表于 2010-01-16 | 分类于 生活碎念

最近一直有消息说谷歌要关闭中国业务,什么原因大家都知道了,废话不多讲。这个消息出来之后大部分网友包括我觉得十分震惊,期望它是假的,对于某些ZF和某国内知名竞价排名搜索引擎的斥责声此起彼伏。一个企业如果自己经营不善,不能满足消费者的需求而面临倒闭破产的危机,从而宣布退出某个市场的时候,这个大家肯定不会如此关注的,事情做的不好这能怪谁呢。但是我们反过来看谷歌的事情,网友们反映如此激烈,甚至很多人跑到谷歌北京办事处“非法鲜花”,说谷歌是“铁血真汉子,谷歌纯爷们”,足以看出这件事情它不简单。
4f94ec20g7d3ee4cc8e41&690
大家如果对比过谷歌和那个竞价排名的公司的搜索结果的时候,搜索那些被敏感的词的时候,可能会注意到谷歌下面给出的是根据当地法律某些结果未显示,而那个竞价排名的家伙什么都没,意思是自己没找到,其实大家都知道是主人不让他现实的。
在同样的环境下,同样做的是搜索,为什么谷歌就受不了跑了呢?举个不恰当的比喻吧,两个妙龄女子黑夜外出,龌龊的人一想下面肯定是被某些流氓绑架拉到偏僻的小屋侮辱虐待了,其中一个女子觉得自己反正也逃不了了,与其在那里无助的挣扎,不如躺下来好好享受一番。于是这个女子就和流氓在某种程度上达成了一致,得以保全自己。但是另一个女子不堪这种侮辱,会拼命的反抗,千方百计的想逃脱,最终的结果肯定是被这些流氓活活折磨死。而这一个女子某种程度上让我们看到了谷歌的影子。
4f94ec20g7d3ee6aac06e&690
我们看电视剧的时候总是十分厌恶那些为了保全自己而放弃原则投靠敌人的贱人,在一个恶劣环境中,有人可以选择苟且偷生,有些人宁为玉碎不为瓦全。但是在我们这样一个一切为人民币服务的年代里,原则越来越被人们嗤之以鼻,那些贱人往往成了人们心目中的英雄偶像,那些真正的英雄却被冷落到了角落里,承受寂寞。在这样变态扭曲的价值观体系中,出现种种奇怪的现象也就不足为奇了。
我们都是活生生的人,不是动物畜生,我们需要的是自由民主,倘若老百姓连最基本的知情权都没有的话,天天被你们灌输所谓的红色理论和红色信仰,那和一个驯兽师调教他的宠物有什么区别呢,你练好了给你点东西刺激刺激,强化一下。练不好皮鞭侍候,把你关在笼子里面。生活在这样的环境中和坐牢又有什么差别呢,正如《大话西游》里面唐僧的那句话一样“外面对我来说只不过是一个大一点的监狱”。
谷歌就算最后真的离开了中国,老子也不会用那些竞价排名的搜索引擎的,除非老子想骗人。
4f94ec20g7d3eea02de9f&690
Google,咱们墙外见!

转自http://blog.sina.com.cn/s/blog_4f94ec200100gor7.html

阅读全文 »

为日常用Fedora进行优化

发表于 2010-01-12 | 分类于 linux应用

一、用easylife优化。http://easylifeproject.org/
It's For Fedora 12
比较遗憾的是此优化工具为了保证文件准确性经常要从他提供的地址下载,而他的服务器都在国外,用WGET下载速度也只有几KB/S而已。可优化选项只有那么几个,我用了KDE桌面,几个GNOME的选项勾上不起作用。昨晚开始宿舍晚上不断电了,所以乘着晚上网速好把几个觉得有必要用的选项装上了。NV的显卡驱动一直没敢装,Fedora12默认集成的NV显卡驱动使得显示效果大幅提升却不支持3D,官方驱动直接装上就进不了桌面了,这个问题暂时不敢尝试。。。。总之经历一个晚上的安装,Rhythmbox可以放mp3了,电影播放器也可以放多种格式了,非常方便,安装了vlc,看电影也不再愁了。
二、PPStream。http://linuxtoy.org/archives/how-to-setup-ppstream-on-fedora.html
根据LT的教程装完了后电影播放器侧边栏就一直显示更新分类列表中,可能pps的官方都忘了他们还放出国linux版的文件吧?
后来看了看文章后面的评论又去谷歌了一下GMLive

和qsopcast。挺好,都有google code主页,找起来挺方便。一会再试试。

先看GMlive,是个国人团队制作的前端,有人做过rpm打包,但是没有Fedora12的,F11的和12不兼容。
去他们的Google code页下载源码编译
#./autogen.sh
#make
#make install
出错了
checking for PACKAGE... configure: error: Package requirements (gtkmm-2.4 >= 2.6.0 libxml-2.0 >= 2.6.0) were not met:

No package 'gtkmm-2.4' found
这句话我是真没看懂。。。。研究半天gtkmm24默认安装了,又安了gtkmm-utils也不行,只好作罢。
三、美化,我对此道一向不很专注,大概认为简朴最高吧,换了张故剑奇谭的最新壁纸就满足了,KDE本省已经很漂亮很完善了。

阅读全文 »

论坛不再烦恼视频播放器的问题了

发表于 2009-12-20 | 分类于 WEB技术

升级到dz7.2以后,自带的编辑器自带的音乐播放器、视频播放器、flash播放器足够了。不足的问题是,音乐播放器和除flv以外的视频播放器在火狐下不知为何显示为未知组件,无法通过更新来显示。flash版的flv视频播放器和前面我测试的那个JW flv player界面十分相似啊。
之前播放器对ftp协议支持并不很好,遇到ftp连接失败就不断弹出错误提示,十分不人性化,这个播放器出现连接错误后会在播放器内显示连接的文件地址,并显示出错。不过IE却无法观看带中文路径的视频链接,估计得改ftp的设置

后话
dz7.2采用了大量flash元素
在./images/common目录下flvplayer.swf
FLV播放器
在./images/common目录下upload.swf
flash批量上传
在./uc_server/images目录下camera.swf
UCenter的用户头像采集
至于UChome用到的flash更多了,在home/image目录里有upload.swf,doodle.swf,1.swf,1.swf,3.swf,4.swf,stat.swf,slide.swf,cam.swf,player.swf,flv.swf

阅读全文 »

对dz下的flv播放器进一步探索

发表于 2009-12-01 | 分类于 WEB技术

今晚测试一下veapon同学说的jw player。其实这个东东之前见过,不过没自己用过。具体用哪些代码来调用是个问题

先做做功课

http://www.longtailvideo.com/players/jw-flv-player/#Instructions

JW Player™ Instructions说明文档

The JW Player™ is the Internet's most popular and flexible media player. It supports playback of any format the Adobe Flash Player can handle (FLV, MP4, MP3, AAC, JPG, PNG and GIF). It also supports RTMP, HTTP, live streaming, various playlists formats, a wide range of settings and an extensive javascript API.

JW Player™是一个网上著名的综合性媒体播放器。它支持所有Adobe Flash Player支持的回放格式(FLV, MP4, MP3, AAC, JPG, PNG 以及GIF)它也支持RTMP, HTTP,流媒体和各种播放列表,很大范围的设置以及一个JS的API接口。

The skinning functionality allows you to completely customize its look and its plugin architecture allows you to easily extend the player with features such as sharing, recommendations, searching, analytics and ad serving.

换肤功能允许你完全改变他的界面外观,而插件机制允许你更容易的为播放器增加“分享、提醒、搜索、分析、广告代理”等特性。

Installation安装

This section details a step-by-step process of how to install the JW Player™ onto your page. The download ZIP contains everything you need to get started.

此部分教您如何一步一步把JW Player™安装到您的页面上去。下载到的ZIP包囊括所有你需要准备的东西,直接开始吧。

Step 1: Transfer the player.swf and swfobject.js file from the ZIP to your website. (Make sure that you've also uploaded all the necessary videos / songs / images to your site.)

第一步:把player.swf a和 swfobject.js两个文件从zip包解压出来并上传 到你的 网站。(当然要确保你的视频啊音乐 啊 图片啊什么的都已经传到站点去了。)

Step 2: Embed the player in your HTML page with the lines of code below. Note: If you place the files in different directories, make sure to set the references in this code accordingly.

第二步:像下面这样把代码嵌入你的HTML语句中。注意:如果文件传的目录不同,自行按照代码设置好路径。

The player will show in this paragraph


在dz后太编辑器设置中discuz代码增加flv的代码内将以上代码粘贴进去,仅改动video.flv为{1},参数设置为1即可。

测试效果,由于是JS的,因此一个页面只能加载一个实例。第一次播放有dz的crossdomain权限禁止的弹出提示,不过能够播放,FF下能正常播放,由于论坛是UTF8编码而FTP为GBK编码,所以IE下仍然只支持纯英文路径。

相比之前的播放器好处有:如果ftp上没有这个文件或者无法打开文件直接在播放器中显示错误信息而不是前者那样在FF下不断的弹出ftp连接错误提示。

若要用于论坛需要修改的地方有:播放开始时的JWplayerlogo淡出效果要去掉,最好能加入自己提示文字。更多东西慢慢完善。

Notice the flashvars parameter above can contain a list of variables for configuring the player to use different Plugins or Skins. To quickly set up flashvars, use thesetup wizard. Simply choose an example, select the variables you want to use and paste the code onto your page. It's that easy.

提醒:代码中的flashvars参数可以包含一大列表的配置播放器的插件或皮肤。试试用设置向导setup wizard.来快速设置这个参数吧。仅需要选择一个实例,选择你需要的值,复制代码到你的页面即可,如此简单。

Documentation文档

All documentation of the JW Player can be found in the JW Player Wiki. The Wiki also includes our product roadmap, source code and bug tickets. Here are some direct links:

所有文档都可在JW player的维基JW Player Wiki上找到。这个维基也囊括我们的产品指南,源代码和BUG记录。直链如下:下面就不用翻译了吧

  • Release overview and complete change log for the JW Player™.
  • Supported file and playlist formats, along with implementation information.
  • Supported flashvars (variables) you can select to customize the player.
  • Javascript API overview (included with the player).
  • List of all skinnable elements in the player and information on how to create a skin.

If you've created a CMS module that embeds the player in an existing CMS (or you've found one online), please submit it here.

Also, make sure to check out one of our many tutorials, which cover topics such as:

  • Embedding a flash object in your site (simple embed and SWFObject).
  • Converting your video to FLV or MP4.
  • Adding accessibility features (closed captions and an audio description).
  • Controlling the player through JavaScript.
  • Setting up HTTP video streaming (seeking, throttling, security, lighttpd).
  • Skinning the JW Player.
  • Building JW Player Plugins.
  • The Yousearch plugin tutorial (a step-by-step Plugin coding example).

Support

阅读全文 »

dz用flv播放器对FF的支持

发表于 2009-11-26 | 分类于 WEB技术

2010/01/30追 dz7.2 have a video player that support lots of video types

以flv dz为关键词搜索这个帖子排名非常靠前,所以我基本没考虑过它的代码问题,但是自己维护的discuz论坛上按照他的方法却无法在firefox下显示,而且即使在IE下也不支持中文路径。
半年多了,html标记之类的知识也学了不少,简单看了一下它的代码,发现少了一个“=”号。见下面代码。

vcastr_file{1}&IsShowTime=1" allowFullScreen="true" quality="high" pluginspage="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash" width="600" height="450">

红色代码部分改为

vcastr_file={1}

即可。

加上后论坛在火狐下可以正常观看了。而且地址中可以包含中文字符。但又发现新的问题,由于用户是把视频文件上传到ftp后在论坛引用,而ftp由于用户很多所以做了每IP的2线程限制,如果用户正在用迅雷之类 的多线程下载器时打开带有视频的帖子,或者一个帖子里有多个视频就会弹出ftp错误信息,而且是不断弹出!!!这个问题我参考了adobe的flash和dw资料http://kb2.adobe.com/cps/415/tn_4150.html无解,由于完全没有头绪如何搜索这个播放器的源文件而且对flash编程完全没有了解,如何用html标签控制flash行为只能暂时停下来了,有没有人了解一些的可以交流一下。
dz官方论坛里应该这方面资料很多的,之前一直没太注意呢,http://www.discuz.net/viewthread.php?tid=423476这里又提供其他的播放器,如果有机会试试或许也有其他收获也说不定。不过要是把现有的播放器搞定那是最好不过了。

阅读全文 »

杀毒

发表于 2009-10-23 | 分类于 生活碎念

朋友的电脑出问题了,似乎会很容易解决,但是毕竟离得比较远,只好电话,短信,QQ这几种方式交流了。还好我这里网络环境不错,要是在家里用铁通那种环境能急死人。远程控制之后杀毒,卸载软件,忙着忙着,一个小时就很轻易的对我say goodbye了。唉,这些东西要是人人都作为常识来掌握该多好呢- -!

阅读全文 »

curl能衍生的程序

发表于 2009-10-07 | 分类于 WEB技术

curl可以模拟浏览器传递数据,而且能够模拟POST传递原网页不能传递的值。

那么分析网页后调用他处数据就可以进行课表查询等查询,使原本不好用的转变为好用的功能。

还能模拟登陆,那么灌水机等都可以做了。

php包含了curl库,而php这个弱语言写起来十分轻松,写意

阅读全文 »

畅想云计算

发表于 2009-09-21 | 分类于 WEB技术

是这样的张总,你在家里的电脑上按了CTRL+C,然后在公司的电脑上再按CTRL+V是肯定不行的。即使同一篇文章也不行。不不,多贵的电脑都不行。
——题记

现在民用已经实现了:

云存储:Ubuntu one,部分网盘等

web办公:Google docs

分布式计算:多年历史了,主要是一些前沿科技大型项目,为了吸引更多用户,一般客户端都是多平台的。

想要实现在家中按CTRL+C,然后在公司的电脑上再按CTRL+V,数据存在云端,网络质量要好。这里只需要两步,执行第一个命令,执行第二个命令。只不过执行的两个命令在云计算时代会稍有不同,以前只能在一台电脑上进行的操作,在云时代则是对云端进行远程操作。那么问题迎刃而解了,只不过是两个远程客户端先后进行两步操作的难度。

注:本文不是学术性文章,只是整理思路,胡乱幻想。

阅读全文 »

清理Linux内存如此简单

发表于 2009-09-06 | 分类于 linux应用

#echo 1 > /proc/sys/vm/drop_caches

#echo 2 > /proc/sys/vm/drop_caches

看了一下,能够有效释放内存,默认是0
所以我操作完后又加了条命令
#echo 0 > /proc/sys/vm/drop_caches
是否会影响稳定性有待观察

阅读全文 »
1 … 3 4
gangmu

gangmu

曾经梦想仗剑走天涯,后来因为加班太多放弃

118 日志
16 分类
17 标签
RSS
Creative Commons
© 2018 gangmu
由 Jekyll 强力驱动
主题 - NexT.Muse