上一页 1 ··· 5 6 7 8 9 10 11 12 13 ··· 24 下一页
摘要: 一 python 多线程因为CPython的实现使用了Global Interpereter Lock(GIL),使得python中同一时刻只有一个线程在执行,从而简化了python解释器的实现,且python对象模型天然地线程安全。如果你想你的应用程序在多核的机器上使用更好的资源,建议使用multiprocessing或concurrent.futures.processpoolexecutor。但是如果你的程序是IO密集型,则使用线程仍然是很好的选择。二 python 多线程使用的两种方法实例:importthreadingimporttimedefworker(num):print(th 阅读全文
posted @ 2012-01-04 17:33 iTech 阅读(1904) 评论(0) 推荐(0) 编辑
摘要: 一 闭包来自wiki:闭包(Closure)是词法闭包(Lexical Closure)的简称,是引用了自由变量的函数。这个被引用的自由变量将和这个函数一同存在,即使已经离开了创造它的环境也不例外。所以,有另一种说法认为闭包是由函数和与其相关的引用环境组合而成的实体。在一些语言中,在函数中定义另一个函数时,如果内部的函数引用了外部的函数的变量,则可能产生闭包。运行时,一旦外部的 函数被执行,一个闭包就形成了,闭包中包含了内部函数的代码,以及所需外部函数中的变量的引用。闭包的用途:因为闭包只有在被调用时才执行操作,所以它可以被用来定义控制结构。多个函数可以使用一个相同的环境,这使得它们可以通过改 阅读全文
posted @ 2011-12-31 15:35 iTech 阅读(1222) 评论(3) 推荐(0) 编辑
摘要: 一 装饰器decoratordecorator设计模式允许动态地对现有的对象或函数包装以至于修改现有的职责和行为,简单地讲用来动态地扩展现有的功能。其实也就是其他语言中的AOP的概念,将对象或函数的真正功能也其他辅助的功能的分离。二Python中的decoratorpython中的decorator通常为输入一个函数,经过装饰后返回另一个函数。 比较常用的功能一般使用decorator来实现,例如python自带的staticmethod和classmethod。装饰器有两种形式:@Adeffoo():pass相当于:deffoo():passfoo=A(foo)第二种为带参数的:@A(arg 阅读全文
posted @ 2011-12-31 14:53 iTech 阅读(5072) 评论(1) 推荐(0) 编辑
摘要: 通常地我们要在不同平台间共享文件,samba,ftp,cifs,ntfs的设置都是有点复杂的, 我们可以使用python提供的httpserver来提供基于http方式跨平台的文件共享。一 命令行启动简单的httpserver进入到web或要共享文件的根目录,然后执行(貌似在python32中此module不存在了):python -m SimpleHTTPServer 8000然后你就可以使用http://你的IP地址:8000/来访问web页面或共享文件了。二 代码启动httpserversimplehttpservertest.pyimportsysimportlocaleimporth 阅读全文
posted @ 2011-12-31 14:03 iTech 阅读(58331) 评论(1) 推荐(0) 编辑
摘要: python引用变量的顺序: 当前作用域局部变量->外层作用域变量->当前模块中的全局变量->python内置变量一 globalglobal关键字用来在函数或其他局部作用域中使用全局变量。但是如果不修改全局变量也可以不使用global关键字。gcount=0defglobal_test():print(gcount)defglobal_counter():globalgcountgcount+=1returngcountdefglobal_counter_test():print(global_counter())print(global_counter())print(g 阅读全文
posted @ 2011-12-31 13:10 iTech 阅读(23022) 评论(2) 推荐(2) 编辑
摘要: 1) os.system()此方法启动新的进程来执行指定的外部命令,但是不能返回外部命令的输出,外部命令任然输出到标准输出。此函数的返回值与所运行的系统有关,在windows系统返回外部命令的返回值,在Linux系统中,返回值与函数wait()类似,进程kill的信号和返回值组成的16位值。例如:在windows上执行:os.system("tasklist")在Linux上执行:os.system("ps -aux")2) os.fork() + os.exec*()启动新的进程,然后在新进程环境中执行外部程序。os.fork()方法只在Linux环境 阅读全文
posted @ 2011-12-28 15:36 iTech 阅读(3173) 评论(0) 推荐(0) 编辑
摘要: 原文:http://wiki.python.org/moin/HowTo/SortingPython list内置sort()方法用来排序,也可以用python内置的全局sorted()方法来对可迭代的序列排序生成新的序列。1)排序基础简单的升序排序是非常容易的。只需要调用sorted()方法。它返回一个新的list,新的list的元素基于小于运算符(__lt__)来排序。>>>sorted([5,2,3,1,4])[1,2,3,4,5]你也可以使用list.sort()方法来排序,此时list本身将被修改。通常此方法不如sorted()方便,但是如果你不需要保留原来的lis 阅读全文
posted @ 2011-12-27 16:39 iTech 阅读(4800) 评论(1) 推荐(3) 编辑
摘要: Standard Generalized Markup Language (SGML)即标准通用标记语言Hypertext Markup Language (HTML)超文本标识语言Extensible Markup Language (XML)可扩展标识语言SGML,HTML,XML都可以使用以下的SAX和DOM方式来解析:SGML是现时常用的超文本格式的最高层次标准,是可以定义标记语言的元语言,甚至可以定义不必采用< >的常规方式。HTML和XML都是衍生于SGML,HTML是SGML的一个应用,不能用来定义其他的标记语言。XML可以被认为是SGML的一个子集,XML的产生就是 阅读全文
posted @ 2011-12-27 15:28 iTech 阅读(1855) 评论(0) 推荐(0) 编辑
摘要: SAX是一种基于事件驱动的API。利用SAX解析XML文档牵涉到两个部分:解析器和事件处理器。解析器负责读取XML文档,并向事件处理器发送事件,如元素开始跟元素结束事件;而事件处理器则负责对事件作出相应,对传递的XML数据进行处理。实例:importsys,stringfromxml.saximporthandler,make_parserclassTestHandler(handler.ContentHandler):def__init__(self):passdefstartDocument(self):print"DocumentStart..."defendDocu 阅读全文
posted @ 2011-12-27 15:13 iTech 阅读(1583) 评论(0) 推荐(0) 编辑
摘要: 一 batch 与 shell中目录及文件:C:\TESTFOLDER\TEST├─Test2└─Test3 test.txt删除目录及其下的所有文件:rmdir /S /Q c:\TestFolder\test删除所有目录下的文件,但是目录结构不能被删除:del /F /S /Q c:\TestFolder\test\*Linux类似的命令为:rm /rf /home/aaa/test二 python中:注意如果有错误会有异常抛出,需要处理异常。1)删除文件且不支持通配符: os.remove()2) 删除空的目录: os.rmdir()3) 删除空的目录及子目录: os.remove... 阅读全文
posted @ 2011-12-27 13:03 iTech 阅读(4470) 评论(0) 推荐(0) 编辑
摘要: 一 使用devenv来build单个projectdevenv是VisualStudio的可执行程序,一般安装在“C:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\IDE”下。用来在命令行或GUI方式运行VisualStudio。其中devenv.com是命令行程序,devenv.exe是GUI的程序。默认地当你调用devenv的时候其实是启动devenv.com,除非你显示地调用devenv.exe才会启动GUI的VisualStudio。使用devenv来build一个.sln的实例:devenv d:\Build\My 阅读全文
posted @ 2011-12-22 13:32 iTech 阅读(23761) 评论(0) 推荐(3) 编辑
摘要: 一 .NET代码混淆.NET代码混淆技术:Symbol renamingString encryption and compressionResource encryption and compressionConstant literals pruningMethod signatures overload inductionClass hierarchy linerizationCode control flow obfuscationAssemblies merging and embeddingXML documentation filter免费的.NET代码混淆工具:Eazfusca 阅读全文
posted @ 2011-12-22 10:42 iTech 阅读(10302) 评论(6) 推荐(3) 编辑
摘要: 获得当前机器的名字:来自:http://tony413.iteye.com/blog/395177defhostname():sys=os.nameifsys=='nt':hostname=os.getenv('computername')returnhostnameelifsys=='posix':host=os.popen('echo$HOSTNAME')try:hostname=host.read()returnhostnamefinally:host.close()else:return'Unkwonhostnam 阅读全文
posted @ 2011-12-20 16:13 iTech 阅读(1784) 评论(0) 推荐(0) 编辑
摘要: 1) Executor_Number的作用?executor number控制jenkins在此slave上并行执行的最大数量 。 一般设置为此slave上cpu的核数。 也可以将master的值设置为0来阻止在master机器上做build。2) Manage Jenkins -> config System - > System Message ?用来告诉用户此jenkins所服务的部门或相关的链接信息。例如:3) 开源产品对jenkins使用的实例?https://builds.apache.org/是apache software foundation使用Jenkins来自 阅读全文
posted @ 2011-12-19 18:19 iTech 阅读(4091) 评论(0) 推荐(0) 编辑
摘要: 正则表达式 实例1) 不能是某些字符中之一[]用来表示匹配多个字符之一。[^]与[]相反,表示匹配与多个字符中的任一个都不匹配。:下图中,H是第一个与abcd都不匹配的字符。2) 匹配多个字符串中的2个或者一个匹配2次(|||) 用来表示多个字符串中的一个。(|||){n}用来表示多个字符串中的n个。:下图中,匹配的2个字符可以是同一字符串,也可以不是,例如abab,或efcd都匹配(ab|cd|ef){2}。3)匹配多个字符串中的一个字符串2次\number用来表示前面的()对应的group的匹配的结果。:下图中只能是svsv,abab或cdcd才匹配(sv|ab|cd)\1{1}, sva 阅读全文
posted @ 2011-12-19 17:34 iTech 阅读(1702) 评论(0) 推荐(0) 编辑
摘要: 一 Open Build Service(OBS)主页:http://openbuildservice.org/Open Build Service(OBS)是开放的完整的软件发布开发平台。他提供了基础架构来创建软件发布包,它支持广泛的操作系统和硬件架构,同时也支持插件(add-ons),应用镜像(appliance images)或整个Linux的发布包。 OBS提供了工具集来协作地工作,支持访问权限,合并请求和审查功能。用户可以通过web接口来方便地访问OBS,同时OBS也支持命令行或API访问。 OBS不是使用不同硬件的compiler farms来为不同架构或多种Linux(Fedor 阅读全文
posted @ 2011-12-14 17:35 iTech 阅读(2761) 评论(0) 推荐(1) 编辑
摘要: 平时用的不多的或者确实本身就有点模糊的,非常感谢面试官的解释,这里记录下:文件权限 4755的涵义 = 文件权限中s/S的意义?chmod是Linux下设置文件权限的命令,后面的数字表示不同用户或用户组的权限。一般是三个数字:第一个数字表示文件所有者的权限第二个数字表示与文件所有者同属一个用户组的其他用户的权限第三个数字表示其它用户组的权限权限分为三种:读(r=4),写(w=2),执行(x=1)。综合起来还有可读可执行(rx=5=4+1)、可读可写(rw=6=4+2)、可读可写可执行(rwx=7=4+2+1)。所以,chmod 755 设置用户的权限为:1.文件所有者可读可写可执行 2.与文件 阅读全文
posted @ 2011-11-28 11:18 iTech 阅读(5533) 评论(0) 推荐(1) 编辑
摘要: 主页:http://jetty.codehaus.org/jetty/参考自:http://blog.csdn.net/zhaozheng7758/article/details/6101346http://www.cnblogs.com/lexus/archive/2011/08/23/2150191.htmlhttp://www.cnblogs.com/yangchao/archive/2011/03/26/2044393.htmlhttp://www.ibm.com/developerworks/cn/web/wa-lo-jetty/一 Jetty是什么?Jetty是一个用Java实现的 阅读全文
posted @ 2011-11-27 18:51 iTech 阅读(9032) 评论(0) 推荐(0) 编辑
摘要: Jenkins入门系列的文章,快速地了解和使用Jenkins。 阅读全文
posted @ 2011-11-23 12:38 iTech 阅读(215121) 评论(13) 推荐(30) 编辑
摘要: Jenkins整体的插件: Rebuild PluginSlave Setup PluginBackup PluginDependency Graph View Plugin 其他的有用的:Cppcheck PluginStatic Code Analysis Plug-insDoxygen PluginNUnit Plugin xUnit PluginJIRA PluginBugzilla Plugin Trac Plugin等等 阅读全文
posted @ 2011-11-23 11:23 iTech 阅读(10826) 评论(0) 推荐(0) 编辑
摘要: 一 dashboard插件 Dashboard View用来自定义自己的主页,例如对下列的jenkins的主页自定义dashboard来只显示自己感兴趣的job:二 Wall display 用来将jobs的状态更加直观地显示在大屏幕上。 例如将view MyDashboard显示在大屏幕上如下:+在MyDashboard状态下点击wall display进入完! 阅读全文
posted @ 2011-11-22 16:56 iTech 阅读(8045) 评论(0) 推荐(0) 编辑
摘要: deploy插件: Deploy Plugindeploy插件支持将War/Jar部署到远程的应用服务器上,例如Tomcat,JBoss,Glassfish。正在寻找或开发.NET web 应用的自动发布插件。如何回滚或重新部署先前的build:0) 需要被deploy的job的结果要存档,例如JavaHelloWorld的设置如下:1) 安装Copy Artifact Plugin;2) 创建一个job,在需要的时候手动启动,new job -> build a free-style software project,例如创建DeployJavaHelloWorld来deploy Ja 阅读全文
posted @ 2011-11-21 17:37 iTech 阅读(20447) 评论(0) 推荐(2) 编辑
摘要: Publish系列插件用来将build的结果发布到Windows,Linux,FTP共享。 Publish Over CIFS Plugin Publish Over FTP Plugin Publish Over S... 阅读全文
posted @ 2011-11-21 17:05 iTech 阅读(16218) 评论(0) 推荐(0) 编辑
摘要: 如果我们使用VShpere 来管理所有的build机器,则使用VSphere Cloud 插件使得虚拟机的管理更加简单,且能够更好地利用VSphere的资源。VShphere Cloud插件使得Jenkins可以控制VMWare VShpere中的虚拟机。可以配置Jenkins的slave为虚拟机,且可以指定snapshot的名字。Jenkins将自动地恢复到设置的snapshot,然后启动虚拟机作为slave来开始build。在build结束后Jenkins将自动地关闭slave,且恢复到指定的snapshot。1)首先需要配置VShpere server,在Jenkins的Configur 阅读全文
posted @ 2011-11-21 12:17 iTech 阅读(3855) 评论(0) 推荐(0) 编辑
摘要: Workspace Cleanup Plugin Copy To Slave Plugin一 workspace cleanup 插件用来在build开始前或build完成后清理workspace。还可以Post-build actions中设置delete workspace when build done。二 Copy to slave 插件用来将文件自动地从master上拷贝到slave,或从slave拷贝回master。使用情况:1)在build前自动地将build需要的文件从m... 阅读全文
posted @ 2011-11-21 11:39 iTech 阅读(10389) 评论(0) 推荐(0) 编辑
摘要: 一 Master/Slave的Node Properties用来定义slave特定的变量,例如很多的命令所在的路径。 二 job中的build parameter设置后在build启动的时候提示修改也可以使用默认值。例如启动改build的时候决定是build release还是debug。启动build时提示如下:三 EnvInject插件需要手动安装此插件,用来对job定义环境变量,还可以定义的ob的step来在build的过程中修改环境变量,例如为job定义公共的post location:在job的step中修改变量,例如修改buildplatform的值:四 运行结果如下:参考:Env 阅读全文
posted @ 2011-11-18 15:33 iTech 阅读(22155) 评论(0) 推荐(0) 编辑
摘要: 一 Jenkins内置的buildtoolsJenkins已经内置了Ant|Maven|Windows batch|Shell(Perl,Python)的支持。二 其他的buildtools cmakebuilder Plugin : 支持cmake的构建; Copy Artifact Plugin : 拷贝依赖的组件; Job Exporter Plugin : 将当前的运行参数导出到属性文件, 可以供以后的步骤调用;MSBuild Plugin: 使用MSBuild来构建.NET工程;NAnt... 阅读全文
posted @ 2011-11-17 17:01 iTech 阅读(14195) 评论(1) 推荐(0) 编辑
摘要: 一 Jenkins内置的trigger插件1) build after other projects are built 可以设置多个依赖的jobs,当任意一个依赖的jobs成功后启动此build。 多个依赖的jobs间使用,隔开。2) Trigger builds remotely (e.g., from scripts)在Authentication Token中指定TOKEN_NAME,然后可以通过连接JENKINS_URL/job/JOBNAME/build?token=TOKEN_NAME来启动build。3) build periodically在schedule中设置,语法类似于 阅读全文
posted @ 2011-11-17 14:27 iTech 阅读(15693) 评论(0) 推荐(0) 编辑
摘要: Perforce Plugin,在Jenkins的管理页面的插件管理下面安装Perforce插件,然后重启Jenkins。一 使用perforce插件来build 对job的设置如下图:job执行后的log如下:可以看到Jenkins在执行的过程中创建了新的clientspec,新的clientspec是拷贝自上面参数workspace设置的clientspec,且修改了新的clientroot目录,其中的view是来自上面参数view->mapping中的设置。如下:二 使用perforce插件的poll功能来触发build配置如下:查看如下: 三 使用perforce插件在Jenki 阅读全文
posted @ 2011-11-15 15:42 iTech 阅读(9787) 评论(0) 推荐(0) 编辑
摘要: 一 Jenkins的授权和访问控制默认地Jenkins不包含任何的安全检查,任何人可以修改Jenkins设置,job和启动build等。显然地在大规模的公司需要多个部门一起协调工作的时候,没有任何安全检查会带来很多的问题。 我们可以通过以下2方面来增强Jenkins的安全:1) Security Realm,用来决定用户名和密码,且指定用户属于哪个组;2) Authorization Strategy,用来决定用户对那些资源有访问权限;在Manage Jenkins -> Configure System -> Enable Security 下可以看到可以使用多种方式来增强Jen 阅读全文
posted @ 2011-11-15 10:57 iTech 阅读(47939) 评论(0) 推荐(0) 编辑
上一页 1 ··· 5 6 7 8 9 10 11 12 13 ··· 24 下一页