RailsCast 笔记[未完成]

一、数学建模层次分析法(AHP)【清风数学建模个人笔记】 层次分析法: 层次分析法主要用于解决评价类问题(例如:选择哪种方案更好、哪位员工、运动员等表现得更优秀) 评价类问题: 分析问题得出评判问题的子标,分别给不同子标赋予权重(权重和要为1) ... 阅读详情

走过了弯路,看过了那些粗制滥造、过时、或者至少不够有深度的书之后,才知道:Ruby for Rails+The Ruby Programming Language+Agile Web Development with Rails+RailsCast这一个套装,才是学习Ruby on Rails最快最好的途径。其中RailsCast是免费的视频,目前已有152集。它的最大价值是让你直观地感觉到Rails中隐藏的力量。如果你整个系列走下来,当你遇到一个问题时,你知道在Rails中大约可以以什么方式做到。当你心中有了明确的方向,只需要手持API Reference Manual,就可以解决一路上的问题。

寒假到现在用Ruby on Rails为导师完成了一个小型教学网站,主要有课程管理、博客发表、课件上传下载、作业布置和上交以及留言系统。以后可能再在这里添加一份完整的功能介 绍吧。这个网站倾注了我大量的心血,解决了无数稀奇古怪的bug,对网站也做了许多次重构,实现了许多细小的功能,经过这番历练,我终于对基于MVC的网 站开发有了一个较为全局的认识,对Rails也非常熟悉了,也部分实践了我在《Web 2.0网站开发心得》中对Ajax的适度使用的原则。遗憾的是,由于时间的缘故,我无法把所有我想实现的特性都实现,项目已经需要投入实际使用当中了。希 望它在性能和稳定性方面能够不让人失望吧。以后再添加一个尚未全部实现的特性列表到这里吧。如果有时间,我想把整个网站在Ruby 1.9 on Rails 2.3下用BDD的方式重新开发一次,对网站整体做更大的重构,同时完整地使用Git来进行版本管理,同时借助于自己计划编写的GitRoller来制作 一系列视频。

主要使用的技术:

Ruby 1.8.6 on Rails 2.2. Most of the ideas are inspired by Rails Cast

Rails plugins or gems used:

JavaScript Library Used:

Layout based on YAML. Some CSS are stolen from WebCredible and Firefox Plugins(Germany)

 

1.         新特性介绍

2.         JavaScript、Ajax

3.         电子商务

4.         Git、Contribute

5.         DIY

6.         分页、预览、搜索、附件

7.         部署

8.         REST、路由

9.         控制器

10.     用户、Session、Authentication相关

11.     视图

12.     重构

13.     后台Rake

14.     模型、数据库层

15.     关联

16.     Scope、group

17.     性能

18.     Log、调试

19.     测试

20.     设置

21.     安全

以下列表基于时间倒序整理。

新特性介绍

152. Rails 2.3 Extras
151. Rack Middleware
150. Rails Metal
149. Rails Engines
148. App Templates in Rails 2.3
140. Rails 2.2 Extras

JavaScript、Ajax

147. Sortable Lists
136. jQuery
114. Endless Page
103. Site Wide Announcements
88. Dynamic Select Menus
45. RJS Tips
44. Debugging RJS
43. AJAX with RJS

电子商务

146. PayPal Express Checkout
145. Integrating Active Merchant
144. Active Merchant Basics
143. PayPal Security
142. PayPal Notifications
141. PayPal Basics

Git、Contribute


113. Contributing to Rails with Git
105. Gitting Rails 2.1 RC1
96. Git on Rails
50. Contributing to Rails
36. Subversion on Rails

DIY

135. Making a Gem   制作一个Gem。你对Rails的扩充,只要符合一定的文件布局,就能又可以当插件用,又可以当gem用。
33. Making a Plugin   制作插件的方法。define_method、read_attribute、instance_variable_set等等。
62. Hacking ActiveRecord   如何为ActiveRecord增加方法。
58. How to Make a Generator  做一个自己的Generator。本质:erb。

分页、预览、搜索、附件

120. Thinking Sphinx   全文搜索
111. Advanced Search Form  多个条件综合搜索。本质:动态merge hash。
37. Simple Search Form 单一条件搜索。本质:SQL之LIKE。
38. Multibutton Form  预览功能。本质:在同一个action中根据params的不同而展现不同的行为。
51. will_paginate 分页。
134. Paperclip  DSL风格轻松附件上传、验证、缩略图生成。我探索了的高级用法:任意多个附件、附件重命名等。

部署

