分页: 5/138 第一页 上页 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 下页 最后页 [ 显示模式: 摘要 | 列表 ]
   为什么有些人能够白手起家而最终成就亿万富翁的梦想,而有些人虽然很努力但还是无法取得什么大的成就呢?
Robert Jordan为了写成《他们是如何做到的》这本书,亲自采访了45位企业家。这些企业家都是白手起家最后取得巨大成功的典范。这45位企业家创造的财富总额高达410亿美元。究竟是什么让这些企业家取得了常人难以企及的成就呢?Jordan在他的这本书中给出了他的答案。阅读全文
一:
MySQL 发布了 5.5.17 GA 版本,下载地址:
http://dev.mysql.com/downloads/mysql/5.5.html
该版本主要还是 bug 修复,详情请看 Change History,
下载地址:http://gd.tuwien.ac.at/db/mysql/Downloads/MySQL-5.5/mysql-5.5.17.tar.gz

二:
Firebug 1.9a4 发布:
Url 实用的Resend命令很不错,tooltip调试加强,AddWatch功能,还改进了 Firebug 的自动完成,修复了很多调试器上步进的bug等。
下载页面:http://getfirebug.com/downloads
下载地址:http://getfirebug.com/releases/firebug/1.9/
三:
Zend Studio 9 Beta发布,主要包含一下更新:
•Git和Github支持
•云开发部署
•深度Zend Framework和Zend Server集成
•更快、更精简的IDE
更多详细更新查看:
http://static.zend.com/topics/Zend-Studio-9-0-0-Beta-Release-Notes.txt
licence key注册码目前还没有找到。
备注:
DiffMerge,用来比较文件,merge svn文件用的,轻巧,下载地址:
http://download-us.sourcegear.com/DiffMerge/3.3.1/Windows/DiffMerge_3.3.1.1118_x86.msi

zend studio 9.0无限期试用的方法:
http://www.zendstudio.net/archives/zend-studio-9-0-unlimited-trials/

Zend Studio 9.0注册码与使用感受():
http://www.geekso.com/ZendStudio9/

licence key注册码找到一个,这是在官网论坛上找到的(亮点11月22号到期),如下:
34E606CF10C3E4CF202ABCEAA9B0B7A64DD2C5862A514B944AAAB38E3EB8A5F2CD735A2AB4CF9B952590EFA62BA0AB2B3E5D99C33C55309EE143165AC7F1817D626574615F3B32312F31312F323031313B392E303B3030313B313B3330
原注册码发布地址:http://forums.zend.com/viewtopic.php?f=108&t=27608&sid=529a1335307b71357867f75ce1a6d58e

Zend Studio 9.0.0 Final 发布:
Zend Studio 9.0 的最终正式版发布了,该版本主要改进包括:

支持 Git 版本控制系统和 Github
云开发部署
深度的 Zend Framework 和 Zend Server 集成
更快、更精简的IDE

好消息:zend studio 9.0注册破解版已完成,在测试中,如没有问题这几天发布。

破解发布:
写在前头
以下方法仅供技术交流学习,请勿非法使用,如长期使用请支持购买正版。
正版购买地址:http://shop.zend.com/en/zend-studio-for-eclipse.html
注册破解步骤
第一步:如果已经安装过Zend Studio 9.0的,请打开Zend Studio 9.0,在菜单中“help>Unregister”,如果显示是灰的跳过此步退出Zend Studio。如果显示可以点击的请点击,这时Zend Studio会重启,重启到要求你填注册码时点“QUIT”按钮

第二步:下载com.zend.php.core_9.0.0.201111081531.jar文件,下载成功后复制到你安装Zend Studio 9.0的plugins目录下,覆盖同名文件。

第三步:启动Zend Studio 9.0,输入如下注册码License key:
写在前头
以下方法仅供技术交流学习,请勿非法使用,如长期使用请支持购买正版。
正版购买地址:http://shop.zend.com/en/zend-studio-for-eclipse.html
注册破解步骤
第一步:如果已经安装过Zend Studio 9.0的,请打开Zend Studio 9.0,在菜单中“help>Unregister”,如果显示是灰的跳过此步退出Zend Studio。如果显示可以点击的请点击,这时Zend Studio会重启,重启到要求你填注册码时点“QUIT”按钮

第二步:下载com.zend.php.core_9.0.0.201111081531.jar文件,下载成功后复制到你安装Zend Studio 9.0的plugins目录下,覆盖同名文件。[DownLoad:]

第三步:启动Zend Studio 9.0,输入如下注册码License key:

34E606CF10C3E4CF202ABCEAA9B0B7A64DD2C5862A514B944AAAB38E3EB8A5F2CD735A2AB4CF9B952590EFA62BA0AB2B3E5D99C33C55309EE143165AC7F1817D626574615F3B32312F31312F323031313B392E303B3030313B313B3330
第四步:查看是否注册成功,在菜单中“help>About Zend Studio ”, 显示如下图。
过期时间9999年12月31日说明注册破解成功完成。

