20170216学习纪录

Objective 关于今天的课程,你记得什么? 1、session和cookie的工作机制; 2、query的工作原理; 3、form_tag的实用意义; 4、params这个传递的参数的意义,以及获得的几种方法; 5、routes的规则; 6、rakoe routes生成的列表的三行分别代表了方法地址,url,对应的controller; 7、routes里面有和没有s的区别,没有则少了index; 8、ruby的parse这个转换代码的方法; 9、params也可以用来传数组; 10、ruby的.split这个分割方法; 11、传递参数时可以加入筛选条件,比如(“total > ?”, params[:total]); 12、传递参数名称只在传递时使用,所以可以自己灵活设定; 13、_url和_path的意义是一样的; 14、hash复制的另一个方法 :XXX => 值; 15、在routes甚至方法时比较灵活,比如:get “/foobar” => “welcome#index” 可以加上:as => ‘zoo’ ,也可以写成“/foobar/:a/:b/:c"; 16、params的来源可以,controller,views,地址后,表单里,理由里; 17、通过admin:: 可以把controller拆分成两部分; 完成了什么? 听了ihower老师的直播 Reflective 你要如何形容今天的情绪? 昨天记得东西太多,今天大脑有点厌学了,因为晚上要听直播,所以没有安排太多任务,晚上听了ihower老师的直播,明白了很多以前不明白的东西,感觉基本打通了现阶段的一些内容,特别是将sesiion和cookie时,把一个困扰心中多年的概念给弄明白了。 今天的高峰是什么? ihower老师直播的内容很好的理解吸收了; 今天的低点是什么? 昨天强记的内容太多了,大脑今天有点厌学; Interpretive 我们今天学到了什么? 1、routes的使用方法; 2、params的传递方式,及利用原理; 3、rake routes里面的元素使用方法; 4、query的方法; 5、session和cookie的原理; 今天一个重要的领悟是什么? ####学习方法 缺乏学习动力的时候,一定要找一个学习的内在驱动力,它有两种,理性的和感性的。理性的是意义,感性的是能调动你奋斗平博一直的东西,老罗的历史演讲就是这个感性的内在驱动力。 ####编程知识 query真是牛逼得不得了的一个工具,打通了数据显示的关卡,下一步就是进一步掌握params的传递方法; Decisional 我们会如何用一句话形容今天的工作? 低谷期中寻求突破,学习进度似有小成; 有哪些工作需要明天继续努力? 完成购物完整的学习;

February 17, 2017 · 1 min

20170215学习纪录

