自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(13)
  • 收藏
  • 关注

原创 算法之什么是栈

什么是栈栈(有时称为“后进先出栈”)是一个项的有序集合,其中添加移除新项总发生在同一端。这一端通常称为“顶部”。与顶部对应的端称为“底部”。栈的底部很重要,因为在栈中靠近底部的项是存储时间最长的。最近添加的项是最先会被移除的。这种排序原则有时被称为 LIFO (Last In First Out),后进先出。它基于在集合内的时间长度做排序。较新的项靠近顶部,较旧的项靠近底部。栈的例子很常见。...

2019-11-12 09:30:18 280

原创 算法之链表

单向链表单向链表也叫单链表,是链表中最简单的一种形式,它的每个节点包含两个域,一个信息域(元素域)和一个链接域。这个链接指向链表中的下一个节点,而最后一个节点的链接域则指向一个空值。表元素域elem用来存放具体的数据。链接域next用来存放下一个节点的位置(python中的标识)变量p指向链表的头节点(首节点)的位置,从p出发能找到表中的任意节点。下面引用算法图解一书中的链表:链...

2019-11-11 09:52:13 309

原创 算法之顺序表

顺序表在程序中,经常需要将一组(通常是同为某个类型的)数据元素作为整体管理和使用,需要创建这种元素组,用变量记录它们,传进传出函数等。一组数据中包含的元素个数可能发生变化(可以增加或删除元素)。对于这种需求,最简单的解决方案便是将这样一组元素看成一个序列,用元素在序列里的位置和顺序,表示实际应用中的某种有意义的信息,或者表示数据之间的某种关系。这样的一组序列元素的组织形式,我们可以将其抽象为...

2019-11-08 09:56:29 399

原创 算法之时间复杂度

在了解时间复杂度之前,让我们来了解一下什么是算法?算法(Algorithm)是指解题方案的准确而完整的描述,是一系列解决问题的清晰指令(我的理解是一系列解决问题的步骤),算法代表着用系统的方法描述解决问题的策略机制。也就是说,能够对一定规范的输入,在有限时间内获得所要求的输出。不同的算法可能用不同的时间、空间或效率来完成同样的任务。一个算法的优劣可以用空间复杂度与时间复杂度来衡量。算法的五大...

2019-11-07 23:43:11 407

原创 部署Django项目Nginx + uwsgi

记录一下使用Nginx + uwsgi部署Django项目关于域名和端口在这个教程中,我们将假设你的域名为 example.com 。用你自己的FQDN或者IP地址来代替。从头到尾,我们将使用8000端口作为web服务器的公开端口,就像Django runserver默认的那样。当然,你可以使用任何你想要的端口,但是我已经选了这个,因此,它不会与web服务器可能已经选择的任何端口冲突。基本...

2019-12-17 15:15:44 215

原创 WebSocket是什么

一、websocket与httpWebSocket是HTML5出的东西(协议),也就是说HTTP协议没有变化,或者说没关系,但HTTP是不支持持久连接的(长连接,循环连接的不算)首先HTTP有 1.1 和 1.0 之说,也就是所谓的 keep-alive ,把多个HTTP请求合并为一个,但是 Websocket 其实是一个新协议,跟HTTP协议基本没有关系,只是为了兼容现有浏览器的握手规范而已...

2019-12-16 15:54:30 360

原创 float清除浮动

清除浮动:在非IE浏览器下,当容器的高度为auto,且容器的内容中有浮动(float为left或right)的元素,在这种情况下,容器的高度不能自动伸长以适应内容的高度,使得内容溢出到容器外面而影响(甚至破坏)布局的现象。即父级对象盒子无法被撑开,这个现象叫浮动溢出,为了防止这个现象的出现而进行的CSS处理,就叫CSS清除浮动。clear语法:clear : none | left | ri...

2019-12-16 15:41:39 265 1

原创 记录addEventListener获取上传文件进度的坑

在做上传文件的时候,想要在上传时把每个文件的进度条显示出来,于是找到了addEventListener这个方法,这里记录一下在实现进度条的过程中遇到的坑。直接上JS代码var files = $("#upload")[0].filesfor (var i = 0; i < files.length; i++ ) { var formData = new FormData(); ...

2019-12-10 11:31:11 744

原创 Docker之数据卷

数据卷默认情况下,在容器内创建的所有文件都存储在可写容器层上。这意味着:当该容器不再存在时,数据将不会持久保存,并且如果另一个进程需要它,则可能很难从容器中取出数据。容器的可写层与运行容器的主机紧密耦合。您不能轻易地将数据移动到其他地方。写入容器的可写层需要 存储驱动程序来管理文件系统。存储驱动程序使用Linux内核提供联合文件系统。与使用直接写入主机文件系统的数据卷相比,这种额外的抽象...

2019-11-27 17:36:04 137

原创 Golang切片Slice

Go语言切片(Slice)其本身并不是数组,它是指向底层的数组作为变长数组的代替方案,可以关联底层数组的局部或全部为引用类型可以直接创建或从底层数组获取生成使用len()获取元素个数,cap()获取容量一般使用make()创建如果多个slice指向相同底层数组,其中一个的值改变会影响全部切片和数组的区别数组的长度是固定的,没办法动态增加数组的长度。而切片却没有这个限制,切片更...

2019-11-08 18:28:28 195 1

原创 告别GOPATH,如何使用go mod管理包

我们都知道在使用Golang时开发程序时都需要在 GOPATH 下面,这就非常不方便。如果你想放在磁盘上的其他地方,那么go mod将是你的“好伙伴”。关于 go mod 的说明,可以参考:Introduction to Go ModulesGo 1.11 Modules 官方说明文档命令行说明➜ ~ go modGo mod provides access to operatio...

2019-11-08 09:34:00 1491

翻译 Python特性

Python语法特性使用Python来编写也有很长一段时间了,也想着如何优化自己的代码,随之也搜了一些问题。其中印象比较深刻的就是stackoverflow上的一个问题解答了。Argument Unpacking可以使用 * 和 ** 分别将一个列表和一个字典解包为函数参数如:def draw_point(x, y): # do something tuple = (6,...

2019-11-07 23:53:55 209

原创 初识Python asynic异步编程

什么是异步编程?同步代码(synchrnous code)我们都很熟悉,就是运行完一个步骤再运行下一个。要在同步代码里面实现"同时"运行多个任务,最简单也是最直观地方式就是运行多个 threads 或者多个 processes。这个层次的『同时运行』多个任务,是操作系统协助完成的。也就是操作系统的任务调度系统来决定什么时候运行这个任务,什么时候切换任务,你自己,作为一个应用层的程序员,是没办...

2019-08-28 11:32:37 501

空空如也

空空如也

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

TA关注的人

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