今天是延期的最后一天,我也亲自实践了一把,是可以的,破解来源:http://www.geekso.com/ZendStudio9-key/

发现:Zend Studio 9.0.1 的破解方法一样也成啊。
给jar文件换个名,同样地方替换即可:
com.zend.php.core_9.0.1.201112141951.jar  <-com.zend.php.core_9.0.0.201111081531.jar

也有破解文件提供:


主要是来自:http://www.geekso.com/ZendStudio9-key/1/1/
1.PHP实现,Json.php:


php json.php

Js实现json.html:
para:

2.Json,html代码如下:


这个Typeof很有作用,如下:
“Debug模式给MySQL带来的性能损失是比较大的。”
“保持Key_reads/Key_read_requests至少1/100以上,越小越好。”
“大的文件提供更高的性能,但数据库恢复时会用更多的时间。”

没做单独测试,, 不过用where id>100000 limit 10 的速度是0.0007秒 直接用 order by id desc limit 100000,10 的速度是162秒
用select id,v_1,v_2 from max_num where id>(select `id` order by desc limit ($page-1)*$pagesize,1) limit 10;的速度 是5-8秒之间
ORDER BY ID(主键)
select id(主键递增),title from table where id in(select id from table order by id desc limit ($page-1)*$pagesize,$pagesize)这个 方法的速度 和WHERE id>(select `id` order by desc limit ($page-1)*$pagesize,1)的速度相 接近 ,,不过 也还是很不乐观

===阅读全文
Linux下运行一个PHP程序去执行一项艰巨的串口查询任务,读出串口值,但从来不推出,Ps进程时,发现进程出现两个状态,如下:

上面两行,出现了D,和S的进程状态,于是查询网络上的解释如下:
D Uninterruptible sleep (usually IO)
不可中断的深度睡眠,一般由IO引起,同步IO在做读或写操作时,此进程不能做其它事情,只能等待,这时进程处于这种状态,如果程序采用异步IO,这种状态应该就很少见到了

S Interruptible sleep (waiting for an event to complete)
可接收信号的睡眠状态,sleep函数可演示这种状态

主要是想对D进程做下研究,如下:
  S其实很正常,但是那个D,有一类垃圾却并非这么容易打扫,那就是我们常见的状态为 D (Uninterruptible sleep) ,这些垃圾进程要么是求而不得,像怨妇一般等待资源(D),这种垃圾进程偏偏是刀枪不入的,不管换哪种枪法都杀不掉它们。无奈,只好reboot,像剿灭禽流感那样不分青红皂白地一律扑杀!
怨妇 D,往往是由于 I/O 资源得不到满足,而引发等待,在内核源码 fs/proc/array.c 里,其文字定义为“ "D (disk sleep)", /* 2 */ ”(由此可知 D 原是Disk的打头字母),对应着 include/linux/sched.h 里的“ #define TASK_UNINTERRUPTIBLE 2 ”。举个例子,当 NFS 服务端关闭之时,若未事先 umount 相关目录,在 NFS 客户端执行 df 就会挂住整个登录会话,按 Ctrl+C 、Ctrl+Z 都无济于事。断开连接再登录,执行 ps axf 则看到刚才的 df 进程状态位已变成了 D ,kill -9 无法杀灭。正确的处理方式,是马上恢复 NFS 服务端,再度提供服务,刚才挂起的 df 进程发现了其苦苦等待的资源,便完成任务,自动消亡。若 NFS 服务端无法恢复服务,在 reboot 之前也应将 /etc/mtab 里的相关 NFS mount 项删除,以免 reboot 过程例行调用 netfs stop 时再次发生等待资源,导致系统重启过程挂起。

  ps 的手册里说D状态是uninterruptible sleep,Linux进程有两种睡眠状态,一种interruptible sleep,处在这种睡眠状态的进程是可以通过给它发信号来唤醒的,比如发HUP信号给nginx的master进程可以让nginx重新加载配置文件而 不需要重新启动nginx进程;另外一种睡眠状态是uninterruptible sleep,处在这种状态的进程不接受外来的任何信号,这也是为什么之前我无法用kill杀掉这些处于D状态的进程,无论是”kill”, “kill -9″还是”kill -15″,因为它们压根儿就不受这些信号的支配。

  进程为什么会被置于uninterruptible sleep状态呢?处于uninterruptible sleep状态的进程通常是在等待IO,比如磁盘IO,网络IO,其他外设IO,如果进程正在等待的IO在较长的时间内都没有响应,那么就很会不幸地被 ps看到了,同时也就意味着很有可能有IO出了问题,可能是外设本身出了故障,也可能是比如挂载的远程文件系统已经不可访问了。

  正是因为得不到IO的相应,进程才进入了uninterruptible sleep状态,所以要想使进程从uninterruptible sleep状态恢复,就得使进程等待的IO恢复,比如如果是因为从远程挂载的NFS卷不可访问导致进程进入uninterruptible sleep状态的,那么可以通过恢复该NFS卷的连接来使进程的IO请求得到满足,除此之外,要想干掉处在D状态进程就只能重启整个Linux系统了。

  看到有人说如果要想杀掉D状态的进程,通常可以去杀掉它的父进程(通常是shell,我理解的这种情况是在shell下直接运行的该进程,之后该进 程转入了D状态),于是我就照做了,之后就出现了上面的状态:他们的父进程被杀掉了,但是他们的父进程PID都变成了1,也就是init进程,这下可如何 是好?此时我这些D状态的进程已经影响到其他一些进程的运行,而已经无法访问的NFS卷又在段时间内无法恢复,那么,只好重新启动了,root不是玉皇大 帝,也有无奈的时候。

  跟czhang说起这个事,觉得Linux如果有这么一个专用的垃圾回收进程就好了:系统自动或者用户手动把僵尸进程,和比如之前我遇到的D状态进程的PPID设为这个垃圾回收进程,那么通过干掉这个垃圾回收进程来清理这些僵尸们,这样该有多美好…
