转自: NinGoo的博客
经常可以在一些脚本,尤其是在crontab调用时发现如下形式的命令调用
/tmp/test.sh > /tmp/test.log 2>&1
前半部分/tmp/test.sh > /tmp/test.log很容易理解,那么后面的2>&1是怎么回事呢?
要解释这个问题,还是得提到文件重定向。我们知道>和< 是文件重定向符。那么1和2是什么?在shell中,每个进程都和三个系统文件相关联:标准输入stdin,标准输出stdout和标准错误stderr,三个系统文件的文件描述符分别为0,1和2。所以这里2>&1的意思就是将标准错误也输出到标准输出当中。
下面通过一个例子来展示2>&1有什么作用:
$ cat test.sh t date
test.sh中包含两个命令,其中t是一个不存在的命令,执行会报错,默认情况下,错误会输出到stderr。date则能正确执行,并且输出时间信息,默认输出到stdout
./test.sh > test1.log ./test.sh: line 1: t: command not found $ cat test1.log Tue Oct 9 20:51:50 CST 2007
可以看到,date的执行结果被重定向到log文件中了,而t无法执行的错误则只打印在屏幕上。
$ ./test.sh > test2.log 2>&1 $ cat test2.log ./test.sh: line 1: t: command not found Tue Oct 9 20:53:44 CST 2007
这次,stderr和stdout的内容都被重定向到log文件中了。
实际上, > 就相当于 1> 也就是重定向标准输出,不包括标准错误。通过2>&1,就将标准错误重定向到标准输出了,那么再使用>重定向就会将标准输出和标准错误信息一同重定向了。如果只想重定向标准错误到文件中,则可以使用2> file。
(更多…)
使用 cURL 获取站点的各类响应时间 – dns解析时间,响应时间,传输时间等:
curl -o /dev/null -s -w %{http_code}:%{http_connect}:%{content_type}:%{time_namelookup}:%{time_redirect}:%{time_pretransfer}:%{time_connect}:%{time_starttransfer}:%{time_total}:%{speed_download} digdeeply.info
这是一个本人博客站点执行 curl 命令的情况。输出通常是 HTML 代码,通过 -o 参数发送到 /dev/null。-s 参数去掉所有状态信息。-w 参数让 curl 输出的计时器的状态信息。
下边对-w参数做个详细的解释,由我(DigDeeply)翻译。有不对的地方请大家指出。(英文原文:http://curl.haxx.se/docs/manpage.html)
北京时间5月8日消息,据外国媒体报道,一个由12名成员组织的美国联邦陪审团周一作出裁决称,谷歌在研发Android操作系统时侵犯了甲骨文的技术专利,目前Android已经在3亿多个移动设备运营。
不过,该陪审团在谷歌是否“公平使用”甲骨文的知识产权方面仍未能够达成一致的裁决方案。
上述裁决阻止了甲骨文对所有侵权诉讼索赔的要求,但据美国地方法官威廉·阿尔苏普(William Alsup)声称,陪审团还是认为,Android的部分技术侵犯了甲骨文的专利。甲骨文一直要求谷歌为此赔偿10亿美元。
谷歌的代理律师罗伯特·凡·奈斯特要求阿尔苏普宣布上述裁决为无效审判,该律师认为,到底是否侵权与是否公平使用有着直接的关系。阿尔苏普声称他将考虑谷歌的这一请求,并宣布案件开始进入专利审查期。
上述决定已经进入了为期八周的知识产权审理阶段,此审理期从4月有16日开始,下一阶段将转移到甲骨文指控的专利侵权事务方面。第三阶段即赔偿阶段,将在前两阶段结束后开始。
本指南可以很快让你学会写优美的面向对象JavaScript代码,我保证!学会写简洁的JavaScript代码对一个开发者的发展很重要,随着像Node.js这类技术的出现,你现在可以在服务器端写JavaScript代码了,你甚至可以用JavaScript来查询像MongoDB这样的持久性数据存储。
现在开始写面向对象的JS(OO JS),如果你有什么问题或我遗漏了什么,在下面评论出告诉我。
var bill = {};
上面的代码没太大用处,仅仅只是创建了一个空对象。让我们动态的添加一些属性和方法到这个对象。
bill.name = "Bill E Goat";
bill.sound = function() {
console.log( 'bahhh!' );
};
这里我们添加了“name”属性并赋值为“Bill E Goat”。我们不一定要在前面创建空对象,还可以只用一步完成上面 所有的事。
var bill = {
name: "Bill E Goat",
sound: function() {
console.log( 'bahhh!' );
}
};
很简洁漂亮是不是?访问属性和方法也一样很简单。
bill.name; // "Bill E Goat" bill.sound(); // "bahhh"
原文:http://www.cnpythoner.com/post/140.html
python def和python lambda 这2个有相似点也有不同点,今天给大家分享下自己的心得吧。
先说说2个的相似点: 这两个很重要的相似点就是都可以定义一些固定的方法或者是流程,供给程序来调用,比如我们要定义一个变量加2的方法。
首先看python def吧。
def info(x):
return x + 2
a = info(1)
print a
再看下python lambda
f = lambda x : x+2 a = f(1) print a
上面2种方式输出的结果都是3,如果你要完成一些固定的流程的话,上面两种你都可以任意选择。
(更多…)
下面是python标准库和第3方库的介绍:
Tkinter———— Python默认的图形界面接口。
Tkinter是一个和Tk接口的模块,Tkinter库提供了对Tk API的接口,它属于Tcl/Tk的GUI工具组。Tcl/Tk是由John Ousterhout发展的书写和图形设备。Tcl(工具命令语言)是个宏语言,用于简化shell下复杂程序的开发,Tk工具包是和Tcl一起开发的,目的是为了简化用户接口的设计过程。Tk工具包由许多不同的小部件,如一个按钮、一个滚动条等。通过Tk提供的这些小部件,我们就可快速地进行GUI开发。Perl、Scheme等语言也利用Tk库进行GUI开发。Tkinter是跨平台,在各种平台下都能使用。
Python Imaging Library(PIL)————它提供强大的图形处理的能力,并提供广泛的图形文件格式支持,该库能进行图形格式的转换、打印和显示。还能进行一些图形效果的处理,如图形的放大、缩小和旋转等。是用户进行图象处理的强有力工具。
Pmw(Python megawidgets)它是超级GUI组件集————一个利用Tkinter模块构建的高级GUI组件,每个Pmw都合并了一个或多个Tkinter组件,以实现更有用和更复杂的功能。
PyXML———— 用Python解析和处理XML文档的工具包,包中的4DOM是完全相容于W3C DOM规范的。它包含以下内容:
xmlproc: 一个符合规范的XML解析器。
Expat: 一个快速的,非验证的XML解析器。 还有其他
和他同级别的还有 PyHtml PySGML
PyGame———— 用于多媒体开发和游戏软件开发的模块。
PyOpenGL———— 模块封装了“OpenGL应用程序编程接口”,通过该模块python程序员可在程序中集成2D和3D的图形。
(更多…)
在windows下vim的中文字体显示并不好,所以我们需要调整字体显示编码为utf-8,只有这样才能使用美观的中文。这时候可能出现很多中文乱码。
如:文件显示乱码、菜单乱码、右键菜单乱码、conlse输出乱码、文件关联右键菜单乱码等等。
以下_vimrc配置可以解决以上问题。
if has(“gui_running”) set encoding=utf-8 set fileencodings=utf-8,chinese,latin-1 if has(“win32″) set fileencoding=chinese else set fileencoding=utf-8 endif let &termencoding=&encoding ” 解决菜单乱码 source $VIMRUNTIME/delmenu.vim source $VIMRUNTIME/menu.vim ” 解决consle输出乱码 language messages zh_CN.utf-8 endif
今天再做一个中国地图的可视化展现,需要对每个省份的轮廓进行染不同颜色,以此来区分各个省份。
用的是百度地图,所以需要用JS来生成Polygon多边形,然后用颜色填充,现在需要随机生成颜色,所以需要随机生成3个0-16的16进制数,拼接起来,作为一个颜色的RGB值。
不多说,直接上简单明了的JS代码,如何随机生成0-16的数,然后把十进制的值转换为十六进制。
var r = parseInt(Math.random()*16); var g = parseInt(Math.random()*16); var b = parseInt(Math.random()*16); //转换为十六进制,使用 int.toString(16)即可. //相应的,还可以使用toString(10) , toString(8), toString(2)来转化为十进制,八进制,二进制等。 r = r.toString(16); g = g.toString(16); b = b.toString(16); //拼接成颜色的RGB值 var color = '#'+r+g+b;
在本机搭建测试环境时,使用了mysqldump导出了一个数据库文件,将近500M,即使是压缩后也有100M左右,在通过mysqldump导入时,发生了错误: “MySQL server has gone away.”。
个人猜测,发生 MySQL server has gone away 问题的原因很可能就是数据文件过大,导致超时。
所以对mysql进行修改:修改my.ini(在lnix/unix下是my.cnf)文件,加大超时参数
wait_timeout=2888888
如果没有此参数,直接在my.ini/my.cnf文件末尾一行添加上即可。
重启mysql。
最后再次执行导入语句
mysql -uroot -p123456 test_data < D:\Xamp\sqldata\test.sql
注:在使用mysqldump时要注意,客户端mysqldump工具的版本要高于等于服务器的版本。
(更多...)