Yuguo.us

先做一半

Introduction

user

余果

全栈工程师,《Web全栈工程师的自我修养》作者。


Featured

观点

先做一半

Posted by 余果 on .

端午节放假三天,小平要宅着准备CPA考试,我就跟她两张桌子挨着,我写代码,她看书。刚搬进这个现在住的新房的时候,隔壁的老爷爷友善地提醒房子不好的地方是下午有西晒。在家这几天感觉到确实有西晒,不过这几天连续的大雨小雨,所以也不热。

我花3天的时间把33号铺的新系统从零开始做,现在完成了一半。三天在家写代码,感觉很开心,其实累计算起来第一天写了大概4小时,第二天2小时,第三天3小时的样子,完全比不上那些编程马拉松的程序员。我没有熬夜睡懒觉,上周体检医生告诉我肝比去年的情况又恶化了一些,开始真心反思这些年的晚睡晚起的习惯,并着手改变习惯。这周都是晚上11点左右睡觉,早上7点起床然后打扫下房子,在阳台上锻炼一下,然后看看书再上班。假期三天也没超过9点起床,还是去阳台上锻炼下。扣除吃饭看电视散步聊天的时间,每天工作时间确实不多,但对于10小时的成果还是很满意的。

之前33号铺是用WordPress作为后台,每次添加一件衣服的时候都要新建文章,然后上传图片,输入各种标题和价格选项。这种做法非常耗时,缺点比优点大得多。于是我规划新做一个系统,可以自己在网站后台完成添加条目的功能,尽可能地让编辑少操作。为什么我还是在电商导购上痴迷编辑推荐而不是UGC,原因很多,不在本文细说了。

以下是我花10小时编程已经完成的50%特性:

  • 可以在33号铺后台输入关键词之后,通过淘宝开放API获得符合关键词的条目,展示在后台页面。过滤规则和排序规则都直接hard code在代码中,后台只需搜索。
  • 点击搜索结果中的一个条目之后,再次ajax通过API获得这个条目所有相关的图片,浮层展示出来。
  • 浮层中的图片再点击一个之后,就会把图片地址、条目地址、条目名称、价格等信息填到数据库中,即相当于发布。
  • 首页会从数据库中拉取所有条目,分页展示在首页。

也就是说原来需要15分钟来添加一个条目,现在只需要搜索之后的两次点击,手跟网络都快的话,5秒钟即可发布一个。

未来会做的50%特性:

  • 不会直接把图片地址存到数据库中,而是把图片存到本地之后,再处理到优化后的尺寸过后上传到第三方云端图片托管,获得图片url。
  • 后台加上用户登录功能,现在还没有做管理员登录,有url就可以直接登录,汗。
  • 首页重新设计(在整个编码过程中,首页的样子慢慢浮现出来)。
  • 数据库字段可能还要有所增加和修改,现在的数据库字段是按我的最小需要来做的。
  • 等等,边做边优化。

我在这个过程中最重要的感受有两点:

一、如果没有CodeIgniter(PHP框架)、jquery(js框架)、bootstrap(css和js框架),我不会做这么快。当然,作为一个半桶水的前后端,我做的真不快,10小时还包括查询JavaScript如何遍历一个数组等初级教程的时间。有些代码可能写的不是很优雅,但也尽量用我所知道的所有最佳实践在做,比如PHP端的MVC。

我完全无意成为某语言的“高手”“大师”,但我希望我的代码好维护,好修改,性能还OK,那就行了。我希望把专注力放在产品上。

二、如何动手完成一个产品?如果你有一个idea,想把它变成一个产品,那么最好的办法就是现在就开始做,完成50%,接下来再看看剩下的,再完成剩下的50%中的50%,以此类推……这样做可能会让你担心永远做不到100%。不用担心,互联网产品的迭代需要快速,没有产品能做到100%。

先做哪个50%?答案是做可以让你的产品开始用的50%。一方面可以快速上线,另一方面可能是更重要的,在你做这50%的核心部分的时候,剩下的50%修饰部分或者优化部分可能会随着你思路的变化而有所变化。这是你的优势,互联网欢迎拥抱变化的人。

user

余果

https://yuguo.us

全栈工程师,《Web全栈工程师的自我修养》作者。