Rails 《Rails in Action》已完成 35%

a112121788 · 2021年08月15日 · 最后由 a112121788 回复于 2021年08月27日 · 1808 次阅读

Rails 是什么

Rails 是一个基于模型-视图-控制器(MVC)模式 创建数据库支持的 Web 应用程序的框架。

理解 MVC 模式是理解 Rails 的关键。MVC 将应用程序分为三层:模型、视图和控制器,每一层都有特定的职责。

Rails 值得学习吗

仍然值得。

Rails 学习曲线

Rails 并不适合没有任何编程技术的同学直接学习。

实际上,任何 Web 开发框架都不适合新手学习,Rails 最不适合。

使用 Rails 创建的项目,充满了太多约定。有一定开发经验的同学很容易理解这些约定。

Rails 开发职业前景

企业招人难,开发者找工作难

市面上缺哪一类 Rails 程序员

2 年左右开发经验的 Rails 程序员,有技术,有视野

很多以 Ruby/Rails 为主要技术栈的公司或团队,通常喜欢招聘具有两年年左右 Rails 使用经验的开发者,俗称中级 Ruby 程序员。 同时,不喜欢应届生。大部分应届生,即使是计算机相关专业的应届生也鲜有了解过 Ruby 语言的,那使用 Rails 做过项目的就更少了。

应届生需要 1 年时间培养,而具有 2 年开发经验的开发者,在老师傅的带领和真实项目的历练下。 该趟的坑都趟过了,正处于产生效率的顶峰(再不济也处于腰部以上)。具有 2 年左右 Rails 开发经验的程序员市面上流通量太少,企业招聘并不容易。

优秀的 Rails 开发者需要经历真实业务的历练,这里的历练不只是技术,还包括需求分析、协作和写作等方面。

市面上的并没有针对具备 1 年左右的后端开发经验 (基于 Rails),继续进阶 的图书或课程,或者有但是没有在国内 Ruby 技术圈子中得到广泛的传播。

基于这种现状,我萌生了写这本书的想法,用于具备 1 年后端开发经验 (基于 Rails) 的同学,继续进阶后端开发。

如果你只有不到三个月的 Rails 使用经验

那么本书不适合你。你可以根据 Rails 教程Rails Guide 学习 Rails 开发。 在学习 Rails 开发的同时,我建议你同时根据 Ruby 基础教程,深入掌握 Ruby 这门编程语言。

对于有点编程基础的应届生,只要踏实、刻苦,经过 1000 个小时(也就是三个月)的专注练习,使用 Rails 进行一些简单的业务开始基本上没啥问题。在经过 2000 个小时(6 个月左右)的业务开发,基本上具备了独自开发部分业务模块的能力,在投入 1000 个小时,把后台开发相关的技术比如后台任务、消息队列、数据分析等相关技术补充一下。也就一年时间了。

本书假定你具备如下计算机基础知识

  1. 数据结构和算法
  2. 计算机组成原理
  3. 计算机网络原理
  4. 操作系统原理
  5. Linux 基础
  6. Git 基础
  7. SQL 基础
  8. HTTP 基础
  9. HTML、CSS、JavaScript 基础

流畅地使用如下工具

  1. Linux
  2. Git
  3. Ruby
  4. Rails
  5. Docker
  6. MySQL/PostgreSQL
  7. MongoDB/Redis

基础知识的学习并非一蹴而就,需要持续学习。

真实的企业 Rails 项目开发,还是需要更多的知识或技能。上手简单,精通不易。

目录

  • 一、基础篇
    • 01 搭建 Rails 开发环境
    • 02 使用 Docker 开发 Rails 应用
    • 03 Rails 应用部署
    • 04 Rails, 不止 MVC
    • 05 Rails 和 Ruby 版本升级
    • 06 揭秘 Rails
  • 二、能力升级篇
    • 07 静态资源管理
    • 08 前端技术选型
    • 09 服务端优化
    • 10 数据库选型
    • 11 后台作业技术选型
  • 三、业务开发篇
    • 12 业务开发:通过 API 创建便条
    • 13 业务开发:附件上传功能优化
    • 14 业务开发:带密码的分享功能
  • 四、探索篇
    • 15 Background Process 和 Message Queue
    • 16 Rails 如何防止 cookie 被篡改
    • 17 使用本地 Kubernetes 集群玩转 Rails 应用部署
    • 18 使用阿里云 K8s 集群部署 Rails 应用
    • 19 基于 Rails+MongoDB+ClickHouse 的 BI 服务开发 ## 适合人群

如果你

  1. 具有超过 1 年但不到 3 年的 Rails 开发经验
  2. 没有经历过日 PV > 1000 万的 Rails 项目/产品
  3. 仅使用过 MySQL/PostgreSQL 等关系型数据库
  4. 没有在服务器集群中部署过 Rails 项目/产品
  5. 不具备独立的产品设计、需求分析能力

那么本书可能对你有点帮助。

参考图书

本书在写作过程中,参考了这些图书:参考图书。 参考图书会基于写作的主题不断添加。

结语

虽然本书适用于有 Rails 开发基础的程序员来阅读,但是如果你没有 Rails 开发基础,可以通过 Rails 指南 了解和学习下 Rails,再来阅读本书。

笔者基于自己的工作经历,结合 Wreeto 项目(一个基于 Ruby on Rails 框架构建的开源笔记、知识管理和 wiki 系统),开展本书内容的编写。

定价模式

图书内容 免费浏览 ,但不可用于二次销售 。

可加笔者微信,提供技术支持,129 元/月,7 日内无条件退款。 笔者微信(base64 编码):cGVuZ3BlbmctLXZpcA==

已收藏学习,话说搞 rails 的出教程没有其它流行语言或框架吃香,有点小郁闷。

挺诚实的……

50% 的概率是三个月内完成。 50% 的概率是 一个月后放弃。

xcode 的话,不用安装整个 xcode,只安装 command line 就行。命令是xcode-select --install 主要是体积差异巨大,差不多一个量级的差异。

ken 回复

谢谢,内容已更新

把现在有的内容看完了,感觉可以多深入一点。

kowalskidark 回复

比如哪些主题呢?

a112121788 回复

比如介绍了实际业务中 pgsql 和 MySQL 功能和性能上有什么差异,之后再讲为什么要用 pg。

再比如介绍 docker 的大概原理之后,再介绍为什么要使用 docker,以及 docker 实践中的安全隐患。

我觉得把事情说得有头有尾,会比单纯罗列自己的实践经验更有说服力。

为楼主点赞

为楼主点赞,让更多的人使用 Rails

早就想写 rails 了,感谢楼主的分享

rux_9527 回复

有感兴趣但没有涵盖的主题也可以贴出来,一起交流交流。

内容细节不够,我怎么感觉只完成了 30%。。。还是感谢楼主分享

16 Rails 如何防止 cookie 被篡改 :
它非常轻量级,需要在新应用程序中进行零设置才能使用会话。

怎么感觉有翻译腔。
2000 个小时学 Rails 会不会把人吓跑了,不过这框架的学习曲线对零 web 开发基础的人来说是有点陡。

Ruby JIT 的内容被删掉了吗,我最期待这部分了

kowalskidark 回复

已添加 21 JIT、MJTT、YJIT、Sorbet 和 Rails,偏实用,而非原理分析。

需要 登录 后方可回复, 如果你还没有账号请 注册新账号