Ruby 技能图谱

优质
小牛编辑
141浏览
2023-12-01

说明: 本图谱只捡重点的列举,并非包含全部。文中所列举或没有列举的资源信息都可以在awesome-ruby中找到。

Ruby应用生态

Web开发

  • Rails全栈式Web框架
  • 轻量级Web开发框架(Sinatra,Cuba等)
  • 异步无阻塞Ruby Server框架:Goliath

自动化测试

  • RSpec: BDD测试框架
  • Cucumber: BDD验收测试框架
  • Watir: Web应用测试工具

安全

  • Metasploit:也许是最好的渗透测试框架
  • Gitrob: Github敏感信息收集工具

云计算基础

  • chef: 自动化运维工具
  • puppet: 自动化运维工具
  • fog: 强大的云服务库

嵌入式

  • mruby: Ruby的轻量版本,为嵌入式开发而生
  • mruby-cli: 为linux等平台构建本地命令行应用

Web开发需要学习的主力框架

  • Rails: 全栈Web开发框架
  • Sinatra: 轻量级的Web开发框架
  • Goliath: 异步非阻塞Ruby Server框架

彻底掌握Ruby所需要的「道」与「术」

「道」

  • 面向对象基础
  • 深入理解Ruby背后的设计哲学和设计原则
  • 深入理解Ruby对象模型
  • 深入理解block和闭包
  • 深入理解Ruby的作用域
  • 深入理解Ruby的方法查找机制
  • 深入理解Ruby的内存管理(变量和对象内存布局,GC算法和工作机制)
  • 进阶:有余力的可以研究Ruby底层的实现
  • 进阶:通过学习lisp(Elixir亦可),来反观Ruby中block(函数式编程风格),以及元编程的实现(Lisp是暴露AST的宏,Ruby是利用Block和作用域隐式操作AST的宏)

「术」

  • 各种具体类型的处理方法和方式,比如字符串和相关编码、正则表达式、IO等处理
  • 并发与并行:
    • 彻底了解Ruby的GIL及其机制
    • 彻底了解Ruby线程的发展变化及其工作机制(从用户线程到本地线程)
    • 彻底了解Fiber及其应用(重点在Goliath中的应用,终结异步回调地狱)
    • 彻底了解进程相关(重点在各种Ruby多进程应用服务器的工作机制)
    • 尝试了解基于actor模型的Ruby并发库Celluloid。
  • 社区中各种Gem的实现原理及其用法

学习资源