133. Capistrano Tasks
123. Subdomains
122. Passenger in Development

REST、路由

34. Named Routes 有名路由。例如对于:controller => :users, :action => new,可以命名为login,这样url就是/login了,一种美化。
79. Generate Named Routes 对map做send,动态生成named route,防止重名。
63. Model Name in URL 让url中可以包含有意义的信息,而不只是id。
70. Custom Routes  让url中可以包含多个参数作为路径,如2007/01/08。本质:":year/:month/:day"。
46. Catch-all Route  让url中此后的全部路径成为一个数组。例如对于"/*path","/a/b/c"
的params[:path]就是['a','b','c']。


35. Custom REST Actions
139. Nested Resources
95. More on ActiveResource
94. ActiveResource Basics
92. make_resourceful
117. Semi-Static Pages

 

控制器

131. Going Back  重定向到用户之前浏览的页面。
87. Generating RSS Feeds 创建RSS。
78. Generating PDF Documents 创建PDF。
77. Destroy Without JavaScript  在没有javaScript的情况下,如何让用户确认删除。

用户、Session、Authentication相关

124. Beta Invitations
119. Session Based Model
84. Cookie Based Session Store
82. HTTP Basic Authentication
68. OpenID Authentication
67. restful_authentication
21. Super Simple Authentication
20. Restricting Access
19. Where Administration Goes
65. Stopping Spam with Akismet
61. Sending Email

视图

132. Helpers Outside Views
125. Dynamic Layouts
118. Liquid
100. 5 View Tips
69. Markaby in Helper
64. Custom Helper Modules
40. Blocks in View
32. Time in Text Field
31. Formatting Time
30. Pretty Page Title
18. Looping Through Flash
8. Layouts and content_for
7. All About Layouts

重构

91. Refactoring Long Methods
75. Complex Forms Part 3
74. Complex Forms Part 2
73. Complex Forms Part 1
101. Refactoring Out Helper Object
12. Refactoring User Name Part 3
11. Refactoring User Name Part 2
10. Refactoring User Name Part 1
80. Simplify Views with Rails 2.0
55. Cleaning Up the View
99. Complex Partials

后台Rake

130. Monitoring with God
129. Custom Daemon
128. Starling and Workling
127. Rake in Background
66. Custom Rake Tasks

模型、数据库层

126. Populating a Database
109. Tracking Attribute Changes
121. Non Active Record Model
112. Anonymous Scopes
108. named_scope
107. Migrations in Rails 2.1
83. Migrations in Rails 2.0
16. Virtual Attributes
15. Fun with Find Conditions
14. Performing Calculations on Models
4. Move Find into Model
3. Find Through Association
2. Dynamic find_by Methods
59. Optimistic Locking
41. Conditional Validations

关联

52. Update through Checkboxes   一对多。通过checkbox来更新关联的items。"item_ids[]"。
57. Create Model Through Text Field  一对多。Choose_or_create。collection_select。
102. Auto-Complete Association   一对多。Find_or_create_by。自动完成。
17. HABTM Checkboxes  多对多。产品与Catagory。
47. Two Many-to-Many  多态的多对多。

Scope、group

76. scope_out
42. with_options
5. Using with_scope
29. group_by Month
28. in_groups_of
6. Shortcut Blocks with Symbol to_proc

 

性能

1. Caching with Instance Variables  用||=的方式缓存查询结果。

115. Caching in Rails 2.1  用fectch cache的方式缓存结果。
137. Memoization  用memorize的方式缓存结果。

89. Page Caching 缓存页面。caches_page。如何用sweeper来清除过期页面。expire_page。

93. Action Caching  缓存动作。

90. Fragment Caching  缓存一个partial、或者说片段。

 
98. Request Profiling  如何测试网站的性能瓶颈。
97. Analyzing the Production Log  分析生产状态下运行的网站的日志查找网站的性能瓶颈。

23. Counter Cache Column  例如,缓存博客拥有的评论数目。这样显示博客目录时,不必为每一个博客COUNT一次评论数目。
22. Eager Loading   例如,一个课程拥有多个课件,如果find时使用了:include => :课件, :select => 'id, title',显示课程目录时,也可以同时读取相关课件的标题信息。用于减少一个页面发起SQL查询的数目。

Log、调试

24. The Stack Trace
9. Filtering Sensitive Logs
104. Exception Notifications
86. Logging Variables
56. The Logger
54. Debugging with ruby-debug
53. Handling Exceptions
49. Reading the API
48. Console Tricks

测试

