一、linux svn co到指定目录不带svn链接的Url后缀方法:
下面这样避免把codes也检出到目录中:

而直接这样会有codes目录在本地的:


二、删除所有.svn目录:
当使用了svn版本控制系统后每个目录下都会有一个.svn目录存在,开发完当交付产品或者上传到服务器时一般要把这些目录删除,这里总结了一下在linux和win下的办法。

一、在linux下

删除这些目录是很简单的,命令如下

find . -type d -name ".svn"|xargs rm -rf

或者

find . -type d -iname ".svn" -exec rm -rf {} \;  

全部搞定。(http://tech.techweb.com.cn/redirect.php?fid=26&tid=205673&goto=nextnewset)



二、在windows下用以下法子:
1、在项目平级的目录,执行dos命令:
xcopy project_dir project_dir_1 /s /i


2、或者在项目根目录执行以下dos命令
for /r . %%a in (.) do @if exist "%%a\.svn" rd /s /q "%%a\.svn"

其实第二种方法可以用来干很多事的,比如把代码中的.svn替换为任意其他文件名并在硬盘根目录下执行,就可以从硬盘上删除所有的这个文件啦。

3、加注册表

Jon Galloway提供了一段注册表代码,可以将”Delete SVN Folders”命名增加到资源管理器的右键上,这样,鼠标点两下就能把选中目录下的所有.svn目录干掉了。Works just great!

代码为:

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Folder\shell\DeleteSVN]@=”Delete SVN Folders“

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Folder\shell\DeleteSVN\command]@=”cmd.exe /c \”TITLE Removing SVN Folders in %1 && COLOR 9A && FOR /r \”%1\” %%f IN (.svn) DO RD /s /q \”%%f\” \”“

将这段代码保存为一个.reg文件,双击确认导入注册表即可。
secureCRT的登录sudo脚本来源:
http://oracledba.spaces.live.com/blog/cns!57D0C396BA028F14!276.entry
secureCRT的登录sudo脚本
如果你和我一样每天要开很多secureCRT窗口并且需要sudo(或者其他的事情),并且sudo还设置了timeout,那么一定要阅读这篇文章

一开始没每开一个secureCRT窗口总是要重复下面的事情:
sudo su - oracle
Password:
在等待sudo su 的时候经常会timeout,后来到google,baidu上去找自动sudo 的脚本也没有找到,最后还是乖乖的翻secureCRT的help文档解决了这个问题。

在secureCRT安装目录下C:\Program Files\SecureCRT\scripts
打开example1.vbs


#$language = "VBScript"
#$interface = "1.0"

Sub main
  ' turn on synchronous mode so we don't miss any data
  crt.Screen.Synchronous = True

  ' Wait for a string that looks like "login: " or "Login: "
  crt.Screen.WaitForString "ogin: "

  ' Send your username followed by a carriage return
  crt.Screen.Send "username" & VbCr

  ' Wait for a tring that looks like "password: " or "Password: "
  crt.Screen.WaitForString "assword:"

  ' Send your password followed by a carriage return
  crt.Screen.Send "password" & VbCr

  ' turn off synchronous mode to restore normal input processing
  crt.Screen.Synchronous = False
End Sub


修改username 为sudo su - oracle
修改password 为你自己的password
然后在session options里面设置logon script为该文件

最后记得把windows里面的权限设定为尽量小阅读全文
平时多人调试程序的时候,特别是页面级别和接口调用级别的,往往不希望有一些输出,但是这个时候出现一个bug或者要调试一下返回值或者它有可能是一个数组,这个时候下面这个函数就可以派上用场了,呵呵:
<?php
/**
* 把数组和字符串写入文件函数
*
* @param array or int string  $everything
* @param string $path
*/
function array2log($everything,$path = "/tmp/array2log.txt")
{
  if(is_array($everything))
  {
    $everything = var_export ( $everything,True);      
  }
  $return = file_put_contents($path,$everything,FILE_APPEND);  
}
$array = array("dfdfdf","dfdfdfdf","dfdf");
array2log($array);
?>




[root@vm0000055 ~]# tail -f /tmp/array2log.txt
array (
  0 => 'dfdfdf',
  1 => 'dfdfdfdf',
  2 => 'dfdf',
)