Objective 关于今天的课程,你记得什么? 1、豆知识,指的是零散的知识; 2、GitHub提供了Project的管理工具; 3、建立Github的Project的基本套路是:用户故事、功能实现、界面美化、已完成项目; 4、有@符号的变量可以用来传送,没有@符号的变量只能在当前本地使用比如当前的controller; 5、在ror中,实际上有三种语言存在,ruby语言、rails语言、html语言; 6、!在变量前表示否定,!=表示不等于,!放在后面表示会改变自身,所以自己定义的函数若会改变自身值则需在名称后面加上!; 7、Ruby内XXX?在名称后面表示会返回boolean值,就是true和false的意思; 8、find函数执行不下去会卡住显示“couldn’t find order wiht ‘id’ = 1”,find_by则会返回nil; 9、find_by的用法是find_by_xxx_and_yyy_and_zzz….; 10、但是为了维护是排错方便一般不操过两个; 11、.find_by等价于.where().first; 12、如果没有first查找不到的话会返回【】; 13、ruby方法.blank?能将"",[],flase三种情况转化成统一的flase方便逻辑的执行,与避免一些坑; 14、alias为同名函数,用来为命令制定其他名称用,程序员在工作室为方便自己使用通常会为一些命令设定自己的alias方便自己使用; 15、在command line里面输入alias可以查看同名命令的情况; 16、command + 回车可以不改变当前光标后内容而新建行; 17、有的命令在ruby和rails中都有,比如create; 18、有的命令只在rails里有,比如build; 19、link_to表示生成一个通向某对象的链接,需要参数()是要告诉程序这次回圈要制定到那个具体的对象; 20、self这个在Model里面的对象; 21、台湾的物件和我们的对象是一个东西,都是object的译名; 22、build的进阶用法,create:@order = current_user.orders.build,替代@order = Order.new @order.user = current_user; 23、find的进阶用法,show: @order = current_user.orders.find(params[:id]) 替代 @order = Order.find(params[:id}) if @order.user != current_user redirect_to root_path end; 24、上述的原方法其实已经获得了order,之后再进行权限验证,第二种方法就避免了获得order,而是相当于先进行了验证; 25、在设计购物车时,应该使用find_by而不是find,因为会卡住; 26、command + R 是清屏快捷键; 27、在rails内,!号放在后面会返回ActiveRecord::RecordInvalid; 28、AR内XXXX!表示执行method有可能rails error,比如,.save不成功会直接刷新页面,.save!则会提供错误信息; 29、上述方法在debug时好用,但是生产中不要使用,避免别人发现系统的漏洞,而且会出现505报错; 30、对象多,以及他们之间的关系没有建立好也是可能保存不成功的; 31、学习了二十五种语言的牛人和学程序的不知是一样的,都是语言,一个对人,一个对机器; 32、a.创造环境,用身体记忆 -> 跟着rails 101练习; 33、b.跟读 -> 练习多遍; 34、c.开口说 -> 用起来,jobliting,JD-stroe; 35、d.别被文字绑架 -> 不要拘泥于程序语言的细节; 36、学有余力可以学习rails 盖(gai第四声); 37、目前课程只用到CRUD比较麻烦部分就是VIEWS部分需要用到CSS/HTML。所以不要纠结语法到底怎样用,实在不会没关系; 38、session不会很正常; 39、<%= %> <% %>里面的是ruby语法吗? 40、model下的是rails语法? 41、views是html? 42、还是是上述的成分混合? 43、ActiveRecord就是rails用的库; ...

February 16, 2017 · 1 min

20170214学习纪录