总结:我估计是我的PHP代码正在等待串口的温度数据返回罢,一直没有等着吧,就等呀等,其实是那一瞬间给我用Ps命令监控到了,呵呵。EOF
来源:
http://www.blogjava.net/fhtdy2004/archive/2009/07/05/285515.html
http://hi.baidu.com/xuwanbest/blog/item/45f18f3dbce0aece9e3d6255.html
点评:
Limit 1,111 数据大了确实有些性能上的问题,而通过各种方法给用上where id >= XX,这样用上索引的id号可能速度上快点儿。By:jack
阅读全文
加密日志
这篇日志被加密了。请输入密码后查看。
密码
mysql中insert into和replace into以及insert ignore用法区别:
mysql中常用的三种插入数据的语句:
insert into表示插入数据,数据库会检查主键,如果出现重复会报错;
replace into表示插入替换数据,需求表中有PrimaryKey,或者unique索引,如果数据库已经存在数据,则用新数据替换,如果没有数据效果则和insert into一样;
insert ignore表示,如果中已经存在相同的记录,则忽略当前新数据;
下面通过代码说明之间的区别,如下:
create table testtb(
id int not null primary key,
name varchar(50),
age int
);
insert into testtb(id,name,age)values(1,"bb",13);
select * from testtb;
insert ignore into testtb(id,name,age)values(1,"aa",13);
select * from testtb;//仍是1,“bb”,13,因为id是主键,出现主键重复但使用了ignore则错误被忽略
replace into testtb(id,name,age)values(1,"aa",12);
select * from testtb; //数据变为1,"aa",12

来源:http://mxdxm.iteye.com/blog/1153513
乔布斯从1975年出道到今天,干了35年,但最近这三年仿佛是把35年的功力一掌击出-他用一款iPhone甩掉了诺基亚,再回过身来用iPad对微软和英特尔发起猛烈冲击,之前用iPod超越了索尼。如果孤立地看这几个产品,或许你会觉得也没什么,但乔布斯就好像真的进入了“飞花摘叶,即可伤人”的境界。现在我觉得乔布斯很伟大,跟他的这些创新相比,我们做事的格调都还不够理想。



阅读全文
经常我们在开发中需要打开并修改host文件,如何更快找到呢?
host文件的路径是:


我的快捷方法是:
第一步:先同时按下 微软图标 + r ,弹出:运行框
第二步:在框中输入: drivers  ,系统会自动打开这个目录:C:\WINDOWS\system32\drivers
第三步:自己用鼠标点里面的etc目录进去即是host文件的所在。
升级centos5.6到centos6.0亲自升级实践过的步骤:
切记升级系统前,请务必备份重要文件!

首先,清除所有软件包

yum clean all
yum list updates

升级centos
yum update
reboot

这样就升级完了,可以检查一下系统目前的版本:

lsb_release -a
不小心国内给升级成Centos5.7了,呵呵。

这样就升级完了,可以检查一下系统目前的版本:

#rpm -q centos-release


删除以前的内核步骤,如下:
在CentOS 6更新后,不可避免的会在启动选项中产生多个内核选项,一个内核文件大概占100兆左右(一般100M以下),可以使用以下命令进行删除多余的内核.

1.首先列出系统中正在使用的内核:

# uname -a

2.查询系统中全部的内核:
# rpm -qa | grep kernel

好像升级后没有变,哇哈哈,
升级为CentOs5.7后的内核情况如下:


3.将你想删除的内核删除掉:(例如,在我的系统中,我要删掉2.6.32-71.el6.i686的内核,需要把所有含有2.6.32-71.el6.i686字样的全部删掉)
#yum remove kernel-2.6.32-71.el6.i686
#yum remove kernel-devel-2.6.32-71.el6.i686
4.重启后就可以看到,内核被删掉了,同时多余的启动项也自动被删掉了,不需要自己手动修改/boot/grub/menu.lst





