自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(56)
  • 问答 (1)
  • 收藏
  • 关注

原创 TypeError: __init__() missing 1 required positional argument: 'on_delete'

Django 中创建Model时报以下错误:TypeError:init() missing 1 required positional argument: ‘on_delete’代码如下:from django.db import models# from django.contrib.auth.models import AbstractUserclass UserInf...

2020-02-16 11:19:46 929

原创 JS清空数组的三种方法

JS清空数组的三种方法1 . 将length赋值为0var arr = [1,2,3];arr.length = 0;console.log(arr);//[]2 . splice splice() 方法向/从数组中添加/删除项目,然后返回被删除的项目。var arr = [1,2,3];arr.splice(0,arr.length); console.log(ar...

2020-01-22 11:24:54 935

原创 Kubernetes架构

KubernetesKubernetes架构Kubernetes最初源于谷歌内部的Borg,提供了面向应用的容器集群部署和管理系统。Kubernetes的目标旨在消除编排物理/虚拟计算,网络和存储基础设施的负担,并使应用程序运营商和开发人员完全将重点放在以容器为中心的原语上进行自助运营。Kubernetes 也提供稳定、兼容的基础(平台),用于构建定制化的workflows 和更高级的自动...

2020-01-22 11:21:17 535

原创 一个输入框你要做一周?

如果 PO 说这是个很小的改动,你不要信他一次有争议的估点在某次迭代会议上,PO 希望交付这样一个“简单”功能:在应用中,用户可以输入自己的地址,这样我们可以定期邮寄一些宣传册给用户。按照 PO 的描述,这只是一个很简单的文本输入框,用户填写地址之后,地址信息随着其他个人信息一起存到数据库即可。PO 甚至在白板上画了一个不太规则的长方形作为示意,然后满怀期望的将目光投向了你 — 一...

2020-01-22 11:18:50 1677

原创 Celery

  前段时间在Django Web平台开发中,碰到一些请求执行的任务时间较长(几分钟),为了加快用户的响应时间,因此决定采用异步任务的方式在后台执行这些任务。在同事的指引下接触了Celery这个异步任务队列框架,鉴于网上关于Celery和Django结合的文档较少,大部分也只是粗粗介绍了大概的流程,在实践过程中还是遇到了不少坑,希望记录下来帮助有需要的朋友。一、Django中的异步请求Dj...

2020-01-17 10:38:16 200 1

原创 面向对象

什么是面向过程?####概述: 自顶而下的编程模式.把问题分解成一个一个步骤,每个步骤用函数实现,依次调用即可。就是说,在进行面向过程编程的时候,不需要考虑那么多,上来先定义一个函数,然后使用各种诸如if-else、for-each等方式进行代码执行。最典型的用法就是实现一个简单的算法,比如实现冒泡排序。什么是面向对象?####概述: 将事务高度抽象化的编程模式.将问题...

2019-10-18 14:03:20 158

原创 for...of 循环(ES6)

ES6 借鉴 C++、Java、C# 和 Python 语言,引入了for...of循环,作为遍历所有数据结构的统一的方法。一个数据结构只要部署了Symbol.iterator属性,就被视为具有 iterator 接口,就可以用for...of循环遍历它的成员。也就是说,for...of循环内部调用的是数据结构的Symbol.iterator方法。for...of循环可以使用的范围包括数组...

2019-10-15 17:35:17 3133 2

原创 HTTP与HTTPS

https的SSL加密是在传输层实现的。(1)http和https的基本概念http: 超文本传输协议,是互联网上应用最为广泛的一种网络协议,是一个客户端和服务器端请求和应答的标准(TCP),用于从WWW服务器传输超文本到本地浏览器的传输协议,它可以使浏览器更加高效,使网络传输减少。https: 是以安全为目标的HTTP通道,简单讲是HTTP的安全版,即HTTP下加入SSL层,HTTP...

2019-09-26 16:03:15 166

原创 TCP与UDP

