今天做了啥
做了饭
打了娃
倒了垃圾
拿了米
唯独没做事。
你怎么度过这个假期,你就怎么过这一生。
收获
看了水哥——王昱珩的节目。初看不是地球人,细看应该还是同类。
极强的观察能力需要的是高度的专注,这种慢、这种细真是可怕。这也是我欠缺的能力,几乎不能高度专注,没有深度工作、思考的能力。
所以,慢点,再慢点,观察每一个细节,搞清楚每一个细节。这是唯一的出路。
tiger & cat
孩子的教育真是失败呢,我该怎么办。
title: rails-everyday-dock+rails
date: 2020-03-28 07:07:34
tags: rails
category: rails-everyday
1 | -app_name |
要说出自己的观察,加上自己的感受,沟通自己的需求,并且请求对方行动
1.儿子,我看见你光着脚在地上跑。现在已经是冬天了,地板上非常冷。(客观观察)
2.我感到非常着急,非常心疼,还有一点害怕。(我的感受)
3.我很重视你的健康,想要能保证你的健康,避开生病之苦。(我的需要)
4.请你把袜子、鞋子穿上,,再去玩好吗?(明确的请求)
你能够从对方的表达中,听到对方背后的需求,才能真正地非暴力沟通。
遇到以上情况,请默念:我”之所以愤怒,是因为“我”还有未被满足的需要!
不必讨论如何忍耐。因为忍不住要发怒,只是我们现在的行事的习惯。
重要的是,请在事后抓住它,正视它。
要拿出勇气,探索愤怒背后到底有什么“未被满足的需要”。
正视这种需要,才是根本之道。
『内观』
每天要写点东西,否则这日子过得像狗屎。
先用,建立感性认识,用 2/8 法则,20%的事件了解 80%的内容,剩下的难的 20%慢慢了解。
看视频,写每一行代码,在编写过程中观看,每一步都能运行起来。
10 分钟的视频往往需要一个小时。(原来大家都这样啊,我还以为只有我自己这么笨)
开始学习前,远离书和文档
遇到不懂的地方,记下来,写篇 blog。
发现你未掌握的知识。
找到所有能解决,或者让你理解这个难题的资料。(库布里克学习法)
回退,学习基础资料,然后再学习。
不用掌握所有知识后再动手
找到兴趣点,然后写一个小项目
三个步骤会互相融合,并不是线性发生的。
content_for 用于定制网页特定的内容,
content_for 接受一个名称参数及代码块定义。代码块逻辑生成的内容将会被加载到布局文件中。
content_for 为我们提供在 Action 中定制布局文件定义的能力。诸如为某些指定的 Action 中增加用于显示菜单,滚动条等效果的 CSS 引用等。
1 | <!-- projects/index.rhtml --> |
把通用的逻辑抽取到一个工具方法中。
页面 view 中重复的逻辑,抽取到了 model 中。
需要重构的页面代码
1 | <h1>Users</h1> |
资料页面
1 | <h1>Profile</h1> |
两处代码中出现重复的内容,这时候就需要重构了。
1 |
|
用测试来保障重构。
ruby 有 ruby 的编程方法,和 c 系语言完全不同,区别的根源就是迭代器的使用。
1 |
|
尽量少用数据库查询,查询出来的东西能复用的要复用。怎么复用?保存在实例变量中。
1 | class ApplicationController < ActionController::Base |
过时了,现在都直接用 find_by.
seeds.rb : 可以做些复杂的事情。
1 | happy = Project.create(name: 'Be Happy') |
找到第一个 project 中未完成的任务:
1 | x = Task.where(project_id: 1).where(complete: false) #方法1 |
index action 中,排序查找什么的,不要放在 controller 中了,model 的事情交给 model 做,这样 controller 中如果有多个地方想用这个查询,放在模型中就可以复用这个查询代码了。
注意模型中,是类方法,方法名前面加 self。
新版本中用 scopes 取代了这种方法,代码量小的可以用,更简洁。
scope 将常用的查询条件定义成方法。
1 | class Post < ActiveRecord::Base |
1 | class UsersController |
1 | class UsersController |