Objective 关于今天的课程,你记得什么? 1、permit一个model时,它对应的对象也会获得相应的权限吗?(指教材中的product_list); 2、token这个保护数据隐私的方法; 3、在controller里面定义调用一个网页前的数据钥匙,以后在所有需要调用这个网页前都需要使用这个钥匙; 4、find一般使用的是:id来查找数据,find_by则灵活得多; 5、@product_lists.each和order.product_lists在使用上还是有所不同; 6、安装了awesome_rails_console这个GEM; 7、在meetup伙伴的督促下安装了google环聊及skype,这两个远程写作神器; 8、class=“col-md-12"这个bootstrap类基本是满屏的意思; 9、views页面里基本是以"row"定义一个大块,然后在接着col-md-12内容块,在具体内容; 10、li class=“divider"是列表的分割线; 11、生成product_list的controller后,在文件里显示的是ProductListController,下横杠去掉了,而且首字母大写,下横杠的意义还需要学习一下; 12、SecureRandom.uuid这个ruby随机生成字符串的方法; 完成了什么? 1、完成了购物网站第三部分订单实作的练习; Reflective 你要如何形容今天的情绪? 今天学习比较顺利,多次进入了心流状态,再次对学习上瘾了,保持这个学习的初速度真的很重要,成就感满满的,再一次对自己充满了信心。 今天的高峰是什么? 自己能根据教材的步骤大致判断出来下面要如何做,及怎么做; 今天的低点是什么? 在查看所有订单时显示相关的物品清单这个功能没能实现; Interpretive 我们今天学到了什么? 1、领悟了model、controller、views的三层空间模型,用来理解数据流动及关系及动作触发; 2、学习上瘾的核心在于保持一定的“过关”速度,还有适当的难度; 3、学习到什么可用的新东西要做的第一件事情就是去用,像今天安装的awesome_rails_console花了半天的时间去找来安装,要是YY老师第一次上课分享的时候就安装了能避免很多麻烦; 4、抖腿有利于写ORID。。。。。。; 5、CURD没事要多默写,不但是记住它,对于理解其他东西也重要,最好每天写一遍; 6、查bug的一个方法是将过程中的量的数值通过<%= %>显示在网页里; 7、rails g model可以在后面跟着参数直接生成数据项和类型,也可以在后面的migration文件里生成; 8、打开网页显示内部链接出错是因为网页在生成的过程中会进行ruby计算把相关变量编程确定地链接放在网页里,而不是用的时候再计算,所以即便说一个因错误无法生成的链接你还没有点,但其实在生成网页的时候这个问题已经发生了,所以无法继续生成网页; 今天一个重要的领悟是什么? ####学习方法 在周日的线上meetup分享后,跳出了沉迷于坑里的毛病,一段时间不能解出就找方法看后面教材找求。所以之后的今天再一次找到了上瘾的感觉,心流再次源源不断。总结就是,学习的本质目的是最短时间拼上最多的图,独立解出是牢固,但是也要考虑时间成本和情绪成本,所以在短时间获得大量拼图再上orid来巩固和独立解决牢固记忆之间要设定一个平衡点,我现在设置的就是20~30分钟,不能忘了学习的优先目的是拼出大图,而后再粘好它,而不是反过来。然后,进入心流表示状态好,所以在这种情况下就不用采用劳逸结合的学习方式,因为那会打断心流。两种方式视状态而定,没状态的时候小步快跑,有状态的时候直接飞,具体情况可以根据是否能进入心流来调整,另外,貌似古典音乐更容易帮我进入心流,而the piano guys只能调动我的情绪而不能让我专注做事。 ####编程知识 三层架构空间模型,用来理解程序非常好用 Decisional 我们会如何用一句话形容今天的工作? 不沉迷与坑里后,又找回了获得上瘾及进入心流的方法,高效学习; 有哪些工作需要明天继续努力? 1、完成第二周的学习内容及复盘; 2、争取完成第四部分的学习;

February 15, 2017 · 1 min

错误纪录:1..cart_item.product.quantity

错误日期:2017年2月13日 具体情况: 在完成购物网站的数量下拉菜单时将 1..cart_item.product.quantity 达成了1...cart_item.product.quantity,是的下来选项的数字比cart_item.product.quantity少了最后一个;

February 14, 2017 · 1 min

20170213学习纪录

