全栈工程师成长记

编程重新定义人生

如何做到不被挫折感淹没? 8/8日记

Objective
完成:JDstore story3 购物车

Reflective
情绪:高-低-高
低点:一个下午都没做出购物车的加分作业,瞎折腾。

Interpretive
学到:helper用来装饰html,算法放到model里。
领悟:今天做的购物车作业,跟自己的想象不太一样,本以为是要安装一个gem来实现的,没想到是自己写,以至于一开始完全没有概念。随着老师的课堂上的讲解,才开始了解到创建购物车的一些基本思路:每个用户都有一个session令牌,用于识别购物车的用户归属,然后再给购物车划出很多个“格子”,这样就可以把一个产品放到一个“格子”里。

上午照着解答做很快就实现了购物车的基本功能(废话……),心情还不错。下午开始做加分题,按照惯例是没有解答的。限制库存为零的商品不能加入购物车,相对来说比较好处理,就是给controller和link加入一个if的判断式。但一开始的思路不是很清晰,因为quantity的数据类型是整数,所以我是判断它小于1就无法购买,虽然这个也能实现。但后来看了同学的方法,他的判断式是如果大于0就可以购买,这当中有个细微的思路差异,因为如果quantity的数据类型是float的时候,我的判断式就存在缺陷了,因为会有大于0但小于1的库存。所以为保险起见,还是使用大于0的判断式比较靠谱,以后把库存数据的类型更改了就不用改这个位置。

但是清空购物车的功能就是个大坑了,老师说思路一是删掉整个购物车,二是把里面的商品逐个删除。然后照着这个思路去试着自己写,愣是从下午两点半弄到五点半都没有实现。因为发现自己效率太低了,于是决定跟同学讨论如何在购物车里删除单个商品,这个功能用一个CRUD就能实现,只是过程中还是发现自己对于controller和model之间的变数据相互引用还没有很了解。

今天最大的教训就是在一个坑里陷得太久,浪费掉了大段的时间。应该要限制一定的时间来完成一个功能,没有完成,就先跳到下一个,这是“试着不被挫折感淹没”的践行。

为了践行,按照原定计划就不再恋战遇到的编程大坑。晚上7点钟回家练习英语口语,两个的小时的口语反馈,也是练到快要吐(这是真的恶心的那种感觉,因为某个发音嘴形要一直不断的重复练),好在功夫不负有心人,今天把音标概述给完成了,接下来的两个月是对每个音标的逐个详细纠音。

英语和编程这两样对我而言都是终身受益的,所以无论如何自己都会扛过去,事实上,过了一段痛苦期之后,乐趣就真正开始了。好戏才刚开始呢。

Decisional
形容:慢慢发现自己的意志力有了提升,不会被外界的意见动摇,这背后其实是自己想明白了自己想要的和自己该做的。
努力:为各个小项目设置deadline,提高效率。