百度
360搜索
搜狗搜索

ruby 教程,怎么构建Ruby的开发环境?详细介绍

本文目录一览: 怎么构建Ruby的开发环境?

安装Ruby
在Windows系统下,安装Ruby最简单的办法是使用RubyInstaller。如果是为了使用Ruby on Rails,则可以下载RailsInstaller并安装。这会安装Ruby和Rails等相关工具。在这里,我选择安装了Ruby 2.3 64位。安装过程很简单,在这里就不细数了。为了方便命令行使用,建议选中将Ruby可执行文件添加到PATH的选项。
安装完成之后,打了命令提示符。输入ruby -v查看是否安装成功。
安装Ruby DevKit
有时候可能需要安装一些本地C/C++编译的Ruby插件和开发工具。这时候就需要安装Ruby DevKit。安装方法也很简单,到Ruby下载页面,找到DEVELOPMENT KIT字样,然后下载和自己Ruby版本对应的开发工具包。这应该是一个压缩包,将其解压到合适的位置即可。然后在安装目录中打开命令提示符,依次运行下面的命令即可。
安装完成之后,再次安装这些需要本地编译的插件就不会失败了。
安装IDE
Ruby语言最好用的IDE还是Jetbrains的RubyMine。下载之后安装即可。具体的配置方法我就不说了,在极客学院这里有更详细的ntelliJ IDEA使用教程 ,对PHPStorm、RubyMine等Jetbrians系的其他软件也同样适用。

公交车售票员用rb售票可以吗

公交车售票员可以使用RB进行售票。RB是Ruby Version Manager的缩写,它可以在同一台电脑上管理多个Ruby版本并在它们之间快速切换。
1. 了解RB
作为一个售票员,首先你需要了解RB,也就是Ruby语言的版本管理器。RB是Ruby Version Manager的缩写,它可以让你在同一台电脑上管理多个Ruby版本并在它们之间快速切换。因此,使用RB来售票是个不错的选择。
2. 安装RB
在开始使用RB之前,你需要先安装它。RB可以在Mac OS X和Linux操作系统上运行。安装步骤可能有所不同,但通常是通过终端/命令行运行指定命令。建议在安装前先查看官方文档或其他教程。
3. 创建基本项目
在RB安装完成后,你需要创建一个新的项目。在终端/命令行中进入你想创建项目的目录,然后运行以下命令:
```bash
rbenv local 2.6.3
gem install bundler
bundle init
```
这将创建一个新的Ruby项目并在项目根目录中创建Gemfile文件。
4. 安装必要的Gems
经过以上步骤,你应该已经成功创建了RB项目,下一步就需要安装一些必要的Gems,用于售票应用的开发。打开你的Gemfile文件,添加以下内容:
```ruby
source \'https://rubygems.org\'
gem \'sinatra\'
gem \'sinatra-contrib\'
gem \'sinatra-named_routes\'
gem \'sinatra-reloader\'
```
保存并退出Gemfile文件,然后在终端/命令行中运行以下命令:
```bash
bundle install
```
这将自动安装你在Gemfile文件中指定的所有Gems。
5. 编写售票应用程序的代码
安装完所需的Gems后,你就可以开始编写售票应用程序的代码了。在项目根目录下,创建一个名为app.rb的文件,然后添加以下内容:
```ruby
require \'sinatra\'
require \'sinatra/reloader\'
# 设置根路由 \'/\'
get \'/\' do
\'欢迎来到公交车售票应用程序!\'
end
```
保存并退出app.rb文件,然后在终端/命令行中运行以下命令:
```bash
ruby app.rb
```
这将启动你的应用程序。
6. 设计售票程序的界面
程序的界面是售票员与客户交互的重要环节,因此需要认真设计。你可以使用HTML和CSS创建一个简单的界面,然后与Ruby代码相结合。例如,你可以创建一个名为index.erb的文件,添加以下内容:
```html
公交车售票应用程序
body { text-align: center; padding: 150px; }
h1 { font-size: 50px; }
button { padding: 15px 40px; font-size: 30px; }
公交车售票应用程序
车票类型:
成人票
学生票
老年人票
购票数量:
购买
```
这将创建一个简单的表单,客户可以在表单中选择车票类型和数量,然后提交表单购票。
7. 处理售票请求
最后一个步骤是处理客户提交的售票请求。根据客户的需求,应该计算并输出票价。打开你的app.rb文件,添加以下内容:
```ruby
# 处理表单提交事件
post \'/\' do
ticket_type = params[:\'ticket-type\']
quantity = params[:quantity].to_i
# 根据车票类型计算票价
case ticket_type
when \'adult\'
price = 5.0
when \'student\'
price = 2.5
when \'elderly\'
price = 2.0
else
price = 0.0
end
# 计算总票价
total_price = price * quantity
# 输出结果
\"您购买了#{quantity}张#{ticket_type}车票,总价为#{total_price}元。\"
end
```
现在,你的售票应用程序已经完成了!你可以用终端/命令行运行ruby app.rb命令来启动应用程序,然后在浏览器中访问http://localhost:4567/,就可以进行售票了。
总之,通过使用RB,你可以方便快捷地创建售票应用程序,并为你的客户提供高效的售票服务。售票员使用rb售票不再是难事啦!