array (
  0 => 'dfdfdf',
  1 => 'dfdfdfdf',
  2 => 'dfdf',
)



版权所有,请勿转载,要转载请注明出处,呵呵!
  `source` char(255) NOT NULL,
  `score` int(11) NOT NULL,
        

Mysql设置NOT NULL 在pdo插入该字段source为空时候返回false,初看你就奇怪了,为何设置的时候为not null,但是在插入的时候会为null呢?
     是这样的,当时开发时候的需求不很明显,但是最后在开发收尾的时候发现这个字段可有可无,而且我们提供的是接口调用,人家就会问了,你这个参数填写什么,而很有可能就说那个参数啊,可以为空啊,呵呵,这下好了,那个字段刚好可能会出现NULL,和NOT NULL冲突,于是插入数据库出现返回false,而我们又是接口调用,尽量做到给用户返回成功的代码,于是这个插入数据库错误的问题可能会隐藏,最后解决办法是将数据库source字段改为可以为null!



ALTER TABLE `a` CHANGE `a` `a` INT( 11 ) NOT NULL DEFAULT NULL
ALTER TABLE `a` CHANGE `a` `a` INT( 11 ) NULL DEFAULT NULL
阅读全文
原来以为global和$GLOBALS除了写法不一样以为,其他都一样,可是在实际应用中发现,2者的区别还是很大的!
先看下面的例子:
<?php
// 例子1
function test_global() {
  global $var1, $var2;
  $var2 =& $var1;
}
function test_globals() {
  $GLOBALS['var3'] =& $GLOBALS['var1'];
}
$var1 = 5;
$var2 = $var3 = 0;
test_global();
print $var2 ."\n";
test_globals();
print $var3 ."\n";
?>

执行结果为:


0
5

阅读全文
EditPlus5.0注册码:
Vovan
3AG46-JJ48E-CEACC-8E6EW-ECUAW
亲测5.0 build 651 64bit可用。
亲测5.1 build 1826 64bit可用。


Editplus 选中一行: ctrl+r
Editplus 复制一行: ctrl+r选择行,然后ctrl+c复制。
复制一行到下一行中:Editplus有:Ctrl+j 复制上一行的一个字符到当前行
Editplus 删除一行: Shift+Alt+Delete 直接删除当前行, 或:shift+Delete也成。
移动一行到上一行/下一行: alt+shift+向上键(向下键)
------------------------------------------------------------------------------------------------------------------------
ViewLineBreak       Alt+Shift+L       显示或隐藏换行符 
ViewLineNumber     Ctrl+Shift+L       显示或隐藏当前文档的行号 
SearchFind         Alt+F3           查找指定文本 SearchFindNext     F3             查找下一个匹配文本 
SearchFindNextWord   Ctrl+F3           向下查找当前单词或选定的文本 SearchFindPrevious   Shift+F3         查找上一个匹配的文本 
SearchFindPrevWord   Ctrl+Shift+F3       向上查找当前单词或选定的文本
SearchFind         Alt+F3           查找指定文本 SearchFindNext     F3             查找下一个匹配文本 
SearchFindNextWord   Ctrl+F3           向下查找当前单词或选定的文本 SearchFindPrevious   Shift+F3         查找上一个匹配的文本 
SearchFindPrevWord   Ctrl+Shift+F3       向上查找当前单词或选定的文本
SearchMarkerPrev     Shift+F4         转到上一个标记位置 SearchMatchBrace     Ctrl+]           搜索一对匹配的括号 
SearchSelectBrace   Ctrl+Shift+]       搜索一对匹配的括号并选择该文本 
Editplus 标签切换:不同标签之间的切换可以通过鼠标,也可以用“Ctrl+Tab”键。
------------------------------------------------------------------------------------------------------------------------
如果是选取某一部分 用shift+Pageup shift+Pagedown 选取光标前面所有 和光标后面的所有
如果是逐行+选 shift+ 上下
Editplus 合并行: Ctrl+Shift+J    