===============================
Centos6.1的情况备案:
centos 6.0已经正式发布了,做为一个大版本的第一个版本肯定有很多问题,RHEL 6.1早发布修补了很多问题,当然还有增强(或增加)了一些功能,所以真正重要生产服务器还是期待centos 6.1的发布,估计下个月底就会发布。
http://qaweb.dev.centos.org/qa/dashboard 预计下周会正式发布下载,且centos 5.7 发布也一样
2011-08-26
centos 5.7官方最新消息称最快7-10天内发布
centos 6.1不太顺利,估计要比5.7晚点
2011-09-01
centos 5.7已经发布了,开始同步外部镜像,估计这两天就可以下载
现在已经有部份镜像点有下载了:
http://ftp.twaren.net/Linux/CentOS/5.7/isos
http://centos.mirror.nexicom.net/5.7/isos/
更多的见:http://www.centos.org/modules/tinycontent/index.php?id=30
按照计划先推出CentOS 6,然后再进行CentOS 6.1的工作。centos。Karanbir表示CentOS 6将在未来的数个星期内发布,而之后的CentOS 6.1只需要几个星期的时间,centos ftp,因为目前CentOS 6的开发branch的自动化和测试流程已经基本完善。centos和rhel。
centos 6.1预15天左右可供下载,可能还得等,官方更新build包日志:http://qaweb.dev.centos.org/qa/blog ,感谢CentOS团队无私的奉献。
在centos 6.1发布之前,centos临时发布了CentOS 6.0 CR Repo,有需要的可以下载用于CENTOS 6.0,同时也说明centos 6.1可能会再次跳票(大家都习惯了吧!)

YUM升级:
# yum install centos-release-cr
# yum update
RPM升级:
i386:
http://mirror.centos.org/centos/6/extras/i386/RPMS/centos-release-cr-6-0.el6.centos.i686.rpm
( sha256: 9fc78d2d79abeb1513f0851d075a2860f5039fc8db3fb0db4c660252fffda894 )

x86_64:
http://mirror.centos.org/centos/6/extras/x86_64/RPMS/centos-release-cr-6-0.el6.centos.x86_64.rpm
( sha256: bd55e1505caae2f78c306290d235b7f54833fcad5a9f1942b3cb54e28f7bfe73 )

详见:
https://www.centos.org/modules/newbb/viewtopic.php?topic_id=33458&forum=53
http://www.h-online.com/open/news/item/Advance-updates-for-CentOS-6-1-1350302.html



CentOS 6.1 正式版发布了,这是真的。CentOS 6.1 基于红帽企业Linux 6.1,强烈建议升级。

下载地址:

CentOS-6.1-i386-bin-DVD1.iso (3,645MB, SHA256, torrent)
http://linux.mirrors.es.net/centos/6.1/isos/i386/CentOS-6.1-i386-bin-DVD1.iso
CentOS-6.1-x86_64-bin-DVD1.iso (4,190MB, SHA256, SHA256, torrent)
http://centos.mirror.freedomvoice.com/6.1/isos/x86_64/CentOS-6.1-x86_64-bin-DVD1.iso

此次发布的CentOS 6.1基于Red Hat EL 6.1,包含了一些重要改进及大量错误修正,比如yum包管理器加入了某些改动及新功能。需要注意的是,与GUI安装方式相比,文本安装功能受到限制,不支持设置分区布局(Partition Layout)、存储方式及选择包组。更多详细信息请查看官方的发行注记。http://wiki.centos.org/Manuals/ReleaseNotes/CentOS6.1

6.1 发布仅一个多星期,6.2就发布了。现在大多数网站已有6.2的目录,但还未同步完成。

心急的可以开始下载了。
http://mirrors.ustc.edu.cn/centos/6.2/isos/i386/
http://mirrors.ustc.edu.cn/centos/6.2/isos/x86_64/
CentOs6.2官方下载地址:
http://isoredirect.centos.org/centos/6/isos/
其中有一个163的Url:http://mirrors.163.com/centos/6.2/isos/x86_64/
DVD1:
http://mirrors.163.com/centos/6.2/isos/x86_64/CentOS-6.2-x86_64-bin-DVD1.iso
DVD2:
http://mirrors.163.com/centos/6.2/isos/x86_64/CentOS-6.2-x86_64-bin-DVD2.iso
CentOS-6.2-x86_64-minimal.iso  最小化安装:
http://mirrors.163.com/centos/6.2/isos/x86_64/CentOS-6.2-x86_64-minimal.iso
提问:怎么消除打开网页时的声音?

    回答:

    一,如果是打开IE浏览器,系统响应的声音,则按下面的步骤取消:

    点击开始菜单,设置,进入控制面板,

    点击声音和多媒体,进入声音设置,在方案内选择“无声”方案,即可取消打开网页时系统发出的声音。

我实际使用情况:声音和音频设备--》声音-》 声音方案-》无声
EOF

    二,如果是网页本声内容发出的声音,则按下面的步骤取消

    点击IE浏览器右键,或打开IE浏览器,点击工具菜单,

    进入INTERNET选项:

    选择“高级”选项卡,

    下拉滚动条,在多媒体选项里,把一些网页声音,之类的东西取消勾选,确定,就OK啦!
  