「场景教学」SketchUp常用ruby代码

Sketchup插件是ruby语言写的一些程序,可以扩展Sketchup的功能。使用Sketchup本地工具可以操作几步或几十步,插件可以一步完成。换句话说,插件是程序自动完成一些复杂的操作。我们平时称呼为“应用”、“扩展程序”、“ruby工具”等,通常都是指插件。
sketchup草图大师热门视频教程精彩推荐:
软件入门:SketchUp草图大师插件使用教程
室内设计:草图大师教程Sketchup软件建模室内外建模SU设计
软件入门:Sketchup草图大师卫生间地砖材质案例实操教程
室内设计:Sketchup2021草图大师3D云设计建模入门到精通
在SketchUp高级建模中,插件的位置是非常特殊的。总得来说可以听到两个声音,一个是“用插件”,另外一个“不用插件”。我个人自然是推荐用插件。为什么?因为软件就是设计表达的工具,有好的工具为什么不用?另外,工作讲的是优质与高效,能提高工作效率的工具为什么不用?所以各位读者也不要觉得用插件不好,反而是一件非常棒的事情。
RUBY控制台:
ruby接口是从SketchUp4.0开始加入的一个接口,在SketchUp4.0中就可以找到ruby控制台。
如果您懂ruby代码,即可在这里实现与SketchUp的互动,比如我们可以输入,puts"hello"并回车,你会发现ruby控制台也会回复你hello。
如果有大量的代码的话,您可以实现很多操作。下面是可在ruby控制台上面实现互动的一些代码。
操作步骤:
打开SketchUp/菜单栏“窗口”/Ruby控制台,输入Sketchup.send_action加5位代码回车就可运行了。比如10151是指顶视图,我们只要输入Sketchup.send_action1051回车即可切换到顶视图。
#10501:(设置为顶视图)setviewtoTop#10502:(设置为前视图)setviewtoFront#10503:(设置为右视图)setviewtoRear#10504:(设置为左视图)setviewtoLeft#10505:(设置为后视图)setviewtoRight#10506:(设置为底视图)setviewtoBottom#10507:(设置轴测视图)setviewtoAxonometric#10508:(环绕观察工具)#10509:(缩放相机工具)#10519:(设置为平行投影)setcameratoortho(removesperspective)#10521:(系统设置对话框)displaytheSystemPreferencesdialogbox(Filestab)#10522:(隐藏/显示红蓝绿轴)removesaxesdisplay#10523:(平移工具)pan#10525:(设置视线高度)settheinteractiveeyeheightfeature#10526:(缩放窗口工具)zoomwindow#10527:(充满视窗工具)zoomextents#10529:(返回上一次视图)zoomout2#10531:(标准工具栏打/关)toggletheStandardtoolbar#10532:(相机工具栏开/关)toggletheCameratoolbar#10533:(阴影设置对话框)displaytheShadowsSettingsdialogbox#10537:(视图工具栏开/关)toggletheViewstoolbar#10538:(模型信息对话框)displaytheSystemPreferencesdialogbox(Displaytab)#10545:(阴影开/关)toggleColorByLayer#10546:(阴影工具栏开/关)toggleShadowstoolbar#10551:(工具图标放大/缩小)toogleLargeicons#10576:(样式工具栏开/关)toggleRenderModetoolbar#10596:(X光模式显示)setRenderModetoNoTransparency(Preferences)#10597:(线框模式显示)setRenderModetoWire(Preferences)#10598:(消隐模式显示)setRenderModetoTransparency(Preferences)#10599:(着色模式显示)setRenderModetoSurfacesShading(Preferences)#10600:(材质模式显示)setRenderModetoTexture(Preferences)#10601:(单色模式显示)setRenderModetoNoTexture(Preferences)#10602:(阴影开/关)toggleShadows#10603:(轮廓线开/关)toggleProfiles#10604:(扩展延长线开/关)toggleExtensionLines#10605:(抖动线开/关)toggleJitteredges#10624:(打开隐藏相机设置面板)使用方法#21019:(橡皮工具)HideStatusbarandVCB#21020:(直线工具)ShowStatusbarandVCB#21022:(选择工具)HideStatusbarandVCB#21024:(测量工具)selecttheMeasuretool#21031:(手绘线工具)selecttheFreehandDrawtool#21041:(推拉工具)selectthePushPulltool#21048:(移动/复制工具)selecttheMovetool#21052:(隐藏选中的物体)hideselectedobjects#21056:(选中封闭的边线创建面)Createfacewithselectededgesclosedloop#21057:(量角器工具)selecttheProtactortool#21060:(显示组件对话框)displayComponentsWindow#21061:(绘图工具栏栏开/关)toggleDrawtoolbar#21065:(圆弧工具)selecttheArctool#21067:(添加场景页面)creatanewPage#21074:(材质油漆桶工具)showtheMaterialsBrowserWindow#21078:(删除场景页面)selectthePaintBuckettool#21080:(打开场景管理对话框)displaythePageManagerWindow#21094:(矩形工具)selecttheRectangletool#21095:(多边形工具)selectthePolygontool#21096:(绘圆工具)selecttheCircletool#21098:(打开文件对话框)opentheOpenWindow#21100:(偏移工具)selecttheOffsettool#21101:(全选)slectallobjects#21124:(有效性检测报告)launchthevaliditychecktool#21126:(坐标轴设置)selecttheAxestool#21029:(旋转工具)selecttheRotatetool#21032:(图层工具条开/关)toggleLayertoolbar#21169:(定位相机)selectthePositionCameratool#21200:(插入2D图像对话框)displaytheInsertImageWindow#21236:(比例缩放工具)selecttheScaletool#21237:(导出2D图形对话框)displaytheExport2DGraphicsWindow#21245:(多边形偏移系数)displayaPolygonOffsetFactorsdialogbox#21337:(剖面工具)selecttheSectionPlanePlacementtool#21354:(打开图层管理面板)opentheLayerWindow#21386:(导出场景动画对话框)opentheExportAnimationWindow#21405:(文字标注工具)selecttheTexttool#21406:(雾化控制面板)displayFogdialogbox#21410:(尺寸标注)selecttheDimtool#21433:(编辑工具条开/关)toggleEdittoolbar#21442:(路径跟随工具)selecttheFollowMetool#21460:(打开欢迎界面)displayLicence#21466:(显示快速开始文件)displayQuickreferenceCardinAdobeReader#21477:(快捷键位表)Listacceleratorsinwindow#21488:(图元信息面板)displayEntityInfoWindow#21490:(柔化边线工具)displaySoftenEdgesWindow#21494:(相机视野)selectFieldofviewtool#21513:(大纲管理面板)displayatreeofthemodelwithselectableitems
有关于sketchup草图大师的优质自学资源,请点击这里查看:

用 Ruby发邮件

假设您有一个可以工作的 Ruby 应用程序,并且需要向其添加电子邮件传递功能。这可能与用户身份验证或任何其他类型的事务性电子邮件有关,这没有什么区别。本教程旨在帮助您实现使用 Ruby 发送电子邮件。
用 Ruby 发送电子邮件的选项
大多数情况下,你可以从三个选项中选择一个。
最简单的方法是使用 Net: : SMTP 类。它提供了通过 SMTP 发送电子邮件的功能。该选项的缺点是 Net: : SMTP 缺少撰写电子邮件的功能。你可以自己创建,但这需要时间。
第二种选择是使用专用的 Ruby gem,如 Mail、 Pony 或其他。这些解决方案使您能够以简单有效的方式处理电子邮件活动。Action Mailer 是一个完美的电子邮件解决方案,通过 Rails 的棱镜。而且,很有可能,这将是你的选择。
第三个选项是类 Socket。通常,这个类允许您设置流程之间或流程内部的通信。因此,电子邮件发送也可以用它来实现。然而,事实是 Socket 并没有为您提供广泛的功能,您也不太可能想要使用它。
现在,让我们尝试使用所描述的每个解决方案发送电子邮件。
如何通过 Net: : SMTP 在 Ruby 中发送电子邮件
根据我的经验,在一个普通的 web 应用程序中使用这个选项是不常见的。但是,如果您在某些物联网设备上使用 mruby (Ruby 语言的一种轻量级实现) ,那么通过 Net: : SMTP 发送电子邮件可能是合适的。此外,如果在无服务器计算中使用,例如 AWS Lambda,它也会这样做。首先查看这个脚本示例,然后我们将详细介绍它。
Ruby 露比
这是一个通过 SMTP 发送文本电子邮件的简单示例(可以在这里找到官方文档)。您可以看到四个标题: 发件人、收件人、主题和日期。请记住,您必须将它们与电子邮件正文中的空行分开。同样重要的是连接到 SMTP 服务器。
Net::SMTP.start('your.smtp.server', 25) do |smtp|
Start (‘ your.smtp.server’,25) do | smtp |
自然,这里将显示您的数据,而不是“ your.smtp.server”,并且25是默认端口号。如果需要,可以指定其他详细信息,如用户名、密码或身份验证方案(普通、登录和 cram _ md5)。它可能看起来如下:
`Net::SMTP.start('your.smtp.server', 25, ‘localhost’, ‘username’, ‘password’ :plain) do |smtp|`
在这里,您将使用纯文本格式的用户名和密码连接到 SMTP 服务器,客户机的主机名将被标识为 localhost。
之后,可以使用 send _ message 方法并将发送方和接收方的地址指定为参数。
Start (‘ Net: : SMTP.start (‘ your.SMTP.server’,25) do | SMTP |’)的块形式将自动关闭 SMTP 会话。
在 Ruby Cookbook 中,使用 Net: : SMTP 库发送电子邮件被称为极简主义,因为您必须手动构建电子邮件字符串。尽管如此,这并不像你想象的那样没有希望。让我们看看如何用 HTML 内容增强电子邮件,甚至添加附件。
在网上发送 HTML 电子邮件: : SMTP
查看这个引用消息部分的脚本示例。

