全栈工程师成长记

编程重新定义人生

第一周学到的最棒的概念和工具

最棒的概念一:Computational Thinking

编程的本质就是用电脑解决问题,用电脑解决问题,就需要把问题拆解成电脑可以理解的方式,也就是用已知去解决未知。首先把一个大的问题拆解成个若干个可以解决的小问题,然后实作这些能够解决的小问题,如果实作过程中发现手头没有资源,就要学会使用google来帮忙,google的关键字由三部分组成:领域+问题关键词+问题形容词。

最棒的概念二:User Story

如果要做一个项目,站在技术的角度去思考,可能实现了90%想得到的功能,但是还有10%的关键功能没有实现,这看上去是10%的功能却可能要花掉跟前面做90%功能一样的时间。

如果使用User Stroy,站在用户的角度去思考,以角色为中心去叙述未来会发生什么事情,那么各个角色所需要的关键功能就可以实现,这是因为User Story更贴近真实。

当然,在第一周实战的过程中,老师通过实例引导我们发现User Story存在的一个不足——它会忽略掉技术的问题,导致技术实现上的部分功能冗余。所以她就预告了接下来会讲到的Epic。就在写这篇博文的时候,我Google了Epic和User Stroy的区别,找到这篇文章,又是纯英文,不过这回凭着仅有的词汇量“碾压”了它,大概理解了Epic是a large user story。然后又找到另一篇文章,凭着里面的图片,大概能明白Epic和UserStory的区别与联系。

最棒的工具:MWeb

MWeb是Xdite老师推荐的一款Markdown编辑器,其实Markdown的几个语法我还只知道个大概,MWeb也还没有具体去研究它的细节功能,不过试着用来记录了几篇文章,发现还是很好用的,也许根本就不需要去研究它的细节,直接用着顺手就是最好的状态。

知道Markdown这个东西,是因为一直在用的有道云笔记有一天在微信公众号里发推送说它开始支持Markdown的编辑了,大概看了介绍之后我心想Markdown很好,但还不是我的菜。当时内心拒绝Markdown的原因是自己很少用电脑写东西,虽然很早就想按照笑来老师说的锻炼写作技能,但碍于自己的HPBookpro笔记本显示效果不好(很久以前就发现它的屏幕看久了眼睛不舒服,怎么调节亮度都不理想),然后就一直酝酿哪天得买一台Macbook或者iMac来写东西(有Retina屏幕,加上印象中OSX的工具都比较棒)。从来没想到会买Macbook的原因竟然是全栈班要求必须使用Mac进行学习,果真是念念不忘,必有回响啊,此一来可谓一箭双雕,既能圆写作梦,又能圆编程梦。

回到正题,昨天试着用有道云笔记的MD编辑功能,于是一个问题浮现了,在13寸的屏幕里,有道云笔记的树状目录栏和文档列表栏位占据了屏幕接近五分之二的空间,隐藏掉树状目录栏之后,由于文档列表栏不能隐藏,所以它还要占用大概五分之一的栏位,这就显得不够纯粹了,因为在编辑文档的时候是不需要去看那个列表栏的。

MWeb的便利性在于老师经常用到的一组形容词“高度客制化”——可以把所有不相关的元素统统隐藏,整个窗口只有编辑区,在全屏之后,连标题栏都没有了,这样整个屏幕就是你的编辑区,一个真正的沉浸式编辑环境就此诞生!

当然了,Mweb的编辑功能比有道云笔记好用想来有两个原因:
第一个原因是它的主要功能是编辑,而有道云笔记的主要功能在于多平台的“云”同步(后来加了协作的功能),两者的定位各不相同;
第二个原因Mweb是付费使用软件,使用者从App store下载就要付费了(也有免费的lite免费版,但是官网跳转到App store的是收费版)。有道云笔记则是增值服务收费,多账号切换和所谓的超大存储空间,对于大多数用户来说,这两个主要的增值服务根本用不到,所以收费的受众面一下子就小了很多。

事实上如果站在“云”同步和“云”协作的主打功能来看,有道云笔记是可以把这个当成收费项目的,比如用户需要付费才能将自己的数据在多终端进行同步,比如在手机客户端上存储的笔记同步到云,然后在web、pc等其它终端进行查看和编辑。而如果是免费版的用户,则只能将数据保存在手机上或者pc的本地存储上。如果哪一天它真的这么收费了,我可能还是会付费使用它的云同步功能,因为用户习惯已经被培养起来了。

当然我们判断要不要花钱去购买某一种产品或者服务,绝不能以它是否“国产”做为依据,这又是另一个话题了。