学习编程照着别人的代码去敲有用吗


“模仿是人类一切学习的开端,然后才是创新,最后是你的自主” --毕加索

起步

当然有用。学习画画有个阶段就是临摹:

20181121153222.png

临摹是艺术类学生必须经历的过程,在临摹的时候不能加入自己的任何修改,那怕你觉得原作这样处理并不好。

同样,作为学习编程的初学者,模仿也是入门的最好的路径。不管是从书上的还是博客上还是框架的文档,一开始一边参考对照一边敲,到最后自己能够独立完整写下来,那怕变量名变都不变。切勿急于求成,文档都不看,例子也不做,直接看语言和框架的源代码,往往得不偿失。


Python Web之路Django(六):高级模型查询


起步

为了说明这部分的例子,模型结构如下:

class Publisher(models.Model):   # 出版社
    name = models.CharField(max_length=31)

class Book(models.Model):       # 书
    name = models.CharField(max_length=31)
    price = models.DecimalField(max_digits=5, decimal_places=2)
    publisher = models.ForeignKey(Publisher, on_delete=models.CASCADE)

class Author(models.Model):    # 作者
    name = models.CharField(max_length=31)
    books = models.ManyToManyField(to=Book)


[转]Twitter设计:分布式系统“推拉模式”的优化


原文链接:http://blog.bittiger.io/post162/

*本文来自于BitTiger冯沁原老师的硅谷之路系列视频之如何设计Twitter,欢迎大家回看视频:https://www.bittiger.io/classpage/8d7E2LPPy2HcZNr7D

我们在上篇最终给出了一个推拉结合的模型,左边属于推模型 ,写进一个消息可以发给所有关注我的人;右边属于拉模型,当我发出消息以后,只写到我自己的list里面,每个人可以过来读取;而Merger将推拉模式结合到一块得到这种结果,针对这种架构我们怎么做优化呢?如何使它更快?

1-1.jpg


web中的撤销重做技术


前言

撤销重做功能,我们经常在富文本编辑器中用到。正好最近接了一个思维导图组件,里面有用到这个功能,分享一波实现原理。

PM:"不就是按CTRL+Z CTRL+Y的事情吗,还需要开发?"