分类目录归档:后端语言

Django简介


Django简介

Django是一个开放源代码的Web应用框架,使用Python语言编写完成。

Web框架是一套组件,提供通用的设计模式,能够最大程度地降低开发Web站点的难度。

Django的设计目标就是使开发复杂的、数据库驱动的网站变得简单,注重组件的可重用性与可插拔性。

1.1 Django的产生背景

1.1.1 Django的创建背景

假设现在没有Django,我们要开发一个Web站点,需要做哪些工作,写哪些组件去完成它呢?通常需要做下面的几件事。

(1)构建用户账户体系,实现Web站点的登录与注册功能。

(2)定义数据表模型及实现访问功能。

(3)编写业务逻辑实现站点功...

Read more

ZL阅读分享项目介绍


项目介绍

项目名称:ZL阅读分享

开发模式:企业主流-前后端分离模式

功能:

    - 账号注册
    - 账号登录 / 手机号登录
    - 第三方登录 / qq / github / gitee
    - 个人信息
    - 绑定邮箱 / 绑定手机号
    - 修改密码 / 重置密码
    - 文章编辑
    - 文章管理
    - 文章推荐
    - 用户管理
    - 分类管理
    - 标签管理
    - 收藏管理
    - 博客友链
    - 客户端管理
    - 首页
    - 分类
    - 归档
    - 标签
    - 友链
 ...

Read more

Python高阶函数


高阶函数

  • 一切皆为对象(地址、数据成员、类型)

  • First Class Object

    • 函数在Python中是一等公民
    • 函数也对象,可调用的对象
    • 函数可以作为普通变量、参数、返回值等等
  • 高阶函数

    • 数学中概念y=g(f(x))
    • 在数学和计算机科学中,高阶函数至少应该满足下面的一个条件的函数

      • 接收一个或多个函数的引用作为参数的函数
      • 返回值是一个函数引用的函数
    • 函数的引用 :函数的名字

    • 函数的执行结果:func() is return 的结果
  • 计数器

    def counter(base):
        def inc(step=1):
...

Read more

Python网络编程


socket编程

弄懂TCP/IP、HTTP、Socket、TCP的几个概念

计算机网络基础

​ 计算机网络是独立自主的计算机互联而成的系统的总称,组建计算机网络最主要的目的是实现多台计算机之间的通信和资源共享。今天计算机网络中的设备和计算机网络的用户已经多得不可计数,而计算机网络也可以称得上是一个“复杂巨系统”。

TCP/IP模型

​ 实现网络通信的基础是网络通信协议,这些协议通常是由互联网工程任务组 (IETF)制定的。所谓“协议”就是通信计算机双方必须共同遵从的一组约定,例如怎样建立连接、怎样互相识别等,网络协议的三要素是:语法、语义和时序。

构成我们今天使用的Inte...

Read more

GO指针


指针

指针概念在Go语言中被拆分为两个核心概念:

  • 类型指针,允许对这个指针类型的数据进行修改。传递数据使用指针,而无须拷贝数据。类型指针不能进行偏移和运算。
  • 切片,由指向起始元素的原始指针、元素数量和容量组成。

认识指针地址和指针类型

每个变量在运行时都拥有一个地址,这个地址代表变量在内存中的位置。Go语言中使用“&”操作符放在变量前面对变量进行“取地址”操作。

ptr := &v  // v的类型为T

其中v代表被取地址的变量,被取地址的v使用ptr变量进行接收,ptr的类型就为“*T”,称做T的指针类型。*代表指针。

  • 创建D:\go\src\指针\main....

Read more

Python正则表达式


正则表达式

正则表达式这东西,你说它简单它也简单,你说它难吧,确实不容易。为什么?这东西就是死记硬背的。背过了相关的语法,使用起来就so easy。但记不熟语法,就犯难了。

正则表达式简介

正则表达式,是一个特殊的字符序列,又称规则表达式(英语:Regular Expression,在代码中常简写为regex、regexp 或RE),本质而言是一种小型的,高度专业化的编程语言。 Python 自1.5版本起增加了re 模块,re 模块使Python语言拥有全部的正则表达式功能。

正则语法表

这个你背不过,再好的教程看了也没用。如何巧记?我们需要对其进行分类。

  • 开头结尾

这一对...

Read more

Python并发编程(一)


多任务

​ 今天我们使用的计算机早已进入多CPU或多核时代,而我们使用的操作系统都是支持“多任务”的操作系统

  • 我们可以同时运行多个程序
  • 可以将一个程序分解为若干个相对独立的子任务
  • 让多个子任务并发的执行,从而缩短程序的执行时间
  • 同时也让用户获得更好的体验。
  • 实现让程序同时执行多个任务也就是常说的“并发编程”

Python既支持多进程又支持多线程,因此使用Python实现并发编程主要有3种方式:多进程、多线程、多进程+多线程。

并行与并发的区别

  • 并行:同时做某些事,可以互相不干扰的同一个时刻做几件事。(例如:高速公路,双向八车道,所有车都可以互不干扰的运行。)

  • 并发:同一时...

Read more

Python面向对象编程进阶


Python全面采用了面向对象的思想,是真正的面向对象的编程语言.一切皆为对象

  • OOP(Object oriented programming)面向对象
  • 一种针对大型软件程序的编程思想
  • 特点
    • 扩展性强,可读性好
    • 使编程就和堆积木一样
    • 将数据(属性)和操作方法(函数)全部封装到对象中
    • 组织代码的方式更加接近人的思维

面向对象与面向过程

  • 区别

    • 面向过程思维

      • "执行者"思维,适合编写小规模程序
      • 我们首先思考"按照什么步骤"实现,一步一步最终完成,适合一些简单的事情,不需要协作关注"程序的逻辑流程"
      • 例如:
      • 开车 (发动车->挂挡->踩油门->走喽)
      • 做...

Read more

Python面向对象编程入门


Python面向对象编程入门

课程目标:了解面向对象并可以根据面向对象知识进行编写代码。

课程概要:

  • 初识面向对象
  • 三大特性(面向对象)
    • 封装
    • 继承
    • 多态

面向对象

面向对象编程是最有效的软件编写方法之一。

在面向对象编程中,你编写表示现实世界中的事物和情景的类,并基于这些类来创建对象。

编写类时,你定义一大类对象都有的通用行为。

基于类创建对象时,每个对象都自动具备这种通用行为,然后可根据需要赋予每个对象独特的个性。

使用面向对象编程可模拟现实情景,其逼真程度达到了令人惊讶的地步。根据类来创建对象称为实例化,这让你能够使用类的实例。

为什么学习面向对象

理解面向对象编程有助于你...

Read more

Go基础语法


Go基础知识(一)

Go命令行和项目结构

Go的工作区目录结构有bin、pkg、src三个(在GOPATH目录下):

  • bin:编译后的可执行程序的存储目录。

  • pkg:编译时生成的对象文件。

  • src:库文件。

    这些都是Go设计者的约定,只需按照这样的方式组织目录结构即可。

    GOPATH环境变量生效时个人项目可以在src目录下创建新目录,第三方库存放在src的github.com目录下。

Go版本1.11以上支持设置GOROOT环境变量,在任意目录下创建项目程序即可。安装Go语言开发系统后,内置的命令行工具常用的命令如下:

go build:将程序编译成可执行文件。

go r...

Read more