hongweipeng 发布的文章

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


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

起步

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

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


Django+Uwsgi+Nginx 实现生产环境部署


Django的部署可以有很多方式,生产环境大多采用nginx+uwsgi的方式

uwsgi介绍

uWSGI是一个Web服务器,它实现了WSGI协议、uwsgi、http等协议。Nginx中HttpUwsgiModule的作用是与uWSGI服务器进行交换。

要注意 WSGI / uwsgi / uWSGI 这三个概念的区分。

  1. WSGI是一种Web服务器网关接口。它是一个Web服务器(如nginx,uWSGI等服务器)与web应用(如用Flask框架写的程序)通信的一种规范。
  2. uwsgi是一种线路协议而不是通信协议,在此常用于在uWSGI服务器与其他网络服务器的数据通信。
  3. 而uWSGI是实现了uwsgi和WSGI两种协议的Web服务器。
  4. uwsgi协议是一个uWSGI服务器自有的协议,它用于定义传输信息的类型(type of information),每一个uwsgi packet前4byte为传输信息类型描述,它与WSGI相比是两样东西。