要实现随开启自动启动mysqld,我们需要搞定如下几个问题:

  1. Linux开机自动启动脚本放在哪儿?

  一般的,作为服务器使用的Linux一般会以“完全多用户模式(Multi-User Mode with Networking)”级别来启动,这种情况下Linux在启动时会运行/etc/rc.d/rc3.d/下的全部脚本。例如我们在这个目录下会看到脚本”/etc/rc.d/rc3.d/S90crond”,意味着开机启动时会运行S90crond脚本。

  2. Linux如何运行这些脚本?

  既然已经知道自动启动脚本该放在哪儿了,一切就好办。我们只需要将一个启动MySQL的脚本放过去就好了。下面是我们的一个简单的启动脚本v0.1 mysqldauto



Code highlighting produced by Actipro CodeHighlighter (freeware)
http://www.CodeHighlighter.com/

  $vi mysqldauto



把它放到:/etc/rc.d/rc3.d,加上执行权限。
按编者的思想移动到对应的位置:

  #!/bin/sh

  # Version: 0.1 by orczhou@gmail.com

  /opt/mysql/bin/mysqld_safe --user=mysql & #这里需要修改为你的mysqld_safe目录

  $chmod +x mysqldauto

  $mv mysqldauto /etc/rc.d/init.d/

  $ln -s /etc/rc.d/init.d/mysqldauto /etc/rc.d/rc3.d/S99mysqld
  这样我们就把创建的mysqldauto脚本放到了/etc/rc.d/rc3.d/下面(注意这里使用了link的方式),mysqld可以自动启动了。


来自:http://tech.sina.com.cn/s/2009-12-04/00471159939.shtml 修改By:jack
这样:

如下:


利用Ls查出来后再接上路径的方法:
WEB_39_74_sles10sp1:/home/jackxiang/public_html/adc_branches/tst # ls -lart  $PWD/order*.html
Nov 22 16:36 /home/jackxiang/public_html/adc_branches2/tst/order_detail.html
Nov 22 16:36 /home/jackxiang/public_html/adc_branches2/tst/order_result.html
Nov 23 09:19 /home/jackxiang/public_html/adc_branches2/tst/order_report.html

ls -lart ~+/order*.html 也行。

注:
~+和$PWD一样的功能,就是一样的不同表示罢了。
SSH的登录次数查看:


指定尝试密码次数:
vi /etc/ssh/sshd_config

将默认的值改掉即可CentOS6 默认可以允许做3次尝试重启SSH。
MaxAuthTries 1
这里表示只允许输错一回密码.
我们要注意的是除了SSH自身的选项控制认证次数外,它还通过pam进行验证,所以如果我们设置MaxAuthTries 10,则允许输错密码的次数可能还是3,如果MaxAuthTries 2,则以MaxAuthTries为准.
如果是MaxAuthTries 2,我们输错密码的提示如下:
ssh  root@192.168.27.142
root@192.168.27.142's password:
Permission denied, please try again.
root@192.168.27.142's password:
Received disconnect from 192.168.27.142: 2: Too many authentication failures for root
修改默认登录时间
当你连接到 SSH 后,默认是提供 2 分钟的时间让你输入帐户和密码来进行登录,你可以修改这个时间为 1 分钟或 30 秒。

LoginGraceTime 1m
参考:http://wowubuntu.com/ssh-security.html
http://kyle.itpub.net/post/1626/491466

suse下可以这样:less /var/log/faillog
more /var/log/secure
who /var/log/wtmp

干了些什么?
root账户下输入su - username
切换到username下输入
history
能看到这个用户历史命令,默认最近的1000条..

cat /var/log/secure 这个 日志记录 是记录了 所有 用户登陆信息
干了什么 可以看每一个用户的 history ...
tail -f  /(日志文件目录)   查看日志命令

ctrl+c停止打印

ls  -al  查看文件的详细信息路径等

vi  /(日志文件目录)  打开日志

/搜索字符

退出:按ESC后,按“:”,输入q,敲回车




近日,各大网站密码暴露,得修改下密码:
以root身份登陆,执行:passwd修改密码。useradd   用户名,添加用户。
具体的如下:
#passwd   root
输入root密码,输入两便。
#useradd   用户名
#passwd   用户名
密码,输入两便
web版firebug,适用于所有浏览器 :

主要就是针对IE 浏览器。IE8自带的不怎么好用。IE6 7的那个第三方插件更别提了。。有了这个,我们在做测试的只要加上一行代码 即可 使用 “firebug”测试。测试后 可以去掉。

总体来说:这个没有Firefox上强大,我试了下,只能看基本的CSS,Html和Js,等。
官方给的 兼容浏览器:E6+, Firefox, Opera, Safari and Chrome
官网:http://www.getfirebug.com/firebuglite
要求:当点击+按钮时,添加一个File位置,上传控件,当想删除这个上传文件控件时,点-取消。
问题:原有DOM上的三个上传文件框可以绑定上删除一个的事件,但是,通过AddInput.click生成的就没有。
如下:


解决:使用Jquery的Live Query插件,删除新加的文件控件的JS代码改为,livequery这个加上:
<script type="text/javascript" src="/js/jquery/jquery.livequery.js"></script>