1、TCP:1.1、TCP是面向连接的1.2、TCP连接只能是点对点的,一对一1.3、TCP提供可靠交付的服务,无差错、不丢失、不重复、按序到达1.4、TCP提供全双工通信13..5、面向字节流2、UDP:2.1、UDP是无连接的2.2、不保证可靠交付2.3、UDP是面向报文的2.4、没有拥塞控制2.5、UDP支持一对一和多对多2.6、UDP的首部开...

2019-09-25 18:01:25 107

原创 HTTP的演变

1、1990年万维网,在现有的TCP和IP协议基础之上建立,它由四个部分组成:1.1、一个用来表示超文本文档的文本格式,超文本标记语言(HTML)1.2、一个用来交换超文本文档的简单协议,超文本传输协议(HTTP)1.3、一个显示超文本文档的客户端,即网络浏览器2、HTTP/0.9-单行协议请求由单行指令构成,以唯一可用方法GET开头,其后跟目标资源的路径GET /myp...

2019-09-16 11:32:05 321

原创 707. 设计链表

设计链表的实现。您可以选择使用单链表或双链表。单链表中的节点应该具有两个属性:val和next。val是当前节点的值,next是指向下一个节点的指针/引用。如果要使用双向链表,则还需要一个属性prev以指示链表中的上一个节点。假设链表中的所有节点都是 0-index 的。在链表类中实现这些功能:get(index):获取链表中第index个节点的值。如果索引无效,则返回-1...

2019-09-12 10:32:33 351

原创 Django Q查询

1、导入Q对象from django.db.model import QQ 对象可以使用c&(AND)和|(OR)操作符组合起来。当一个操作符在两个Q 对象上使用时,它产生一个新的Q 对象。2、例子Q(question__startswith='Who') | Q(question__startswith='What')等同于SQL语句WHERE questio...

2019-09-06 14:46:58 10595

原创 python编码及工程规范

1、structuring of project 首先我们需要去考虑如何更好地利用Python的特性来创造简洁、高效的代码。在C++/Java等工业界的语言中,“结构化”意味着通过编写简洁的代码,正如文件系统中文件和目录的组织一样,使代码的逻辑和依赖更清晰。在任何项目开始之前我们需要做一个规划,例如哪个函数应该深入到哪个模块,数据在项目中应该如何流转,什么功能和函数应该组合或独立,最...

2019-06-24 10:30:53 1124

原创 Chrome浏览器客户端调试

工欲善其事,必先利其器一. 先来认识一下这些按钮先来看这张图最上头的一行是一个功能菜单,每一个菜单都有它相应的功能和使用方法,依次从左往右来看1.箭头按钮:用于在页面选择一个元素来审查和查看它的相关信息,当我们在Elements这个按钮页面下点击某个Dom元素时,箭头按钮会变成选择状态2.设备图标:点击它可以切换到不同的终端进行开发模式,移动端和pc端的一个切换,可以选...

2019-06-24 10:25:24 227

原创 PyCharm下创建并运行第一个Django工程

1. 创建一个新的工程第一次运行Pycharm时,欢迎界面如下:点击创建新的工程,选择左边面板的Django,填写Location,以及Application name(我分别填写的是mysite,以及 polls,location填写的mysite相当于你的工程名字)点击Create,创建工程。2. 探索工程的结构自动生成了Django整个框架和目录结构我...

2019-06-24 10:22:44 318

原创 Open-Falcon介绍

1、启动步骤:启动redis后台运行,redis-server &cd open-falcon//移动到工作目录./open-falcon start//启动后端./open-falcon check//检查启动情况cd dashboard//移动到工作目录bash control start//以生产环境启动前端,127.0.0.1:8081bash cont...

2018-12-03 15:00:45 887

原创 centos7 python2.7 与python3.6 共存,并处理好pip