Objective 关于今天的课程,你记得什么? 1、find与find_by的区别,find_by会返回nil; 2、在ROR中,nil表示空; 3、form_for这种收集数据作为输入的方式需要在深入学习一下; 4、post操作由于需要专递参数,所以无法通过url来实现偷链; 5、get操作由于是获取东西,所以可以通过url来获取,所以需要进行权限设置; 6、要注意collection与member的区别,我的理解是,member是直属成员,而collection则是关联的对象; 7、再次明确,controller是在views和modle中间的载体,是用来响应我们的动作的,包括初始动作; 8、要在views里执行的东西是在Helpe里定义的,也可以说显示逻辑是使用helper包装的; 9、要对数据的操作是通过在model里定义的,而controller可以理解是搬运工,链接他们的桥梁,包括动作相应参数传递等等,数值计算应放入model中; 10、id的每个model都有的东西,而建立关联则是通过XXX_id来把两者之间建立联系; 11、对于不明白的问题记下来,然后写一篇专门的解答,这是ORID、报错纪录外的第三种学习纪录; 12、前端知识非常庞杂,比起学该应该要多收集、多用,所以在学习的过程中还是需要把重点放在后端上。因为前端学习用才是根本; 13、一定要完成基本的作业才去进行创意大赛,功能有限、版面在不断完善就好; 14、后面会教大家写文案,这个也是个非常牛逼的技能; 15、collection后面要定义使用的方法,而resources默认生成的方法就有了七个,它们虽然同样是四种,但本质上是不同的类型; 16、destroy_all这个方法; 17、类和集合的方法是类似的; 18、= a|| b的意义是,如果a为空,则=b,否则=a; 19、include?这个方法; 20、组队一定要处理好组队和分工问题,个人强不等于团队强,必须把人员充分组合出相应功能才行,这和单人全栈的意义类似; 21、淘宝真是万能,代码、ps一应俱全; 22、大部分的操作权限设置时在controller里面完成的; 23、.blank?这个方法; 24、在往后的几周里我们会学习很多的基础语法知识; 25、search使用的也是collection,貌似是把数据集中起来的意思; 26、current_是controller的方法,要在views中使用它,需要在application中通过helper_method来声明一个函数也叫current_,并且再在其内部使用这个原始的current_*; 27、uploar里定义的图片大小语句.thumb及.medium在后面加入.url后即为对图片地址的大小进行选取,如果直接使用.url就是设置的默认值或者在没有设置默认值的情况下是原有图片的大小; 28、要根据希望操作的对象及关联关系来生成对应的controller,比如cart的清空操作和cart_item的单一操作则不同; 29、method: :delete do ____ 的方法,后面可以是图标或者文字等等; 30、GET、PATCH、PUT、DELETE的使用地址是一样的,通过它们本身的方法不同来区分; 31、在flash[]复制中,通过#{}可以将变量赋值给提示信息; 32、routes其实也表示了参数传递的方向; 33、下一部分的课程会不断深入理解model、routing这些技术知识,以及会学习rails的寄信浏览服务; 34、Xdite老师打造的购物网站教程其实是一个完整的功能包,以后不论我们需要完成什么网页的功能基本上就可以通过这个来获取相关的零部件; 35、人大脑的【工作记忆】一般只有五个空位,所以工作学习中遇到的问题最好记录下来,不然后面很容易忘记掉,之后针对这些问题写出blog,来描述解决方法,就是一个套路和文章了; 36、组队技巧:a、找队友 b、分配任务 c、组队编程; 37、组队同城尤佳,一个主要负责程序,另一个负责css和找图; 38、物品不能重复加入我的实现方法:current_cart.cart_items.find_by(product_id:params[:id]); 39、cart貌似是一个块显示; 40、+-号修改货品数量功能未实现,后面要思考怎么处理; 41、f.submit无method可能是因为推送只有post一种方法吧。 完成了什么? 1、基本完成了购物网站第二部分购物车实作的练习; 2、听了Xdite老师周一的演讲; Reflective 你要如何形容今天的情绪? 今天采用结合了拼图理论及日行二十英里原则的学习法学习效率极大提高,总体上还是非常兴奋的,因为老师说的购物车在我看了好像很容易理解,不知道是不是我的错觉。 今天的高峰是什么? 很好的理解购物网站的第二部分的内容; 今天的低点是什么? 独立解作业碰到了很多未知的知识点。 Interpretive 我们今天学到了什么? 1、遇到的问题要记录下来,并且写专门的文章来解答和形成套路; 2、学习一定要使用劳”逸“结合的方式; 3、做项目最重要的是组织能力; 4、要以restful的七个方法,model、controller、views为学习的核心框架,其他的都是在这个框架下的扩张; 5、学习过程中需要小本子记录很多事情,然后回顾完成后提取,之后就可以删掉了,读书记笔记也可以使用一样的方法; 今天一个重要的领悟是什么? 拼图理论及日行二十英里原则不单单能用在知识块上以及按天来使用,同样也可以在一天的学习中运用,就好像我们上学时的课时及休息时间的安排,已经不同学科之间的交换,具体的就是一天可以同时进行两项及以上学习,然后交叉和安排休息时间,如果把我们的大脑比作肌肉,那么这个原理和我们做无氧训练时分组及每组有不同的动作的原理是一样的,如果重复只做一个动作,那么大脑很快就疲劳了,所以我想脑力也是如此。最好是能把左右脑的调用区域安排在一起,更细分的就是把不同大脑活动区域的学习放在一起,或者加上无氧锻炼等等,这就是劳逸结合啊。 ...