参考来源:
使用Jquery的鲜活绑定(lively-ness),解决“新添加的元素,事件不可用”的问题:
http://www.cnblogs.com/yongzhi/archive/2008/11/27/1342096.html


附录如下:
添加新上传文件Js事件:


一个多月前,Kernel.org公布了自己遭受的安全攻击,并将网站下线。现在,Kernel.org网站重新上线。

在8月份,Kernel.org声明自己的服务器被恶意网站攻破,这引发了Linux社区的剧烈反应。Kernel.org是Linux源代码的发布点,同时托管其他项目,包括Git。当时,主服务器“hera”被攻破,可能是通过另一台被攻破的Linux服务器完成。

Kernel的邮件列表和主页的链接中建议,开发人员要考虑自己的服务器有被潜在感染的可能,并且推荐他们重新生成自己所有的GnuPG密钥。由于GnuPG一来开发人员之间的web-of-trust工具(而不是根证书的已知列表,该列表被发现存在问题,比如导致Diginotar最近的崩溃),这需要Kernel开发人员在现实世界中碰面,以互相签名他们的新密钥。其他建议推荐使用root检测器(包括Chrootkit、ossec-rootcheck和rkhunter)。如果还有问题,一次干净的重新安装系统将会验证任何流氓系统,还会从LiveCD启动,并执行包扫描,比如rpm –verify all操作。

幸运的是,Kernel的源代码并没有被攻破,这些代码保存在Git库中。由于Git存储的内容由其SHA-1哈希识别,任何文件发生改变,这将会马上展现出文件的不同版本。不管是推送还是拉动等变更,都可以检测到这些不一致,并容易发出通知。此外,Git库的复制方式,意味着互联网上有多份拷贝,每一份都有同样的哈希,因此,任何开发人员如果想计算最近签出的库的正确性,去验证已知的正确值都是可能的。

预计不久就会有对本次安全漏洞的全面阐述。

查看英文原文:InfoQ: Kernel.org Back After Security Breach
   在CentOS下配置lnmp组合基本上用的都是同样的配置文件,一直都没出现过问题,可最近在一个vps上安装同样的环境之后,网站在线10多人就出 现了打开速度非常缓慢的情况,有好几次都是直接达到了nginx中设置的脚本最大超时时间300秒,结果导致nginx往客户端浏览器发送了一个504 Gateway Time-out的错误代码,分析了之后改动了几处配置文件,终于避免了该情况的出现。


  从错误代码基本可以确定跟nginx本身无关,主要是提交给php-fpm的请求未能正确反馈而导致,一般情况下,提交动态请求的时候,nginx会直接把 请求转交给php-fpm,而php-fpm再分配php-cgi进程来处理相关的请求,之后再依次返回,最后由nginx把结果反馈给客户端浏览器,但 我这个vps目前跑的是个纯php应用内容,实际上用户所有的请求都是php请求,有的耗费时间比较久,php-cgi进程就一直都被用满,而php- fpm本身的配置文件只打开了10组php-cgi进程,这样的话在线用户稍微多的话就会导致请求无法被正常处理而出错。

  大概分析出了原 因,下面做就比较容易了,首先是更改php-fpm的几处配置:阅读全文
【为了您的视力请对电脑设置】桌面->右键->属性->外观->高级->项目选择(窗口)、颜色1(L)选择(其它)将色调改为85,饱和度123,亮度205->添加到自定义颜色->在自定义颜色选定点确定->确定。以上为眼科专家配置,长时间使用能有效保护视力。
常用ps命令参数:最常用的三个参数是u、a、x,下面将通过例子来说明其具体用法。
p
pid
进程ID
u
user
用户名
x 显示没有控制终端的进程。

可以使用u选项来查看进程所有者及其他一些详细信息,如下所示:
ps aux|grep dio_open_usb2|grep -v grep
root     10952  0.0  0.2  37436  8848 pts/0    S+   14:50   0:00 php dio_open_usb2.php
从上面可以得到信息如下:
还可以看到%CPU、%MEM两个选项,前者指该进程占用的CPU时间和总时间的百分比;后者指该进程占用的内存和总内存的百分比。
即:该程序占用内存8848,我们只看内存,也也以这样看内存,10952是它的PID号,则这样看:
cd /proc/10952
Name:   php
State:  S (sleeping)
Tgid:   10952
Pid:    10952
......
VmSize:    37436 kB
VmRSS:      8848 kB
......
解释:
VmSize(KB) 任务虚拟地址空间的大小
VmRSS(KB) 应用程序正在使用的物理内存的大小,就是用ps命令的参数rss的值 (rss)






