Welcome 微信登录
编程资源 图片资源库 蚂蚁家优选 PDF转换器

首页 / 操作系统 / Linux

Python调用Ant构建时根据构建状态来决定命令行退出状态

Python调用Ant构建时根据构建状态来决定命令行退出状态

在使用python执行Ant构建时遇到的问题:使用os.system()调用Ant构建时,不论构建成功还是失败(BUILD SUCCESSFUL/BUILD FAILED),命令行的总是正常退出。要解决问题:首先想到的是获取ant命令的返回值,根据返回值来决定命令行的退出状态(0或非0,0代表正常退出)查阅相关资料,得知python调用系统命令的函数有:os.system、os.popen、commands.getstatusoutput/getstatu...
C语言-遍历pci设备

C语言-遍历pci设备

目录前言pci简介后记前言最近楼主比较苦逼啊,主管布置了一道访问pci的作业,这个作业使用io方式还可以非常浪地将所有的东西都给读取出来,虽然不能读取出pci-e设备的所有信息,但是还是可以将256位的其他东西给读出来的。本文将先从io访问模式进行对pci访问的设置,在这里我所使用的包含了dos和Linux,这样可以看到这2个的系统代码的不同。pci简介PCI总线是一种高性能32位或者64位的多路复用地址或者数据行的总线。相当于现实生活中的公路,是所谓的信...
Android程序员不可错过的十款实用工具

Android程序员不可错过的十款实用工具

现在一起来看看Android开发人员不可错过的十款在线工具。这份清单当中包含与这些测试工具、框架以及其它重要资源相关的概述信息,希望能够帮助大家更好地完成日常工作。闲言少叙,咱们切入正题。框架:1) PhoneGapPhoneGap是一款跨平台免费开源移动应用开发框架。这套框架允许大家利用各类主 流Web技术开发自己的移动应用程序,具体包括HTML、CSS以及JavaScript。HealthTap、Rormix以及Snow Buddy正是利用PhoneG...
免费工具检测Hacking Team间谍软件

免费工具检测Hacking Team间谍软件

在意大利公司Hacking Team的间谍软件源代码曝光之后,IT安全公司 Rook Security发布了一个免费工具Milano帮助你快速检测系统是否被秘密植入了Hacking Team的恶意程序。Milano提供了两个选项:快速扫描和深度扫描,它主要是通过文件名识别Hacking Team的程序。Facebook 也更新了它的开源系统分析工具osquery,提供特定的查询包去查询了Hacking Team的间谍软件。osquery支持OS X 和Li...
IO的多路复用和信号驱动

IO的多路复用和信号驱动