February 14, 2017 · 1 min

20170212学习纪录

Objective 关于今天的课程,你记得什么? 1、巩固了德雷福斯模型; 2、了解了业界的豆知识; 3、知道了dash和google环流这两个工具; 4、知道了在裸辞这件事情上自己并不孤单; 5、不要有畏难情绪; 6、技能进阶路线; 完成了什么? 1、Xdite老师的豆知识讲座; 2、组织了一场线上meetup; Reflective 你要如何形容今天的情绪? 母亲并基本好了,也和父亲汇合了,我也可以开始安心继续学习了,又拉下了一周的课程,得加把劲了。 今天的高峰是什么? 和伙伴们第一次进行meetup气氛比较轻松愉快; 今天的低点是什么? 注意力集中度没有恢复过来; Interpretive 我们今天学到了什么? 1、跨界其实没有想象中的难; 2、职场的修炼步骤; 3、思想的交流相当于一个指数函数,每多一个人就多出不少的量; 4、畏难情绪很多人都有、跟不上进度很多人也有,只要明白自己的目的,按自己的节奏来就好; 今天一个重要的领悟是什么? 做事情要按自己的节奏来,和别人对比最大的破坏力在于可能打破自己的节奏,而和别人对比的坏处实际上也就只有这一个,所以只要能避免这个漏洞,别人的进步只会成为你进步的指引。 Decisional 我们会如何用一句话形容今天的工作? meetup迈出第一步; 有哪些工作需要明天继续努力? 保持节奏继续学习,记住日行二十英里原则;

February 13, 2017 · 1 min

2017年第6周线上meetup总结

##主题一 两个最 ###分别发言 ####我 收获最大的概念:德雷福斯模型 遇到最大的坑:太拘泥于学习形式 ####陈俊鸿 收获的两个工具:dash工具/google环流; 最大的坑:畏难情绪 ####陈颖君 最大收获:专心两个字的意义; 最大的坑:离职导致分心了 ###分别提取中的有效信息 ####我 日行二十英里概念 要安装dash ####陈俊鸿 德雷福斯模型用来定位自己的水平层次,小公司是非常需要高级新手的; ####陈颖君 和公司的技术小哥交流过,感觉水平也一般,一开始也是需要师傅手把手教,所以我们学习也是能不断减少差距的; 发现自己有渭南情绪的时候要及时把自己抽离出来,之后继续前进;

February 12, 2017 · 1 min

2017年第06周总结

1.“本周学到的最棒概念/工具” 本周学到的最棒的概念是Xdite老师分享的德雷福斯模型,这个概念以前在元学习课上也听Xdite老师讲过一次,但这次和自己全栈学习结合起来后,体会更加深刻,更能理解到他对于个人成长与发展的意义。 2.“本周遇到最大的坑” 本周遇到的最大的坑是太拘泥于学习形式,因为母亲生病的缘故,不方便用电脑学习,等到周日了才意识到,练不了可以用手机多看几遍教程啊。。。

February 12, 2017 · 1 min

《从新手到胜任者》心得体会