116. Selenium
81. Fixtures in Rails 2.0
71. Testing Controllers with RSpec
60. Testing without Fixtures

设置

85. YAML Configuration File  如何读取自己的YAML配置文件。我尝试了的高级使用:根据用户设置生成YAML配置,保证网站重启后用户的设置仍然有效。
72. Adding an Environment   除了通常的development、production、test三种网站运行环境之外,添加一个staging环境用于演示。
138. I18n    国际化。
106. Time Zones in Rails 2.1  设置时区。或让用户自己指定时区。
39. Customize Field Error    自定义当表单提交验证失败时显示错误信息的方式。
110. Gem Dependencies  通过config.gem指定网站依赖的gem,对其存在进行验证,并可通过rake gems:install安装所需的gem。方便部署。

安全

27. Cross Site Scripting    如何使用h函数和sanitize函数来消除用户提交内容中带来安全风险的javascript脚本。
26. Hackers Love Mass Assignment   通过attr_protected和attr_accessible防止黑客可以给某些字段赋值。
25. SQL Injection   通过使用?来防止SQL注入式的攻击。
13. Dangers of Model in Session  千万不要把模型保存在session里面。

 

VS2019 C# 连接IBM DB2数据库并查询数据表 操作系统:win10 64位 C#:VS2019 数据库:IBM DB2v11.1_win64_expc 其他工具:IBM Data Studio ibm_ds4130_win 步骤一:使用命令行或是IBM DB2工具:Data Studio,创建一个数据库。这里名称为:Student CREATE DATABASE "Student" AUTOMATIC STORAGE YES ... 阅读详情

相关推荐

PID控制器(位置式和增量式)

PID控制算法

zhinian_hao的博客 4512

RailsCasts 项目回顾:经典教程的宝库

RailsCasts 项目回顾:经典教程的宝库 railscasts-episodes NOT MAINTAINED. See README. 项目地址: https://gitcode.com/gh_mirrors/ra/railscasts-episodes ...

gitblog_00077的博客 328

cesium vue2/vue3教程目录导航

以下是本专栏目录导航,送完整项目源码(拒绝单页源码),可以直接运行,全部配置免费视频教程(B站)。

qq_29384639的博客 4312

RailsCast 笔记[不完整]

走过了弯路,看过了那些粗制滥造、过时、或者至少不够有深度的书之后,才知道:Ruby for Rails+The Ruby Programming Language+Agile Web Development with Rails+RailsCast这一个套装,才是学习Ruby on Rails最快最好的途径。其中RailsCast是免费的视频,目前已有152集。它的最大价值是让你直观地感觉到...

对用语句构建世界的迷恋,以及对世界背后的话语的追索 1162

Microsoft Bitlocker企业级管理部署方案

BitLocker是Windows 10以及更高版本中内置的磁盘加密工具,是一种可靠的数据保护机制,可以保护计算机上的敏感数据不被未经授权的人访问。BitLocker的工作原理是将整个系统卷或其他数据卷加密的同时,向某个可信软件或硬件模块请求密钥解密数据。BitLocker最大的好处在于其内置于Windows系统,所以用户无需安装其他软件或购买额外的许可证或硬件设备。本文将介绍Microsoft BitLocker企业级管理部署方案,包括:BitLocker部署前的准备工作。

xueyunshengling的博客 2073

java技术专家 【DDD(领域驱动设计)思想解读及优秀实践 22】|泛化建模(上):领域知识更抽象怎么办?

java技术专家 【DDD(领域驱动设计)思想解读及优秀实践 22】|泛化建模(上):领域知识更抽象怎么办?

大壮 1165

railscast 71-139 记录

71 测试控制 spec72 添加一环境73-75 多项的提交 有点类似AJAX 多一项 就多个生成个框 还包括删除 连带的摧毁等 很详细76 scope_out 使model里面的项可以当动态指令使用77 不用JS 删除项 (另做一个确认页 之类的)78 显示为pdf的插件79 routes函数定义 批量快速定向!¥!¥%越来越不清楚我在说什么了80 基本的view指令说明 怎么放这了……81

destinyd的专栏 611

一条时间轴上的商品供给:商品供给域事件全景、八大子域事件清单与事件契约规范的工程推演

本文以虚构连锁零售企业“青禾鲜市”为例,用事件风暴重新梳理商品供给域:先剖析同词异义、状态模糊、隐式依赖与被动兜底四类冲突,再以时间轴、八条子域泳道与关键事件铺出全景地图,确立一个事件只有一个户口;随后为总店商品、门店商品、价格、库存、质量、标签、变更通知与操作日志列出聚合、事件、命令与策略,并统一命名、信封结构、版本与幂等规范。程序体检把初稿14个问题清零,仿真显示按聚合版本号更新可售视图可将误判从两位数百分比降到0.019%。文末给出四轮工作坊节奏与新品引入、全国调价、批次召回走查剧本。