参考来源:
http://apps.hi.baidu.com/share/detail/17897258
http://enterparse.blog.163.com/blog/static/11713797420096921232931/
steven jobs总算是走了,但蛮怀恋他老人家啊,尽管到目前我也买不起个苹果的本本上网什么的,但最近在同事的aire机上提前体验了下苹果的笔记本本,体验上创意上确实不错,于是也就立即逛逛他的苹果网站,发现也是用PHP+APache+Oracle做的,激发了我的兴趣,发现是用PHP连接Oracle的Apache架构实现,抓包发现服务器确实是:Apache/2.2.3 (Oracle),我不太明白ORacle这块,但同时看网上有这样的问题的提出,老大们,你们的php连oracle难道没有连接池问题吗?稍多几个人访问web那oracle可怜的百十个连接就用完了,你们是怎么解决的?沿着这个问题做了下简单的分析和查找资料,也就是如何解决这个贴纸儿的问题:http://blog.fabrichina.net/archives/250,

抓包看看再说,URL:
http://www.apple.com/global/nav/scripts/shortcuts.php?q=ja&section=global&geo=us&transport=js


于是找了网站上的两篇文章,说明为什么能用PHP连接Oracle并不用在乎它的连接数,Oracle自己采用了连接池的中间件技术:
http://martincarstenbach.wordpress.com/2010/05/11/compiling-php-5-3-2-for-oracle-11-2-and-apache-2-2-3/
http://archimedes.bitfine.com/dms/building-php-for-oracle.html

同时还发现有其它这样的server在苹果网站上得到初步证实:
获得的包返回情况如下,这个Server :Omniture DC/2.0.0,估计是:数据库驻留连接池 (DRCP) 的缩写。
标识补充:Oracle 数据库 11g 包含一个专门针对需要高可扩展性的应用程序的新特性:数据库驻留连接池 (DRCP)。通过 DRCP,我们可以在不同应用程序进程间共享数据库连接,从而更高效地使用服务器资源并全面提升吞吐量。Zend Server 随附的 PHP OCI8 扩展(目前为 V1.3.5)包含对 DRCP 的即用支持,使开发人员可以立即在其 PHP 应用程序中使用该特性。来源:http://blog.fabrichina.net/archives/250,再次查了下这方面网上关于ZendServe支持Oracle和Apache架构方面的r相关的文章,URL摘录如下:
(1)使用Zend Server 和Oracle 构建企业级PHP 应用:
http://www.zendchina.net/?action-viewnews-itemid-621
(2)11g新特性:常驻连接池DRCP(转):
http://space.itpub.net/23754390/viewspace-687268
(3)Oracle DRCP与PHP实际应用的区别:
http://database.51cto.com/art/201004/196170.htm

尝试访问苹果的URL如下,主要是证明这个Omniture Dc/2.0.0服务器的存在:
http://metrics.apple.com/b/ss/appleglobal,applestoreww,applestoreus,applestoreusconsum,applestoreamr,applestoreamrconsum/1/H.20.3/s9545065233069?AQB=1&ndh=1&t=6/9/2011%2023%3A28%3A57%204%20-480&ce=UTF-8&pageName=AOS%3A%20home%20-%20Return&g=http%3A//store.apple.com/us%3Fmco%3DNzc1MjMwNA&r=http%3A//store.apple.com/us&cc=USD&ch=AOS%3A%20home&server=a50028560&v1=AOS%3A%20TopNavigation%20%7C%20Store&h1=home&c2=AOS%3A%20US%20Consumer&v3=AOS%3A%20US%20Consumer&v4=AOS%3A%20home&c6=%3A%20AOS%3A%20home%20-%20Return&c8=AOS%3A%20home&c19=AOS%3A%20US%20Consumer%3A%20home&v19=AOS%3A%20US%20Consumer%3A%20home&c20=AOS%3A%20US%20Consumer&s=1400x1050&c=24&j=1.7&v=N&k=Y&bw=1400&bh=409&p=IE%20Tab%20Plug-in%3BAlipay%20security%20control%3BJava%20Deployment%20Toolkit%206.0.260.3%3BAliWangWang%20Plug-In%20For%20Firefox%20and%20Netscape%3BShockwave%20Flash%3BThunder%20DapCtrl%20NPAPI%20Plugin%3B&pid=AOS%3A%20home%20-%20First&pidt=1&oid=Nzc1MjMwNA&oidt=1&ot=A&oi=1&AQE=1

对该URL抓包返回头如下:


最后,只能模糊判断苹果网站的架构是基于这篇PPT来实现PHP和Oracle进行通信的,这个过程得到了学习,苹果在自己网站上采用的技术也很独特,佩服佩服啊:
  我似乎不应该向出租车司机提起腾讯。车窗外,一幢幢高楼沿着深南大道逐个晃过去。出租车司机因为那幢“马化腾的大楼”触发了谈兴。他一边有腔有调地讲述深圳人眼中的马化腾,一边顺道得瑟起他的QQ泡妞故事。

转载请注意来自http://www.chaoren.com
阅读全文
一直很困惑,技术人员拥有技术,但创业成功者寥寥无几。上周拜访客户,接触了几家公司后,才真正明白为什么技术人员当不好老板的原因。

有些人认为技术人员当不好老板,往往是技术人员性格比较怪,比较孤僻,不爱结交,只喜欢摆弄自己的技术,这些固然是有一些原因,但不是深层次原因,毕竟还是有很多技术人员的性格是很好的。