删除多或者一行:Alt+Shift+Delete  删除当前行
删除单词:Alt+Delete  删除当前单词
反转大小写:Ctrl+K  反转选定文本的大小写
选择行:Ctrl+R  选择当前行
选择单词:Ctrl+W    选择当前单词(这个两个经常用到)
小写:Ctrl+L  转换选定的文本为小写
大写:Ctrl+U  转换选定的文本为大写
----------------------------------------------------------------------
操作上对单词的操作快捷键:
移动到上一个单词 Ctrl+Left 移动到上一个单词
选区扩展到上一个单词 Ctrl+Shift+Left 将选定区域扩展到上一个单词
移动到下一个单词 Ctrl+Right 移动到下一个单词
选区扩展到下一个单词 Ctrl+Shift+Right 将选定区域扩展到下一个单词


删除到行结束 Ctrl+Shift+Delete 删除到当前行结束位置
删除到单词结束 Ctrl+Delete 删除到当前单词结束位置
删除行 Alt+Shift+Delete 删除当前行
删除单词 Alt+Delete 删除当前单词
创建字符副本 Ctrl+- 复制上一行的一个字符到当前行
创建当前行副本 Ctrl+J 创建当前行的副本
----------------------------------------------------------------------
Editplus/UltraEdit打开的文件标签间切换的键盘快捷键:
写代码时都用键盘,这是切换文件时要去用鼠标点,比较麻烦。
这个键盘快捷键网上介绍的不多哦。
Ctrl+Tab或Ctrl + F6或 Ctrl+Shift+F6

editplus编辑perl/php双击选中变量的解决办法:
http://www.jeftom.com/?p=375

阅读全文
长着金色龙鳞的龙不是会长在水池里的,一旦遇到风雨,就会一飞冲天,藐视昆仑就是形容此人非凡人!应该是“金鳞岂是池中物,一遇风云便化龙”吧!长着金色龙鳞的鱼怎么会一直呆在一个普通水池里呢,一旦有了风云,就会一飞冲天,化身为龙。是说此人非比寻常,虽然现在还和普通人没什么区别,那是因为他还没有遇到机会,一旦机会来临,他就会成为一代霸主,主宰苍生。 长着金色鳞片的水中之物,怎么可能只是一般的鱼虾而已,早迟有天会因为遇到适当的机会成为飞天巨龙。   这个话的意思其实就是:是金子迟早会发光的!金鳞是指有才能之辈,鳞鱼鳞,支水中动物,就是说,金鳞不是泛泛之辈,而第二句话就是表面意思,一遇到风云(指的是机遇)变化成龙,龙时传说中的圣兽,古往今来,都是天之骄子的代称,言下之意就是金子总会发光,怀才总会有遇,就是时机不同罢了

风云里的

第一句是说风云能帮助雄霸

第二句是说风云也能毁掉雄霸

风云 是 聂风和步惊云

金鳞本来就不是生活在水池中的,只要遇到风云就会变成龙,它的成功和失败都取决于风云.这是《风云》里面的一句话。这句话,是说雄霸的!!!

原始出处《说岳全传》,说的是岳飞手下的大将余化龙
今天和老总参加了一个招聘会,回来帮公司筛选简历,感受颇多!我所在的是一家大型企业。从收到的简历数量可以看出来, 两个小时不到,收到1300份简历,要从中选出100份进行笔试。比例:13选1
要知道,现在有800多万大学生在找工作,每个职位的竞争者最少也要有好几十人,哪个人事主管会仔细看每个人的简历?可以告诉大家,每封简历在筛选人眼前停留的时间最多不超过15秒,我们一个比较过分的老总甚至5秒决定一份简历。不是说不重视,实在是看不过来。如果每封都看得那么仔细,我们都不用干活了。
我通过下午的筛选简历,觉得有必要跟在找工作的朋友们说说一些需要注意的地方。彻彻底底都是我今天的实际感受。阅读全文
http://chaoqun.17348.com/2009/04/efficient-pagination-using-mysql/

相信这是个大家都常见的问题,解决方式各自不一,欢迎交流,尤其是对分页有需求的
这种分页原理比普通的分页更聪明一些阅读全文