centos7 python2.7 与python3.6 共存,并处理好pip 首先在安装之前先确定系统内的python版本和pip 然后查看/usr/bin目录下的python软连接和pip 然后删除它们 这是需要修改yum的python指向 编辑/usr/bin/yum文件将python指向修改为python2的软连接 下载压缩包https:...

2018-12-03 14:57:50 703

原创 Vim查找与替换

以下命令将文中所有的字符串idiots替换成managers::1,$s/idiots/manages/g通常我们会在命令中使用%指代整个文件做为替换范围::%s/search/replace/g以下命令指定只在第5至第15行间进行替换::5,15s/dog/cat/g以下命令指定只在当前行至文件结尾间进行替换::.,$s/dog/cat/g以下命令指定只在后续9行...

2018-12-03 14:56:13 142

原创 21. 合并两个有序链表

/** * Definition for singly-linked list. * struct ListNode { *     int val; *     struct ListNode *next; * }; */struct ListNode* mergeTwoLists(struct ListNode* l1, struct ListNode* l2) {    st...

2018-08-01 19:26:51 138

转载 Python爬虫工具列表

这个列表包含与网页抓取和数据处理的Python库1. 网络通用urllib -网络库(stdlib)。requests -网络库。grab – 网络库(基于pycurl)。pycurl – 网络库(绑定libcurl)。urllib3 – Python HTTP库,安全连接池、支持文件post、可用性高。httplib2 – 网络库。RoboBrowser – 一个简单的、极具Python风格的P...

2018-07-12 13:30:23 717

原创 利用scrapy框架爬取豆瓣top250

作者:木制robot链接:https://zhuanlan.zhihu.com/p/24769534来源:知乎著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。工具和环境语言:python 2.7IDE: Pycharm浏览器:Chrome爬虫框架:Scrapy 1.2.1教程正文观察页面结构首先我们打开豆瓣电影TOP250的页面 通过观察页面决定让我们的爬虫获取每一部电影的排名...

2018-07-11 18:40:04 801

原创 rpm命令手册和查看rpm安装包的安装路径的方法

rpm -qpl xxxxxx.rpm1.如何安装rpm软件包 rmp软件包的安装可以使用程序rpm来完成。执行下面的命令 rpm -i your-package.rpm 其中your-package.rpm是你要安装的rpm包的文件名,一般置于当前目录下。 安装过程中可能出现下面的警告或者提示: ... conflict with ... 可能是要安装的包里有一些文...

2018-06-20 18:27:05 11869

原创 Nginx中HTTP的keepalive相关配置

http keepalive在http早期 ,每个http请求都要求打开一个tpc socket连接,并且使用一次之后就断开这个tcp连接。使用keep-alive可以改善这种状态,即在一次TCP连接中可以持续发送多份数据而不会 断开连接。通过使用keep-alive机制,可以减少tcp连接建立次数,也意味着可以减少TIME_WAIT状态连接,以此提高性能和提高httpd 服务器的吞吐率(更少的t...

2018-06-19 15:41:56 1416

转载 运维工程师必备技能

通用技能 公司与个人 公司是盈利性组织个人和公司必须双赢在认同公司理念且能够给公司创造足够价值的基础上,为个人发展而工作WHO AM I 黑客是守正出奇且具备创造力的群体 守正出奇 这条正道/底线得坚守但如果太过正就迂腐了,为了搞定任务有时得出奇招创造力 一个没有创造力的人是多么的可怜,对于团队来说也是一种耻辱本技能表的本质目的只有一个:引导你拥有足够的创造力黑客也可以是一...

2018-04-23 20:13:06 2029

原创 经典排序算法

首先回顾下各种排序的主要思路:一.       冒泡排序冒泡排序主要思路是:通过交换使相邻的两个数变成小数在前大数在后,这样每次遍历后,最大的数就“沉”到最后面了。重复N次即可以使数组有序。冒泡排序改进1:在某次遍历中如果没有数据交换,说明整个数组已经有序。因此通过设置标志位来记录此次遍历有无数据交换就可以判断是否要继续循环。冒泡排序

2017-10-25 17:53:25 180

原创

栈作为一种受限的线性表,同样可以划分为顺序结构存储的栈(这里简称顺序栈)和链式结构存储的栈(这里简称链栈)。一.顺序栈1.1定义栈的顺序存储称为顺序栈,是利用一组地址连续的存储单元存放从栈底到栈顶的元素,同时附设一个指针(top)指示当前栈顶的位置。如图所示:栈的顺序存储类型则可以描述为:typedef struct{ ElemType data

2017-09-21 15:04:03 450

转载 算法的时间复杂度和空间复杂度总结

算法的时间复杂度和空间复杂度-总结        通常,对于一个给定的算法,我们要做 两项分析。第一是从数学上证明算法的正确性,这一步主要用到形式化证明的方法及相关推理模式,如循环不变式、数学归纳法等。而在证明算法是正确的基础上,第二部就是分析算法的时间复杂度。算法的时间复杂度反映了程序执行时间随输入规模增长而增长的量级,在很大程度上能很好反映出算法的优劣与否。因此,作为程序员,掌握基本的

2017-09-17 17:08:49 387

原创 查找最近公共祖先结点

问题描述假设指针p和指针q分别指向二叉树中任意两个节点的指针,试编写算法找到p和q的最近公共祖先节点r算法思想因为计算的是公共祖先节点,因此可以考虑使用非递归后序遍历的思想。在非递归后序遍历的算法实现中,栈里面存放了即将入栈的元素的所有祖先节点。 为了方便表示说明,这里使用下图所描述的二叉树来说明。 假设指针p指向节点E,指针q指向节点G。按照正

2017-08-25 11:13:42 2712 1

原创 二叉树

一.定义二叉树是另一种树形结构,其特点是每个结点至多只有两颗子树(即二叉树中不存在度大于2的结点),并且,二叉树有左右之分,其次序不能任意颠倒。 与树类似,二叉树同样采用递归的形式定义。 二叉树是n(n≥0)个结点的有限集合:或者为空二叉树,即n=0;或者由一颗根几点和两个互不相交的被称为根的左子树和右子树组成,左子树和右子树又分别是一颗二叉树。二叉树是有序树,若将

2017-08-24 16:09:11 489

原创

一.顺序串1.1定义串的顺序实现是指分配一块连续的存储单元用于串中的元素,并附设表示串长度的标志。 串的顺序结构存储可以描述为:typedef char ElemType;typedef struct{ ElemType data[MaxSize]; int length;}String;12345123451.2基本操作1.2.1创建串

2017-08-13 07:58:00 214

原创 队列

一. 顺序队列1.1定义队列的顺序实现是指分配一块连续的存储单元用于存放队列中的元素,并附设两个指针front和rear分别指示头元素和队尾元素。设队头指针指向队头元素的位置,队尾指针指向队尾元素的下一个位置。队列的顺序存储类型则可以描述为:#define MaxSize 50typedef struct{ ElemType data[MaxSize];

2017-08-11 08:42:54 237

原创 链表

由于顺序表的插入,删除操作需要移动大量的元素,影响了运算效率,由此线性表的链式存储便应运而生。链式存储线性表时,逻辑上连续的元素物理结构上不需要连续,它们彼此可以通过“链”建立起数据元素之间的逻辑关系,因此对于线性表的插入,删除操作并不需要移动元素,只需修改指针即可。一.单链表的定义线性表的链式存储又称为单链表,它是通过一组任意的存储单元来存储线性表中的数据元素。为了建立起数据元素

2017-08-03 10:15:01 288

原创 题目1517:链表中倒数第k个结点

题目1517:链表中倒数第k个结点时间限制:1 秒内存限制:128 兆特殊判题:否提交:2705解决:1206题目描述:输入一个链表,输出该链表中倒数第k个结点。(hint: 请务必使用链表。)输入:输入可能包含多个测试样例,输入以EOF结束。对于每个测试案例,输入的第一行为两个整数n和k(

2017-07-31 17:54:19 303 1

转载 有哪些值得新手学习的Python项目

Python毫无疑问是一门很伟大的语言,最近几年,很多人都在python的世界里转悠。也有很多对编程有着浓厚的兴趣但是不是相关专业的朋友开始学习Python,这固然是好事情。但是很多时候,你只是看到了一棵树,你以为你看到的是整个森林,尤其对于非专业的朋友来说。因此,做一些练手的项目就显得尤为重要。一来让你知道你所学习的Python真的只是皮毛,二来巩固一下你所学习的基础知识。首先推荐两个回

2017-07-22 11:41:36 711

转载 九度OJ_1385:重建二叉树

题目描述:输入某二叉树的前序遍历和中序遍历的结果,请重建出该二叉树。假设输入的前序遍历和中序遍历的结果中都不含重复的数字。例如输入前序遍历序列{1,2,4,7,3,5,6,8}和中序遍历序列{4,7,2,1,5,3,8,6},则重建二叉树并输出它的后序遍历序列。输入:输入可能包含多个测试样例,对于每个测试案例,输入的第一行为一个整数n(1输入的第二行包括n个整数(其

2017-06-14 17:29:34 299

原创 进程池流程

1、主进程需要申请一个空间来存储数据结构,申请空间的目的是管理子进程2、创建子进程,初始化数据结构(将pid,busy等赋值为0)从父进程接收new_fd(网络描述符),子进程发送完文件后,通过write管道(具有读写属性)通知父进程自己已经完成任务,可以重新接收任务,也就是说可以重新分配了。3、初始化sfd(socket fd文件描述符),bind(绑定IP地址和端口号),lis

2017-06-14 16:13:52 270

原创 LinuxIPC之信号

1.信号概念信号是进程在运行过程中, 由自身产生或由进程外部发过来的消息( 事件) 。 信号是硬件中断的软件模拟(软中断)。 每个信号用一个整型常量宏表示, 以 SIG 开头, 比如 SIGCHLD、 SIGINT 等.信号的生成来自内核, 让内核生成信号的请求来自 3 个地方:(1)用户: 用户能够通过输入CTRL+c、 Ctrl+\, 或者是终端驱动程序分配给信号控制字符的

2017-04-18 17:22:32 305

原创 Linuc IPC之信号量

1.1信号量信号量是一种用于提供不同进程间或一个给定进程的不同线程间同步手段的原语。信号量分为以下三种:1、System V信号量,在内核中维护,可用于进程或线程间的同步,常用于进程间的同步2、Posix 有名信号量,一种来源于POSIX技术规范的实时扩展方案,可用于进程或线程间的同步,常用于线程。3、Posix 基于内存的信号量, 存放在共享内存区中, 可用于进程或线程间的同

2017-04-18 16:57:51 566

原创 1.从顺序表中删除具有最小值的元素

题目描述:从顺序表中删除具有最小值的元素(假设唯一)并由函数返回被删除元素的值。空出的位置由最后一个元素填补,若顺序表为空则显示出错信息并退出运行。解题思路:搜索整个线性表,查找最小值元素的位置,并记录该位置,然后用最后一个元素的值将其覆盖,并返回最小值#include using namespace std; typedef int E

2017-04-16 21:19:30 9241

原创 Codeup_1324: 算法2-2:有序线性表的有序合并

题目描述已知线性表 LA 和 LB 中的数据元素按值非递减有序排列,现要求将 LA 和 LB 归并为一个新的线性表 LC, 且 LC 中的数据元素仍然按值非递减有序排列。例如,设LA=(3,5,8,11) ,LB=(2,6,8,9,11,15,20) 则LC=(2,3,6,6,8,8,9,11,11,15,20)算法描述如下:从上述问题要求可知,LC中的数据元素或是LA中的数据

2017-04-15 19:48:51 1050

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除