SS命令和Netstat命令比较
摘要:在Linux中,netstat已经不为推荐,取而代之的是ss。 如果没有ss命令,可以如下安装:[root@wang ~]# yum install iproute iproute-doc 当服务器维持30000个socket连接时,使用netstat和ss命令统计连接数的耗时情况如下:[root@
阅读全文
posted @
2020-05-31 15:43
topass123
阅读(555)
推荐(0) 编辑
centos配置redis的主从复制(2)
摘要:在之前的前提下,配置高可用。 添加一台机器[192.168.42.154]来做高可用 同样我们需要设置好,IP,主机名,下载安装redis 192.168.42.154 redis-sentinel #将主机解析追加至其他的4台的hosts文件中,本机也需要一份 cd /usr/local/src
阅读全文
posted @
2020-05-31 15:34
topass123
阅读(121)
推荐(0) 编辑
centos配置redis的主从复制(1)
摘要:预配 1. 准备好4台机器 vim /etc/hosts 192.168.42.150 redis-node1 #主 192.168.42.151 redis-node2 #从 192.168.42.152 redis-node3 #从 192.168.42.153 redis-node4 #从 2
阅读全文
posted @
2020-05-31 15:25
topass123
阅读(164)
推荐(0) 编辑
散列表(22)
摘要:散列表也叫哈希表,是一种通过键值对直接访问数据的机构。在初中,我们就学过一种能够将一个x值通过一个函数获得对应的一个y值的操作,叫做映射。散列表的实现原理正是映射的原理,通过设定的一个关键字和一个映射函数,就可以直接获得访问数据的地址,实现O(1)的数据访问效率。在映射的过程中,事先设定的函数就是一
阅读全文
posted @
2020-05-28 21:17
topass123
阅读(118)
推荐(0) 编辑
行锁模式(12)
摘要:锁的模式有:读意向锁,写意向锁,读锁,写锁和自增锁(auto_inc)。 1、读写锁 读锁,又称共享锁(Share locks,简称 S 锁),加了读锁的记录,所有的事务都可以读取,但是不能修改,并且可同时有多个事务对记录加读锁。 写锁,又称排他锁(Exclusive locks,简称 X 锁),或
阅读全文
posted @
2020-05-28 21:12
topass123
阅读(168)
推荐(0) 编辑
MySQL 常见索引类型(11)
摘要:在 MySQL 中,主要有下面这几种索引 全局索引(FULLTEXT):全局索引,目前只有 MyISAM 引擎支持全局索引,它的出现是为了解决针对文本的模糊查询效率较低的问题。 哈希索引(HASH):哈希索引是 MySQL 中用到的唯一 key-value 键值对的数据结构,很适合作为索引。HASH
阅读全文
posted @
2020-05-28 20:48
topass123
阅读(389)
推荐(0) 编辑
MySQL存储引擎的区别(10)
摘要:MyISAM 和 InnoDB 存储引擎的对比 锁粒度方面:由于锁粒度不同,InnoDB 比 MyISAM 支持更高的并发; InnoDB 的锁粒度为行锁、MyISAM 的锁粒度为表锁、行锁需要对每一行进行加锁,所以锁的开销更大, 但是能解决脏读和不可重复读的问题,相对来说也更容易发生死锁 可恢复性
阅读全文
posted @
2020-05-28 20:43
topass123
阅读(152)
推荐(0) 编辑
linux开机过程
摘要:1、主机加电自检,加载 BIOS 硬件信息。 2、读取 MBR 的引导文件(GRUB、LILO)。 3、引导 Linux 内核。 4、运行第一个进程 init (进程号永远为 1 )。 5、进入相应的运行级别。 6、运行终端,输入用户名和密码。 顺带提下: 软链接与硬链接的区别: 硬链接不可以跨分区
阅读全文
posted @
2020-05-28 20:31
topass123
阅读(148)
推荐(0) 编辑
请问当用户反馈网站访问慢,你会如何处理?
摘要:请问当用户反馈网站访问慢,你会如何处理? 有哪些方面的因素会导致网站网站访问慢? 1、服务器出口带宽不够用 本身服务器购买的出口带宽比较小。一旦并发量大的话,就会造成分给每个用户的出口带宽就小,访问速度自然就会慢。 跨运营商网络导致带宽缩减。例如,公司网站放在电信的网络上,那么客户这边对接是长城宽带
阅读全文
posted @
2020-05-28 20:29
topass123
阅读(239)
推荐(0) 编辑
长短连接与保活性
摘要:长连接与短连接 http 在 HTTP/1.0 中,默认使用的是短连接。也就是说,浏览器和服务器每进行一次 HTTP 操作,就建立一次连接,但任务结束就中断连接。 但从 HTTP/1.1 起,默认使用长连接,用以保持连接特性。使用长连接的 HTTP 协议, 当一个网页打开完成后,客户端和服务器之间用
阅读全文
posted @
2020-05-28 16:12
topass123
阅读(183)
推荐(0) 编辑
tcp三次丢包的情况
摘要:tcp三次握手的三次丢包,分析。 1)当客户端发起的 TCP 第一次握手 SYN 包, 在超时时间内没收到服务端的 ACK,就会在超时重传 SYN 数据包, 每次超时重传的 RTO 是翻倍上涨的,直到 SYN 包的重传次数到达 tcp_syn_retries 【设定的重传次数】值后, 客户端不再发送
阅读全文
posted @
2020-05-28 16:10
topass123
阅读(767)
推荐(0) 编辑
11个步骤完美排查Linux机器是否已经被入侵
摘要:11个步骤完美排查Linux机器是否已经被入侵 转载链接:https://mp.weixin.qq.com/s/eOQy1_rJdwdYcBZB0Mf-yg
阅读全文
posted @
2020-05-28 14:41
topass123
阅读(143)
推荐(0) 编辑
MySQL的索引失效的情况(8)
摘要:避免索引失效 1). 全值匹配 ,对索引中所有列都指定具体值。该情况下,索引生效,执行效率高。 2). 左前缀法则如果索引了多列,要遵守左前缀法则。指的是查询从索引的左前列开始,并且不跳过索引中的列,否则索引失效。1)匹配左前缀法则,走索引。结果也只是显示最后的匹配情况。 2)如果符合左法则,但是出
阅读全文
posted @
2020-05-27 15:20
topass123
阅读(302)
推荐(0) 编辑
MySQL优化(1)
摘要:必要性:业务的增加,各公司的数据不在仅仅的功能实现方面,更多的是对数据的优化问题。 1.定位低效率sql 慢查询日志 : 通过慢查询日志定位那些执行效率较低的 SQL 语句,用--log-slow-queries[=file_name]选项启 动时,mysqld 写一个包含所有执行时间超过 long_
阅读全文
posted @
2020-05-27 14:30
topass123
阅读(170)
推荐(0) 编辑
MySQL存储引擎(7)
摘要:和大多数的数据库不同, MySQL中有一个存储引擎的概念, 针对不同的存储需求可以选择优的存储引擎。 存储引擎就是存储数据,建立索引,更新查询数据等等技术的实现方式 。存储引擎是基于表的,而不是基于库的。 所以存储引擎也可被称为表类型。 MySQL的存储引擎: MySQL的储存引擎有InnoDB ,
阅读全文
posted @
2020-05-26 21:35
topass123
阅读(92)
推荐(0) 编辑
MySQL触发器(6)
摘要:触发器的作用 可在写入数据表前,强制检验或转换数据。 触发器发生错误时,异动的结果会被撤销。 部分数据库管理系统可以针对数据定义语言(DDL)使用触发器,称为DDL触发器。 可依照特定的情况,替换异动的指令 (INSTEAD OF)。 慎用触发器编辑 触发器功能强大,轻松可靠地实现许多复杂的功能,为
阅读全文
posted @
2020-05-26 20:37
topass123
阅读(159)
推荐(0) 编辑
Python的re应用
摘要:re的效果: re.match是用来进行正则匹配检查的方法,若字符串匹配正则表达式,则match方法返回匹配对象(Match Object),否则返回None(注意不是空字符串"")。 匹配对象Macth Object具有group方法,用来返回字符串的匹配部分。 1单字符匹配 ret = re.m
阅读全文
posted @
2020-05-26 14:32
topass123
阅读(172)
推荐(0) 编辑
MySQL索引的基本应用(2)
摘要:2.1索引的概述 索引是帮助MySQL高效获取数据的有序数据结构。在数据之外,数据库系统还维护着满足特定查找算法的数据结构,这些 数据结构一某种方式引用数据,这样就可以在这些数据结构上实现高级查找算法,这种数据结构就是索引。 2.2索引的优缺点 优点: 1)提高数据检索到的效率,降低数据库的io成本
阅读全文
posted @
2020-05-26 08:09
topass123
阅读(107)
推荐(0) 编辑
在线教育平台-全局配置页面(13)
摘要:(1)MxOnline/urls.py from MxOnline.settings import STATIC_ROOT urlpatterns = [ #静态文件 re_path(r'^static/(?P<path>.*)', serve, {"document_root": STATIC_R
阅读全文
posted @
2020-05-24 16:23
topass123
阅读(164)
推荐(0) 编辑
git的推送忽略(4)
摘要:有的时候,提交推送的时候不想提交某些文件,此时可以在这个项目根目录下新建一个名为.gitignore的文件, 在这个文件里可以进行配置提交的时候忽略哪些文件,配置使用正则表达式的形式. 比如: *.py 忽略所有的以py结尾的文件 test/a.* 忽略test目录下所有的以a开头的文件 test/
阅读全文
posted @
2020-05-24 15:49
topass123
阅读(169)
推荐(0) 编辑
git分支与合并(3)
摘要:git branch # 查看当前分支并且看到在哪个分支下工作 git branch -v # 查看本地git分支 git branch -av # 查看所有分支及其详细信息,如果添加远程仓库,会显示远程仓库上的分支 git branch dev # 创建一个dev分支 git checkout -
阅读全文
posted @
2020-05-24 15:48
topass123
阅读(188)
推荐(0) 编辑
git的基础用法(2)
摘要:1.创建用户信息 git config --global user.name 'your_name' git config --global user.email 'your_email' 注意: git config有三种情况:git config --local # 只对某个git仓库有效,默认
阅读全文
posted @
2020-05-24 15:32
topass123
阅读(106)
推荐(0) 编辑
django的缓存实现
摘要:Django提供的6种缓存方式如下: (1)开发调试缓存; (2)内存缓存; (3)文件缓存; (4)数据库缓存; (5)Memcache缓存(使用Python-memcached模块); (6)Memcache缓存(使用pylibmc模块)。 常用的缓存方式是文件缓存和Mencache缓存。 (1
阅读全文
posted @
2020-05-24 15:14
topass123
阅读(212)
推荐(0) 编辑
在线教育平台,收藏人数的处理(12)
摘要:减的时候 exist_record.delete() if int(type) == 1: course = Course.objects.get(id=int(id)) course.fav_nums -= 1 if course.fav_nums < 0: course.fav_nums = 0
阅读全文
posted @
2020-05-23 22:44
topass123
阅读(140)
推荐(0) 编辑
$.ajax()方法详解
摘要:jquery中的ajax方法参数记录一下。 1.url: 要求为String类型的参数,(默认为当前页地址)发送请求的地址。 2.type: 要求为String类型的参数,请求方式(post或get)默认为get。注意其他http请求方法,例如put和delete也可以使用,但仅部分浏览器支持。 3
阅读全文
posted @
2020-05-23 22:27
topass123
阅读(110)
推荐(0) 编辑
在线教育平台-授课(11)
摘要:log处理问题: 添加机构信息的时候要上传机构的图片 在项目目录下面新建一个目录“media”,用来存放上传的图片 setting中要配置我们把文件存放在哪个根目录之下 #settings.py # 设置上传文件的路径 MEDIA_URL = '/media/' MEDIA_ROOT = os.pa
阅读全文
posted @
2020-05-23 22:26
topass123
阅读(137)
推荐(0) 编辑
分页管理方式和分段管理方式的区别
摘要:1、目的 分页:页是信息的物理单位,分页是为了实现离散分配方式,以消减内存的外零头,提高内存的利用率。或者说,分页仅仅是由于系统管理的需要不是用户的需要。 分段:段是信息的逻辑单位,它含有一组其意义相对完整的信息,分段的目的是为了能更好的满足用户的需要。 2、长度 分页:页的大小固定且由系统决定,由
阅读全文
posted @
2020-05-23 15:13
topass123
阅读(2210)
推荐(0) 编辑
java web项目搭建
摘要:部署环境: 1.mysql做数据存储 2.nginx默认开启80端口,用于接受用户的web请求 3.tomcat默认8080端口开启,用来接收nginx转发的web请求。 环境部署与实现。 (1)安装JDK 1. 安装依赖环境 yum -y installl gcc 2.解压jdk,并且移动到指定的
阅读全文
posted @
2020-05-23 08:57
topass123
阅读(218)
推荐(0) 编辑
在线教育平台,找回密码(10)
摘要:路由: from users.views import ForgetPwdView urlpatterns = [ path('forget/',ForgetPwdView.as_view(),name='forget_pwd'), ] 表单forms.py class ForgetPwdForm(
阅读全文
posted @
2020-05-22 23:05
topass123
阅读(299)
推荐(0) 编辑
在线教育平台,邮件激活(9)
摘要:在Python中已经内置了一个smtp邮件发送模块,Django在此基础上进行了简单地封装,让我们在Django环境中可以更方便更灵活的发送邮件。 所有的功能都在django.core.mail中。 首先settings里面设置 # settings.py EMAIL_HOST = "smtp.qq
阅读全文
posted @
2020-05-22 22:55
topass123
阅读(304)
推荐(0) 编辑
在线教育平台,用户注册(8)
摘要:1.初步视图: users/views.py class RegisterView(View): '''用户注册''' def get(self,request): return render(request,'register.html') 用户以get方式,直接返回注册页面 2设计路由: # M
阅读全文
posted @
2020-05-22 22:46
topass123
阅读(261)
推荐(0) 编辑
在线教育平台使用form修改user为类(7)
摘要:(1)把前面views中的user_login()函数改成基于类的形式 from django.views.generic.base import View class LoginView(View): def get(self,request): return render(request, 'l
阅读全文
posted @
2020-05-22 21:29
topass123
阅读(171)
推荐(0) 编辑
在线教育平台实现登录功能(6)
摘要:(1)把html文件中index.html拷贝到templates文件夹内 (2)新建static目录用来存放静态文件,该文件与apps在同级目录。 在settings.py中设置路径 STATICFILES_DIRS = ( os.path.join(BASE_DIR,'static'), ) (
阅读全文
posted @
2020-05-22 21:19
topass123
阅读(363)
推荐(0) 编辑
在线教育平台的全局配置(5)
摘要:把全站的配置放在users\adminx.py中,主要是自定义底栏,与栏目的显示: (1)添加主题功能 from xadmin import views # 创建xadmin的最基本管理器配置,并与view绑定 class BaseSetting(object): # 开启主题功能 enable_t
阅读全文
posted @
2020-05-22 21:04
topass123
阅读(166)
推荐(0) 编辑
在线教育平台的app注册(4)
摘要:(1)在users下面创建adminx.py,代码如下: # users/adminx.py import xadmin from .models import EmailVerifyRecord #xadmin中这里是继承object,不再是继承admin class EmailVerifyRec
阅读全文
posted @
2020-05-22 20:59
topass123
阅读(205)
推荐(0) 编辑
在线教育平台后台修改(3)
摘要:安装xadmin pip3 install xadmin-django2 也可以使用安装压缩包的方式安装 1.解压 2.pip3 install 名字 (1)新建Python Package "extra_apps",把源码xadmin文件夹放到extra_apps文件夹下面 (2)把extra_a
阅读全文
posted @
2020-05-22 20:48
topass123
阅读(170)
推荐(0) 编辑
操作系统概述
摘要:操作系统: 操作系统是指控制和管理整个计算机系统的硬件和软件资源,并合理的组织调度计算机的工作和资源的分配,以提供给用户和其他软件方便的接口和环境集合。 操作系统的特征 操作系统的基本特征包括并发、共享、虚拟和异步 操作系统的发展: 1、手工操作阶段 2、脱机输入输出阶段 3、批处理阶段 批处理技术
阅读全文
posted @
2020-05-22 07:55
topass123
阅读(255)
推荐(0) 编辑
构建在线教育平台的基础环境(2)
摘要:创建工程与创建相应的app django-admin startproject MxOnline python3 manage.py startapp users python3 manage.py startapp course python3 manage.py startapp organiz
阅读全文
posted @
2020-05-21 23:01
topass123
阅读(184)
推荐(0) 编辑
在线教育平台的实现功能流程(1)
摘要:主要模块 研发 流程: 用户模块分析 操作: 课程: 教育机构:
阅读全文
posted @
2020-05-21 22:58
topass123
阅读(238)
推荐(0) 编辑
python把函数作为参数
摘要:python把函数作为参数 import math def add(x, y, f): return f(x) + f(y) print add(25, 9,math.sqrt) python中map()函数的应用。将首字母大写,其他的小写 def format_name(s): return s.
阅读全文
posted @
2020-05-20 14:15
topass123
阅读(1164)
推荐(0) 编辑
Python装饰器
摘要:关键字lambda 表示匿名函数,冒号前面的 x 表示函数参数。 def is_not_empty(s): return s and len(s.strip()) > 0 filter(is_not_empty, ['test', None, '', 'str', ' ', 'END']) 修改为:
阅读全文
posted @
2020-05-20 14:13
topass123
阅读(140)
推荐(0) 编辑
打印进度条
摘要:1 ''' 2 time:2020/5 3 author:topass123 4 ''' 5 import sys 6 import time 7 for i in range(50): 8 sys.stdout.write("+")#此命令不会像print语句执行一次,换行一次\ 9 sys.st
阅读全文
posted @
2020-05-19 16:22
topass123
阅读(115)
推荐(0) 编辑
Python实现ftp服务(1)
摘要:bin目录的文件: #client #-*- Coding:utf-8 -*- import os,sys BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__))) #获取该项目根目录的完整路径 sys.path.a
阅读全文
posted @
2020-05-19 15:22
topass123
阅读(155)
推荐(0) 编辑
文件断点续传的理解与实现(2)
摘要:先来一张图理解断点续传: 项目搭建: 服务端: #!/usr/bin/env python # -*- coding:utf-8 -*- """ 实现文件断点续传的服务器端 """ import socket import os BASE_DIR = os.path.dirname(os.path.
阅读全文
posted @
2020-05-19 12:37
topass123
阅读(211)
推荐(0) 编辑
json的load,dump的四个方法解释
摘要:json.dumps()实现python类型转化为json字符串,返回一个str对象 ,把一个Python对象编码转换成Json字符串 ,如果直接将dict类型的数据写入json文件中会发生报错 import json import chardet listStr = [1, 2, 3, 4] tu
阅读全文
posted @
2020-05-18 07:45
topass123
阅读(3334)
推荐(0) 编辑
ajax
摘要:AJAX = Asynchronous JavaScript and XML(异步的 JavaScript 和 XML)。 AJAX 不是新的编程语言,而是一种使用现有标准的新方法。 AJAX 是与服务器交换数据并更新部分网页的艺术,在不重新加载整个页面的情况下。 创建过程: function aj
阅读全文
posted @
2020-05-16 10:27
topass123
阅读(101)
推荐(0) 编辑
post与get
摘要:1 共同点: 2 GET和POST是HTTP协议中的两种发送请求的方法。 3 HTTP是基于TCP/IP的关于数据如何在万维网中如何通信的协议。 4 GET和POST本质上就是TCP链接,并无差别。 不同点:1. GET在浏览器回退时是无害的,而POST会再次提交请求。 2. GET请求会被浏览器主
阅读全文
posted @
2020-05-16 09:54
topass123
阅读(142)
推荐(0) 编辑
nat网址转换
摘要:Router#conf t Enter configuration commands, one per line. End with CNTL/Z. Router(config)#inter f0/0 Router(config-if)#ip ad Router(config-if)#ip addr
阅读全文
posted @
2020-05-14 21:24
topass123
阅读(168)
推荐(0) 编辑
ospf协议
摘要:使用ospf协议建立如下图的实例,实现两个主机之间互通。 Switch(config)#hostna S560 S560(config)#vlan 10 S560(config-vlan)#vlan 20 S560(config-vlan)#inter f0/10 S560(config-if)#s
阅读全文
posted @
2020-05-14 21:20
topass123
阅读(154)
推荐(0) 编辑
快速生成树协议
摘要:技术: 生成树协议(spanning-tree),作用是在交换网络中提供冗余备份链路,并且解决交换网络中的环路问题; 生成树协议是利用SPA算法,在存在交换环路的网络中生成一个没有环路的树形网络。运用该算法将交换网络的冗余备份链路从逻辑上断开, 当主链路出现故障时,能够自动的切换到备份链路,保证数据
阅读全文
posted @
2020-05-14 21:17
topass123
阅读(912)
推荐(0) 编辑
划分vlan
摘要:技术原理 VLAN是指在一个物理网段内,进行逻辑的划分,划分成若干个虚拟局域网。VLAN最大的特性是不受物理位置的限制,可以进行灵活的划分。 VLAN具备了一个物理网段所具备的特性。相同VLAN内的主机可以相互直接通信,不同VLAN间的主机之间互相访问必须经由路由设备进行转发。 广播数据包只可以在本
阅读全文
posted @
2020-05-14 21:16
topass123
阅读(331)
推荐(0) 编辑
2三层交换机实现vlan间的路由
摘要:实验背景 实现全网互通 二层交换机SA: Switch>enable Switch#conf ter Enter configuration commands, one per line. End with CNTL/Z. Switch(config)#vlan 10 Switch(config)#
阅读全文
posted @
2020-05-14 21:14
topass123
阅读(217)
推荐(0) 编辑
交换机基础-交换机远程telnet
摘要:交换机命令行的四种格式: 用户模式 Switch>【enable,进入特权模式】 特权模式 Switch#【config termal,进入全局模式】 全局配置模式 Switch(config)#【inter ?进入相应的端口】 端口模式 Switch(config-if)#【exit退到上一级,e
阅读全文
posted @
2020-05-14 21:12
topass123
阅读(518)
推荐(0) 编辑
自动化运维环境的搭建问题处理
摘要:如若遇到mysql not found 原因是没有安装:libmysqlclient-dev sudo apt-get install libmysqlclient-dev 找到mysql_config文件的路径 sudo updatedb locate mysql_config mysql_con
阅读全文
posted @
2020-05-13 21:25
topass123
阅读(173)
推荐(0) 编辑
自动化运维资产记录平台(2)
摘要:项目总体设计:资产的发现,自动化任务的处理 模块拆解: 利用icmp与tcp协议。使用nmap实现主机存活探测; pip install python-nmap nmap的一般使用 使用tcp协议 sudo nmap -n -PE 192.168.8.0/24 使用icmp协议,但是仅仅发送一个ar
阅读全文
posted @
2020-05-13 21:24
topass123
阅读(196)
推荐(0) 编辑
github删除文件夹内的文件。
摘要:参考链接: https://blog.csdn.net/qq_38931949/article/details/82669240?utm_medium=distribute.pc_relevant.none-task-blog-BlogCommendFromBaidu-4.nonecase&dept
阅读全文
posted @
2020-05-13 20:48
topass123
阅读(131)
推荐(0) 编辑
自动化运维资产记录平台(1)
摘要:需求分析: 随着公司业务需求。公司的实体或者虚拟的产品将会越来越多。因此对公司的资产进行有序的管理将会变得非常有必要。但是自动化运维却与一般的资产记录平台有 这如下的优势: 极大的解放运维人员的工作量,提供自动化的记录方式 提供友好统计页面,无需培训员工 数据实时,高效。无论是运维人员还是普通的资产
阅读全文
posted @
2020-05-13 15:24
topass123
阅读(269)
推荐(0) 编辑
编写ftp实现文件上传
摘要:client import socket import json sk = socket.socket() sk.connect(('127.0.0.1',9000)) def auth(opt): usr = input('please input name').strip() pwd = inp
阅读全文
posted @
2020-05-11 16:28
topass123
阅读(217)
推荐(0) 编辑
操作系统内存管理
摘要:操作系统的内存管理主要做什么? 操作系统的内存管理主要负责内存的分配与回收(malloc 函数:申请内存,free 函数:释放内存),另外地址转换也就是将逻辑地址转换成相应的物理地址等功能也是操作系统内存管理做的事情。 页表与快表: 快表与页表的提出是为了解决: 虚拟地址到物理地址的转换要快。 解决
阅读全文
posted @
2020-05-11 16:02
topass123
阅读(219)
推荐(0) 编辑
了解cookie与session
摘要:为什么需要cookie与session HTTP 协议是一种无状态协议,即每次服务端接收到客户端的请求时,都是一个全新的请求,服务器并不知道客户端的历史请求记录;Session 和 Cookie 的主要目的就是为了弥补 HTTP 的无状态特性。 那么什么是session与cookie 客户端请求服务
阅读全文
posted @
2020-05-11 15:09
topass123
阅读(132)
推荐(0) 编辑
图解红黑树的删除
摘要:一直没能弄明白红黑树的删除的操作,直到今天才明白。 红黑树的删除,主要是处理围绕我的三代人之间的关系。 1)在删除的节点是红色的话,直接。删除即可。 2)删除黑节点将会有以下的7种情况 1.如果是我的堂兄弟,没有子节点。(brb)处理如下:【父亲是红的】 2.我的堂兄弟有一个红节点,且在左边(brb
阅读全文
posted @
2020-05-10 14:41
topass123
阅读(320)
推荐(0) 编辑
红黑树的实现
摘要:红黑树的一般操作包括:红黑树的定义、左旋转、右旋转、红黑树的上色、元素的插入等,具体代码使用Python编写如下: import functoolsimport random class RBNode: def __init__(self, val, color="R"): self.val = v
阅读全文
posted @
2020-05-10 11:29
topass123
阅读(373)
推荐(0) 编辑
滑动窗口
摘要:给定一个数组 nums 和滑动窗口的大小 k,请找出所有滑动窗口里的最大值。 示例: 输入: nums = [1,3,-1,-3,5,3,6,7], 和 k = 3输出: [3,3,5,5,6,7] 解释: 滑动窗口的位置 最大值 [1 3 -1] -3 5 3 6 7 3 1 [3 -1 -3]
阅读全文
posted @
2020-05-10 11:12
topass123
阅读(146)
推荐(0) 编辑
转载PEP8
摘要:https://www.cnblogs.com/xiaohuamao/p/7043563.html
阅读全文
posted @
2020-05-09 13:37
topass123
阅读(103)
推荐(0) 编辑
页面调度的问题
摘要:颠簸 颠簸本质上是指频繁的页调度行为,具体来讲,进程发生缺页中断,这时,必须置换某一页。然而,其他所有的页都在使用,它置换一个页,但又立刻再次需要这个页。因此,会不断产生缺页中断,导致整个系统的效率急剧下降,这种现象称为颠簸(抖动)。 内存颠簸的解决策略包括: 如果是因为页面替换策略失误,可以修改替
阅读全文
posted @
2020-05-06 15:26
topass123
阅读(250)
推荐(0) 编辑
进程同步机制
摘要:进程同步机制: 原子操作 原子操作(atomic operation)指的是由多步操作组成的一个操作。如果该操作不能原子地执行,则要么执行完所有步骤,要么一步也不执行,不可能只执行所有步骤的一个子集。 信号量机制 信号量(semaphore)的数据结构为一个值和一个指针,指针指向等待该信号量的下一个
阅读全文
posted @
2020-05-06 15:21
topass123
阅读(232)
推荐(0) 编辑
进程调度策略
摘要:先来先服务调度算法FCFS:队列实现,非抢占,先请求CPU的进程先分配到CPU,可以作为作业调度算法也可以作为进程调度算法;按作业或者进程到达的先后顺序依次调度,对于长作业比较有利; 最短作业优先调度算法SJF:作业调度算法,算法从就绪队列中选择估计时间最短的作业进行处理,直到得出结果或者无法继续执
阅读全文
posted @
2020-05-06 15:06
topass123
阅读(368)
推荐(0) 编辑
内存管理有哪几种方式
摘要:内存管理有块式管理,页式管理,段式和段页式管理。现在常用段页式管理。 块式管理:把主存分为一大块、一大块的,当所需的程序片断不在主存时就分配一块主存空间,把程序片断load入主存,就算所需的程序片度只有几个字节也只能把这一块分配给它。这样会造成很大的浪费,平均浪费了50%的内存空间,但是易于管理。
阅读全文
posted @
2020-05-06 14:53
topass123
阅读(4651)
推荐(0) 编辑
Python的反射机制
摘要:前言: 前两天用Python实现了ftp服务器。在小项目中就用到了反射。因此写个笔记巩固下。 反射的定义:检测和修改它本身状态或行为的一种能力(自省)。 而通过反射,Python可以通过字符串的映射或修改程序运行的状态和方法。 反射的四个方法。hasattr,getattr,setattr,dela
阅读全文
posted @
2020-05-06 14:13
topass123
阅读(201)
推荐(0) 编辑
静态方法与类方法的理解与应用
摘要:Python中3种方式定义类的方法。常规,classmetod,staticmethod class A(object): def foo(self, x): print("executing foo(%s,%s)" % (self, x)) print('self:', self) @classm
阅读全文
posted @
2020-05-06 13:49
topass123
阅读(235)
推荐(0) 编辑
序列化二叉树
摘要:请实现两个函数,分别用来序列化和反序列化二叉树。 示例: 你可以将以下二叉树: 1 / \ 2 3 / \ 4 5 序列化为 "[1,2,3,null,null,4,5]" 来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/xu-lie-hua-e
阅读全文
posted @
2020-05-03 14:52
topass123
阅读(122)
推荐(0) 编辑
BiNode
摘要:二叉树数据结构TreeNode可用来表示单向链表(其中left置空,right为下一个链表节点)。实现一个方法,把二叉搜索树转换为单向链表,要求值的顺序保持不变,转换操作应是原址的,也就是在原始的二叉搜索树上直接修改。 返回转换后的单向链表的头节点。 注意:本题相对原题稍作改动 示例: 输入: [4
阅读全文
posted @
2020-05-03 14:12
topass123
阅读(265)
推荐(0) 编辑
Python的内存管理
摘要:Python内存管理机制:引入计数器, 计数器: 每个对象都有指向该对象的引用总计数。 赋值引用:查看对象的引用计数:sys.getrefcount() 引用计数增加: 1、对象被创建,2、另外的别人被创建,3、作为容器对象的一个元素,4被作为参数传递给函数:foo(x) 引用计数减少: 1、对象的
阅读全文
posted @
2020-05-02 14:24
topass123
阅读(172)
推荐(0) 编辑
解决粘包
摘要:两种粘包现象 1 连续的小包可能会被优化算法给组合到一起进行发送 2 第一层次如果发送的数据大小为2000B,接收端一次性接受大小为1024B,这就导致剩下的内容会被下一次recv接收到,导致混乱 解决方案一. 由于双方不知道对方发送数据的长度,导致接收的时候,可能接收不全,或者多接收另外一次 发送
阅读全文
posted @
2020-05-02 13:45
topass123
阅读(144)
推荐(0) 编辑
线程与线程池
摘要:threading模块提供的一些方法: threading.currentThread() 返回当前的线程变量 threading.enumerate() 返回一个包含正在运行的线程的list,正在运行指线程启动后,结束前,不包括启动前和终止后的线程 threading.activeCount()
阅读全文
posted @
2020-05-02 10:53
topass123
阅读(146)
推荐(0) 编辑
发现系统存在大量TIME_WAIT状态的连接
摘要:通过调整linux内核参数解决,# vi / etc / sysctl.conf# 编辑文件,加入以下内容: # net.ipv4.tcp_syncookies = 1 # net.ipv4.tcp_tw_reuse = 1 # net.ipv4.tcp_tw_recycle = 1 # net.i
阅读全文
posted @
2020-05-02 10:02
topass123
阅读(285)
推荐(0) 编辑
pip源的处理
摘要:国内镜像: 阿里云 http://mirrors.aliyun.com/pypi/simple/ 中国科技大学 https://pypi.mirrors.ustc.edu.cn/simple/ 豆瓣(douban) http://pypi.douban.com/simple/ 清华大学 https:
阅读全文
posted @
2020-05-01 21:39
topass123
阅读(142)
推荐(0) 编辑
协程
摘要:协程是一种用户态的轻量级线程,协程的调度完全由用户控制。协程拥有自己的寄存器上下文和栈。协程调度切换时,将寄存器上下文和栈保存到其他地方,在切回来的时候,恢复先前保存的寄存器上下文和栈,直接操作栈则基本没有内核切换的开销,可以不加锁的访问全局变量,所以上下文的切换非常快。 协程多与线程进行比较 1)
阅读全文
posted @
2020-05-01 21:29
topass123
阅读(144)
推荐(0) 编辑