weekly of 20180617

工具技巧

  • 写好shell脚本的13个技巧 : 很多建议都非常中肯,有点琐碎,去能真正提供好用户体验, 具体如下(个人感觉最后有一个shell的lib自动提供如下的能力) :
    1. 提供–help标记
    2. 检查所有命令的可用性
    3. 独立于当前工作目录
    4. 如何读取输入:环境变量 vs. 标记
    5. 打印对系统执行的所有操作
    6. 如果有必要,提供–silent选项
    7. 重新开启显示
    8. 用动画的方式显示进度
    9. 用颜色编码输出
    10. 出现错误立即退出脚本
    11. 自己执行清理工作
    12. 在退出时使用不同的错误码
    13. 在结束时打印一个新行
  • Meet the GitLab Web IDE : 介绍Gitlab的web IDE背后设计的思路和发展历程,整体感觉集Web IDE集成在gitlab可以对开发流程提供的想象空间很大

  • Carbon : “Create and share beautiful images of your source code”, 其可以生成渲染出好看的代码截图(不知道有什么用~)

系统设计

  • Caching beyond RAM: the case for NVMe : 本文提供了一个memcached的新的解决方案,通过exstore机制,将部分缓存的value数据存储在独立的存储引擎上面(比如SSD或者本文的NVMe存储介质),数据表明,其性价比和性能还是非常可观的, 其中的Extstore值得关注

  • Twitter meets TensorFlow : mark, 介绍twitter的tensorflow的接入历程

  • Accelerate large-scale applications with BOLT | Engineering Blog | Facebook Code : 现在多数软件系统的体积都会很大,这可能会导致其不能被CPU cache命中,进而会导致诸如Instruction Starvation的问题, 所以Binary Optimization and Layout Tool就有一定的发展空间;本文介绍了Facebook的BOLT的解决方案, 其通过链接优化,profile采集进而进行二进制优化,来提升整体程序的性能,支持多种CPU架构和编译器,可以感觉Facebook在基础技术的优化做的还是非常精细的

专题topic

其他