玩转编程语言:基于Node.js构建自定义代码生成器

摘要

在真实的软件开发过程中,无论使用何种编程开发语言,都不可避免的会遇到代码重复的问题。如何处理重复的问题,可以选择情怀(手动再敲一遍),也可以选择 Copy-to-Copy ,或者选择代码生成器。正如在之前的文章 我的写作工具链 中,我介绍过一种 Blog 生成器 hexo ,可以将 Markdown 格式的内容自动生成方便发布的 HTML 格式。本文将还原 hexo 的运行原理,为解决类似问题提供一些参考思路。

示例:通过 Markdown 文件声明模板(源代码),通过脚本生成 HTML 文件(目标代码),并预览代码生成效果。

继续阅读全文 »

Linux 性能诊断:快速检查单(Netflix版)

摘要

  • 快速检查单QRH

请大家记住这样一个思路:先把大石头移开。大石头移开后,中等大小的石头可能就显现出来了。性能调优的原则就是先解决大问题,然后解决剩余问题中的大问题。在解决了大问题后,通常隐藏在它背后的问题也会暴露出来。也就是说,解决了前面的瓶颈后,下一个瓶颈就显现出来了。—— 《图解性能优化》

继续阅读全文 »

Linux 性能诊断:Web 应用性能优化

摘要

  • 一、常见性能优化要求
  • 二、优化分析过程
  • 三、性能分析工具箱
  • 四、系统基础问题检查

    万老师多年前的一篇内部分享,发布出来供有需要的同学参考。虽然今天的应用系统的复杂度跟过去会有所不同,性能观测工具、数据规模也不可以同日而语,但是正所谓一切历史都是当代史(“Ogni storia e la storia contemporanea”),厘清过去的问题是为了更好地理解现在和未来。为了保持原貌,编辑过程中基本遵循原文,之后也不再更新。

继续阅读全文 »