公司SVN仓库

  • 大部svn仓库
    • 产品svn仓库
      • 产品内代码用svn仓库
        • branches
          • 分支
          • 现在的开发模式中,不推荐多分支开发,此处不做为重点
        • tags
          • 用于版本控制、测试、发布等用途
        • trunk
          • 主干
          • libs
            • 共用库函数
            • 可以存在外部项目引入
          • services
          • www
            • 静态文件存放
            • images
              • 页面配图
            • public
              • 404.html
              • 500.html
              • favicon.ico
              • robots.txt
            • css
              • css文件
          • daemon
            • 存放后台守护进程相关代码
          • config
            • 存放本项目的配置文件
          • template
            • 存放本项目的模板文件
            • 一般都是用smarty模板引擎
          • test
            • 存放测试和单元测试代码
          • program
            • 存放项目中属于web前端上的代码
              • 分层结构
            • application
              • 应用程序层
            • business
              • 业务逻辑层
            • component
              • 组件层
            • datadriver
              • 数据驱动层
            • systemdriver
              • 系统驱动层


来自QQ群:
svn也是有目录结构的... 分支下建分支.
比如 svn/tags/tag1
你想建立 svn/tags/tag1/tag2
那就直接建立这么个文件夹就好了..
但是tag1这个再检出就已经不是你的项目了... (多了tag2)
如果你是想在tag1的基础上, 建立新的tag.
那么建立tag的时候, 从tag1建就好了...
   http://toys.lerdorf.com/archives/57-ZeroMQ-+-libevent-in-PHP.html
   写了一个简单的队列任务处理。多进程任务,异步任务可能会用到这个(主要是命令行应用)
比如,任务的某个一个环节速度十分不稳定,可能执行几秒,也可能执行几分钟,
我就可以把那个环节包括前面的部分扔进队列,多跑几个进程,同时往队列里面写。
然后后面比较快的环节只跑一个处理任务就OK了。让整体速度达到更好的效果。阅读全文
FRAME ICMP IP UDP TCP
traceroute 数据传输路径
ping 一般用ICMP协议,定制可以使用IP ICMP

ping 192.168.0.1 -n -c l -s 65527
tranceroute -n -I 10.210.121.128
tcpdump -n -s o -l eth0 icmp
ifconfig eth0&#124;grep inet
ping -b -n -c l   192.168.0.1

[root@vm0000055 templates]# ping -c 1 -s 65535 192.168.0.1
Error: packet size 65535 is too large. Maximum is 65507


常见 IP 碎片攻击详解阅读全文
     IE中,快捷键是CTLR+F5.

     Firefox中,快捷键是CTLR+SHIFT+R.
其实本质是:
Mysql查询从以往常规的的Limit:
$offset*($page-1),$offset
0,20
20,20
40,20
........
变为了:
永远的:
0,20 ,但前面有一个:where id>动态的数值,这个id是有索引的,所以,查询起来更快一些。
这里的Id是经过计算后的一个数值,主要是它用到了索引,所以在大数据量下快了不是一星半点。
=========================================================

阅读全文
FCKeditor 2.6.4 released 之前版本,全部存在严重漏洞,请立即检查您的服务器、程序中是否调用了FCKeditor编辑器,如果存在,请升级到 2.6.4 released版本。
如果不需要上传功能,请将上传功能相关文件删除,如果需要上传功能,请严格限制上传文件后缀,并配置目录权限,禁止上传目录的PHP、ASP、JSP执行权限。



我们发现在一些产品中集成了带有严重漏洞的 FCKeditor 富文本编辑器。请管理员和程序员自查自己的系统、程序。



下月开始,系统部将对服务器上的 FCKeditor 进行专项扫描,届时如果发现仍然存在漏洞的FCKeditor,将对相关责任人进行相应处理。





FCKeditor是一款流行的富文本编辑器,还支持强大的文件上传功能,可以工作在asp,aspx,php,perl,python等脚本环境,由于用户多

功能强大,所以也成为了黑客重点攻击对象。



一些程序员喜欢将某个版本的FCKeditor打包,每次程序都调用这个版本,一些程序也会直接集成该编辑器,往往这种习惯都

导致将一个旧版本的编辑器嵌入到了程序中.



漏洞示例(asp下):

http://www.xxx.com/admin/FCKeditor/editor/filemanager/browser/default/browser.html?Type=../&Connector=connectors/asp/connector.asp

将type改为../,这样将跳出目录文件类型的限制,还可以进行目录遍历.