当然,我这儿说的技术人员,指在自己的领域能够深入,有自己独到的见解的那种,而不是那些搞了几年,还只是三脚猫功夫的,这类本质上谈不行是技术人员,只能讲是技术工人。

技术人员的工作:阅读全文
方法1:
在传入system()的参数字符串结尾加'&'字符,要求在后台运行

方法2:
先fork()出子进程,然后在子进程中调用system()函数

http://zhidao.baidu.com/question/43141259.html
curl c/c++ api接口使用例程

来源:http://bbs.chinaunix.net/viewthread.php?tid=586014
前两天看到有人求客户端socket 发HTTP包的代码,受flw版主启发找了一些perl的资料,不过对perl 还是不太熟悉。也没有深入的 研究。无意中发现了libcurl.so 这个库。去google上搜索发现它是处理客户端发送HTTP请求的库 以及可以处理web服务器回送回来的 包。研究了两天将研究的成果,共享出来给大家一起研究。
参考:http://curl.haxx.se/  这是curl开发者的首页。
利用libcurl.so库 我们能轻松的连接某个web站点。获得某个首页的html代码 或者是http 请求的头部。 还可以提交表单,
此外它还支持ftp,https,
/usr/include/curl/curl.h 中。
1 CURLcode curl_global_init(long flags);
描述:
这个函数只能用一次。(其实在调用curl_global_cleanup 函数后仍然可再用)
如果这个函数在curl_easy_init函数调用时还没调用,它讲由libcurl库自动完成。
参数:flags
CURL_GLOBAL_ALL    //初始化所有的可能的调用。
CURL_GLOBAL_SSL    //初始化支持 安全套接字层。
CURL_GLOBAL_WIN32  //初始化win32套接字库。
CURL_GLOBAL_NOTHING     //没有额外的初始化。
2 void curl_global_cleanup(void);
描述:在结束libcurl使用的时候,用来对curl_global_init做的工作清理。类似于close的函数。
3 char *curl_version( );
描述: 打印当前libcurl库的版本。
4 CURL *curl_easy_init( );
描述:
curl_easy_init用来初始化一个CURL的指针(有些像返回FILE类型的指针一样). 相应的在调用结束时要用curl_easy_cleanup函数清理.
一般curl_easy_init意味着一个会话的开始. 它的返回值一般都用在easy系列的函数中.
5  void curl_easy_cleanup(CURL *handle);
描述:
这个调用用来结束一个会话.与curl_easy_init配合着用.  
参数:
CURL类型的指针.
6  CURLcode curl_easy_setopt(CURL *handle, CURLoption option, parameter);
描述: 这个函数最重要了.几乎所有的curl 程序都要频繁的使用它.
它告诉curl库.程序将有如何的行为. 比如要查看一个网页的html代码等.
(这个函数有些像ioctl函数)
参数:
1 CURL类型的指针
2 各种CURLoption类型的选项.(都在curl.h库里有定义,man 也可以查看到)
3 parameter 这个参数 既可以是个函数的指针,也可以是某个对象的指针,也可以是个long型的变量.它用什么这取决于第二个参数.
CURLoption 这个参数的取值很多.具体的可以查看man手册.
7 CURLcode curl_easy_perform(CURL *handle);
描述:这个函数在初始化CURL类型的指针 以及curl_easy_setopt完成后调用. 就像字面的意思所说perform就像是个舞台.让我们设置的
option 运作起来.
参数:
CURL类型的指针.
下面来看一个简单的例子:
用来获得某个主页的html代码
#include <stdio.h>;
#include <curl/curl.h>;
#include <stdlib.h>;
int main(int argc, char *argv[])
{
    CURL *curl;   //定义CURL类型的指针
    CURLcode res;  //定义CURLcode类型的变量
    if(argc!=2)
    {
        printf("Usage : file <url>;\n");
        exit(1);
    }
    curl = curl_easy_init(); //初始化一个CURL类型的指针
    if(curl!=NULL)
    {
//设置curl选项. 其中CURLOPT_URL是让用户指定url. argv[1]中存放的命令行传进来的网址
        curl_easy_setopt(curl, CURLOPT_URL, argv[1]);
//调用curl_easy_perform 执行我们的设置.并进行相关的操作. 在这里只在屏幕上显示出来.
        res = curl_easy_perform(curl);
//清除curl操作.
        curl_easy_cleanup(curl);
    }
    return 0;
}
编译: gcc -o 001 -Wall 001.c -lcurl
我们来获得www.chinaunix.net 主页的html代码
./001 www.chinaunix.net阅读全文
find命令:

查找当前目录下递归所有的文件夹,而:

就是列出当前所有的文件夹,这样可以对一个满是Linux安装文件包并解压后的包含:tar.gz 目录等,做统计和删除,很有用。
注意:
-maxdepth   1       (其中‘1’为你本层目录里面查找,要是为‘2’的话就是两层目录下面的文件查找)

其实我是想删除这个目录下所有给解压的目录,只留下安装包,命令如下: