特别优惠
跟上新发行和促销的步伐。注册,听取我们的意见。
注册您的产品获得奖励材料或获得优惠券。
7小时的视频教学
在学习足够多的Ruby,让它变得危险:用Ruby编写程序,发布宝石,开发Sinatra Web应用程序著名的讲师Michael Hartl教授的概念,技能和方法,你需要用Ruby专业生产通用编程和开始web应用程序开发。
概述
程序员喜欢Ruby,因为它的优雅、强大和灵活性:这就是为什么Ruby on Rails框架选择了它,推出了从Shopify到Coinbase的网站。你也会喜欢Ruby,但你不需要学习它的“一切”,只需要学习如何有效地使用它来解决实际问题。畅销书作者和领先的Rails开发人员Michael Hartl让您以最快的速度开始编写实用的现代Ruby程序,重点关注软件开发人员每天使用的真实工具。您将学习如何交互式地使用Ruby,用Ruby编写shell脚本,以及使用Ruby制作简单的动态web应用程序。
即使您是编程新手,Hartl也可以帮助您快速构建复杂的技术,因为您对面向对象和函数式编程有了坚实的理解,并开发和发布了一个自包含的Ruby包(a)宝石),并使用gem构建和部署一个使用Sinatra框架的动态web应用。集中练习可以帮助你内化重要的事情,而不会把时间浪费在专业人士不关心的细节上。很快,就会像你一样出生知道了这些,你就会突然变得严肃起来危险的。
关于讲师
迈克尔·哈特尔创造者是Ruby on Rails教程是web开发的主要介绍之一,也是Learn Enough的联合创始人和主要作者。此前,他曾在加州理工学院(Caltech)担任物理讲师,并在那里获得了卓越教学终身成就奖。他毕业于哈佛大学,拥有加州理工学院物理学博士学位,是Y Combinator企业家项目的校友。
技术水平
学习如何
谁应该修这门课
课程要求
课程描述
第一课:你好,世界!
第1课从头开始,让您使用几种不同的技术创建四个简单的“hello, world”程序。“hello, world”的主要目的是确保您的系统被正确配置,以执行将字符串“hello, world!”打印到屏幕上的简单程序。首先编写一系列程序,在命令行终端显示问候语,首先在一个名为irb(交互式Ruby),然后从文件,然后从shell脚本。最后,使用Sinatra web框架编写并部署一个简单的概念验证web应用程序。
第二课:琴弦
第2课介绍了字符串,这可能是网络上最重要的数据结构,因为网页最终由发送到浏览器的字符串和字符组成。许多其他类型的程序也需要字符串操作。因此,字符串是开始Ruby编程之旅的好地方。本课程从什么是字符串以及如何创建字符串开始,包括单引号和双引号字符串。然后学习如何将一个字符串连接到另一个字符串。接下来,您将学习如何从终端窗口打印到屏幕。作为本文的一部分,您将看到Ruby布尔变量和控制流的第一个示例。最后,您将学习如何使用for循环遍历字符串,使您能够一次访问一个字符。
第3课:数组
在第2课中,您了解了字符串可以被认为是按特定顺序排列的字符序列。在第3课中,您将学习数组数据类型,它是按特定顺序存放任意元素的通用Ruby容器。首先通过字符串分割方法显式地连接字符串和数组,然后在本课的其余部分中学习各种数组方法。在学习了拆分字符串之后,您将学习如何访问结果数组中的元素,发现相同的语法也适用于字符串,从而进一步加深了两种数据类型之间的联系。接下来,您将学习各种其他数组方法,从使用数组切片同时选择单个元素和多个元素开始,包括有用的范围数据类型,以及使用范围索引选择数组中最后一个元素的聪明技术。然后学习如何对数组进行排序,如果您曾经手工编写过排序算法,那么您会发现Ruby使排序变得非常简单。您还将学习如何反转数组,在本教程后面学习检测回文时,您将很好地使用该功能。接下来,您将学习如何使用push和pop添加和删除数组元素,包括介绍重要的shovel操作符。然后学习如何使用数组和连接撤销字符串分割。最后,您将学习如何使用第2课中介绍的相同类型的for循环遍历数组,这是第5和第6课中介绍的更高级技术的有价值的准备。
第4课:其他原生对象
既然我们已经了解了字符串和数组,第4课将继续介绍其他一些重要的Ruby对象,这将使您有机会了解数学、日期、正则表达式和散列。与大多数编程语言一样,Ruby支持大量开箱即用的数学运算,例如加法、减法、乘法和除法。它还包括一个数学库,其中包含更高级的运算,如对数和三角函数。您还将学习如何在Ruby中处理时间和日期,例如获取年、日或确切的时间。这使您第一次有机会使用新函数,即所谓的构造函数,它是创建新对象的标准Ruby方法。本课包括对正则表达式这个强大主题的介绍,正则表达式在文本编辑器和grep命令的上下文中有过简要的讨论。通常被称为regex简而言之,正则表达式是一种强大的迷你语言,用于匹配文本中的模式。您将学习如何使用正则表达式快速搜索字符串,以查找一行中的5位数字,从而匹配标准的美国邮政编码。本课程以介绍Ruby中的散列结束。您可以使用这些对象来创建键值对的集合,有时称为关联数组,它类似于常规数组,但使用字符串而不是整数作为索引。您将应用这个重要的对象类型来编写第一个实质性的Ruby程序,一个shell脚本,用于计算文本中唯一的单词。
第5课:函数和块
到目前为止,在本教程中已经多次提到Ruby函数,在第5课中,您将最终学习如何定义自己的函数。由此产生的能力为程序员提供了更大的灵活性,并启用了强大的技术,如每一个方法,这是本课的内容,以及函数式编程,这是第6课的主题。首先学习read-eval-print循环中的函数,即REPL,然后学习如何将函数定义放入文件中,以便在简单的Sinatra web应用程序中使用。本课还介绍了如何在一行中使用多个函数,这种技术称为方法链接。方法链用于对回文函数进行第一次定义,以查看字符串前后是否相同。这节课以对……的讨论结束每一个这种方法通常提供了一种比第2课中介绍的for循环更方便的处理数组元素的方法。这是您对块的第一次介绍,这是Ruby与少数其他语言共享的特性,也是Ruby异常灵活和强大的主要来源。
第六课:函数式编程
学习了如何定义函数并在不同的上下文中应用它们。在第6课中,通过学习函数式编程的基础知识,将编程提升到一个新的水平,函数式编程是一种强调函数的编程风格。这是一个具有挑战性的课程,你可能需要看几次才能吸收所有内容,但回报确实很丰富。它着重于函数式编程中常用的三组函数,即映射、选择和减少。我们的第一个示例是map函数,它允许您在元素数组上映射函数。它通常是循环的强大替代方案。第二个函数是select,它使您能够根据布尔标准选择数据。例如,您可以获取一个整数数组,并只选择可被2整除的数字,这为您提供了一种仅选择数组中偶数的快速方法。第三个函数是强大的reduce,它确实是一种强大的技术,可以使用大量示例来真正理解,但使您能够编写非常干净和简洁的代码。因为即使对于有经验的开发人员来说,理解reduce以及所有的功能技术也是具有挑战性的,所以当与测试驱动的开发相结合时,它特别强大,这将在第8课中介绍。
第七课:对象和类
在第7课中,您将学习如何创建自己的Ruby对象,这些对象可以同时具有属性(即数据)和方法(即函数)。在Ruby中定义对象的方法是使用class方法,它产生一个对象构造函数,该函数可用于创建或实例化一个名为an的新对象实例使用你在第四课第一次看到的新方法。这为您提供了理解Ruby对象系统所需的背景知识,Ruby对象系统在该语言中无处不在。的确,人们常说Ruby中的一切都是对象。在这节课中,你将学习到这个描述的确切技术含义。从一个短语对象的具体例子开始,该对象知道该短语是否为回文。然后添加一个已翻译的短语对象,该对象覆盖主palindrome方法并替换已翻译的短语。这些示例使您能够理解继承和派生类,这是面向对象编程中的关键理念。这节课甚至讨论了修改原生Ruby对象的强大甚至危险的实践。这使我们能够修改字符串类本身,使每个字符串都能够判断它是否是回文。最后,我们学习Ruby模块,也称为mixin。Ruby模块为我们提供了一种提取公共功能的方法,然后将其混合到多个类中,这是避免重复和重用代码的好方法。
第8课:测试和测试驱动开发
尽管在介绍性编程教程中很少涉及,自动化测试是现代软件开发中最重要的主题之一。因此,第8课向您介绍了Ruby中的测试,包括对测试驱动开发(TDD)的初步了解。第6课简要介绍了测试驱动开发,我们承诺您将使用测试技术来添加查找回文的重要功能,即能够检测复杂的回文,例如“一个人计划一条运河——巴拿马!”或“女士,我是亚当”。这一课实现了这一承诺。首先使用最小的框架设置我们的测试系统。测试当前回文代码并将其扩展到更复杂的短语的策略如下。第一,为自动化测试设置系统。第二,为现有的回文功能编写自动化测试。第三,为被称为red的增强回文探测器编写一个失败测试。这是TDD循环的第一步,被称为红、绿、重构。 Four, write possibly ugly code to get the test passing, also known as green, which is the second step in red, green, refactor. Five, refactor the code, which involves changing its form without changing its function. Because the code should accomplish the same results the entire time, the test suite should remain green even after refactoring, thereby completing the red, green, refactor cycle. As it turns out, learning how to write Ruby tests also gives you a chance to learn how to create and use self-contained software packages called红宝石的宝石对于更长的Ruby编程来说,这是另一项有价值的技能。
第9课:Shell脚本
在第8课中,您在前几课奠定的基础上编写了三个越来越复杂的shell脚本。虽然现在web开发可能是Ruby编程最常见的应用,但shell脚本是Ruby的原生栖息地,因此它是Ruby擅长的任务。实际上,在JavaScript上下文中研究过类似材料的读者可能会对Ruby版本更加优雅和精致留下深刻印象。在前两个程序中,您将使用在第8课中开发的Ruby gem,并将其用于检测来自两个不同来源的回文:文件和web。在这个过程中,您将学习如何使用Ruby读取和写入文件,以及如何读取实时web URL。(后一个例子对作者来说尤其具有个人意义,因为他清楚地记得自己第一次编写一个自动程序来读取和处理来自网络的文本,这在当时看起来真的很神奇。)最后,您编写一个现实生活中的实用程序,该程序改编自作者曾经为自己编写的程序。它包括在web浏览器之外的上下文中对文档对象模型或DOM的操作的介绍。这是像JavaScript这样以浏览器为中心的语言可能会做的事情,但事实证明,Ruby也可以做到这一点。
第10课:实时Web应用程序
作为新发现的Ruby功能的最后一个应用程序,在这最后一课中,您将构建一个动态web应用程序。该应用程序通过开发基于web的回文检测器,很好地利用了第8课中开发的自定义Ruby gem。在此过程中,您将学习如何使用嵌入式Ruby或ERB创建动态内容。从web中检测回文需要使用后端web应用程序来处理表单提交,我们选择的工具是Sinatra,这是您在第1课中遇到的微框架,并在第5课中进一步应用。虽然简单,但辛纳屈并不是一个玩具。它是一个生产就绪的web框架,被Stripe、苹果和迪士尼等公司使用。我们的回文地图还有另外两个页面,home和about,这让您有机会学习如何使用基于ruby的站点布局。作为其中的一部分,您应用并扩展了第8课中的工作,为您的应用程序编写自动化测试。与第1课一样,您的最后一步是将回文图部署到实时web。本课程以指向Ruby、Sinatra和其他主题(如JavaScript和Ruby on Rails)的进一步资源的指针结束。
关于培生视频培训188号金宝搏网页
培生出版专家主导的视频教程,涵盖广泛的技术主题,旨在教你成功所需的技能。这些专业和个人技术视频具有世界领先的作者讲师,由您信赖的技术品牌出版:Addison-Wesley, Cisco Press, Pearson IT Certification, Sams和Que。主题包括:IT认证、网络安全、思科技术、编程、Web开发、移动开发等。了解更多关于培生视频培训的信息188号金宝搏网页金宝搏188亚洲体育真人始乐informit.com/video。
视频课程可供下载,以流媒体格式离线观看。在每节课中寻找绿色箭头。
介绍
第一课:你好,世界!
主题
1.1 Ruby简介
1.2 REPL中的Ruby
1.3文件中的Ruby
1.4 shell脚本中的Ruby
1.5 web浏览器中的Ruby
第二课:琴弦
主题
2.1字符串基础知识
2.2串联和插值
2.3印刷
2.4属性、布尔值和控制流
2.5方法
2.6字符串迭代
第3课:数组
主题
3.1分
3.2阵列访问
3.3阵列切片
3.4更多数组方法
3.5数组迭代
第4课:其他原生对象
主题
4.1数学
4.2时间
4.3正则表达式
4.4散列
4.5应用:独特的文字
第5课:函数和块
主题
5.1函数定义
5.2文件中的函数
5.3方法链
5.4个盖帽
第六课:函数式编程
主题
6.1地图
6.2选择
6.3减少
第七课:对象和类
主题
7.1定义类
7.2继承
7.3派生类
7.4修改本地对象
7.5模块
第8课:测试和测试驱动开发
主题
8.1测试和Ruby gem设置
8.2初始测试覆盖率
8.3红
8.4绿色
8.5重构
第9课:Shell脚本
主题
9.1从文件中读取
9.2从url读取
9.3命令行DOM操作
第10课:实时Web应用程序
主题
10.1设置
10.2站点页面
10.3布局
10.4嵌入式Ruby
10.5回文检测器
10.6结论
总结