##课程重点 ###德雷福斯模型 任何工作都分成了五个等级:新手、高级新手、胜任者、精通者、专家,其中专家占1%、精通者占10%、高级新手占超过50%,剩下的是新手和胜任者; ###业界知识 行业内,除了BAT需要的精通者及专家比较多外,大部分的公司在A轮、B轮以下的需要的都是高级新手,也就是说基本基本不需要架构能力;绝大多数的从业者,水平只有高级新手;通过练习专家设计的高频小套路,你不需要4000小时,只需要400小时以下,就可以达到高级新手的水平。 ###各个阶段的年限 第1年:新手(初级工程师);第23年:高级新手(工程师);第35年:胜任者、精通者(资深工程师、架构师);5年以上:专家(大神); ###新手 没有什么实用知识,需要有人带一年,在工作中只能透过简单的模仿来锻炼自己,处于SOP模式,透过输入X =》 Y模式来学习 ###高级新手 经过带的一年后不断积累经验,业界内大部分是这种人,而且很多人一辈子都跳不出这个阶段;具备一部分基本规则知识,能通过基本知识去解决基本问题,非常想能够快速找到解决问题的答案,对于技术细节缺乏兴趣与了解; ###胜任者 能完成基本问题,能够将知道的规则组合成模块,并调用模块来解决问题,能够独立解决遇到的及未遇到的问题或者问专家; ###精通者 能够形成架构与方法,能够判断大部分情况的可能性并提出针对性的解决方案,即能处理大部分bug,整体视角思考,熟练运用Pattern; ###专家 具备专业直觉,推进该学科前沿,跨领域融合创造新的火花; ###全栈营 我们是精心设计的高频小套路,完成job_listing相当于完成了新手到高级新手的一半路程了,后面完成购物网站后可以达到高级新手的水平,所以更需要我们的精心学习。 ###魔改大赛 魔改大赛相当于一次提取练习,看上去虽然是学习css和html,但它对于我们学习的整个内容都是一个很大的提取练习; ###几乎绝大多数的工作,不会超过胜任者阶段; ##个人心得 该模型提供了一个专业学习的拼图线路,让我了解了一个专业内的修炼道路,也让自己明白了进入一个行业已经深造的门槛,更重要的是明白通过全栈营的学习我们能够达到的高度,已经明白后面的课程所需要花费的时间和心血。 ##课程摘录 Job lishting试一次提取练习; 为了锻炼大家独自解决问题的方法; 今天要讲10000小时的由来; 首先说一个人要成为专家需要多长的时间,一般人说需要5年,之后假设每天上班八个小时,一年工作250天,一年有效小时是2000,五年后就是10000小时,后面大家以讹传讹变成了需要进行10000小时的专业训练,这是Not true; 10000小时这个定律,在计算机领域五年可以变成专家是真的; 接下来我会和大家解释一个东西,德雷福斯模型,借由这个模型,大家可以更清楚,程序员的世界,编程的世界的level属于什么样的历练和历程。 德雷福斯模型: 新手(Novice) - 经验很少,或只是没有经验的人 - 打算找到一本绝世秘籍,觉得看完了就可以变成高手 - 事实上他们也只能靠[SOP] - 输入 X => 得到 Y 高级新手(Advanced beginner) - 了解基本规则 - 会尝试用现有规则去解决问题 - 变成想快速找到能够解决问题的答案 - 对宇宙观不感兴趣 - 教他们基础,还是会被忽略掉 - 至少能够独立解决许多基本问题 胜任者(Competent) - 经验够多到可以把规则融合起来变成模型 - 可以独立解决自己遇到的问题 - 或是之前没遇到过的问题 - 去找答案 - 或问专家 ...

February 12, 2017 · 1 min

20170208学习纪录

Objective 关于今天的课程,你记得什么? 1、*div style=‘height:100px;’*的指定样式的方法; 2、按钮功能的link_to设置方式; 3、navbar-nav的加入元素的方法; 4、thumb这个属性貌似和图片格式相关,需要加强学习; 完成了什么? 1、学习教材上第一周内容的实作方法后面的方法; Reflective 你要如何形容今天的情绪? 同样是母亲生病的原因,只能抽出一小部分时间来比对学习; 今天的高峰是什么? 学习的过程中不断理解新的内容; 今天的低点是什么? 学习的时间太少; Interpretive 我们今天学到了什么? 1、并不是所以的css效果或者说样式效果都是需要在css文件里面设定的; 2、boostrap提供能庞大的功能库,这部分知识一定要深入学习; 今天一个重要的领悟是什么? 学习的过程中保持一定的推进速度能提供非常大的持续的快感,这和破解难题的快感是两类,如果觉得自己采用破解难题的方法走不下去了,可以使用这种方法多进行即便来提高自己的自信心; Decisional 我们会如何用一句话形容今天的工作? 学习进步一点点; 有哪些工作需要明天继续努力? 抽时间学习学多少算多少;

February 12, 2017 · 1 min