全栈工程师成长记

编程重新定义人生

学习的三个特征 9/7日记

Objective
完成:Rocket项目:用户中心项目列表样式重排、project index分类显示上线和下线状态的项目

Reflective
情绪:表示基本稳定
低点:project index tab 的 css 样式写不出自己想要的样子

Interpretive
学到:

  1. 学习的三个特征:拼图、正向回馈、重复(肌肉记忆)
  2. “拼图而非线性”,用这个概念就能更好的理解学习的过程
  3. 全知遮蔽就是傲慢,认为自己比老师厉害
  4. 跟厉害的人在一起就是更新自己的下载器
  5. 跟别人对接的模式就是 学习 > 分享
  6. 自学的前提是理解大脑的运作原理及如何运用
  7. 运用方法就是《我是如何学习一门新技术的
  8. 新手的“勤奋学习”会无效是因为他的方式无效的,有效的学习方式是别人给你方向上的指点,在过程中建立自我回路激励自己
  9. 高手有时会怀疑人生是因为他的方法或理论太高深,以至于普通人无法理解进而去攻击他,所以他可能会想自己是不是不在正轨上
  10. 高效写code三件套:Mac电脑 + Aeron座椅 + Bose耳机
  11. 写code时听什么音乐?可以试试古典与现代结合的The Piano Guys
  12. 一般A轮之后的公司需要测试,因为代码从天使轮开始就会积累很多,不整理就无法推进
  13. JSON会流行的原因是机器可读,人类可读
  14. 通过Json格式进行HTTP的RESTful请求
  15. 写手机API的一些好习惯:
    • 工具化的CRUD,Mapping到REST
    • 全面的错误状态码,甚至自己定义一些状态码
  16. Rails 内建 API 直接写在 controller 里面,当代码量非常多的时候不易于维护
  17. Rails + Grape API 开发 Rails API 更易于维护
    • 跟 cotroller 剥离,不用在 action 里输出不同的格式
    • API版本控制(web端直接生效,Andorid和iOS上架要周期)
  18. 小团队代码量少可以自己手动测试
  19. 测试工程师写自动测试代码去检查整体的代码是否正确
  20. Github可以跟测试自动整合,绿灯后还可以自动deploy到heroku
  21. 写1行代码通常需要再写3行代码来测试,不建议新手写测试的另一个原因就是写测试的时间比写code的时间还要耗费更多
  22. 昨天有提到的高级写code方法的名称是TDD(Test-Driven Development)
  23. 测试的目的是验证代码是否正确而不是验证商业机会是否正确,商业的机会是不允许错过的,所以这就是昨天学到的第一点的补充
  24. 认为“无奸不商”的人只是还没进入到商业领域进而没意识到背后的本质,因为成功的生意一定是赚钱的生意,通过奉献自己或者公司的价值,然后得到金钱回报,这不是很合情合理吗?
  25. 商业与技术从某种方面上来说是相辅相成的,商业的发展依靠技术的支撑,技术的进步本质上需要资金的注入
  26. 在一个团队里写代码,产品最终是要为商业服务的,所以要放下自己的清高,好好想想要怎么收钱

领悟:
写前端跟写后端是完全不同的两种感觉,改页面的效果需要一点一点的改且非常细碎,大部分的时候就在几个像素之间不断调整,所以一天下来看commit似乎没有太多的东西,但背后却是大块大块时间的付出(当然高级的前端就另当别论了,据说是5个后端配1个前端)。

Decisional
形容:每天都过得很快,快到只剩一个星期就结束全栈班的课程了
努力:完善Rocket项目然后进入测试阶段