Rake::TestTask 介绍
李哲 — MAY 28, 2015 通常我们创建一个新的项目的时候,会建立一个test或者spec的文件夹来存放测试的文件,运行这些测试需要单独的命令,比如在项目目录下执行rspec .或者ruby test.rb等等,这些测试的工具中大多也都提供了更方便的方式来运行这些测试,但是如果你喜欢用Rake的话,那就有另外一个选择Rak...
Ruby探针的基本实现原理
李哲 — MAY 13, 2015语言本身Ruby语言支持语法级别的系统,框架,甚至语言本身的方法复写,一般叫做元编程(meta programming), 此基础之上还有一些术语为mixin,方法的动态定义,运行时类改写等等,这些技术和机制可以让语言本身就能实 现其他语言需要字...
JAVA 异常对于性能的影响
陶炳哲 — MAY 12, 2015 在对OneAPM的客户做技术支持时,我们常常会看到很多客户根本没意识到的异常。在消除了这些异常之后,代码运行速度与以前相比大幅提升。这让我们产生一种猜测,就是在代码里面使用异常会带来显著的性能开销。因为异常是错误情况处理的重要组成部分,摒弃是不太可能的,所以我们需要衡量异...
运维神器-分分钟定位500错误!
做过运维的小伙伴都知道,当用户浏览器上出现白屏、应用端API得到500错误、取到数据为空是非常崩溃的一件事情。500错误是服务器端非常常见的一个错误,有可能是开发时导致的语法错误,也有可能是文件引用导致的错误。当用户反馈了 500 错误之后,而我们运维童鞋们面对一个集群的后端服务器,如果没有方便的工具管理和...
NodeJS异常处理uncaughtException篇
王龑 — APRIL 08, 2015很多 NodeJS 的开发者在抱怨异常处理太麻烦,我们会通过一些列博客梳理一下NodeJS中常见的异常处理的手段。和大多数编程语言一样,在 NodeJS 里可以通过`throw`抛出一个异常:```throw new Error('Catch me');```为了捕获这个异常需要把代码包在`Try Catch`中:```try{ ...
为何响应时间常被测错
陶炳哲 — APRIL 09, 2015##为何响应时间常被测错响应时间在许多情况下都是性能分析的基础。它们处于预期的界限内时,一切正常;而一旦过高,我们就得开始优化应用。因此响应时间在性能监测和分析中扮演着核心角色。在虚拟化和云环境中,它们也是您能得到的最准确的性能指标。但很多情况下,人们却以错误的方式测...
翻译 - NodeJS错误处理最佳实践
王龑 — APRIL 13, 2015**NodeJS的错误处理让人痛苦,在很长的一段时间里,大量的错误被放任不管。但是要想建立一个健壮的Node.js程序就必须正确的处理这些错误,而且这并不难学。如果你实在没有耐心,那就直接绕过长篇大论跳到“总结”部分吧。**原文这篇文章会回答NodeJS初学者的若干问题:>* 我写的函数...
Python - 装饰器使用过程中的误区
曾灵敏 — APRIL 27, 2015##装饰器基本概念大家都知道装饰器是一个很著名的设计模式,经常被用于AOP(面向切面编程)的场景,较为经典的有插入日志,性能测试,事务处理,` Web权限校验 `, `Cache `等。Python语言本身提供了装饰器语法(@),典型的装饰器实现如下:``` @function_wr...
Python Tricks 若干
赵斌 — APRIL 29, 2015在 python 代码中可以看到一些常见的 trick,在这里做一个简单的小结。##json 字符串格式化在开发 web 应用的时候经常会用到 json 字符串,但是一段比较长的 json 字符串是可读性较差的,不容易看出来里面结构的。 这时候就可以用 python 来把 json 字符串漂亮的打印出来。```root@Ex...
Ruby中的语句中断和返回
李哲 — APRIL 28, 2015`return`,`break`,`next` 这几个关键字的使用都涉及到跳出作用域的问题,而他们的不同 则在于不同的关键字跳出去的目的作用域的不同,因为有代码块则导致有一些地方需要格外注意。***return***常用方式通常情况下的`return`语句和大家理解的意思是相同的。```Rupydef m1 param&nbs...