Ruby 课程大纲

基础入门

  • Ruby 简介和特性
  • 安装 Ruby 和开发环境设置
  • IRB (交互式 Ruby)
  • 基本语法和数据类型
  • 变量和常量

控制结构

  • 条件语句 (if, unless, case)
  • 循环 (while, until, for, each)
  • 迭代器和块

方法和块

  • 方法定义和调用
  • 参数和返回值
  • 块、Proc 和 Lambda

数组和哈希

  • 数组操作
  • 哈希表操作
  • 枚举模块和方法

字符串和符号

  • 字符串操作和插值
  • 符号的使用和优势

面向对象编程

  • 类和对象
  • 继承和模块
  • 方法可见性
  • 类方法和实例方法
  • 元编程基础

模块和混入

  • 模块定义和使用
  • 混入 (Mixin) 技术
  • 命名空间

文件和 I/O 操作

  • 文件读写
  • 目录操作
  • 序列化和反序列化

异常处理

  • 异常类层次结构
  • 抛出和捕获异常
  • 自定义异常

Ruby 高级特性

  • 闭包和作用域
  • 元编程技术
  • 动态方法定义
  • 钩子方法

并发和线程

  • 线程基础
  • 线程同步
  • 纤程 (Fiber)

测试

  • RSpec 测试框架
  • 测试驱动开发 (TDD)
  • 模拟和存根

Ruby on Rails 基础

  • MVC 架构
  • 路由系统
  • ActiveRecord 基础
  • 视图和模板

数据库操作

  • ActiveRecord 查询接口
  • 数据库迁移
  • 关联关系

Web 开发

  • Rack 中间件
  • Sinatra 微框架
  • API 开发

部署和运维

  • Capistrano 部署
  • Passenger 和 Puma 服务器
  • 性能监控和优化

Ruby 生态系统

  • RubyGems 包管理
  • Bundler 依赖管理
  • 常用 gem 介绍

设计模式和最佳实践

  • Ruby 设计模式
  • 代码风格指南
  • 重构技巧

函数式编程概念

  • 不可变性
  • 高阶函数
  • 函数组合

项目实战

  • 命令行工具开发
  • Web 应用开发
  • 数据处理脚本

Ruby 社区和资源

  • 开源贡献
  • 会议和聚会
  • 学习资源和持续进步