`
AllenZhang
  • 浏览: 52399 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论
文章列表
最近花了点精力,在ec2上配置了PPTP VPN. 之所以选择PPTP,最主要还是因为其简单,很多路由器也都支持PPTP. 方案上参考了 http://blog.lifeclaw.com/articles/how-to-install-pptp-vpn-service-on-ubuntu/ 向该文作者表示一下感谢。   安装: sudo apt-get -y install pptpd   配置:   pptpd.conf   sudo vi /etc/pptpd.conf #确保如下选项的配置 option /etc/ppp/pptpd-option ...
环境: CentOS 5.4 故障表现:邮件服务器没法对外投递邮件。 故障排查:外部邮件投递使用的是sendmail, 因为未知原因,应用程序无法连接25端口。进一步排查后发现,25端口仅对于ip 127.0.0.1开启。 当使用其他本地ip时,无法连接sendmail. 故障解决: 1. 修改/etc/mail/sendmail.mc DAEMON_OPTIONS(`Port=smtp,Addr=127.0.0.1, Name=MTA')dnl  修改为: DAEMON_OPTIONS(`Port=smtp,Name=MTA')dnl   2. m4 /etc/mail/ ...
#安装 rpm -ivh xxx.rpm #升级 rpm -Uvh xxx.rpm #卸载(注意只需包名) rpm -e xxx #查询包内文件 rpm -qpl xxx.rpm #查询某个文件属于哪个rpm包 rpm -qf xxxxx.yyy
free命令用了很久了,但是知其然有些不知其所以然。今天为了追查一个内存泄漏问题,特意去仔细研究了一下。 一般来说,该命令输出如下:   total used free shared buffers cached Mem: 2059500 2042852 16648 0 26708 303484 -/+ buffers/cache: 1712660 346840 Swap: 2064376 684460 1379 ...

git stash

    博客分类:
  • git
git stash 可以用于暂存代码。 比如需要切换一个branch去做其他的事情,但是当前又有一些代码没有commit. 你显然也不会想要把这些修改checkout.  该命令就是为了解决这一个问题。   使用起来也非常方便。   #暂存当前代码。 可以暂存多个.依次压入堆栈 git stash #显示当前暂存的堆栈列表 git stash list #回复暂存的代码。方法1 git stash pop #方法2:注意2是堆栈的index. index从0开始 git stash apply@{2} #清楚暂存代码 git stash cle ...
使用Log4j的SystemLogAppender可以实现远程的日志输出,为集中式的日志管理提供便利。 SystemLogAppender基于syslog服务。   1.  在CentOS5.4的日志服务器上,做如下配置,修改/etc/syslog.conf   local6.* /var/log/center.log   2. 启动Syslog服务   /etc/init.d/syslog stop ; /etc/init.d/syslog start   3. 在写日志的客 ...
地球人都知道sun在jdk中六种自带了一个轻量级http server. 用它可以很容易实现一些轻量级的http服务,用来做测试和辅助工具很方便。 不过关于其的文档很少,参数调节等都没有文档说明,一切只能去看其源代码。 今天遇到一个问题:当客户端超过一定时间未发送数据,则连接被服务端自动关闭。 必须调整连接时间才行。 经过查找,JDK中,有个叫做ServerConfig的类,这里面设置了这个http server的一些必要参数,比如读取等待时间,写入等待时间等。   class ServerConfig { static int clockTick; s ...
编写一个shell脚本,想用从一个绝对路径得到一个文件名。 直接使用basename在脚本中,莫名地报了一个permission denied的错误。 就干脆想想如何通过字符串操作来解决。搜索整理了一下:   ${var#pattern} 是要将变量值左边的最短 pattern 拿掉。 ${var##pattern} 是要将变量值左边的最长 pattern 拿掉。 ${var%pattern} 是要将变量值右边的最短 pattern 拿掉。 ${var%%pattern} 是要将变量值右边的最长 pattern 拿掉。 ${var%/*} 就是将最后一个 / 及其右边的内容拿掉 ...
DEV环境的证书过期,给https的selenium测试带来了不少问题。 简要列举2个walk around:   1. 服务器使用selenium server: 添加 -trustAllSSLCertificates 参数即可。   2. 服务器使用selenuim grid: (1) 设置browser的属性为"*chrome" (2) 对于ff下载插件"Remeber certificate excetion". (3) 在ff的profile中,添加上这些例外的证书。测试时候使用该profile
  最近搭建新apache服务器,一个web目录位置使用了symbolic link. 从/web/home -> /home/apache/web/     web部分使用了perl.java   结果发现启动后,服务器报Symbolic link not allowed or link target not accessible。   甚感奇怪。   检查配置文件,httpd.conf中,已经添加了Options FollowSymLinks   Selinux也已经disable.     最后检查,发现/home/apache没有excute属性。   chm ...
今天yy和我提了一个现实问题。 因为他们公司财务对账需要,需要实现一个凑数的工具。 具体的需求基本就是: 财务出总帐。供应商这里有若干材料的单价。需要确定这若干材料的数量,使得总价能和财务账面一致。部分材料有约束条件,比如数量不能超过某个数。单价因为也是经过计算的,所以是小数点后有4位。 凑数算法的实现,应该有很多种方法。 其中最简单的一个就是穷举。穷举排列组合。穷举本身的实现不难。 这篇也就主要说说穷举。应该还有更好的算法。 穷举的缺点就是慢。数量是几何级扩展。和材料种类以及个数成正比。 计算总量是n1*n2*....nn 测试了一下以下代码的实际的工作效率,在jre下,一台普通的开发机器可 ...
Global site tag (gtag.js) - Google Analytics