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

首页 / 操作系统 / Linux

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、职责链的好处关键在与当客户提交一个请求时,请求是沿着...
5个技巧 提高你的Linux桌面系统安全

5个技巧 提高你的Linux桌面系统安全

1、选择全磁盘加密(FDE). 如今,Linux操作系统在服务器中的应用逐渐广泛,而随之而来的就是面临的系统安全问题。越来越多的电脑犯罪分子学会了如何入侵Linux服务器,来窃取数据。如果你是运行的Linux桌面,那么该如何保护系统的安全呢? 这里有五个简单的步骤,以提高你的Linux系统的安全性。 1.选择全磁盘加密(FDE) 无论哪种操作系统所使用,我们建议您加密整个硬盘。 如果你对饿笔记本电脑丢失或被盗,用一个简单的登陆密码并不能保护你的数...
设计模式之中介者模式

设计模式之中介者模式

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

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

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

Xen拒绝服务漏洞(CVE-2015-4105)

Xen拒绝服务漏洞(CVE-2015-4105)发布日期:2015-06-02更新日期:2015-06-04受影响系统:XenSource Xen 3.3.x-4.5.x描述:CVE(CAN) ID: CVE-2015-4105Xen是一个开源虚拟机监视器,由剑桥大学开发。 Xen 3.3.x-4.5.x版本,启用了PCI MSI-X直通错误消息的记录,这可使本地x86客户端通过某些无效的操作,利用此漏洞造成拒绝服务(主机磁盘耗尽)。<*来源:Jan...
设计模式之访问者模式——初学

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

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

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

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