Day24 心得体会&读书笔记

一、心得体会
1、今天完成了什么
今天主要完成了Rails100道考试题的7道

2、今天收获了什么

  • Rails的缓存有哪几种
  • 什么是XSS和CSRF攻击,怎么解决?
  • 正则表达式基本要素及其匹配规则
  • require、load、include以及expend的区别

3、今天犯了哪些错误
4、今天的状态如何

  • 今天状态不错,一个番茄钟学一个概念的方法效果很不错

5、明天还要做哪些工作

  • 明天继续看Rails考试题
  • 把正则表达式吃透

二、读书笔记

1、Cache 有哪几种?Page caching 如果有类似这样的code Welcome <%= username %> 第一次登录的人是render的,然后cache了,第二个人登录了,那不是直接读cache,页面就是跟前一个人一样的了?怎么回事?
解法:
页面、动作、片段缓存,Rails默认提供了片段缓存,如果想使用页面缓存或动作缓存,要把actionpack-page_caching或actionpack-action_caching添加到Gemfile中。

2、安全问题。怎么破 XSS 和 CSRF攻击
解法:
对于XSS:首先说说什么是XSS(Cross-site scripting),跨站脚本攻击,攻击者在客户端注入可执行代码。
对策:
过滤恶意输入非常重要,但是转义 Web 应用的输出同样也很重要。
过滤恶意输入白名单比黑名单要有效,特别是在需要显示未经过滤的用户输入时(例如前面提到的的搜索表单的例子)。使用 escapeHTML() 方法(或其别名 h() 方法),把 HTML 中的字符 &、"、< 和 > 替换为对应的转义字符 &、"、< 和 >。

对于CSRF:Cross Site Request Forgery,跨站请求伪造。通俗理解:攻击者盗用当前用户身份,发请当前用户的恶意请求:如邮件,银行转账等。

对策:首先,根据 W3C 的要求,应该适当地使用 GET 和 POST HTTP 方法。其次,在非 GET 请求中使用安全令牌(security token)可以防止应用受到 CSRF 攻击。

3、遇到网站很慢,怎么调试1. 假如code是对的 2. 假如是code可以优化,怎么找
4、验证电子邮件格式
/^[a-zA-Z0-9._-]+@[a-zA-Z0-9-]+.[a-zA-Z.]{2,5}/

5、resources :users 会创建哪些路由
users/index
users/new
users/edit
users/create
users/update
users/destroy

6、已知str=”abcdef”, str[0]=? ?如何输出字符“a”
str.split(//).first

7、 [‘a1′,’a3′,’a2′,’a5′,’a4′,’a10′].sort=?
["a1", "a10", "a2", "a3", "a5"]

8、如何为一个已存在的类添加实例方法和类方法

9、require, load,autoload和require_dependency的区别是什么

  • require
module Log 
  def class_type
    "This class is of type: #{self.class}"
  end
end

class TestClass 
  include Log 
end

tc = TestClass.new.class_type
puts tc #This class is of type: TestClass
  • load
module Log
  def class_type
    "This class is of type: #{self.class}"
  end
end

class TestClass
  extend Log
  # ...
end

tc = TestClass.class_type
puts tc  # This class is of type: TestClass
  • Require
    Require 方法允许你载入一个库并且会阻止你加载多次。当你使用 require 重复加载同一个library时,require方法 将会返回 false。当你要载入的库在不同的文件时才能使用 require 方法。下例将演示 require 的使用方式。
    文件 test_library.rb 和 test_require.rb 在同一个目录下。
# test_library.rb
puts " load this libary "
# test_require.rb
puts (require './test_library')
puts (require './test_library')
puts (require './test_library')
# 结果为
#  load this libary 
# true
# false
# false

10、如何根据URL获取rails项目的controller和action
11、User.find(10) 和 User.find_by_id(10)的区别。
find_by_id找出第一条记录

12、user = User.first; user.name = ‘wangwei’, 如何查看user name被设置为’wangwei’之前的值。

13、”中国 2013″.size= ”中国 2013″.bytesize=?
14、yield self 的用法, 写个例子
15、rails 三种工作环境的区别(development, testing, and production)
16、Rails是什么
17、什么是重构?
18、Active Record是什么?
19、什么数据验证
20、什么是严格验证?
21、什么是条件验证?
22、什么是自定义验证,举个例子?
23、怎么处理验证错误,举个例子?
24、什么是Active Record回调?
25、对象的生命周期是什么?
26、什么是条件回调?
27、什么是事务回调?
28、什么是关联回调?
29、什么是Active Record 关联
30、为什么使用关联?
31、关联的类型有哪些?
32、什么是单表继承?
33、什么是Active Record查询接口?
34、条件查询有哪些方法?
35、排序的方法有哪些?
36、怎么选择特定字段?
37、怎么选择限量和偏移量
38、怎么分组?
39、什么是having方法
40、什么是条件覆盖
41、什么是空关系
42、什么是只读对象
43、怎么在更新时锁定记录
44、怎么联结表
45、什么叫及早加载关联
46、什么是作用域?
47、什么是动态查找方法?
48、enum宏是什么,怎么用?
49、理解方法链是什么,怎么用?
50、如何检查对象是否存在?
51、怎么用EXPLAN命令
52、Rails布局和视图渲染的各组件之间如何写作?
53、如何创建响应?
54、上传文件的视图代码怎么写?
55、如何使用日期和时间的表单辅助方法?
56、什么是请求伪造防护?
57、什么是请求和响应对象?
58、什么是HTTP身份验证
59、数据流和文件下载如何做?
60、什么是日志过滤?
61、异常处理如何做?
62、如何自定义资源路由?
63、什么是非资源式路由?
64、如何加载核心扩展?
65、I18n的工作原理
66、如何发送邮件?
67、Active Job的作用
68、Rails缓存存储器是什么?
69、对条件GET请求的支持
70、缓存键是什么?

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 204,293评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,604评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,958评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,729评论 1 277
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,719评论 5 366
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,630评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,000评论 3 397
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,665评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,909评论 1 299
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,646评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,726评论 1 330
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,400评论 4 321
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,986评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,959评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,197评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 44,996评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,481评论 2 342

推荐阅读更多精彩内容

  • 一、心得体会1、今天完成了什么? Rails guide 4 170页 5个小时 重看了镐头书看了第一部分 1个小...
    柳辉阅读 344评论 0 1
  • 一、心得体会1、今天完成了什么? 今天上午回顾了Rails guide 4的视图和控制器部分 下午研究了昨天的试题...
    柳辉阅读 297评论 0 0
  • 一、心得体会1、今天完成了什么? 5个小时看完了Rails-guide 4 ,远远没有完成看一半的计划,一个是内容...
    柳辉阅读 398评论 0 0
  • 一、心得体会 1、我完成了什么? 今天主要看了Rails guides 5的Active Record的3、4、5...
    柳辉阅读 265评论 0 0
  • (森林应该分四块,捕猎区,管理区,学校区,平民生活区) 奔奔是一只可爱的牛牛,和爸爸妈妈一起生活在绿野森林里,这是...
    恒晓阅读 242评论 0 0