牛人总是很早就认识。

从新闻中很震惊的发现,拼多多的创始人黄挣,居然是段永平的徒弟,老早就认识了。

我感到很惊讶,原来做大事的人,都是互相认识的,他们一定分享了很多秘密。

说到秘密,很多大事业都是基于很多秘密。一些只有自己知道,其他人不知道的事情。

又想到,张小龙和周鸿祎也是老早就认识,我就无语了。

django 模型高级用法

from django.db import models

class Publisher(models.Model):
    name = models.CharField(max_length=30)
    address = models.CharField(max_length=50)
    city = models.CharField(max_length=60)
    state_province = models.CharField(max_length=30)
    country = models.CharField(max_length=50)
    website = models.URLField()

    def __unicode__(self):
        return self.name

class Author(models.Model):
    first_name = models.CharField(max_length=30)
    last_name = models.CharField(max_length=40)
    email = models.EmailField()

    def __unicode__(self):
        return u'%s %s' % (self.first_name, self.last_name)

class Book(models.Model):
    title = models.CharField(max_length=100)
    authors = models.ManyToManyField(Author)
    publisher = models.ForeignKey(Publisher)
    publication_date = models.DateField()

    def __unicode__(self):
        return self.title

1 外键 高级用法

正常用法: b = Book.object.all() 拿到全部
拿到某个值 b = Book.object.get(id = 50)
那么拿到这个书的出版商: b.publisher 就可以 

那么反向通过出版商找书籍呢? easy
p = publisher.object.get(name = leisen media)
p.book_set.all 就能拿到这个出版商出的书
你可以对其进行分割  p.book_ser.filter(price__gt=100)
p.book_set.filter(name__icontains='django')  

2 多对多的用法和外键一样

[3 模型自定义函数,可以把一些常用的查询写成函数][1]

class BookManager(models.Manager):
def title_count(self, keyword):
return self.filter(title__icontains=keyword).count()

表设计规范

表必须有主键

每一个字段都是原子值,不可再分割

确保每一列都和主键直接相关

一个表中只存一种数据,不要把多种数据放在一个表中

一个字段只有一个含义

总是包含创建日期,和修改日期,最好都是datatime

不用复杂类型,int char 就够了,

不需要的字段,不要删除,只是标示

高手- 传授原则

总体原则:

  • 先讲原理,再谈技术
  • 先讲全局,再谈细节
  • 善用类比
  • 尽量精简,只说用到的

当你尝试向其他人介绍一个知识点的时候,你最好遵循以下步骤:

  我们拿Linux 基础来举例

1. 先说明这个为什么需要这个技术,

     之所以要学习Linux,是因为我们的平时操作的服务器一般是远程的,没有一个像我们电脑桌面一样的操作界面,我们当然无法使用鼠标点击下就能控制服务器,所以只能通过敲一行一行的命令来操作。

2. 和其他技术有什么联系

     我们开发的程序一般最终都会部署到使用Linux 作为操作系统的服务器上,所以我们要像搭建自己的程序,最好需要掌握一点linux, 我们部署我们的程序,需要和解释器(代码翻译),数据库,web服务器,一起才能形成一个可以对外服务的应用。这些都是安装在linux服务器上的一个一个的软件。

3. 核心工作原理是什么,其实就是解释套路的过程。

     我们打开操作系统提供的一个软件(终端), 系统能识别我们根据特定格式输入的命令。 比如:cd + 路径 代表你想进入某个文件夹,ls 表示你想显示当前路径下所有的文件,touch + 文件名 表示你想创建一个新文件, 其实就是一一个个的代号。uwsgi --ini uwsgi.ini  ,前面的uwsgi 代表你要执行的程序,--ini 是参数,uwsgi.ini 是执行的文件,基本所有的命令都是这个套路。

4. 实例演示,根据上面说到的套路边演示,边说明。

     在终端上敲几个命令,边敲,边解释,并展示效果,可以先简单,再复杂。比如: ssh -u root -p 

5. 一定再让大家自己动手敲一边。并监督和解惑

好了,总体来说,每个知识点都使用上面五个步骤来一遍,确保大家都掌握,并记得告诉大家,如果想进一步提升,应该去哪里看文档。

知识点分裂

知识点总结

大家好,我真的非常想办好这个社区,我希望在这篇文章里把我们希望掌握的全部知识点全部分开,这样我们各有专供,分别学习,然后互相传授。

下面是我对python 网页开发的知识点分类,我个人能传授其中大部分。
我还需要数据分析的知识点分类,和机器学习的知识点分类。

Linux 基础

  1. 基本动作命令
  2. 基本安装命令
  3. 基本编辑命令

Python 基础

  • 运算符,数据类型,变量,循环,类。

简单协议 HTML JSON XML

  • 前端基础: HTML CSS Javascript

数据库基础 Mysql

  • 数据库类型
  • 主流数据库,mysql, MongoDB,
  • 特殊数据库 Redis

Flask 基础

  • 工作模式
  • 最小可运行代码示例

Django 基础

  • 工作模式
  • 最小可运行代码示例

Vue 基础

  • 工作模式
  • 最小可运行代码示例

uwsgi 和 nginx 基础

  • 工作模式
  • 标准配置方案

高手-编程 co_learning 组织

enter image description here

‘高手’是一个线下co leaning 学习编程的组织, 这里的高手是‘高抬贵手’的简写,因为编程学习最重要的就是多动手,好吧有点绕,但是你懂的对吧..


概述:我们目前主要的编程语言是 python,前端语言是Vue, 学习方向是 网页APP开发,数据分析,算法,机器学习,


目标: 通过定期的线下小组一起学习,讨论来迅速提高自己的编程水平和工作技能,原理是被广为推崇的 co-learning 理论。


特色:

  • 快速的学习,慢就意味者放弃,我们尝试让任何人在短时间内掌握初级技能,建立起信心
  • 有趣的学习,枯燥意味者放弃,我们尝试让学习的过程变得更轻松
  • 分级制度,(来自电影分级),我们尝试让不同级别的成员分开学习

参入方式:

正在升级中

扫码 加我,然后拉你入群

enter image description here

co-learning 理论,合伙学习理论

合伙学习是指学生以小组为形式参与,为达到共同的学习目标,在一定的激励机制下最大化个人和他人习得成果,而合作互助的相关行为。

大概有以下好处:

如果你带着教授别人的目的学习,你的学习效果会好几倍

相对于自学,面对面的传授,速度会变快几倍。

已经被证实,合伙学习能 ##极大## 的提高学习的效率和动力和完善知识面。

总之,你还在犹豫什么,加入我们…