成都第二次Meetup

1.从Hash博客到PRY背后的男人

Hash:Ruby 語法放大鏡之「為什麼 Hash 好像有不同的寫法?」 - 高見龍
找到了debugger(但已不支持uby2.0+)
找到了bydebug(是ruby官方的debug,因语法不能高亮,继续寻找)
找到了pry-bebug (发现就是王博果推荐的那一款)
找到了其背后的组织 pry -> 其官网上放着Josh Cheek的介绍视频(是Code School)的教练貌似

Pry属于是irb最大的一个竞品,看到了一张表


于是明白了,pry一直处于陪跑状态,很牛的样子

找到了pry的创始人 John Mair ,荷兰人,再找不到更多有用的信息,有点神秘

找到另外两个pry核心贡献者

  • Conrad Irwing,剑桥大学毕业,有几个开源项目,没太多博文,没有写书
  • Ryan Fitzgerald,没什么特别,无博文,无书,一两年换一份工作,现在在IFTTT

看起来很难从pry上再扒到更多的好东西,出了【学习如何使用pry,有时间看看pry源码】

在整个过程中还扒出一个开源库(现已被纳入Rails)web-console ,通过简短的<% console %>在报错的网页下面直接出调试窗口,不过现在没兴趣看,以后再说吧。
其作者是 Genadi Samokovarov同样除了他的开源项目并没有别的出彩的东西,另很喜欢他博客头像…

2.看大神写代码

@knwang 公开课视频已经发布咯 (高清版) · Ruby China
王博果同学提到他从这次看大神写代码中得到很大的启发
其中,提到了,大神写代码是缺什么就写什么,并不是按照教程上那样,直接脚手架走起。
具体的感受我可能要看完视频再单独写一篇感想吧
同时也提到与这相关的思路BDD行为驱动开发

再要提一点的是,王博果因为经济原因,并没有报全栈营的课程
但他做完Rails101就找到了一份Ruby实现工作,且现在已经有一份正式的Ruby的工作,真的是狠狠给大家打了一针鸡血,兴奋的不行不行的,哈哈。
不过从整个交流中,看得出来,其自学能力极强,是个潜力股,哈哈哈~

3.目的性

一期学员苟燏,花了很大的精力从多个角度跟大家讲了目的性的重要性
他应该是学员里少有的来学全栈却不准备找相关工作的人
相对于我们这种天天逮着代码死磕眼里只有代码的人,确实提供了一个全新的角度,他从中获益最多的反而更多的是UserStory,Onboarding,Grow hack这些内容
他举了很多例子,最后都回到了一个问题:我为什么要学?我到底想干什么?我的目的是什么?

人的精力时间是有限的,所以凡事都是一个成本考量的过程,所以我们一定要有目的性,否则小心狗熊掰棒子
(我貌似长期是一个狗熊掰棒子的选手,所以对我感触还是很深的。)

相关视频:Start with why

4.集体解决的问题之CSRF之HTTP请求

把application.html.erb中<%= csrf_meta_tags %>的等号删掉后,会报莫名的错误,并且使用pry-debug并没有很好的找到真实发生错误的地点(肯能是我们不会debug的原因吧...)
不过通过对new/create/index/edit/update/destroy的测试,反倒是会来复习一些http网络请求的知识

由于csrf是与防中间人攻击的安全验证有关的内容,在我们测试的过程中,发现
create/update/destroy都是会因为把等号删掉,导致无法进行csrf验证而报错
index/new/edit/show就不会

于是我们找到了routes对应的HTTP请求方法,发现了问题:


除了GET以外的方法都需要进行CSRF验证
再往下想一层,GET是从服务器上取东西下来,而POST,PATCH/PUT,DELETE都是会对服务器上的东西进行更改
所以隐隐的感觉到CSRF的一个主要目的就是防止服务器上的东西被其他人(坏人)篡改。
好了,我不想再往下查了,到此为止,以为遇到问题在说吧…哈哈哈哈...

5.其他

  1. 处理问题的一种方式:把教材中所有出现类似情况的地方都列出来同时看,会发现意想不到的东东。
  2. 将来的魔改大赛,尽快花时间做出基本的功能,然后花更多的时间去做美化相关的工作。
  3. 好的程序员的定义(来自于苟燏):工作中遇到比较好的程序员是能够与各个不同部门很好的进行协调交流的人 我的理解是,代码不是程序员生涯的全部,可能顶多50%。换句话说, 你不只要纵向发展,还要有适当的提高自己行为、知识、思想的广度,方能及时转换战斗姿态。
  4. rubocop 教你怎么写漂亮代码