最近两个月のreview

转岗至前端(or 全沾)差不多正好8周, 老板说让我复盘一下这个过程, 沉淀经验, 找到不足, 继续前进. 好吧, 还是流水账式清单吧 ⛳️

0w~1w

前两周, 完全的新手学习时间. 学习来源是 FreeCodeCamp 和 Coursera 视频课程, 全部免费.

  • FreeCodeCamp 可以说是 github 上现在最多 star 的项目了吧, 对于完全零基础的人来说, 我觉得十分友好并且有趣, 可以说是很好的 learning by doing 体验. 我迅速刷完了所有基础题目. 中间有部分觉得很重复, 但是对于一个知识点的重复使用, 也是刻意练习, 如果觉得已经掌握也完全可以自行选择跳过. 我的进度也只是把基础过了一遍, 有关 algorithm scripting 还有很多小练习项目可以继续玩.
  • Coursera 视频课程, 比起 FreeCodeCamp 的好处就是老师会就某一个点进行相关的讲解, 知道了 How 之后再理解 why 我觉得是更适合我的学习方式. 视频课程也很多选择, 随便挑一个就好.

自己做的练习:

  • 一个是 about.me 网站的个人页面 copy. 因为觉得这个网站的页面设计很简洁, 于是就按照自己的喜好来想象如何改造页面. 不过这个是很简单的页面开发, 没有什么交互, 练习的重点是 html 和 css, 如何布局? 如何设置 style? 如何统一 style? 如何居中? 真的到细节的时候, 就会发现自己果然是完全的新手. 但是也慢慢觉得有意思, 毕竟 把东西变得更好看 实在是个很重要的目标✨✨✨ 忍受不了难看的产品就像忍受不了某度一样 🌚
  • 另一个练习是帮助同事做的单页查询并展示数据, 其实是很山寨的一个小练习. 拿的是别人开源的在线简历作为模板, 各种修修改改……🙄 感受颇深的是自己还是完全不会用 js 啊, 所以动态效果什么的没明白是如何运作的. 因为没有设计师, 配色什么的简直想吐血, 完全凭直觉换来换去做比较……

2w~5w

本来要求我两周做完的练习项目, 其实最后算下来花了4周…… 主要是学习 node.js , 后端 web app 框架, 以及对数据库的 CRUD 操作.

  • 开始的时候 :
    • 首先对 node.js 有个基本了解, learnyounode 是个不错的 workshop, 一步一步了解 nodejs 并搭建简单web app. nodejs 中也有类似 python 中的 flask 之类的 web 框架, 最常见的有 express.js koa.js 等.
    • 然后是先看懂同事的已有代码, 遇到不懂的地方就马上查, 并记录下来. 题外话, 最近开始用起了 Quiver 做笔记, 虽然需要花钱, 但是觉得设计的很好看, 而且很轻便, 很喜欢它的 cell 模式, 和 jupyter notebook 的感觉很像, 但是功能更丰富. 我发现想马上记录下来一些笔记的时候, 用 sublime text 或者 atom 之类的编辑器的话最烦的一件事是起名字和想要把文件放在哪里, 用 Quiver 就可以毛线都不管, 马上添加就搞定.
    • 基础知识太挫, 导致大概一周的时间都比较懵圈, 感受颇深的是 node 的后端代码和前端交互中使用的虽然都是 javascript, 但长得非常不一样…..😅 (万能的 js … 嗯)
  • 终于能稍微下手了 :
    • 接下来是理解数据库的操作, 主要也就是学了下 SequelizeMongoose, 需要了解两种数据库, PostgreSQL 和 MongoDB. PostgreSQL 就是常见的关系型数据库, MongoDB 就是 NoSQL 类型的数据库. 练习了一些数据库的 CRUD 操作之后, 终于不会觉得那么懵圈了. 话说今日又听从我司某帅哥建议, 重新学习 SQL 语句, 终于不是只记得 SELECT * FROM table 了…另感谢某帅哥生(🌝)动(🌚)的讲解数据库关系 {请开班讲课吧! (๑•̀ㅂ•́)و✧}
    • 一度对 app 文件夹之间的关系也很迷茫, 只能按图索骥的一步一步理解数据从哪里来, 怎么获取, 做了什么处理, 传到哪里去, 每一步不懂的就 console.log 大法. 后知后觉什么是 MVC 框架概念…… (基础渣combo*2
  • 再来是部署 :
    • 部署工具学习了 pm2 , 但其实并没有真正进行自动部署, 因为好像也不是很需要….. anyway, 留待下次再实践.
    • nginx 配置, 网站域名解析和 IP 之类的这种基础知识, 也顺便补了补 …. (基础渣combo*3
    • 部署完之后就是修整页面和一些交互, 添加一些小功能, 比如翻页和检索.

6w~7w

又做了两个小应用, 都是单页小应用工具, 功能很简单, 完全的练习巩固.

但也发现有些在前面以为已经掌握的点, 再遇到的时候发现并不是自己理解的样子, 结果又需要重新返工学习到底是哪里出了错. 另外, 虽说是完成了, 但是自己也不是很满意, 交互体验什么的, 虽然我不是设计师也知道不太好, 偶尔打开也很慢, 提升速度和性能还完全不懂怎么搞. 哎~还有很多很多东西需要学习啊.

end

还有些具体问题待细想.