曾经“等你生日那天”都遥远得像未来,如今却可欢愉的挥手说“下个十年见” 5万+

RailsCasts中文版,#22 Eager Loading 贪婪加载(级连查询)

要想试图优化你的Rails应用,首先应当把目光投向数据库访问操作。减少对数据库的访问次数能对应用的运行效率产生巨大的提升作用。下面来介绍一种叫做贪婪读取的技术 这个示例应用包含两个模型分别是任务(Task)和项目(Project) 图中的页面列出了一系列任务以及每个任务所属于的项目。在TaskController代码里便利所有的任务,在视图中通过循环将他们一一列出。 Tasks

边晓宇@优快云 4452

华为 MetaERP 财务模块的核心业务对象,按子模块与架构维度分类,以表格呈现,适配架构设计与实施落地

华为MetaERP财务模块基于4A架构(业务/应用/数据/技术)与TOGAF框架,实现业财一体化与全球合规。业务架构涵盖组织模型与核心流程,应用架构支撑财务操作,数据架构确保数据一致性,技术架构提供高性能技术底座。模块覆盖总账、应收应付、资产等子模块,支持多组织、多币种、多准则核算,通过实时会计引擎实现"交易即核算"。4A架构与TOGAF框架对应,实现业务能力、应用组件、数据模型与技术栈的深度融合,为华为全球化财务核算提供核心支撑。

金牌架构师 434

【深度学习新浪潮】2025年末AI产业动态:泡沫争议、技术突破与2026投资机会解析

2025年末的AI产业在波动中完成了阶段性调整,技术突破与政策支持构筑了长期成长基石,而结构性分化与风险隐患则要求投资者更加精准地把握机会。2026年作为“风险资产的黄金年”,AI全产业链将持续成为资本聚焦的核心,无论是算力国产化的技术突破,还是应用场景的规模化落地,都有望催生一批优质企业。投资者需立足产业阶段特征,理性看待短期波动,聚焦核心技术与政策红利,方能在AI产业的成长浪潮中把握确定性机会。

专注:太空算力、AI infra、异构调度、大模型成本工程 1809

从RailsCast383到S3DirectUpload:完整项目发展历程、路线图与社区生态指南

提到 **Amazon S3 直传**(Direct Upload),许多 Rails 开发者都会想起一个经典痛点:文件先经过应用服务器再转发到 S3,既浪费带宽又拖慢响应。而 **S3DirectUpload** 这款 Gem 正是为解决这一痛点而生——它借助浏览器端 CORS 直传方案,让文件从用户浏览器一步直达 Amazon S3,应用服务器只在最后收到一条轻量的回调通知。本文将从它的起源

gitblog_00651的博客 285

R语言caret拟合模型:train函数构建xgBoost Dart模型、模型调优、自定义设置trainControl函数和tuneLength参数

R语言caret拟合模型:train函数构建xgBoost Dart模型、模型调优、自定义设置trainControl函数和tuneLength参数

statistics+insight+vista+power 527

RailsCast25 SQL Injection SQL注入

真的有人会把他的孩子起名为 Robert'); DROP TABLE Students;吗? - XKCD No. 327 接下来的几篇,我们会讨论一些关于安全的话题,以免你的站点频频遭受黑客的攻击。其中第一个基本安全原则就是永远不要信赖来自用户的输入。在Rails中来讲就是说,从页面参数中传递进来的数据一定要小心对待。用户可以有意的设置参数值,甚至可以设置参数键,所以得谨慎的使用。这个原则

dazhi_100的专栏 699

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

RailsCast89:Page Caching

[code] # javascripts_controller.rb caches_page :dynamic_states # config/environments/development.rb config.action_controller.perform_caching = true # config/environment.rb config.load_paths ...

hideto 156

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

RailsCast24 The Stack Trace 桟跟踪

程序运行中难免遇到异常,当系统抛出异常后,Rails会显示如下的一个页面。在开发过程中你经常会看到。 显示异常信息的页面。 这个页面中列出错误信息及异常堆栈。第一眼看过去可能有点晕,不过这些信息会为你定位问题提供很大的帮助(页面比较长,截图是其中的一部分)。在具体分析眼前这个错误之前,先介绍一下什么是异常堆栈。 什么是异常堆栈? 在irb中,我们抛出一个异常。Ruby框

