Ruby学完能干什么?

Python015

Ruby学完能干什么?,第1张

Ruby作为一种通用的程序设计语言,和其它常用的编程语言一样,可以编写大部分我们日常遇到的任务,而且完成得更简单优雅。已经有人用她编写了Web服务器程序、科学计算程序、视频游戏软件和其他有趣的应用。更多的人用她来做程序原形实验和处理每天遇到的各种琐碎的编程任务,基本上就能做这些事情希望能帮到你,当然它的功能还有很多

选择一门语言

1)确定你感兴趣的领域。你可以开始学习任何编程语言(尽管有些语言绝对比其他语言“容易”),所以你首先要问自己,你想通过学习编程语言来达到什么目的?这将帮助你确定应该从事哪种类型的编程,并为你提供一个良好的起点。

2)考虑从“更简单”的语言开始。不管你的决定如何,你都可以考虑从一种高级的、更简单的语言开始。这些语言对初学者特别有用,因为它们的基本概念和思维过程几乎可以适用于任何语言。

这一类中最流行的两种语言是Python和Ruby。这两种语言都是面向对象的web应用程序语言,使用了非常易读的语法。

“面向对象”意味着语言是围绕“对象”的概念构建的,即数据集合及其操作。这一概念应用于许多高级编程语言,如C++、java、Objtovi-C和PHP。

3)通读各种语言的基本教程。如果你还不确定应该开始学习哪种语言,请阅读一些不同语言的教程。如果一种语言比其他语言更有意义,那就试一下,看看它是否合拍。网上相关的教程有很多。

Python——一种很好的入门语言,当你熟悉它时会感受到它的强大。用于许多web应用程序和许多游戏领域。

Java——用于无数种程序中,从游戏到web应用程序再到ATM软件。

HTML——任何web开发人员的基本起点。在进行任何其他类型的web开发之前,掌握HTML是至关重要的。

C语言——是一种较古老的语言,C仍然是一个强大的工具,是C++、Objtovi-C的基础。

2、从小处开始

1)学习语言的核心概念。虽然这一步骤的应用部分会因你选择的语言而有所不同,但所有编程语言都有一些基本概念,这些概念对于构建程序至关重要。尽早学习和掌握这些概念将使解决问题和创建强大而高效的代码变得更容易。以下是一些不同语言中的一些核心概念:

变量——变量是一种存储和引用不断变化的数据的方法。变量可以被操作,并且通常具有定义的类型,例如“整数”、“字符”和其他类型,这些类型决定了可以存储的数据的类型。在编码时,变量通常有一些名称,可以让读者在某种程度上识别它们。这样就更容易理解变量如何与其余代码交互。

条件语句——条件语句是根据语句是否为真而执行的操作。条件语句最常见的形式是“If-else”语句。如果这个陈述是真的(例如x=1),那么就会发生一件事。如果陈述是错误的(例如x!=1),然后发生其他事情。

函数或子例程——根据语言的不同,这个概念有不同的说法。它也可以是“过程”、“方法”或“可调用单元”。这本质上是一个大程序中的一个小程序。一个函数可以被程序多次“调用”,这样程序员就可以高效地创建复杂的程序。

数据输入——这是一个广泛的概念,几乎在每种语言中都有使用。它包括处理用户的输入以及存储这些数据。如何收集这些数据取决于程序的类型和用户可用的输入(键盘、文件等)。这与输出密切相关,输出是将结果返回给用户的方式,无论是在屏幕上显示还是在文件中传递。

2)安装任何必要的软件。许多编程语言都需要编译器,编译器是用来将代码翻译成机器可以理解的语言的程序。其他语言(例如Python)使用解释器,该解释器无需编译即可立即执行程序。

某些语言具有IDE(集成开发环境),通常包含代码编辑器,编译器和或解释器以及调试器。 这使程序员可以在一处执行任何必要的功能。 IDE也可能包含对象层次结构和目录的直观表示。

网上有各种代码编辑器。 这些程序提供了突出显示语法的不同方法,并提供了其他对开发人员友好的工具。

3、创建你的第一个程序

1)一次只关注一个概念。任何语言最开始都是教大家“Hello World”。这是一个非常简单的程序,它在屏幕上显示文本“Hello,World”(或其他变体)。这个程序是教给第一次编程的程序员如何创建一个基本的、功能性程序,以及如何处理显示输出。通过更改文本,可以了解程序如何处理基本数据。

2)通过解构网上的例子学习。几乎每种编程语言都有成千上万的代码示例。用这些例子来检查语言的各个方面是如何工作的,以及不同部分是如何相互作用的。从不同的例子中获取一些零碎的东西来创建你自己的程序。

3)检查语法。语法是编写语言的方式,以便编译器或解释器能够理解它。每种语言都有一个独特的语法,尽管有些元素可以跨多种语言共享。学习语法对于学习如何用语言编程是必不可少的。

4)尝试改变。对示例程序进行更改,然后测试结果。通过实验,你可以比阅读一本书更快地了解什么是有效的,什么是无效的。不要害怕破坏你的程序;学习修复错误是任何开发过程中的一个主要部分,任何新事物几乎永远不会在第一次就能正确工作。所以别怕犯错!

5)开始练习调试。当你在编程时,你总是会遇到bug。这些都是程序中的错误,几乎可以在任何地方出现。bug可以是程序中无害的异常,也可以是阻止程序编译或运行的主要错误。找出并修复这些错误是软件开发周期中的一个主要过程,所以要尽早习惯这样做。

