亥虫
码龄5年
  • 392,410
    被访问
  • 169
    原创
  • 900,977
    排名
  • 108
    粉丝
关注
提问 私信

个人简介:做人如果没有梦想,那跟咸鱼有什么差别

  • 加入CSDN时间: 2017-06-02
博客简介:

神薯片

查看详细资料
个人成就
  • 获得147次点赞
  • 内容获得46次评论
  • 获得623次收藏
创作历程
  • 10篇
    2021年
  • 162篇
    2020年
  • 1篇
    2017年
成就勋章
TA的专栏
  • 设计模式
    1篇
  • 大话设计模式
    10篇
  • 消息队列
    1篇
  • RabbitMq
    2篇
  • Redis
    1篇
  • Redis入门指南
    10篇
  • 数据结构与算法
    1篇
  • Python版数据结构与算法课程
    61篇
  • 大话数据结构
    1篇
  • 小程序
    1篇
  • 前端
    1篇
  • Vue
    17篇
  • javascript
    3篇
  • python
    17篇
  • django
    2篇
  • 爬虫
    4篇
  • 流畅的Python
    1篇
  • 工具
    3篇
  • 网络协议
  • 图解HTTP
    11篇
  • Linux命令
    1篇
  • CentOS
    1篇
  • MySQL
  • MySQL必知必会
    30篇
  • 最近
  • 文章
  • 资源
  • 问答
  • 帖子
  • 视频
  • 课程
  • 关注/订阅/互动
  • 收藏
搜TA的内容
搜索 取消

(Python3 代码实现)《大话设计模式》十:观察者模式

模式特点:定义了一种一对多的关系,让多个观察对象同时监听一个主题对象,当主题对象状态发生变化时会通知所有观察者。程序实例:公司里有两种上班时趁老板不在时偷懒的员工:看NBA的和看股票行情的,并且事先让老板秘书当老板出现时通知他们继续做手头上的工作。程序特点:无class Observer: def __init__(self, strname, strsub): self.name = strname self.sub = strsub def ..
原创
发布博客 2021.01.26 ·
582 阅读 ·
0 点赞 ·
0 评论

(Python3 代码实现)《大话设计模式》九:建造者模式

模式特点:将一个复杂对象的构建(Director)与它的表示(Builder)分离,使得同样的构建过程可以创建不同的表示(ConcreteBuilder)。程序实例:“画”出一个四肢健全(头身手腿)的小人代码特点:无class Person: def create_head(self): pass def create_hand(self): pass def create_body(self): pass d..
原创
发布博客 2021.01.26 ·
575 阅读 ·
0 点赞 ·
0 评论

(Python3 代码实现)《大话设计模式》八:外观模式