即使做了不让跳转,配合服务器的一些缺陷也可以得到webshell,比如Windows2003服务器使用fckeditor建立一个xx.asp的目录,那么向

这个目录下上传任意文件,比如jpg(包含可执行脚本代码),都可以被服务器执行.

webshell地址:

http://www.xxx.com/shell.cer



漏洞示例(jsp下):

查看配置和列出目录下的文件:

http://www.xxx.com/fckeditor/editor/filemanager/browser/default/connectors/jsp/connector?



Command=FileUpload&Type=Image&CurrentFolder=%2F

webshell地址:

http://www.xxx.com/fckeditor/editor/filemanager/browser/default/browser.html?Type=Image&Connector=connectors/jsp/connector



漏洞示例(php下):

fckeditor采用黑名单方式进行过滤,Windows下上传xxx.php+空格即可绕过检测.

另外PHP版本对媒体类型没有做任何限制,可以上传任意文件.



以上漏洞均在最新版本(2.6.4)中解决,可以在http://www.fckeditor.net/download下载到最新版本.





另外一些fckeditor的设置,如果你不提供上传服务,或者有更好的上传方案,那删除掉目前的上传功能是非常必要而且彻底的!(删除FCKeditor\editor



\filemanager).



根目录下的fckconfig.js可以进行具体的设置,根据以下开关来限制上传的风险(多一种类型就多一种风险,没必要的请关闭)

FCKConfig.LinkBrowser = true;

FCKConfig.ImageBrowser = true ;

FCKConfig.FlashBrowser = true ;

FCKConfig.LinkUpload = true ;

FCKConfig.ImageUpload = true ;

FCKConfig.FlashUpload = true ;



对你存储上传文件的目录,比如UserFilesPath = "~/UserFiles",禁止下面的脚本文件执行.



新版本中提供这么个函数:

private bool CheckAuthentication()

{

// WARNING : DO NOT simply return "true". By doing so, you are allowing

// "anyone" to upload and list the files in your server. You must implement

// some kind of session validation here. Even something very simple as...

//

// return ( Session[ "IsAuthorized" ] != null && (bool)Session[ "IsAuthorized" ] == true );

//

// ... where Session[ "IsAuthorized" ] is set to "true" as soon as the

// user logs in your system.



return false;

}



去掉注释,写入

try{

return ( Session[ "IsAuthorized" ] != null && (bool)Session[ "IsAuthorized" ] == true ;

}

catch{return false;}



在登录后台成功的地方写入session,Session["IsAuthorized"] = true;即可,这样就不会任何人都可以进行上传等操作了.





PS:FCKeditor检测路径关键字editor/filemanager, 另外fckconfig.js 是编辑器的配置文件,里面有允许&拒绝上传的文件类型配置等,这个文件基本不会

   改名.

PS2:因为FCKeditor的广泛使用,黑客仍然会重点攻击该编辑器,所以不推荐使用该程序,建议使用内部开发的一些富文本编辑器

在FROM表单提交时,浏览器会自动对提交内容进行转码,会将除“- ”,“_”,数字和字母之外的所有字符进行%形式的URL编码,其中空格会被转换成“+”。
在PHP中函数urlencode对字符串URL编码的处理方式同浏览器相同,所以如果对一个字符串进行2次或2次以上的urlencode将会把空格转换成“+”
例:$str = "ce shi";
echo urlencode($str);// ce+shi
echo urlencode(urlencode($str));//ce%2bshi
echo urlencode(urlencode(urlencode($str)));//ce%2bshi
%2b在服务器接收到后会解码为“+”
若使用rawurlencode则会直接将空格转换为%20,不存在此问题

但是:
使用utf-8模式对空格先编码然后再解码后得到的不是空格字符,而是一个代码为160的char字符,如果不注意这一点将导致对空格判断的错误,我没有试验在其他encoding下的效果。
程序中使用空格分割字符串分隔符数组现在是这样:new char[3] { ' ', ' ',Convert.ToChar(160) }.
其中第一个是半角空格,第二个是全角空格,第三个就是Convert.ToChar(160)
分页: 249/339 第一页 上页 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 下页 最后页 [ 显示模式: 摘要 | 列表 ]