6)注释代码。几乎所有的编程语言都有一个“comment”函数,允许你包含未经解释器或编译器处理的文本。这允许您对代码的作用留下简短但清晰的语言解释。这不仅有助于您记住代码在大型程序中所做的工作,而且是协作环境中的基本实践,因为它能帮助其他人理解你的代码干嘛的。

最后,一定要经常练习。编程是熟能生巧的技能,多练才能查漏补缺,更上一层楼。

0. 预备, 《Lean Startup》、How to Start a Startup 前2课

其实你不一定需要学会编程来实现自己的想法

创业≠产品≠做App

类别:产品向 vs. 工程师向

1.《Ruby on Rails Tutorial》全书+视频教程,网上有下的

注意事项:跳过测试;可以用Win开发;开始不懂没太大关系,快速跟着视频过一遍,大量复制代码没问题

时间:大概1-2周。

2. 复习《Ruby on Rails Tutorial》

刚开始看教程,主要是建立一个大致的感觉。现在,则要回过头来思考和复习

具体来说,也就是回答这个问题:“这一章,到底讲了什么?这个功能是怎么做的?”

比如,怎么做出用户注册功能的?(其实核心也就是怎么用attribute来modelling)

然后带着这种问题,去重新读一读书,会有很大收获。

很多人只是草草过了一遍书、复制代码,却忘记了本质的思考,这个就是学习方法的问题。实际上一点就明。不过这样读书,自然更费脑子

3. 《Agile Web Development with Rails》+ Rails Guide(Get Started部分)

①Agile Web: 这本书也常被推荐用来入门,区别在于,没有视频。因此,适合其他有开发经验的人来入门,而不适合完全0基础的人。

但现在,因为已经有了《Rails Tutorial》的基础,所以可以看了。重点,和上面也要,也是放在“这个功能应该怎么实现?”,比如说要做购物车,那么就应该自己想想,是不是要建立一个Cart的Model,和Product之间怎么建立联系?先自己想一想,然后再和书中的做法比较。

因此,读书中的第2部分就行,第3部分深入的不需要看。

②Rails Guide:Get Started部分,则是一个做博客的实例,用于重温之前学过的概念挺好

其实,也可以横向展开其他的入门教程了(比如One Month Rails、CodeSchool的视频)。只是,始终注意学习的方法,是不断在问自己“这个东西是怎么做的?”“这一章到底讲了什么?”

带着问题去学习比较累,但是这样才有收获

4. RailsApp Tutorial (可省略,因为收费了)

主要是Gem的使用,比如Devise、Bootstrap

因为之前的教程,都是自己从0实践,所以需要这个教程过度一下。不过似乎现在没有免费的教学了,可以跳过,关系也不大。看之后的RailsCasts也是一样的

5. 自己的idea的实现, Putting it all together

这个略复杂,分为两大块

5.1.界面设计(前端)

页面本身的设计(美观)+ 代码实现(HTML+CSS+JS)

5.1.1 美观设计 《Non Designer's Design Book》+ 《Before &After Magazine》

理工科的男生比如我,设计感实在不足,这两个帮助很大大

5.1.2 前端代码

前端,其实要问自己一个问题,HTML、CSS、JS各是干什么的?看看W3Cschool,然后把这个问题回答上来就行,不需要一股脑看完。具体的代码,可以直接抄别的网站的,比如登陆界面等[1]

5.2.功能设计(后端)

Gem + RailsCasts + Google + StackOverflow

通过Rails Tutorial学会的功能,也就是注册、登陆、发帖、关注这几个。

那么,要新的功能,怎么办?就是google去搜,

比如”喜欢‘功能, 就搜“Rails how to make a vote system”. 这样就会常常查到Railscasts和StackOverflow的东西。而对于查不到的,就自己到StackOverflow上去问。

很多时候想要实现的基本功能,StackOverflow上已经有了做法,或者有了相关的gem,看railscasts的教程就行了。但是很多人不明白,这也是一点就透。包括自己上stackoverflow提问,也是一样。[2]

把东西做出来,就算入门了。想学得更快的话,可以在看完《Rails Tutorial》直接开始做自己的网站,省略中间的步骤,因为中间的步骤其实都是在做过渡和铺垫,减小学习难度。

6.进阶

Ruby: 《Practical Object Oriented Programming》

Rails: 《Crafting Rails Application》,thoughtbot, CodeSchool等等...这个时候其实凭自己的水平,再做些网站,就可以去找实习了。

而且各方面的书、源码都可以自己开始看了,也已经没必要再限定在哪个方面了

补充:怎么使用CodeSchool的教程?

CodeSchool的教程,尽管号称learn by doing来帮助入门。但实际上,还是在讲特性、讲功能。对于初学者入门帮助很有限,绝对不如《Rails Tutorial》这种可以完全跟着做的教程。

那么怎么用?

用来复习、思考。比如开始用前端了,就可以看下CSS的基础入门课程和Chrome 的Dev Tools教程。学的时候,还是要去思考,这次的视频讲了些什么?怎么做的?或者觉得自己Ruby不是很够用了,就看看Ruby的基础视频。最重要的并不是跟着视频去动手的过程,而是每看完一集视频,马上自己总结这集讲了什么。这个学习方法,依然是一点就透……可是貌似很多人都不明白....

7.

这里的学习路线已经很复杂了,其实,可以简化成一点——学会提问

(1)对自己提问。也就是看完一章、一个视频,问自己这个到底讲了什么。通过主动思考来把东西学会

(2)对外界提问,也就是有了不懂的,用google去搜,也就能发现RailsCast, StackOverflow, 以及等等书、视频等学习资源

8.

如果对产品兴趣远大于技术的话

其实学完了,可以看看《Lean Startup》等等。