- 博客(62)
- 收藏
- 关注
转载 Linux——iscsiadm基本用法
1、存储介质1)磁盘阵列:磁盘阵列是一种采用RAID技术、冗余技术和在线维护技术制造的一种高性能、高可用的磁盘存储设备。2)IP-SAN存储:SAN (Storage Area Network-存储区域网络):是计算机信息处理技术中的一种架构,它将服务器和远程的计算机存储设备(如磁盘阵列、磁带库)连接起来,使得这些存储设备看起来就像是本地一样。SAN就理解成存储虚拟化,而IP-SAN就是采用i...
2020-04-24 14:32:51 770 1
原创 js 淘宝放大镜
一、CSS部分:* {padding: 0;margin: 0;}#small img {width: 300px;height: 200px;display: block;}#small {width: 300px;height: 200px;border: 1px solid #efefef;float: left;position: relative;marg...
2019-06-24 10:43:48 194
原创 R版OpenStack手动部署-----Ubuntu16.04常见错误
R版OpenStack手动部署-----Ubuntu16.04常见错误1、keystone认证:(1)连接不上数据库的错误:–cat /var/log/keystone/keystone.log错误一:①07 22:50:23.456 23462 CRITICAL keystone [-] DBError: (pymysql.err.InternalError) (1071, u'Speci...
2019-05-14 19:22:59 900
原创 R版OpenStack----keystone手动搭建(ubuntu 16.04):
一、R版OpenStack----keystone手动搭建(ubuntu 16.04):1、安装前准备:(1)安装mariadb---apt update apt install mariadb-service(2)登录mariadb: mysql -u root -p(3)创建数据库----CREATE DATABASE keystone;(4)赋予远程访问的权限:MariaDB ...
2019-04-28 19:50:56 395
原创 部署OpenStack开发环境
一、部署开发环境----devstack运行基于Ubuntu18.041、Linux环境:VMware虚拟机添加镜像2、添加堆栈用户:—sudo useradd 用户名 -m3、检查是否添加:—ls /home/cat /etc/passwd创建密码:sudo passwd 用户名4、切换用户:----sudo su -用户名5、获取devstack源码—git clone (仓库...
2019-04-16 20:46:07 291
转载 OpenStack使用Horizon登录报错问题的解决
OpenStack使用Horizon登录报错问题的解决1、现象安装完horizon后,输入URL可以访问登录页面,但是在登录页面输入用户名和密码,登录报错。2、分析及解决分别使用keystone、cinder、glance、neutron、nova(这次环境中控制节点上安装了这些组件)的客户端命令调用其API进行检测:如使用以下命令:#keystone user-list#cinde...
2019-03-27 14:09:18 3065
原创 Django项目配置模板信息和引入静态资源(二)
一、配置模板信息:(templates)1、新建文件夹(templates)—和应用同一级别–放置项目需要的网页2、settings.py----TEMPLATES---- ‘DIRS’: [os.path.join(BASE_DIR,‘templates’)],二、引入静态资源:(static)1、新建文件夹(templates)—和应用同一级别–放置网页的静态资源(css\js\img...
2019-03-19 21:09:54 250
原创 Django项目搭建流程
一、Django项目搭建流程(一)、搭建虚拟环境–安装Django:创建虚拟环境目的:可以多个项目运行不受影响;1、安装虚拟环境—pip instanll vertualenv;2、虚拟环境安装目录(选择安装位置)----virtualenv 虚拟环境名称;3、启动虚拟环境----进入虚拟环境scripts----activate;4、安装Django—pip install djan...
2019-03-18 09:18:32 258
转载 列表和字符串互相转换的应用
列表是元素的集合,字符串是把元素的集合当做一个整体,在实际中,经常需要将一个列表转换成字符串即将列表当做整体处理,或者将字符串以某种分隔符如空格等分离出字符串的元素进行处理,转换成列表是最方便的形式。(1)列表转换成字符串:join列表里的字符按字符串形式打印join:连接字符串数组。将字符串、元组、列表中的元素以指定的字符(分隔符)连接生成一个新的字符串格式:“分隔符”.join(列表)...
2019-03-11 14:52:47 1013
转载 MySQL、Redis 和 MongoDB 的优缺点
MySQL、Redis 和 MongoDB 的优缺点MySQLMySQL 是一个关系型数据库。MySQL在 WEB 应用方面 MySQL 是最好的 RDBMS (Relational Database Management System,关系数据库管理系统) 应用软件之一。MySQL 是一种关联数据库管理系统, 关联数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加...
2019-02-24 09:34:47 414
转载 区分uWSGI、WSGI、nginx
区分uWSGI和WSGI在python web开发中,我们经常使用uwsgi配合nginx部署一个web框架,如Django或flask。同时我们又会说,框架和web服务器之间要符合WSGI协议。那就来厘清一下这几个概念。web服务器和web框架在讲uWSGI和WSGI之前,先要弄清楚web开发的两大块,web服务器和web框架。web服务器即用来接受客户端请求,建立连接,转发响应的程序。...
2019-02-23 16:56:24 229
转载 pyrhon 归并排序
1、归并排序原理归并排序采用分而治之的原理: 一、将一个序列从中间位置分成两个序列; 二、在将这两个子序列按照第一步继续二分下去; 三、直到所有子序列的长度都为1,也就是不可以再二分截止。这时候再两两合并成一个有序序列即可。2、一图以明之3、Python代码def merge(a, b):c = []h = j = 0while j < len(a) and h ...
2019-02-23 09:43:28 200
原创 PyCharm过期处理办法
1、打开pycharm—选择activate----选择 activation code2、复制新的注册码:(任选一个)第一个注册码:MTW881U3Z5eyJsaWNlbnNlSWQiOiJNVFc4ODFVM1o1IiwibGljZW5zZWVOYW1lIjoiTnNzIEltIiwiYXNzaWduZWVOYW1lIjoiIiwiYXNzaWduZWVFbWFpbCI6IiIsImxp...
2019-02-09 14:00:38 46183 15
原创 数据库的库表结构操作
数据库的库表结构操作1.库操作:查看服务器下的库:show databases;创建库:create database +库名;选择库:use 选择的库;删除库:drop database +库名;2.表操作:查看库下的所有表,show tables;创建表:create table 表名(字段1 类型 属性 字段2 类型 属性)引入主键且自增长:AUTO_INCREMENT和P...
2019-02-08 12:28:33 291
原创 数据库操作语言
添加数据insert into 表名(字段1 字段2,…)valuse(值1,值2,…);insert into 表名 values(值1,值2,…)insert into 表名 (字段1 字段2…)values(值1 值2…), (值1 值2…),(值1 值2…)insert into 表名 set 字段1 =值1,字段2=值2;查询数据select * from 表名修改数据:...
2019-02-07 09:57:26 159
原创 数据库查询语言
数据库查询语言精确查询:select * from 表名 where 条件select * from 表名 where 字段 in 条件select 字段1,字段2 from 表名 where 条件运算符查询select * from 表名 where id=1+1select * from 表名 where id <100;模糊查询:select * from 表名 wh...
2019-02-06 11:51:41 830
原创 系统级操作
系统级操作运行数据库服务:开启:net start mysql关闭:net stop mysql进入数据库的命令:mysql+-h:服务器地址,一般是localhost(172.0.0.1)-u:用户名 username-p:密码 password退出数据库的命令:quitexitctrl+c数据库基本语法:SQL:结构化查询语言:每条语句结束后需要加分号(;)my...
2019-02-05 17:43:43 153
原创 数据库简介
数据库简介存储数据:用来对网站或者APP数据的存储。MySQL :关系型数据库管理系统mogodb/redice:非关系型数据库管理系统;MySQL的历程:MySQL AB公司(瑞典)sun 公司收购,之后sun公司倒闭;甲骨文公司MySQL的优势:体积小速度快结构简单总体拥有成本低跨平台开源免费数据库的结构:数据库服务数据库数据表数据数据库的结构:数据库...
2019-02-03 13:24:25 242
原创 银行家算法
一、银行家算法:[背景知识]一个银行家如何将一定数目的资金安全地借给若干个客户,使这些客户既能 借到钱完成要干的事,同时银行家又能收回全部资金而不至于破产,这就是银行家问题。这个问题同操作系统中资源分配问题十分相似:银行家就像一个操作系统,客户就像运行的进程,银行家的资金就是系统的资源。[问题的描述]一个银行家拥有一定数量的资金,有若干个客户要贷款。每个客户须在一开 始就声明他所需贷款的总...
2019-01-27 06:13:54 536
原创 生产者与消费者模式
生产者与消费者模式:1导入模块:from lxml import etreeimport requestsfrom threading import Threadfrom queue import Queue2.生产者:def get_page(url,page_list):headers = {‘User-agent’: ‘ios/xxxx.3.3.3.10’}while ...
2019-01-26 12:45:49 171
转载 协程
阅读目录1 协程2 Python中如何实现协程回到顶部1 协程1.1协程的概念 协程,又称微线程,纤程。英文名Coroutine。一句话说明什么是线程:协程是一种用户态的轻量级线程。(其实并没有说明白~)我觉得单说协程,比较抽象,如果对线程有一定了解的话,应该就比较好理解了。那么这么来理解协程比较容易:线程是系统级别的,它们是由操作系统调度;协程是程序级别的,由程序员根据需要自...
2019-01-22 09:20:21 207
原创 多线程VS多进程
多线程VS多进程进程,能够完成多任务,比如 在一台电脑上能够同时运行多个QQ 线程,能够完成多任务,比如 一个QQ中的多个聊天窗口定义的不同进程是系统进行资源分配和调度的一个独立单位.线程是进程的一个实体,是CPU调度和分派的基本单位,它是比进程更小的能独立运行的基本单位.线程自己基本上不拥有系统资源,只拥有一点在运行中必不可少的资源(如程序计数器,一组寄存器和栈),但是它可与同属一 个进...
2019-01-21 19:04:40 213
原创 洗牌算法
一、洗牌算法原理:算法描述:类似于我们平时玩扑克牌的洗牌过程,将一副未拆封的扑克牌(大小为n的有序数组),通过洗牌打乱排序(变成无重复的随机排列数组)。主要有全局洗牌以及局部洗牌两种思路。全局洗牌:循环n次,每次循环将第i张牌与牌库中的随机一张牌调换位置。局部洗牌:循环n次,每次循环将第i张牌与牌库中未洗到的随机一张牌(即牌库中除去前i-1张的剩余牌)调换位置。保证之前已经洗好的牌不会被再...
2019-01-20 20:29:51 1906
原创 python 全局变量与局部变量的区别
一、全局变量与局部变量:(1)全局变量:定义一个变量(全局变量就是定义在函数外面的变量)全局变量作用域是整个模块内部在函数的内部可以使用全局变量(用global 标识)eg: eg2:------不用global 标识 修改局部变量g_num=10 ...
2019-01-19 10:25:08 221
转载 C语言 全局变量和局部变量的区别
局部变量和全局变量的区别背景:上午看书阅及这两对概念,有很多相似之处,故记之。一. 局部变量&全局变量1 局部变量:“在函数内定义的变量”,即在一个函数内部定义的变量,只在本函数范围内有效。2 全局变量:“在函数外定义的变量”,即从定义变量的位置到本源文件结束都有效。目的:增加函数间数据联系的渠道。由于同一文件中的所有函数都能引用全局变量的值,因此如果在一个函数中改变了全局变...
2019-01-18 14:08:32 23300 2
原创 python 死锁
一、死锁原理:(1)在线程间共享多个资源的时候,如果两个线程分别占有一部分资源并且同时等待对方的资源,就会造成死锁。(2)产生死锁的四个必要条件:①互斥条件:一个资源只能被一个进程使用;②请求与保持条件:一个进程因请求资源而阻塞时,对方已获得的资源不释放。③不剥夺条件:进程已获得的资源,在未使用完之前,不能强行剥夺。④循环等待条件:若干进程之间形成一种头尾相接的循环等待资源关系。二:...
2019-01-18 09:05:59 573
原创 python 互斥锁
一、互斥锁的作用:保证多线程下数据的正确性—某个线程要共享数据时,先将其锁定,此时资源的状态为“锁定”,其他线程不能更改;直到该线程释放资源,将资源的状态变成“非锁定”,其他的线程才能再次锁定该资源。互斥锁保证了每次只有一个线程进入写入操作,从而保证了多线程情况下数据的正确性二、互斥锁的实例:from threading import Lockfrom threading import...
2019-01-18 09:05:18 1337
原创 Python----递归函数
一、基础概念:(1)如果一个函数体直接或者间接调用自己,那么这个函数就称为递归函数;也就是说,递归函数体的执行过程中可能会返回去再次调用该函数.(2)递归三要素:①明确终止条件;②给出递归终止时的处理办法;③提取重复的逻辑,缩小问题规模;(3)递归要求:递归算法所体现的“重复”一般有三个要求:①每次调用在规模上都有所缩小(通常是减半)②是相邻两次重复之间有紧密的联系,前一次要为后...
2019-01-17 20:05:02 292
原创 小结:迭代器与生成器的区别
迭代器与生成器的区别:(1)生成器:生成器本质上就是一个函数,它记住了上一次返回时在函数体中的位置。对生成器函数的第二次(或第n次)调用,跳转到函数上一次挂起的位置。而且记录了程序执行的上下文。生成器不仅“记住”了它的数据状态,生成还记住了程序执行的位置。(2)迭代器迭代器是一种支持next()操作的对象。它包含了一组元素,当执行next()操作时,返回其中一个元素。当所有元素都被...
2019-01-17 09:08:43 23352 1
原创 Python 迭代器
一、迭代器基础概念:迭代器是一种支持next()操作的对象。它包含了一组元素,当执行next()操作时,返回其中一个元素。当所有元素都被返回后,再执行next()报异常—StopIteration迭代器是一个可以记住遍历的位置的对象;迭代器对象从集合的第一个元素开始访问,直到所有元素访问完成之后才结束;迭代器只能往前不能后退;迭代是访问集合元素的一种方式二、可迭代对象与迭代器对象的区...
2019-01-16 22:27:41 162
原创 Python基础知识-----生成器
一、生成器概念:二、生成器创建:方法1:将列表推导式的[]改成():eg:G = (i for i in range(100000000000))print(‘生成器:’,G)三、生成器与列表推导式的区别:(1)列表推导式:[i for i in range(10)],一次性直接全部输出,占用内存大eg:g=[i for i in range(10)]print(g) # ...
2019-01-16 22:12:43 239
原创 python 数据库---mysql存储引擎的区别
一、MyISAM:它不支持事务,也不支持外键,表级锁,尤其是访问速度快,对事务完整性没有要求或者以SELECT、INSERT为主的应用基本都可以使用这个引擎来创建表。二、InnoDB:InnoDB是一个健壮的事务型存储引擎,这种存储引擎已经被很多互联网公司使用,为用户操作非常大的数据存储提供了一个强大的解决方案InnoDB还引入了行级锁定和外键约束,在以下场合下,使用InnoDB是最理想的...
2019-01-16 19:42:54 390
原创 python数据结构之 栈 和 队列
一、栈 的特性:1.栈(stacks)是一种只能通过访问其一端来实现数据存储与检索的线性数据结构,具有后进先出(last in first out,LIFO)的特征eg:stack = [3, 4, 5]stack.append(6)stack.append(7)print( stack) #[3, 4, 5, 6, 7]print( stack.pop()) #[7] ...
2019-01-15 17:46:25 151
原创 Python 链表
一、链表基础概念(1)链表存储原理:解析:head为头节点,data:存储数据区域,next:存放下一结点的引用(2)判断链表是否有环:思想:定义两个指针—一个慢的slow.next,一个快的fast.next.next;两个指针同时从头部开始出发,如果相遇则有环,没有相遇,这没有环:代码实现:创建链表:class Node(object):def init(self,item...
2019-01-14 21:01:41 214 1
原创 python十大排序---归并排序
一、归并排序思想:(1) 归并排序的思想: 归并排序的思想就是:首先将原始数组对半切分,然后将所切成的两个子数组再次切分,直到所切分的子数组只有1个元素为止;在此基础上,先创建一个临时数组,再将最后只有1个元素的子数组进行排序,排完序之后将所切成的两个子数组进行合并到临时数组中,,最后将临时数组中的值再重新赋值到原始数组对应的位置中;之后,再返回最终切分操作之前的切分操作,并做相同的操作,对...
2019-01-14 10:10:45 169
转载 Python 匿名函数
lambda是Python编程语言中使用频率较高的一个关键字。那么,什么是lambda?它有哪些用法?这里,我们通过阅读各方资料,总结了关于Python中的lambda的“一个语法,三个特性,四个用法,一个争论”。一个语法在Python中,lambda的语法是唯一的。其形式如下:lambda argument_list: expression其中,lambda是Python预留的关键字,...
2019-01-12 17:04:43 138
转载 python 中 open与with open 的区别
转载自:https://www.cnblogs.com/ymjyqsx/p/6554817.htmlpython文件读写,以后就用with open语句读写文件是最常见的IO操作。Python内置了读写文件的函数,用法和C是兼容的。读写文件前,我们先必须了解一下,在磁盘上读写文件的功能都是由操作系统提供的,现代操作系统不允许普通的程序直接操作磁盘,所以,读写文件就是请求操作系统打开一个文件对...
2019-01-12 14:42:56 7193 3
转载 Python 十大排序---选择排序
转载自: https://blog.csdn.net/zhaobig/article/details/78607714作者:纳尔逊皮卡丘来源:CSDN原文:https://blog.csdn.net/zhaobig/article/details/78607714版权声明:本文为博主原创文章,转载请附上博文链接!选择排序(Selection sort)选择排序:一种简单直观的排序算法。...
2019-01-12 14:08:21 589
原创 Python 十大排序之冒泡排序
一、冒泡排序原理:重复比较相邻元素,如果逆序则交换,大的沉底,小的上浮;eg:arr=[6,3,5,2,1]第一趟:[3,5,2,1,6] #已归位:6第二趟:[3,2,1,5,6] #已归位:5,6第三趟:[2,1,3,5,6] #已归位:3,5,6第四趟:[1,2,3,5,6] #已归位:2,3,5,6#每一趟排序只归位一个数字,需排n-1趟;每趟归位的数字不参与比较,每趟...
2019-01-12 09:37:05 288
原创 区别 sort 和 sorted
一、sort():一般作用于列表,且直接修改原有列表,不需要复制原有列表,因此消耗内存较小,效率也较高eg:arr=[4,2,0]arr.sort()print(arr) #[0,2,4]二、sorted():内置函数,返回一个排序后的新列表,原列表不变,一般需要保存原列表时用sorted。eg:arr=[4,2,0]new_arr=arr.sort()print(new_...
2019-01-11 21:05:30 144
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人