- 浏览: 52957 次
- 性别:
- 来自: 上海
最新评论
文章列表
最近花了点精力,在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 可以用于暂存代码。 比如需要切换一个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下,一台普通的开发机器可 ...