dazhi_100的专栏 711

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

railscast colorschema for gvim on ubuntu

railscast colorschema for gvim on ubuntu Railscasts Theme (GUI&256color) : A railscasts color theme that works in 256color termin...

95

railscast cast1-70的说明 也可以说是个人记录

1 session和变量运用?2-3 models动态指令4 转移到models指令5 with_scope 运用6 |p| p.name 可以转换成&:name7 layouts 模板全部介绍(他说的=。=)8 内容显示 yield css等9 保护password不被记录10-12 测试说明13 session安全保存方式14 console演示model指令15 model conditio

destinyd的专栏 553

railscast:99 complex_partial

99_complex_partial 当前情况:show.rhtml和index.rhtml都会用到_article.rhtml模板.模板中有些在index是要显示而在show中               是不用显示的.在_article.rhtml中用current_page?函数来区分.这使_article中掺杂了逻辑代码. 解决方法: ...

qinjunbin的博客 236

railscast:48.console_tricks 控制台技巧

48.console_tricks (1)让console退出后回滚数据库     ruby scirpt/console product --sandbox (2)让console的输出更加美观(结果换行输出)     >>y :    (3)补全     >>Acti (按tab键) ...

qinjunbin的博客 175

RailsCast26 Hackers Love Mass Assignment rails中按params创建、更新model时存在的安全隐患

Mass assignment是rails中常用的将表单数据存储起来的一种方式。不幸的是,它的简洁性成了黑客攻击的目标。下面将解释为什么及如何解决。 上述表单为一个简单的注册表单。当用户填入name,点击提交时,一个新用户被创建。用户模型被如下定义: ruby create_table :users do |t| t.string :name t.boolean

dazhi_100的专栏 1308

廉价的Ruby SSO认证的实现

今天在看RailsCast的时候发现了一个很好的东西呵呵。那就是我们的OpenID,相信它会是Ruby一个非常廉价的解决单点登陆的方法。以前我是做java单点登陆的,即使我用已经封装好的sdk包+servlet去集成第三方系统,依然是工作量很大。不过主要经历是花在与第三方公司协调。现在大家如果都用一个开源包去做的话,可以大大降低成本。换句话说,我就要下岗了,呵呵。 希望javaeye也早点支...

小仓库 213

Backbone-on-rails完整教程:从安装到部署的10个实用技巧

你是否正在寻找一个简单高效的方法来在Rails项目中集成Backbone.js?Backbone-on-rails正是你需要的终极解决方案!这个强大的gem为Rails开发者提供了完整的Backbone.js集成框架,让前端开发变得更加简单快速。通过本指南,你将掌握10个实用技巧,从基础安装到高级部署,全面提升你的开发效率。 ## 🚀 为什么选择Backbone-on-rails? Back

gitblog_01120的博客 449

Ruby on Rails 2.x实践手记

本文为原创。转载请注明:作者:Utensil博客:http://blog.youkuaiyun.com/utensil/邮箱:utensilcandel@gmail.com这两天,在将之前那个基于xml和php的博客网站移植到MySQL和ROR上的过程中,攻克了学习ROR的两个重大难关:一个是,现在大多数资料讲的都是Rails 1.x中的做法,由于2.x打断了不少向后兼容性(尤其是削去了动态scalffold

Utensil的专栏 1838

CSS所有属性的XML

cssed是Linux下最好的CSS编辑器,它提供了CSS属性的完整索引,使得CSS编写变成了鼠标轻点选择的过程,这一切的实现基于/usr/share/cssed/data下的cssed-def.xml文件。这里把它贴上来记下。这可是很珍贵的资源呢,将来如果要写一个CSS编辑器或者html的可视化编辑器,可是加速不少。其中name有括号的,意味着会弹出一个对话框进行设置,比如选择颜色。xml ve

Utensil的专栏 1555

心得:Web 2.0站点如何提高可用性与性能

看了一些书和一些网站之后,关于Web 2.0站点如何提高可用性与性能的一点心得。基本上结合了《高性能网站》与Hijax的思路。可以参考的一些网址:《高性能网站建设指南》读后随感http://www.dbanotes.net/web/high_performance_web_site.htmlYahoo!网站性能最佳体验的34条黄金守则——JavaScript和CSShttp://yy-web.ja

Utensil的专栏 1492
上一篇: 心得:Web 2.0站点如何提高可用性与性能
下一篇: 搬家JavaEye
Utensil
博客等级 码龄19年 61粉丝 37原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值