阅读更多 >>>  组装机网卡驱动怎么看

Ruby
除了消息体中的 HTML 标记之外,我们还有两个额外的头: MIME-Version 和 Content-type。MIME 指的是 MIME。它是 Internet 电子邮件协议的扩展,允许您在单个消息体中组合不同的内容类型。MIME-Version 的值通常为1.0。它指示消息是 MIME 格式的
至于 Content-type 头,一切都很清楚。在我们的示例中,有两种类型-HTML 和纯文本。另外,确保使用定义的边界分隔这些内容类型。
除了 MIME-Version 和 Content-type,您可以使用其他 MIME 头:
内容-传输-编码-表示二进制到文本的编码方案(7位、 Quoted-printable、 base64、8位或二进制)。

在网上发送带附件的电子邮件: : SMTP
- Content-Disposition-指定表示样式(内联或附件)
让我们添加一个附件,例如 PDF 文件。在这种情况下,我们需要将 Content-type 更新为 multipart/mix。另外,使用 pack (“ m”)函数用 base64编码对附加文件进行编码。
Ruby

之后,你需要定义你的电子邮件的三个部分。
第1部分-主要标题

第2部分-消息行动

第三部分-附件

现在,我们可以把所有的部分放在一起,并最终确定剧本。这就是它看起来的样子:
Ruby
我可以发送电子邮件给多个收件人在网络: : SMTP?