模式特点:为一组调用提供一致的接口。程序实例:接口将几种调用分别组合成为两组,用户通过接口调用其中的一组。代码特点:无class SubSystemOne: def MethodOne(self): print("SubSysOne")class SubSystemTwo: def MethodTwo(self): print("SubSysTwo")class SubSystemThree: def MethodThree(s..
原创
发布博客 2021.01.26 ·
584 阅读 ·
0 点赞 ·
0 评论

(Python3 代码实现)《大话设计模式》七:模板方法模式

模式特点:定义一个操作中的算法骨架,将一些步骤延迟至子类中。程序实例:考试时使用同一种考卷(父类),不同学生上交自己填写的试卷(子类方法的实现)代码特点:无class TestPaper: def TestQuestion1(self): print("Test1:A. B. C. D.") print("(%s)" % self.Answer1()) def TestQuestion2(self): print("Test1:A..
原创
发布博客 2021.01.26 ·
565 阅读 ·
0 点赞 ·
0 评论

(Python3 代码实现)《大话设计模式》六:原型模式

模式特点:用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象。程序实例:从简历原型,生成新的简历代码特点:简历类Resume提供的Clone()方法其实并不是真正的Clone,只是为已存在对象增加了一次引用。Python为对象提供的copy模块中的copy方法和deepcopy方法已经实现了原型模式,但由于例子的层次较浅,二者看不出区别。import copyclass Resume: name = '' age = 0 def __init__(se..
原创
发布博客 2021.01.26 ·
560 阅读 ·
0 点赞 ·
0 评论

(Python3 代码实现)《大话设计模式》五:工厂方法模式

模式特点:定义一个用于创建对象的接口,让子类决定实例化哪一个类。这使得一个类的实例化延迟到其子类。程序实例:基类雷锋类,派生出学生类和志愿者类,由这两种子类完成“学雷锋”工作。子类的创建由雷锋工厂的对应的子类完成。代码特点:无class LeiFeng: def Sweep(self): print("LeiFeng sweep")class Student(LeiFeng): def Sweep(self): print("Student ..
原创
发布博客 2021.01.26 ·
569 阅读 ·
0 点赞 ·
0 评论

(Python3 代码实现)《大话设计模式》四:代理模式

模式特点:为其他对象提供一种代理以控制对这个对象的访问。程序实例:同模式特点描述。代码特点:无class Interface: def request(self): return 0class RealSubject(Interface): def request(self): print("Real request")class Proxy(Interface): def request(self): self..
原创
发布博客 2021.01.26 ·
560 阅读 ·
0 点赞 ·
0 评论

(Python3 代码实现)《大话设计模式》三:装饰模式

装饰模式模式特点:动态地为对象增加额外的职责程序实例:展示一个人一件一件穿衣服的过程。代码特点:无#!/usr/bin/env python# -*- coding: utf-8 -*-# @Time : 2021/1/19 17:41# @Author : cch# @Site :# @File : decorator.py# @Software: PyCharmclass Person: def __init__(self, tname):
原创
发布博客 2021.01.26 ·
569 阅读 ·
0 点赞 ·
1 评论

(Python3 代码实现)《大话设计模式》二:策略模式

模式特点:定义算法家族并且分别封装,它们之间可以相互替换而不影响客户端。程序实例:商场收银软件,需要根据不同的销售策略方式进行收费代码特点:不同于同例1,这里使用字典是为了避免关键字不在字典导致bug的陷阱。class CashSuper: def accept_cash(self, money): passclass CashNormal(CashSuper): def accept_cash(self, money): return mo..
原创
发布博客 2021.01.26 ·
568 阅读 ·
0 点赞 ·
0 评论

(Python3 代码实现)《大话设计模式》一:简单工厂模式

简单工厂模式模式特点:工厂根据条件产生不同功能的类。程序实例:四则运算计算器,根据用户的输入产生相应的运算类,用这个运算类处理具体的运算。代码特点:C/C++中的switch…case…分支使用字典的方式代替。使用异常机制对除数为0的情况进行处理。class Operation: def GetResult(self): passclass OperationAdd(Operation): def GetResult(self): retu
原创
发布博客 2021.01.26 ·
575 阅读 ·
1 点赞 ·
0 评论

django+微信小程序入门实战一:简单计算器

准备环境微信开发工具djangodjango端在服务器安装python3和pip3环境,并安装djangopip install django创建django项目django-admin startproject weixintest 进入项目cd weixintest创建Apppython manage.py startapp CalculateApi修改calculator/settings.py文件# 修改 ALLOWED_HOSTS = [] 为
原创
发布博客 2020.07.18 ·
332 阅读 ·
0 点赞 ·
0 评论

centos7下源码编译安装nginx

源码编译安装到官网下看好版本号http://nginx.org/en/download.html使用wget命令下载(推荐)#下载版本号可根据目前官网最新稳定版自行调整wget -c https://nginx.org/download/nginx-1.18.0.tar.gz安装依赖#gcc安装,nginx源码编译需要yum install gcc-c++#PCRE pcre-devel 安装,nginx 的 http 模块使用 pcre 来解析正则表达式yum inst
原创
发布博客 2020.07.14 ·
107 阅读 ·
0 点赞 ·
0 评论

Python消息队列(RabbitMQ)

Python消息队列(RabbitMQ)RabbitMQ 即一个消息队列,主要是用来实现应用程序的异步和解耦,同时也能起到消息缓冲,消息分发的作用。可维护多个队列,可实现消息的一对一和广播等方式发送RabbitMQ是一个开源的AMQP实现,服务器端用Erlang语言编写,支持多种客户端,如:Python、Ruby、.NET、Java、JMS、C、PHP、ActionScript、XMPP、STOMP等,支持AJAX。用于在分布式系统中存储转发消息,在易用性、扩展性、高可用性等方面表现不俗。准备工作
原创
发布博客 2020.07.12 ·
1876 阅读 ·
0 点赞 ·
0 评论

Ubuntu 16.04 RabbitMq 安装与运行

准备工作Ubuntu Server 16.04.1 LTS 64位安装RabbitMq可以参照RabbitMq官网的安装教程(Installing on Debian and Ubuntu),来进行安装。这里我们使用apt-get来安装,就简单的几条命令:1.由于rabbitMq需要erlang语言的支持,在安装rabbitMq之前需要安装erlang,执行命令:apt-get install erlang-nox # 安装erlangerl # 查看relang语言版本,成功执
原创
发布博客 2020.07.12 ·
195 阅读 ·
0 点赞 ·
0 评论

一篇搞懂消息队列的基本概念

一 什么是消息队列我们可以把消息队列比作是一个存放消息的容器,当我们需要使用消息的时候可以取出消息供自己使用。消息队列是分布式系统中重要的组件,使用消息队列主要是为了通过异步处理提高系统性能和削峰、降低系统耦合性。目前使用较多的消息队列有ActiveMQ,RabbitMQ,Kafka,RocketMQ,我们后面会一一对比这些消息队列。另外,我们知道队列 Queue 是一种先进先出的数据结构,所以消费消息时也是按照顺序来消费的。比如生产者发送消息1,2,3…对于消费者就会按照1,2,3…的顺序来消费。二
转载
发布博客 2020.07.12 ·
220 阅读 ·
0 点赞 ·
0 评论

Redis 入门指南九:Redis 有序集合(sorted set)

Redis 有序集合(sorted set)Redis 有序集合和集合一样也是string类型元素的集合,且不允许重复的成员。不同的是每个元素都会关联一个double类型的分数。redis正是通过分数来为集合中的成员进行从小到大的排序。有序集合的成员是唯一的,但分数(score)却可以重复。集合是通过哈希表实现的,所以添加,删除,查找的复杂度都是O(1)其实不太准确。其实在redis sorted sets里面当items内容大于64的时候同时使用了hash和skiplist两种设计实现。这也会为了
原创
发布博客 2020.07.05 ·
139 阅读 ·
0 点赞 ·
0 评论

Redis 入门指南八:Redis 集合(Set)

Redis 集合(Set)Redis 的 Set 是 String 类型的无序集合。集合成员是唯一的,这就意味着集合中不能出现重复的数据。Redis 中集合是通过哈希表实现的,所以添加,删除,查找的复杂度都是 O(1)。集合中最大的成员数为 232 - 1 (4294967295, 每个集合可存储40多亿个成员)。实例在以上实例中我们通过 SADD 命令向名为 student 的集合插入的三个元素。Redis 集合命令下表列出了 Redis 集合基本命令:命令描述SAD
原创
发布博客 2020.07.05 ·
77 阅读 ·
0 点赞 ·
0 评论

Redis 入门指南七:Redis 列表(List)

Redis 列表(List)Redis列表是简单的字符串列表,按照插入顺序排序。你可以添加一个元素到列表的头部(左边)或者尾部(右边)一个列表最多可以包含 232 - 1 个元素 (4294967295, 每个列表超过40亿个元素)。实例在以上实例中我们使用了 LPUSH 将三个值插入了名为 student 的列表当中。Redis 列表命令下表列出了列表相关的基本命令:命令描述BLPOP key1 [key2 ] timeout移出并获取列表的第一个元素, 如果列表没有
原创
发布博客 2020.07.05 ·
57 阅读 ·
0 点赞 ·
0 评论

Redis 入门指南六:Redis 哈希(Hash)

Redis 哈希(Hash)Redis hash 是一个 string 类型的 field 和 value 的映射表,hash 特别适合用于存储对象。Redis 中每个 hash 可以存储 2^32 - 1 键值对(40多亿)。实例在以上实例中,我们设置了 redis 的一些描述信息(name, age, gender, phone) 到哈希表的 student 中。Redis hash 命令下表列出了 redis hash 基本的相关命令:命令描述HDEL key fi
原创
发布博客 2020.07.05 ·
98 阅读 ·
0 点赞 ·
0 评论

Redis 入门指南五:Redis 字符串(String)

Redis 字符串(String)Redis 字符串数据类型的相关命令用于管理 redis 字符串值,基本语法如下:语法redis 127.0.0.1:6379> COMMAND KEY_NAME实例在以上实例中我们使用了 SET 和 GET 命令,键为 name。Redis 字符串命令下表列出了常用的 redis 字符串命令:命令描述SET key value设置指定 key 的值GET key获取指定 key 的值。GETRANGE key
原创
发布博客 2020.07.05 ·
56 阅读 ·
0 点赞 ·
0 评论
加载更多