CodeRoadMap
首页路线题库资源库文章社区
CodeRoadMap

程序员的学习成长路线图。内容免费开放,登录后可同步路线图与课时进度。

由 程序员柏风 独立维护 · 关于作者

学习

  • 路线图
  • 课程
  • 面试题
  • 文章
  • 我

更多

  • 资源
  • 社区
  • 关于作者
  • 内容说明

© 2026 CodeRoadMap

津ICP备2026012044号-1·津公网安备12011002026155号·coderoadmap@126.com
多语言后端入门/课时/Ruby 入门
RawBlame
课时目录12 节

多语言后端入门

  1. 01多语言后端概览
  2. 02Go 入门
  3. 03Rust 入门
  4. 04C# 入门
  5. 05Ruby 入门
  6. 06语言对比
  7. 07并发模型
  8. 08包管理与工具链
  9. 09与 Java 互操作
  10. 10如何选择语言
  11. 11多语言微服务
  12. 12综合练习

Ruby 入门

Rails 生态;脚本与 Web。

30 分钟

Ruby 入门

Ruby 以 表达力强、开发者 happiness 著称;Web 侧 Rails 仍是快速产品验证的经典栈。相比 java-fundamentals 的显式类型与编译期检查,Ruby 动态类型、元编程、DSL 友好——读代码像读散文,跑起来靠测试与规范。后端角色多为 Rails API、后台任务、DevOps 脚本(Chef 历史),与 php-essentials 同属「脚本出身、Web 见长」一脉。

学习目标

  • 读懂 Ruby 类、模块、块(block)基本写法
  • 理解 Rails MVC 与 Spring MVC 的分工直觉
  • 说清 Ruby 在 2020s 后端招聘与存量系统中的位置

语法一瞥

class Track
  attr_accessor :slug, :title

  def initialize(slug, title)
    @slug = slug
    @title = title
  end

  def path
    "/tracks/#{@slug}"
  end
end

Track.new("java-fundamentals", "Java 语言基础").path
# => "/tracks/java-fundamentals"

块与 yield:迭代、回调的核心;类似 Java 8 lambda 但更无处不在。

[1, 2, 3].map { |n| n * 2 }  # => [2, 4, 6]

Rails 后端骨架

层RailsSpring 对照
路由config/routes.rb@RequestMapping
控制器TracksController@RestController
模型ActiveRecordJPA Entity
视图/APIjbuilder / JSON@ResponseBody

rails new api -api 可生成 纯 JSON API;与 nodejs-essentials 的 Express 一样 适合 CRUD 快启,复杂编排常拆微服务。

包管理与运行

  • RubyGems + Bundler:Gemfile 锁版本,类比 Bundler ≈ npm + package-lock(见 pl-ecosystem)
  • RVM / rbenv:多版本 Ruby,类比 jenv / SDKMAN
  • Sidekiq:Redis 后台任务,类比 Spring @Async + 队列

何时仍选 Ruby

  • Rails 存量:Shopify、GitHub 早期栈等案例
  • 创业 MVP:脚手架、Convention over Configuration
  • 内部工具:脚本、一次性 ETL

新团队纯 greenfield:常选 Go/Node/Java 之一;Ruby 优势在 已有 Rails 团队与 gem 生态。

练习

  • 安装 Ruby,irb 里跑 block 与 map
  • 浏览 Rails Guides 的 Routing 一节,画一张与 Spring MVC 对照表
  • 搜一个知名仍用 Rails 的产品,写一句后端职责

小结

Ruby = 动态表达 + Rails 约定;适合快启 Web 与维护 Rails 遗产,不是 Java 的直接替代品。 下一课横向语言对比。

加载本节练习…
← 上一课C# 入门下一课 →语言对比