当然,你可以. send _ message 期望第二个和随后的参数包含收件人的电子邮件。例如:

Ruby
发送电子邮件的最佳 Ruby Gems
在 Ruby 生态系统中,您可以找到特定的电子邮件 gems,它们可以改善您的电子邮件发送体验。
Ruby Mail

该库旨在提供一个单点访问管理所有电子邮件相关活动,包括发送和接收电子邮件。 Pony
您可能听说过一个关于用一个命令发送电子邮件的童话故事。抓紧你们的帽子,因为它是真的,由小马宝石提供。
ActionMailer

这是最流行的宝石发送电子邮件在 Rails 上。如果你的应用程序写在上面,ActionMailer 肯定会出现。它允许您使用邮件类和视图发送电子邮件
使用邮件陷阱测试使用 Net: : SMTP 的电子邮件发送

设置非常简单。进入演示收件箱后,复制 SMTP“设置”选项卡上的 SMTP 凭据并将其插入到代码中。或者,您可以在 Integrations 部分获得一个简单消息的即用模板。只要选择一种编程语言或框架,你的应用程序是建立。
Ruby

如果一切正常,您将在邮件陷阱演示收件箱中看到您的消息。此外,您可以尝试检查您的 HTML 内容和附件的电子邮件。

您刚刚阅读了关于如何使用 Ruby 测试和发送电子邮件的完整教程。希望您喜欢!

Cocoapods不能成功安装第三方库时怎么解决

