学习Ruby、Rails事前准备工作

专有名词

整理了我觉得该先了解的一些专有名词

wiki-物件导向程序设计、菜鸟式回答:是一种将资料,行为,甚至是程序码封装後,物件化的一种程序语言设计方式。优点在於灵活性及维护性高,且个物件间关联性高。

接着可以衍生出非常多问题,例如什麽是类别(class),模组(module),继承性等等...
这边请记得,Ruby是一种OOP的程序语言。


wiki-MVC模式、菜鸟式回答:一种软件架构,由三种功能层组成,分别是model,controller.view。

衍生:优缺点? 三功能层各负责?
建议先记得,分工明确,工程师间较易协调可快速开发,且程序码可重复使用率高。
Model:逻辑层,编写应用程序应有之功能,资料库管理及设计之区块。
Controller:管理使用者互动逻辑,model查询,以View产生template呈现给使用者。
View:表现层,负责管理画面的呈现。
重点:Rails以此架构设计。


wiki-表现层状态转换(英语:Representational State Transfer,缩写:REST)、菜鸟式回答:一种软件架设风格,其实回答这题,可能要先了解HTTP、URI、XML以及HTML的设定及标准,此风格是目前最符合刚刚说的这些通讯设定及标准。

如果我被问这题,我会回答刚刚的那些然後说:[我真的没办法用简单两三句回答这个问题,能否请面试官说明看看?]。
然後我就被面试刷掉了。 XD
重点:Rails的设计风格便是RESTful。


wiki-前端和後端
看了应该也知道全端的意思了?
就是啥都要会啦!

面试题分享:你想当前端工程师还是後端工程师?

菜鸟我第一次的回答:我觉得我後端比较行....... (既然是菜鸟,我是会有哪个真的行,所以我又被刷掉了!哈)
如果跟我一样是菜鸟可以考虑回答:两个部分我都很有兴趣且在持续学习中,Rails本身就是一个非常完整的框架,我相信给我机会,无论前後端,我都可以的。
有确实能展现自己前端或後端实力的专案,再明确表示自己较喜欢哪个部分吧。


由於Rails本身是开发web的一种框架,所以学习Rails的目的通常为开发网站(废话)。
所以建议想投身此行业的菜鸟,可以先再去查询以下专有名词:HTTP method(尤其GET与POST),CORS, SPA, TCP/IP, http, https, DNS, HTTP 状态码(200/400/500), 同步及非同步?这些也都会是常见的面试题。


环境设定

环境设定常常是新手入门的第一个门槛,会遇到很多奇奇怪怪的问题,而解决这些问题的方式及态度,便也是你能不能成为一个工程师的第一个检定项目,要记住,解决的方式很多种,自己查来的,从会的人身上问来的,只要能解决问题,便是"解答"。
另外,我不是工程师,我也解决了环境设定这个第一个难关,相信每个人都行。

这个部分资料也是非常多,这边以推荐的资料来做分享。

非常佩服的龙哥(高见龙先生)的作品:为你自己学Ruby on Rails-环境设定
佩服的原因是:他不用睡觉的
龙哥是台湾Ruby圈非常有名的一位老师,有兴趣的夥伴也可以自行查询龙哥的资料以及目前在举办的ASTRO Camp资讯。


开发工具推荐

生在开发工具基本上都不用钱的年代,真的很幸福。

VScode
安装方式,中文化及推荐套件这个就不说明了,请爱用google。
Git,版本控制软件。
顺便推荐龙哥另一部作品为你自己学Git,其实"写程序"不一定要会Git,但如果不会Git,可能不能算是一个合格工程师喔!(个人看法,不代表所有人都这麽认为)
Github,可以免费放自己专案的网站(放,不是部署),由於每个人学习路径不同,不一定有人会提醒你API KEY或帐密等重要资料如何处理,这边再次提醒,使用前请了解刚刚提的那些资料的重要性喔。


实话

Rails是一个非常完整的框架,是利用Ruby为基础打造出,此框架中後端的部分当然就是以Ruby为主要负责,但运用此框架也要有一定的HTML、CSS、JavaScript的能力,才能将前端的部分良好展现,所以不是只学了Ruby就一定会Rails,不是会了Rails就可以有一个漂亮且热门的网站。
框架永远在更新(因为工程师永远都懒?),而在Ruby的世界还有许许多多的Gem,要先了解原理才能安心使用。前端框架除了Vue跟React外也有许许多多说不完的前端套件,所以只有不断学习,才能保持自己在工程师的世界中是被需要的。


<<:  Day26 参加职训(机器学习与资料分析工程师培训班),Tensorflow.keras & Pytorch

>>:  Day 37 (PHP)

Day6 宣告元件 - Class Component

Class Component用的是ES6中的class语法建立元件,接着去 extends(继承)...

[Day 26] 实作 Ktor Session Authentication with Redis

前面我们已经学会 Ktor Authentication 机制,而且也整合了 Database 及 ...

[Java Day29] 6.6. 抽象类别

教材网址 https://coding104.blogspot.com/2021/06/java-a...

虹语岚访仲夏夜-22(专业的小四篇)

「你又在看什麽? 我已经气到不想跟你说话了。」 『我才气好吗?  别生气啦...我把现在这个看完好吗...

Day4. 如何寻找设计切入点

在做新产品开发时,对於用户需求收集,寻找产品切入点,我们常有一个典型的错误假设,那就是认为用户最知...