Linux为多路复用IO提供了较多的接口,有select(),pselect(),poll()的方式,继承自BSD和System V 两大派系。 select模型比较简单,“轮询”检测fd_set的状态,然后再采取相应的措施。 信号驱动模型有必要仔细研究一下,一般有如下步骤:设置安装函数,信号是驱动信号是SIGIO(最好使用sigaction的方式,方便设置flag为SA_RESTART,因为client中读取终端的syscal...
Linux下5种IO模型的小结

Linux下5种IO模型的小结

概述 接触网络编程,我们时常会与各种与IO相关的概念打交道:同步(Synchronous)、异步(ASynchronous)、阻塞(blocking)和非阻塞(non-blocking)。关于概念的区别看到一位朋友(链接)打了一个比较形象的比喻:你打电话问书店老板有没有《分布式系统》这本书,如果是同步通信机制,书店老板会说,你稍等,”我查一下",然后开始查啊查,等查好了(可能是5秒,也可能是一天)告诉你结果(返回结果)。而异步通信机制,书店老...
怎样理解阻塞非阻塞与同步异步的区别?

怎样理解阻塞非阻塞与同步异步的区别?

“阻塞”与"非阻塞"与"同步"与“异步"不能简单的从字面理解,提供一个从分布式系统角度的回答。1.同步与异步同步和异步关注的是消息通信机制 (synchronous communication/ asynchronous communication)所谓同步,就是在发出一个*调用*时,在没有得到结果之前,该*调用*就不返回。但是一旦调用返回,就得到返回值了。换句话说,就是由*调用者*主动等待这个*调用*的结果。而异步则是...
PHP 安全编程建议

PHP 安全编程建议

简介要提供互联网服务,当你在开发代码的时候必须时刻保持安全意识。可能大部分 PHP 脚本都对安全问题都不在意,这很大程度上是因为有大量的无经验程序员在使用这门语言。但是,没有理由让你因为对你的代码的不确定性而导致不一致的安全策略。当你在服务器上放任何涉及到钱的东西时,就有可能会有人尝试破解它。创建一个论坛程序或者任何形式的购物车,被攻击的可能性就上升到了无穷大。PHP 7 ,你值得拥有 http://www.linuxidc.com/Linux/2015-...
Xcode 7 中的 UI 测试功能

Xcode 7 中的 UI 测试功能

苹果公司终于决定在今年的 WWDC 上对用户界面进行加倍测试,让我们深入到 API 看看我们能发现什么.背景我从事于 IOS 测试已经有几个年头了,在进入 BeerMenus 之前,我在 Pivotal 呆了两年,Pivots, 我们更愿意这样被称呼, 严谨测试.。作为测试驱动开发公司(或者 TDD 公司), Pivots花时间来测试每一个角落裂缝。尽管代码的覆盖率并不是最优先级的,它们很容易包含95%,并不全是这样的项目。Cedar回到 Xcode 4,...
设计模式学习之——命令模式

设计模式学习之——命令模式

定义:命令模式:将一个请求封装为一个对象,从而使你可用冉的请求对客户进行参数化;对请求排队或记录请求日志,以及支持课撤销的操作。UML: 命令模式涉及到五个角色,它们分别是: 客户端(Client)角色:创建一个具体命令(ConcreteCommand)对象并确定其接收者。 命令(Command)角色:声明了一个给所有具体命令类的抽象接口。 具体命令(ConcreteCommand)角色:定义一个接收者和行为之间的弱耦合;实现execute()方法,...
设计模式学习之职责链模式

设计模式学习之职责链模式

1、定义:职责连模式(Chain of Responsibility),使多个对象都有机会处理请求,从而避免请求的发送者和接收者之间的耦合关系,将这个对象连成一条链,并沿着链传递该请求,直到由一个对象处理它为止。2、UMLConcreteHandler1、ConcreteHandler2 :具体处理者类,处理它所负责的请求,可访问它的后继者,如果可处理该请求,就处理之,否则就将该请求转发给他的后继者。3、职责链的好处关键在与当客户提交一个请求时,请求是沿着...
设计模式之中介者模式

设计模式之中介者模式

1、定义中介者模式(Mediator),用一个中介对象来封装一系列的对象交互。中介者使各个对象不需要显式地相互引用,从而使耦合松散,而且可以独立的改变他们之间的交互。2、UML各个类说明:Mediator:抽象终结者,定义了同事对象到终结者对象的接口Colleague:抽象同事类ConcreteMediator:具体中介者对象,实现抽象类的方法,它需要知道所有具体同事类,并从具体同事接收消息,向具体同事对象发出命令。ConcreteColleague:具体...
设计模式之享元模式——初学

设计模式之享元模式——初学

1、引言一些大型的博客网站、电子商务网站,里面每一个博客或者商家都可以理解为一个小的网站,他们是如何做到的呢,如何实现同样的核心代码,不同的用户用有不同的效果,实现类型的网站得到复用而不是复制相同的代码呢?那些博客网站、电子商务网站是利用用户ID的不同,来区别不同的用户,具体的数据和模板可以不同,但代码核心和数据库却是共享的。假如很多项目到来时,他们需要的网站结构相似度很高,而且都不是那种高访问量的网站,如果分成多个虚拟空间来处理,相当于一个相同网站的实例...
设计模式之访问者模式——初学

设计模式之访问者模式——初学

1、定义访问者模式(Vistor),表示一个作用于某对象结构中的各个元素的操作,它使你可以在不改变各个元素的类的前提下定义作用于这些元素的新操作。2、UML类解析:Vistor:为每个对象结构中ConcreteElememt的每个类声明一个Visit操作ConcreteVistor1、ConcreteVistor2:具体访问者,实现每个由Visitor声明的操作,每个操作实现算法的一部分,而该算法片段乃是以允许访问者访问为元素。ObjectStructur...
设计模式之解释器模式 ——初学

设计模式之解释器模式 ——初学

1、定义解释器模式(interpreter),给定一个语言,定义它的文法的一种表示,并定义一个解释器,这个解释器使用该表示来解释语句中的句子。2、解决的问题如果一种特定类型的问题发生的频率足够高,那么可能就值得将该问题的各个实例表述为一个简单语句中的句子,这样就可以构造一个解释器,该解释器通过解释这些句子来解决该问题。 比方说,我们通常在字符串中搜索匹配的字符或判断一个字符串是否符合我们规定的格式,我们会用到正则表达式,正则表达式就是解释器模式的一种...
设计模式之单例模式

设计模式之单例模式

方法的提炼和重要,同样的代码加入出现了5遍,只要我们稍微一修改,我们要修改的就是5个地方,可能我们有时候改了几个地方,有1、2个地方漏改了,方法的提炼有助于开发的维护和扩展。好吧,扯远了,回到我们的正题,单例模式。一、定义:单例模式(Singleton),保证一个类仅有一个实例,并提供一个访问它的全局访问点。通常我们可以让一个全局变量使得一个对象被访问,但它不能防止你的实例化多个对象,一个最好的方法就是,让类自身负责保存它的唯一实例。这个类可以保证没有其他...
设计模式之备忘录模式

设计模式之备忘录模式

问题引入,把‘游戏角色’的存取状态细节封装起来,而且最好是封装在外部的类当中,以体现职责分离。备忘录模式(Memento),在不破坏封装性的前提下,捕获一个对象的内部状态,并在该对象之外保存这个状态。这样以后就可将该对象回复到原先保存的状态。备忘录模式的结构图涉及角色:1.Originator(发起人):负责创建一个备忘录Memento,用以记录当前时刻自身的内部状态,并可使用备忘录恢复内部状态。Originator可以根据需要决定...
Linux下Shell脚本编程

Linux下Shell脚本编程

1、 shell脚本是什么它是一种脚本语言,并非编程语言。可以使用一些逻辑判断、循环等语法。可以自定义子函数,是系统命令的集合。shell脚本可以实现自动化运维,大大增加我们的工作效率。2、shell脚本结构以及执行方法开头行指定bash路径: #! /bin/bash以#开头的行作为解释说明#注释自己的脚本内容,方便自己查阅;utf8字符集,支持中文;脚本的名字以.sh结尾,用于区分这是一个shell脚本执行脚本方式有两种:chmod a+x 1.sh ...
Java 8 Lambda实现原理分析

Java 8 Lambda实现原理分析

为了支持函数式编程,Java 8引入了Lambda表达式,那么在Java 8中到底是如何实现Lambda表达式的呢? Lambda表达式经过编译之后,到底会生成什么东西呢? 在没有深入分析前,让我们先想一想,Java 8中每一个Lambda表达式必须有一个函数式接口与之对应,函数式接口与普通接口的区别,可以参考前面的内容,那么你或许在想Lambda表达式是不是转化成与之对应的函数式接口的一个实现类呢,然后通过多态的方式调用子类的实现呢,如下面代码是一个La...
JVM内存堆布局图解分析

JVM内存堆布局图解分析

JAVA能够实现跨平台的一个根本原因,是定义了class文件的格式标准,凡是实现该标准的JVM都能够加载并解释该class文件,据此也可以知道,为啥Java语言的执行速度比C/C++语言执行的速度要慢了,当然原因肯定不止这一个,如在JVM中没有数据寄存器,指令集使用的是栈来保存中间数据...等,尽管Java的贡献者们为执行速度的提高想了各种办法,如JIT、动态编译器等,以下是Leetcode中一道题目用不同的语言实现时的执行性能对比图...以下是JVM的一...
<< 3731 3732 3733 3734 3735 3736 3737 3738 3739 3740 >>