开发iOS应用难免会经常用到第三方开源类库。公司项目,用到很多第三方的SDK,我为了方便管理,第一次使用CocoaPods。跟着网上安装教程,可我发现CocoaPods安装成功,却到了安装SDK时总是不能成功安装,下面的一些错误是我安装过程中遇到的,及解决方法。
1.Ruby环境搭建
苹果Mac OS本身自带Ruby,这省了我不少事,不过可以用命令确认是否安装了ruby,打开终端输入ruby -v
更新ruby
在安装CocoaPods时不要直接执行sudo gem install cocoapods 命令,因为cocoapods.org被墙了。我们可以使用淘宝的Ruby镜像来访问CocoaPods,安装CocoaPods的过程如下:
$ sudo gem sources --remove https://rubygems.org/
//等有反应之后再敲入一下命令
$ sudo gem sources -a https://ruby.taobao.org/
$ sudo gem install cocoapods
gem sources -l(用来检查使用替换镜像位置成功)
2、下载安装CocoaPods
在终端输入:$ sudo gem install cocoapods
发现报错
ERROR:While executing gem ... (Errno::EPERM)
Operation not permitted - /usr/bin/pod
额,好像我的CocoaPods是最新版本了1.0版本
用命令$ sudo gem
install -n /usr/local/bin cocoapods 成功解决掉上面问题,安装成功
3、使用CocoaPods
cd+项目总目录
ls 查看项目目录
终端上输入 :pod init 创建 Podfile文件,在项目中会生成,文件格式自动生成,不要随意改变
终端上输入: open -e podfile 打开文件
终端上输入: vim Podfile 进入,输入i,进入编辑模式
按Esc,并输入“:”号进入vim命令模式,然后冒号后面输入wq保存并退出
然后终端cd到项目总目录,输入pod
install,等待几分钟,然后安装成功
注意:
第一次安装使用CocoaPods会出现一些问题
如执行命令 pod setup 或输入pod install 报错
原因是由于安装Xcode导致路径变了
解决方法:执行命令
$ sudo xcode-select -switch /Applications/Xcode.app
再执行pod install --verbose --no-repo-update(安装依赖关系(快速安装(有依赖关系))
如:
出现Setting up CocoaPods master repo,半天没有任何反应。原因无他,因为那堵墙阻挡了cocoapods.org。。。
gitcafe和oschina都是国内的服务器,可以用它们CocoaPods索引库的镜像:
$ pod repo remove master
$ pod repo add master https://gitcafe.com/akuandev/Specs.git
$ pod repo update
如果想用oschina的镜像也可以把第二条命令 换成http://git.oschina.net/akuandev/Specs.git即可
第二条命令执行的时候会比较耗时,这个时候要去把整个specs仓库clone一下,下载到
~/.cocoapods里;
cd 到该目录里,用du -sh *命令来查看文件大小,每隔一会看看,最终大小是190多M。
文/lee祖祖(简书作者)
原文链接:http://www.jianshu.com/p/55f3dc7f4e2a
著作权归作者所有,转载请联系作者获得授权,并标注“简书作者”。

redis集群如何搭建

redis集群的搭建集群搭建:Redis集群至少需要3个节点第一步:创建一个文件夹redis-cluster,然后分别在下面创建6个文件夹:(1)mkdir -p /usr/local/redis-cluster(2)mkdir 7001、mkdir 7002、mkdir 7003、mkdir 7004、mkdir 7005、mkdir 7006第二步:把之前的redis.conf配置文件分别copy到700*的目录下,修改各个文件的内容,命令如下:(1)daemonize yes(2)port 700*(3)bind 192.168.2.2 绑定当前机器的ip(4)dir /usr/local/redis-cluster/700*/ 指定数据文件存放位置 (5)cluster-enabled yes (启动集群模式)(6)cluster-config-file nodes700*.conf (7)cluster-node-timeout 5000(8)appendonly yes第三步:由于redis集群需要使用ruby命令。所以我们需要安装ruby,命令如下:(1)yum install ruby(2)yum install rubygems(3)gem install redis (安装redis和ruby的接口)这里可能会出现这个错误:ERROR: Error installing redis: redis requires Ruby version >= 2.2.2此处,可以参考http://blog.csdn.net/fengye_yulu/article/details/77628094来解决这个问题。第四步:分别启动6个redis实例,然后检查是否启动成功(1)/usr/local/redis/bin/redis-server /usr/local/redis-cluster/700*/redis.conf(2)ps -el | grep redis把6个全部启动完成第五步:首先到redis3.0的安装目录下,然后执行redis-trib.rb命令。(1) cd /usr/local/redis-3.0.0-rc2/src(2)./redis-trib.rb create --replicas 1 139.196.123.218:7001 139.196.123.218:7002 139.196.123.218:7003 139.196.123.218:7004 139.196.123.218:7005 139.196.123.218:7006(1的意思指主从节点的比例,1就是主:从;1:1)第六步:集群搭建成功,进行验证:(1)连接任意一个客户端:./redis-cli -c -h -p(-c 表示集群模式,指定ip地址和端口,) 如:usr/local/redis/bin/redis-cli -c -h 192.168.1.1 -p 7001(2)进行验证:cluster info(查看集群消息)、cluster nodes(查看节点列表)(3)进行数据操作验证(4)关闭集群则需要逐个进行关闭,使用命令:usr/local/redis/bin/redis-cli -c -h 192.168.1.1 -p 700* shutdown更多Redis相关知识,请访问Redis使用教程栏目!

阅读更多 >>>  打印机安装不上怎么办

如何快速学习 Ruby on Rails

快速学习Ruby on Rails,这应该是个伪命题,没有什么事情是能够快速学习的,尤其是编程,而且是Rails这样极其复杂的框架,它由无数顶级高手成年累月的心血堆砌而成,融合了web开发领域内几乎全部的最佳实践。
如果想快速入门,那么其他一些人提过的 Rails Tutorial,或者 Rails for Zombies 都是很好的选择,但相信我,即便你能快速做出简单的网站,依旧会对整个开发环境和知识体系一头雾水,在面临现实世界的需求时往往会捉襟见肘,花费更多的时间来补充缺失的知识。
所以,我认为如果你的目的不是创业,而是学习的话,全面有效成体系地吸收知识是更好的选择,这方面,读书是最好的方式,不过市场上滥竽充数的书籍实在很多,对于新手来说,怎样用有限的时间读最合适的书,是很重要的。
我在学习和使用Ruby与Rails的过程中,读过大部分在Amazon排名靠前的相关书籍,当然有些不错的书,随着技术的进化,已经略显陈旧。以下给出的阅读列表,是在现在依然有效的选择:
起点阶段,强烈建议至少具备如下知识后再开始Rails开发
Html and CSS
结构和样式不止是设计人员的事,web开发必须要熟悉
Head First HTML与CSS(第2版)
虽然已经出版了很久,但依然是最好的Html&CSS入门书
Linux
几乎所有的开发环境都严重依赖于GNU/Linux为主的命令行环境,因此需要学习linux的基本概念和操作
The Linux Command Line
目前最好的linux command line学习指南,生动,清晰,详细,无论是菜鸟还是多年的老手都能从中受益,远超过之前作为标准教材的practical guide to xx系列。No starch这个出版社既有延续至今的Hacker精神,也懂得如何发掘有趣的作者
HTTP and Rest
Web开发对于Http的深入理解是必须的,另外Rails还使用Rest协议作为基本指导原则,所以需要深入理解Http和Rest
RESTful Web Services中文版
这本是目前为止最好的描述HTTP与Rest的作品,可以让你重新认识Web,更何况其中的示例是Ruby语言(因为这本书合著者是Sam Ruby)
Programming
程序员修炼之道
这本书告诉你,如何做才能成为一个注重实效的程序员,涉及了非常多的理念和实践,虽然都不深入,但至少让你知道世界是什么样子的,是任何程序员最应该在新手阶段读的书,也是对整个业界影响最大的经典之一
Git and Version Control
版本控制在项目中是一开始就要使用的,不止是开发,一切事情都需要版本控制
Pro Git
这本是迄今为止讲解Git最清楚最深入的书,对于新手,不建议看后面的实现原理,先读前几章了解概念和学习日常实践使用是最重要的
Ruby
如果只是在Rails中使用的Ruby,可以使用一些免费的快速入门教程,不过,系统地学习Ruby,可以了解到很多面向对象开发或函数式编程的思想,对于熟悉和掌握Rails帮助非常大
Programming Ruby 1.9
公认的Ruby入门经典,不过对于新手来说,只推荐前半的入门部分,高阶内容可以稍后再来学习
Rails
Learn Web Development with the Ruby on Rails Tutorial
最后是Rails自身的学习,这本书的最新版涵盖Rails4,是目前为止最好最完整的Rails入门教程,可以在线看,还有大量的视频搭配
进阶阶段,具备下面的知识,可以让你或多或少地理解Rails Way,并真正开始写出合格的Rails应用
Programming
重构
这本"重构"是当年石破天惊的经典著作,讲解如何持续改进和让代码优雅干净,拥有直到现在还依然适用的价值,尤其为Ruby On Rails社区广泛接受,这本书有将其中的Java语言换成Ruby后的[版本](重构(Ruby版) (豆瓣))
UNIX编程艺术
由公认的黑客领袖之一Eric S.Raymond撰写的这本书总结了长久以来的Unix领域中的设计和开发哲学,思想乃至文化体系,是了解Ruby和Rails诞生于其中的Unix黑客文化必不可少的读物
Ruby
深入理解Ruby,除了上边提到的Programming Ruby 1.9以及重构等通用编程书之外,还有以下几个选择
Ruby编程语言
Ruby之父松本行弘和O'Reilly的王牌作者合作,诞生了这本讲解Ruby最透彻的经典著作
Eloquent Ruby
Ruby社区的编程指南之一,介绍了Ruby社群的文化,品味和编程原则,强烈地反映了Ruby程序员的共同特质: 幽默,健谈,追求乐趣,热爱生活
Test
测试驱动开发(TDD)以及之后进化的行为驱动开发(BDD)是Ruby和Rails社群的核心文化之一,只有彻底理解并运用BDD,才是合格的Rails开发者
The RSpec Book
唯一的也是必读的BDD介绍作品,由RSpec核心成员撰写
Git
可以坚持把Pro Git的后半部分学习完,没有更深入和清楚的书了
CSS
CSS权威指南
Eric Meyer的CSS权威指南至今仍然是CSS2讲解最全面和最深入的参考书
Javascript and jQuery
Web开发的交互性会越来越多,Javascript已经成为了相当严肃的编程语言
JavaScript权威指南
目前最全面最好的Javascript学习书籍
jQuery基础教程 (第4版)
唯一尚可称得上紧跟jQuery发展脚步的学习指南
Rails
Rails发展的实在太快了,最好的方法也许是跟踪在线文档,不过还是推荐这本
The Rails 4 Way
这本书的Rails 3版本讲解Rails的哲学和细节相当到位,不过Rails 4版本还没有出版,非常值得在今年3月份第一时间拿下它。
---
More
上边的书籍都读过的话,可能你终于能了解到Rails背后涉及的概念和实践有多么庞大惊人,也了解到了还有多么深的知识鸿沟需要跨越,了解到了一切都还只是开始,不过值得庆幸的是,一切事情都需要个开始

怎么学习编程语言

第一步:理解这门语言的设计理念和通用的语言特性
例如,如果你要学 Ruby,那就先看一下 Ruby 有什么特别的?
Ruby 是一门开源的动态编程语言,专注易用性和效率。它的语法很优雅,代码读起来很自然,写起来也很自然。
让我们更深入地看一下:
http://www.ruby-lang.org/en/about/
那么,在学习 Ruby 之前,需要了解的重点是:
Ruby 专注于易用性和效率,代码容易阅读;
Ruby 是解释执行的,所以使用了 GC,也就是说对于某些任务,性能可能会是个问题;
在 Ruby 中,所有东西都是对象,所以它是面向对象编程语言,而且是纯面向对象的;
Ruby 很灵活,我们可以重新定义它的一些东西。
了解这门语言最重要的特性,包括它的优点和不足。
第二步:通过教程或书籍学习语法和最佳实践
在第二步,你需要掌握语法、基本的 IO、调试工具和单元测试。
如果你刚开始学习编程,最好找那种“权威指南”之类的书籍,比如语言作者写的书,或者在网上书店搜索这门编程语言,找到好评如潮的书。
如果你是个编程老手,只需要找一些简单的指南或示例代码就可以了,可以看看这个。
记住,在学习语法时,你需要动手写代码,不要只是拷贝黏贴。你可以在这个网站上练习写代码,有人会审阅你的代码,并免费为你提供建议。
第三步:使用新学的语言写更多的代码
现在,你需要使用新学的语言开始一个项目,包括与这门语言有关的生态系统、工具和库。你可以从简单的开始,比如一个猜数字小游戏、简单的网上书店或者 TODO 应用程序。在 GitHub 上可以找到很多类似的项目。

怎么实现自己的idea

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》等等。

阅读更多 >>>  linux如何下载java程序吗

网站数据信息

"ruby 教程,怎么构建Ruby的开发环境?"浏览人数已经达到18次,如你需要查询该站的相关权重信息,可以点击进入"Chinaz数据" 查询。更多网站价值评估因素如:ruby 教程,怎么构建Ruby的开发环境?的访问速度、搜索引擎收录以及索引量、用户体验等。 要评估一个站的价值,最主要还是需要根据您自身的需求,如网站IP、PV、跳出率等!