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

首页 / 操作系统 / Linux

从底层理解Python的执行

从底层理解Python的执行

摘要:是否想在Python解释器的内部晃悠一圈?是不是想实现一个Python代码执行的追踪器?没有基础?不要怕,这篇文章让你初窥Python底层的奥妙。【编者按】下面博文将带你创建一个字节码级别的追踪API以追踪Python的一些内部机制,比如类似YIELDVALUE、YIELDFROM操作码的实现,推式构造列表(List Comprehensions)、生成器表达式(generator expressions)以及其他一些有趣Python的编译。以下为译...
Red语言:向编程复杂性反击

Red语言:向编程复杂性反击

你是否曾对软件编程栈的混乱感到过困惑?错综复杂和臃肿的解决方案无处不在,但无论是在当代软件的构建还是维护环节,很少有架构师和程序员能真正意识到由此带来的成本。Red的存在正是为了反击这种复杂性,这是它最主要的设计目的。没错,在现代软件世界中,“简单”的工具和简单的解决方案仍是可以企及的。这是个所有人都竭力掖藏的行业秘密(这可不是什么好事儿),但自1997年以来,解决方案其实已由Rebol编程语言给出。Red继承自Rebol谱系,并尝...
Wi-Fi 漏洞让 Android 设备向攻击者敞开大门

Wi-Fi 漏洞让 Android 设备向攻击者敞开大门

阿里巴巴安全团队向Google安全团队报告发现了一个Wi-Fi组件wpa_supplicant的漏洞,主要影响Android, 但Windows和Linux设备也可能受影响。该漏洞有几分类似去年的Heartbleed漏洞,wpa_supplicant在使用管理帧解析 SSID信息时,没有正确验证传输数据的长度,因此存在缓冲区溢出漏洞,可能向攻击者暴露内存内容或允许攻击者向内存写入新数据。攻击者可利用该漏洞让 wpa_supplicant和Wi-Fi服务崩溃...
编程语言Red 0.5.4发布:新datatypes、异常处理和set操作

编程语言Red 0.5.4发布:新datatypes、异常处理和set操作

颇具内涵的Red语言LogoRed是一种可以运行于多种平台的全栈语言,它的语法主要继承于Rebol,同时在设计过程中借鉴了Scala和Lua的优点 。作为一门全栈语言,Red既可以用于高层级的编程,如DSL(Domain Specific Language),也可用于低层级的编程,如设备驱动。更多详情请看这篇文章:《Red语言:向编程复杂性反击》Red 0.5.4版本是一次重大的更新,带来了大量的新特性。接下来他将支持GUI,也可能会支持DSL。图为:Re...
将IDEA maven项目中src源代码下的xml等资源文件编译进classes文件夹

将IDEA maven项目中src源代码下的xml等资源文件编译进classes文件夹

如题,IDEA的maven项目中,默认源代码目录下的xml等资源文件并不会在编译的时候一块打包进classes文件夹,而是直接舍弃掉。如果使用的是Eclipse,Eclipse的src目录下的xml等资源文件在编译的时候会自动打包进输出到classes文件夹。Hibernate和Spring有时会将配置文件放置在src目录下,编译后要一块打包进classes文件夹,所以存在着需要将xml等资源文件放置在源代码目录下的需求。解决IDEA的这个问题有两种方式。...
Stuxnet的低级bug导致它意外曝光

Stuxnet的低级bug导致它意外曝光

在RSA 2015会议上,安全研究人员称Stuxnet蠕虫的一个低级的bug导致它意外曝光。Stuxnet蠕虫设计破坏伊朗核工厂铀浓缩离心机,其开发者被认为是美国和以色列。Stuxnet是设计尽可能长的潜伏在伊朗的计算机控制系统中,但一个编程错误使蠕虫扩散到了 Windows 95和Windows 98等不支持的操作系统上,导致电脑蓝屏死机,从而引起了怀疑,使它曝光于世界。研究人员称,Stuxnet的开发者错误的将and和or字符交换,导致蠕虫安装在任何W...
SpringMVC通过Redis实现缓存主页

SpringMVC通过Redis实现缓存主页

首先,缓存主页的目的并不一定是提高性能,而是减少数据库访问压力,有效推迟数据库I/O瓶颈的到来。实现主页缓存的方法有很多,但是鉴于项目中使用了Redis对数据库读写做了缓存,因此把顺便也就把主页也缓存了吧。实现思路编写一个过滤器,在过滤器中拦截对主页的访问请求。此时向Redis服务器查询主页html的缓存,如果有则直接返回给客户端,如果没有,则在过滤器中截获JSP的渲染结果,放到Redis缓存中,以供下次使用。我们设定缓存过期时间为10分钟。实现实现需要注...
Dnsmasq “setup_reply()”拒绝服务漏洞

Dnsmasq “setup_reply()”拒绝服务漏洞

Dnsmasq "setup_reply()"拒绝服务漏洞发布日期:2015-04-24更新日期:2015-04-27受影响系统:Dnsmasq Dnsmasq描述:CVE(CAN) ID: CVE-2015-3294Dnsmasq是轻型DNS转发器和DHCP服务器。Dnsmasq在实现上存在拒绝服务漏洞,通过构造的DNS请求包,远程用户利用此漏洞可读取进程内存内容,造成目标服务崩溃。<*来源:Nick Sampanis *>建议:厂商补丁:D...
awk转义序列与算术操作符

awk转义序列与算术操作符

可以使用表达式来存储、操作和检索数据,这些操作与sed中的有很大的区别,但这是大多数程序设计语言所具有的共同特性。一个表达式通过计算返回一个值。表达式由数字和字符串常量、变量、操作符、函数和正则表达式组成。我们在之前的文章中中详细介绍了正则表达式。在这一部分,我们将学习由常量、变量和操作符组成的表达式。常量有两种类型:字符串型或数字型( "red"或1)。字符串在表达式中必须用引号括起来。在字符串中可以使用在表7-1中列出的转义顺序。转义序列序列描述a报警...
awk赋值操作符

awk赋值操作符

一旦变量被赋予了一个值,那么就可以用这个变量名来引用这个值。下面的表达式表示将变量x的值和1相加并将结果赋给变量y:y = x + 1即计算x加1的值,并将结果赋给变量y。语句print y打印y的值。如果下面的一系列语句将出现在脚本中:x = 1y = x + 1print y那么y的值为2。我们可以将这3个语句减少为两个:x = 1print x + 1注意, print语句后面的x的值却仍为1。我们没有改变变量x的值,我们只是将它和1相加并打印结果。...
<< 2301 2302 2303 2304 2305 2306 2307 2308 2309 2310 >>