- 浏览: 235456 次
- 性别:
- 来自: 深圳
最新评论
-
白云飞:
兄弟能不能发一份完整的源码到我邮箱?luochengwei20 ...
【Python真的很强大】程序Log实时监控 -
myreligion:
nice job!
解决一个棘手的bug: java.lang.NoClassDefFoundError: android.os.AsyncTask -
yw9002:
你这个貌似提交的时候整个页面都会刷新。
AjaxAnyWhere+Struts的一个应用(demo/feature crew) -
fkpwolf:
这总结偏向于细节了,流水账
Android app项目和开发总结 -
crazybull:
期待详细总结~~~
Android app项目和开发总结
文章列表
使用yield优雅抓取网页分页数据
在使用Python来抓取网页数据的时候,常常碰到分页数据,其中部分下一页按钮已经有具体的链接地址,而另外的可能是javascript来处理分页的。这要求同时能解析页面内容,又要采集下一页的url。怎样优雅用python写这样的代码呢?或者说怎样更pythonic?下面分别给出部分代码实例
def get_next_page(obj):
'''get next page content from a url or another content '''
error_occurr ...
用任何语言都可以写出极其糟糕的代码,包括优雅强大的 Python 语言。在本文中,我们讨论看待测试的方式不同如何导致差异很大的 Python 代码。最后,讨论如何科学地度量代码差异。
简介
编写软件是人所承担的最复杂的任务 ...
getFileModifiedTime.c
#include <mysql.h>
#include <string.h>
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <errno.h>
#include <unistd.h> ...
案例: 有一个应用程序需要把数据输出给远程tcp端口44441, 为了安全, 数据会再次转发到端口44442,从而使得连接到端口44442的应用可以实时接收到数据。
为此,在远程tcp主机编写了shell脚本如下:
#!/bin/bash -l
pipe=/tmp/testpipe
ps -ef | grep -e '44441' -e '44442' | grep -v 'grep' | awk '{print $2;}' | xargs kill -9 > /dev/null 2>&1
trap "rm -f $pipe" ...
#!/bin/bash -l
process_name='phantomjs'
long_term=1
pids=` ps -ef | grep -i "$process_name" | grep -v 'grep' | awk '{print $2;}'`
if [ "$pids" == "" ]; then
echo "no phantomjs running" >/dev/null
exit 0
fi
for pid in $pids; do
echo $ ...
使用有道云笔记已有一年,整体体验良好。但它的网页剪报插件做得还不够好,所以自己亲自动手,制作了一个网页转换工具。亲们,可以体验下 网页转pdf或图片
Android 版:
扫一扫下载:
MySQL从5.1.5开始,支持XML接口处理的两个函数: ExtractValue()和 UpdateXML().
需求:编写停车计费算法:
输入:Express Text(XML), BeginTime DateTime, EndTime DateTime; 输出:Decimal(10,2)-计费金额
...
需求: 我们需要监控客户端是否已经掉线, 采用的做法是客服端定时发送消息到 socket server. 我们在socket server确认是否已经收到心跳消息,如果超时(timeout)则会剔除相应的客户端。
为此,我们准备在python抽象出原型雏形。熟悉Javascript的可能知道定时器函数setTimeout,setInterval.
我们在Python(2.7)也可有类似功能: 如下:
def set_interval(func,extraArgs,sec):
def func_wrapper():
fun ...
Shell技巧几例
一般我们的程序会有要求: 如果数据有变化,则更新到数据库。同时,我们会记录相关log,也可以从log中找出变化了的记录总数。
grep -o 'CLF6_F:.*$' CLF6_13_00_14_00_input.log | awk 'BEGIN {last="zzzzzxxx";} { if(last!=$0) {total++; last=$0;} } END { print "changed records is",total;}'
我们有时候需要定制数据替换,如找到含有关键字A的行,在此行将 关键字B ...
Clone user / Dump views in MySQL
1. 数据库搬迁或复制的时候,需要同步MySQL user 及其权限,创建了脚本操作,如下:
#!/bin/bash -l
if [ $# -lt 1 ]; then
echo "usage: $0 [MySQLHost]"
exit 1
fi
MySQLHost=${1}
MySQLbin="` ...
Phantomjs/Casperjs, HtmlUnit, Selenium在获取Javascript页面时特性对比
基于Phantomjs 2.0.0/Casperjs 1.1.0-beta3, Htmlunit 2.18, Selenium 2.47.1,在获取Javascript 页面时,对JavaScript engine,session/cookie支持, request url追踪, browser支持,以及访问速度,稳定性等方面进行对比如下:
框架/程序
对比项目
JavaScript engine
Cookie
requ ...
偶尔一天,监控到程序异常: OperationalError: (1213, 'Deadlock found when trying to get lock; try restarting transaction').
通过网络Seach,发现show innodb status (MySQL5.1以下可以用)/show engine innodb status(MySQL5.1以上可用) 查看 the LATEST DETECTED DEADLOCK
可以具体看到是哪两个SQL引起的死锁. 但需注意的是后面一个DEAD LOCK Info会覆盖之前的, ...
需求: 远程unix主机cpu load 有时过高,现在需要监控它,当超过阀值则email报警. 访问该主机只能通过telnet,不能安装其他任何library。
现有资源: 已经有nagios环境,python已自带telnetlib模块,可以通过执行uptime命令获取1(5,10)分钟平均cpu load。
通常,用shell script 编写nagios命令规范如下:
echo "OK status: ….”
exit 0
echo "WARNING status: …. ...
Shell 技巧 | 解决方案
- 博客分类:
- Shell
1) 在/etc/profile里创建了环境变量,发现在指定用户下创建的cronjob运行期不能找到对应的环境变量的值(例如$PATH),在crontab下发现默认$PATH=/bin:/usr/bin。如调用的程序不在上述路径,则程序会报错:xxx not found.
上述解决的方案,最好的解决方法是在xxx.sh中第一行这样写: #!/bin/bash -l
这样就是以登录方式执行shell script,你可以通过 man bash来查看是否支持 -l 这个参数。
为什么不用程序的绝对路径呢? 因为deploy一个脚本到多个主 ...
与java apache log4j的ConsoleAppender,RollingFileAppender类似,python也有自己的实现,分别是logging.StreamHandler(),logging.handlers.TimedRotatingFileHandler.
下面是示例代码:
def script_path():
path = os.path.realpath(sys.argv[0])
if os.path.isfile(path):
path = os.path.dirname(path)
return ...