05 2015 档案
摘要:# Rake::TestTask 介绍通常我们创建一个新的项目的时候,会建立一个`test`或者`spec`的文件夹来存放测试的文件,运行这些测试需要单独的命令,比如在项目目录下执行`rspec` .或者`ruby test.rb`等等,这些测试的工具中大多也都提供了更方便的方式来运行这些测试,但是...
阅读全文
摘要:王龑 — MAY 27, 2015原文连接 The Spy in the Sandbox – Practical Cache Attacks in Javascript相关论文可在 https://github.com/wyvernnot/cache_attack_in_javascript 下载作...
阅读全文
摘要:张超 — MAY 21, 2015经常有站长、开发者、运维疑惑:为什么我们的后台服务器很快,但是用户要看网页里面的内容却需要很长时间?我们在上一篇文章《怪兽大作战: 解析网站打开慢的原因》[http://news.yesky.com/prnews/420/58034920.shtml]中简单介绍了影...
阅读全文
摘要:李哲 — MAY 20, 2015原文地址:Metaprogramming Dynamic Methods: Using Public_send作者:Friends of The Web的开发者Vaidehi,OneAPM官方技术博客编译整理。![](http://imgs.xkcd.com/com...
阅读全文
摘要:APM研究院 2015/04/24 16:56 2013年,某权威机构提供一组数据显示:亚马逊每100毫秒延迟会使销售额下降1%;雅虎一秒钟服务器延迟导致收入下降2.8%;谷歌搜索结果页面放缓100毫秒到400毫秒,会使谷歌AdWords收入流失4500万到1.35亿美元。这些数据其实只说明了一...
阅读全文
摘要:曾灵敏 — MAY 18, 2015Python是一门优秀的语言,它能让你在短时间内通过极少量代码就能完成许多操作。不仅如此,它还轻松支持多任务处理,比如多进程。不喜欢Python的人经常会吐嘈Python运行太慢。但是,事实并非如此。尝试以下六个窍门,来为你的Python应用提速。##窍门一:关键...
阅读全文
摘要:李哲 — MAY 13, 2015##语言本身Ruby语言支持语法级别的系统,框架,甚至语言本身的方法复写,一般叫做元编程(meta programming), 此基础之上还有一些术语为mixin,方法的动态定义,运行时类改写等等,这些技术和机制可以让语言本身就能实 现其他语言需要字节码才能实现的功...
阅读全文
摘要:陶炳哲 — MAY 12, 2015在对OneAPM的客户做技术支持时,我们常常会看到很多客户根本没意识到的异常。在消除了这些异常之后,代码运行速度与以前相比大幅提升。这让我们产生一种猜测,就是在代码里面使用异常会带来显著的性能开销。因为异常是错误情况处理的重要组成部分,摒弃是不太可能的,所以我们需...
阅读全文
摘要:做过运维的小伙伴都知道,当用户浏览器上出现白屏、应用端API得到`500错误`、取到数据为空是非常崩溃的一件事情。500错误是服务器端非常常见的一个错误,有可能是开发时导致的语法错误,也有可能是文件引用导致的错误。当用户反馈了 500 错误之后,而我们运维童鞋们面对一个集群的后端服务器,如果没有方便...
阅读全文
只有注册用户登录后才能阅读该文。
摘要:赵斌 — APRIL 29, 2015在 python 代码中可以看到一些常见的 trick,在这里做一个简单的小结。##json 字符串格式化在开发 web 应用的时候经常会用到 json 字符串,但是一段比较长的 json 字符串是可读性较差的,不容易看出来里面结构的。 这时候就可以用 pyth...
阅读全文
摘要:李哲 — APRIL 28, 2015`return`,`break`,`next` 这几个关键字的使用都涉及到跳出作用域的问题,而他们的不同 则在于不同的关键字跳出去的目的作用域的不同,因为有代码块则导致有一些地方需要格外注意。***return***常用方式通常情况下的`return`语句和大家...
阅读全文
摘要:曾灵敏 — APRIL 27, 2015##装饰器基本概念大家都知道装饰器是一个很著名的设计模式,经常被用于AOP(面向切面编程)的场景,较为经典的有插入日志,性能测试,事务处理,` Web权限校验 `, `Cache `等。Python语言本身提供了装饰器语法(@),典型的装饰器实现如下:`...
阅读全文
摘要:王龑 — APRIL 13, 2015**NodeJS的错误处理让人痛苦,在很长的一段时间里,大量的错误被放任不管。但是要想建立一个健壮的Node.js程序就必须正确的处理这些错误,而且这并不难学。如果你实在没有耐心,那就直接绕过长篇大论跳到“总结”部分吧。**原文这篇文章会回答NodeJS初学者的...
阅读全文
摘要:陶炳哲 — APRIL 09, 2015##为何响应时间常被测错响应时间在许多情况下都是性能分析的基础。它们处于预期的界限内时,一切正常;而一旦过高,我们就得开始优化应用。因此响应时间在性能监测和分析中扮演着核心角色。在虚拟化和云环境中,它们也是您能得到的最准确的性能指标。但很多情况下,人们却以错误...
阅读全文
摘要:##看看如何调试Ruby的性能问题李哲 — APRIL 08, 2015###Ruby内置的profiler内置的profiler实现的很简单,在ruby2.2中只有150行代码,大家可以看看它的实现[profile.rb](https://github.com/ruby/ruby/blob/tru...
阅读全文
摘要:王龑 — APRIL 08, 2015很多 NodeJS 的开发者在抱怨异常处理太麻烦,我们会通过一些列博客梳理一下NodeJS中常见的异常处理的手段。和大多数编程语言一样,在 NodeJS 里可以通过`throw`抛出一个异常:```throw new Error('Catch me');```为...
阅读全文