- 博客(30)
- 收藏
- 关注
原创 使用OpenSSL生成并使用免费的https
1、安装OpenSSLyum install -y opensslyum install -y openssl-devel2、准备一个目录,放置生成的证书# 例:# /usr/local/nginx/cert/3、创建私钥与证书等文件# 进入目录cd /usr/local/nginx/cert/# 创建本地私钥openssl genrsa -out 起个名字.key 2048openssl req -new -key 起个名字.key -out 起个名字.csropenssl
2021-08-16 11:21:46 425
原创 为什么判断哈希表中是否存在某个key的最优时间复杂度是O(1)
都是个人理解的总结,如有错误,欢迎指正一、数组首先还得复习一下数组,比如给出一个数组nums = [2,6,3,4,8,1],要取元素6,那就是 nums[1],使用下标的方式,就是找到了元素的所在地址,这种操作就是O(1)的复杂度。二、哈希表哈希表,也叫散列表,大概由数组、链表、哈希函数(散列函数)组成。以key=name, value=tom为例,先简单说一下一个key-value是如何存储在哈希表里的:首先使用哈希函数将key,也就是name进行哈希计算,得到一个值,哈希函数的实现有.
2021-07-09 16:52:07 1321
原创 开源的api接口管理平台--YApi部署过程
1、安装gityum install git2、安装node附上自己找的解决官方命令不能安装node的解决方法,注意node版本安装7.6+:这里这里3、安装mongoDB附上自己参考安装的链接:这里这里4、参考官网开始安装官网内网部署教程方式一. 可视化部署[推荐]执行 yapi server 启动可视化部署程序,输入相应的配置和点击开始部署,就能完成整个网站的部署。部署完成之后,可按照提示信息,执行 node/{网站路径/server/app.js} 启动服务器。在浏览器打开指定ur
2020-11-13 17:18:17 907
转载 centos7安装mongoDB
本文参考自:参考文章链接1、创建yum源文件touch /etc/yum.repos.d/mongodb-enterprise.repo将下面内容写入:[mongodb-enterprise]name=MongoDB Enterprise Repositorybaseurl=https://repo.mongodb.com/yum/redhat/$releasever/mongodb-enterprise/4.2/$basearch/gpgcheck=1enabled=1gpgkey=h
2020-11-13 17:16:20 191
原创 灵活使用Python中的星号表达式分割可迭代对象
在使用Python开发时,拿到了某条可迭代对象,这个可迭代对象中保存我们想要的一条数据,数据有多个字段,怎么灵活的取出想要的字段数据呢最直接的方式:通过赋值变量的方式取出例如:user_info = ['zhangsan', 23, 'zhangsna@example.com']name, age, email = user_info这样就取出了所有的变量,但在某种需求下,我们并不需要全部的数据,比如上述的user_info中,只想要name和age字段:name, age = user_i
2020-11-09 10:14:29 255
原创 安装node版本管理工具——nvm
前段时间按照官方github给了两个命令安装都失败了,提示拒绝连接,今天又发现一个成功的方法参考贴:https://blog.csdn.net/xiaoweite1/article/details/1034452631、git安装没有安装git的安装下git,centos环境下直接执行 yum install git即可2、nvm安装git clone git://github.com/creationix/nvm.git ~/nvm# 验证安装,我试的是无任何输出command -v nvm
2020-11-04 16:37:55 252
原创 Centos7搭建个人Gitlab
想搞一个自己的git玩,参考了一下最终选择gitlab,Gitlab有ee的企业收费版和ce的社区交流版(免费),那我肯定选择免费的了1、官网指南Gitlab官网下载地址,点进去选择自己的系统,我这里选择centos7然后往下滑一下,就有官网给出的安装步骤,这里只执行到第2步的第一条就可以了,看图但中间还需要加几步,下面整理一下命令,含备注的部分为额外命令sudo yum install -y curl policycoreutils-python openssh-serversudo sy
2020-09-29 15:45:30 176
原创 Centos7搭建L2TP与Win10连接测试
看了很多文章,也踩了很多坑,可能因为环境的不同导致,但也有一部分是文章本身就有很多错误,还好最终自己把这浑水蹚过去了1、安装EPEL源yum install -y make gcc gmp-devel xmlto bison flex xmlto libpcap-devel lsof vim-enhanced manyum install -y xl2tpd yum install -y libreswan2、修改ipsec配置文件打开文件vim /etc/ipsec.conf在conf
2020-08-28 19:31:33 5614 6
原创 go基础入门02——if结构、switch选择结构、for循环结构
01-if结构package mainimport "fmt"func main() { var num1 int fmt.Print("输入数字:") fmt.Scan(&num1) if num1 >= 15 { if num1 > 15 { fmt.Println("大于15") } else { fmt.Println("等于15") } } else { fmt.Println("小于15") }}02-switch结构
2020-08-21 11:51:10 164 1
原创 go基础入门01——数据类型
01-起步,Hello world!package mainimport "fmt"func main() { fmt.Println("Hello world")}02-数据类型布尔型true or false数字类型整型:int浮点型:float32、float64字符串类型string派生类指针数组结构化channel函数切片接口map03-变量变量声明:格式:var 变量名 类型例:var num1 int
2020-08-20 17:15:57 126
原创 使用mondo制作自己的Centos7系统镜像
经过很多个版本测试后,如果要制作centos7的ISO镜像,centos7要使用2003版本,其他的个人测试都失败了,下面的流程均按照centos7-2003-64位版本介绍(曾随便下了一个centos6,忘记哪个版本了,也是可以的)第一步准备好你的centos7环境,想搞成什么样子,准备好第二步首先切换到/etc/yum.repos.d/目录下,然后下载mondo的源cd /etc/yum.repos.d/wget ftp://ftp.mondorescue.org/rhel/7/x86_
2020-08-13 17:47:57 1199 1
原创 flask系列01-环境搭建与服务启动
重量级的框架:为方便业务程序的开发,提供了丰富的工具、组件,如Django轻量级的框架:只提供Web框架的核心功能,自由、灵活、高度定制,如Flask、Tornado一、起步1、创建单独的虚拟环境mkvirtualenv flask -p python32、安装flaskpip install flask3、HelloWorld.py写一个最简单的flask服务器,创建一个单独的FlaskLearn文件夹,新建HelloWorld.py文件# 导入flaskfrom flask im
2020-08-05 09:25:16 436
原创 Nginx+uwsgi+Django+Vue在CentOS7上的项目部署流程
1、Django工程文件(1)将开发好的Django后端工程文件发送到远程服务器,可以借助工具,也可以使用scp命令以下使用"mydjango"代表Django工程文件scp django工程路径 用户@远程服务器IP:拷贝路径例:scp /home/admin/project/mydjango root@0.0.0.0:/home/admin/project/mydjango(2)...
2020-01-15 17:07:23 1058
原创 ssh连接远程数据库错误
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED! @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@IT IS POSSIBLE THAT ...
2020-01-15 15:40:22 346
原创 部署Django测试时可能遇到的3个问题
error1:SyntaxError: invalid syntax搬完项目直接运行,没配置虚拟环境,戳—>关于Python虚拟环境的搭建error2:django.core.exceptions.ImproperlyConfigured: mysqlclient 1.3.13 or newer is required; you have 0.9.3.数据库版本问题错误,去修...
2020-01-15 15:18:16 279
原创 Python配置虚拟环境及常用命令
1、安装虚拟环境pip install virtualenvpip install virtualenvwrapper2、创建目录存放虚拟环境mkdir $HOME/.virtualenvs3、查看virtualenvwrapper.sh文件路径后边要用到这个,不然可能会提示没有virtualenvwrapper.sh这个文件 whereis virtualenvwrapper....
2020-01-15 14:39:59 561
原创 CentOS7安装uwsgi的坑
error1:致命错误:Python.h:没有那个文件或目录# python2yum install python-devel# python3yum install python3-devel不安装的话,会提示:致命错误:Python.h:没有那个文件或目录error2:uwsgi启动失败,查看日志或直接显示使用的Python2不要使用pip安装,pip3也一样。采用压缩包方式安...
2020-01-15 10:06:07 1887
原创 使用VS Code配置Nginx
1、准备一个文件夹存储Nginx配置文件,并在VS Code中打开文件夹2、VS Code安装SFTP插件3、创建SFTP配置文件快捷键打开搜索框,输入sftp,选择config,会自动生成一个.vscode/sftp.json文件结构:Mac:Command+Shift+PWin:Ctrl+Shift+P4、修改sftp.json中的三项内容{ "name": "M...
2020-01-09 19:08:56 6741
原创 CentOS 7下安装Nginx,解决访问不到主页的问题
1 安装依赖插件1 安装gcc,用于编译Nginx源码yum install gcc-c++2 安装pcre,用于解析正则表达式、yum install pcre pcre-devel3 安装zlib,用于压缩和解压yum install zlib zlib-devel4 安装openssl,用于支持https yum install openssl openssl-deve...
2020-01-09 18:45:37 2975
原创 约瑟夫问题——使用单向循环链表实现
约瑟夫问题是个有名的问题:N个人围成一圈,从第一个开始报数,第M个将被杀掉,最后剩下一个,其余人都将被杀掉。例如:有10个人围成一圈,给他们各自编号0~9,从0号开始数,数到3的人被杀,然后被杀的下一个人重新从1开始数,依次执行,直到剩下最后一个人。解题思路:使用单向循环链表,按照报数的次数移动指针,到达报数的节点后将这个节点删除; 每次执行前先判断链表的长度,如果长度为1,那么代...
2019-11-05 11:09:39 257
原创 TCP的三次握手、四次挥手
一、三次握手: TCP是面向连接的协议,通过保证建立的双向连接,实现数据的安全稳定传输。三次握手是服务器与客户端建立连接时的过程。在服务器使用accept()函数阻塞等待客户端的连接,当有客户端调用connect()函数时,开始进行三次握手建立连接,成功建立后,accept()函数解阻塞,执行后序的任务。1、简述这个过程:客户端向服务器发送了一个信息,目的告诉服务器,客户端想要建立连接...
2019-09-23 10:51:51 279
原创 Redis主从配置与集群的搭建
一、主从数据如果只依赖一台服务器完成大量用户的数据库连接操作,必然会出现问题,如数据的丢失。所以通过主从数据库,实现数据库的读写分离,分担了一台服务器的压力。在一台服务器上部署多个数据库,将这台作为主数据库,只负责数据库的写操作;另一台服务器上同样部署多个数据库,作为从数据库,只负责数据库的读操作。进入redis安装路径下,修改配置文件二、Redis主从配置(1)修改主服务配置sudo ...
2019-09-15 21:33:43 121
原创 Python——装饰器(2)装饰器
Python--装饰器一、从闭包讲起:1.什么是闭包?2.内部函数带参数的闭包3.外部函数带参数的闭包二、装饰器引入1.闭包和装饰器有什么关系?2.创建装饰器的要点:3.简写装饰器4.程序的执行过程三、返回值与参数1.带返回值的装饰器装饰器就是对已有函数的包装,它的作用是:在不修改原有函数的基础上,给该函数增加新的功能,提高了程序功能的扩展性。一、从闭包讲起:1.什么是闭包?简单粗暴的讲,...
2019-09-15 15:19:49 140
原创 Python——装饰器(1)闭包
1.什么是闭包? 简单粗暴的讲,就是在一个函数(外部函数)里面嵌套了另一个函数(内部函数),外部函数要返回内部函数的引用。下面写一个最简单的闭包例子:# 定义外部函数def func_out(): # 定义嵌套的内部函数 def func_in(): print("hello world") # 外部函数返回内部函数的引用 return func_in# 定义变量func接...
2019-09-15 12:03:30 113
原创 Python——GIL(全局解释器锁)
一、GIL GIL的存在,不是Python语言自身的问题,而是因为CPython解释器引入的一个概念。CPython是Python的官方默认解释器,在CPython环境下使用多线程,就会出现GIL,它的作用是:保证在同一时间内,只能运行一个线程任务。二、GIL与互斥锁相同点:都是为了解决线程间的资源抢夺、数据混乱的问题不同点:互斥锁是在Python代码层面上解决资源问题GIL是在...
2019-09-15 11:20:10 140
原创 Python——多任务之协程(3)实现多任务
一、yield关键字复习 当一个函数中包含yield关键字,那么这个函数就不再是一个普通的函数,它的返回值是一个生成器对象。 我们可以使用next()或send()函数来启动唤醒生成器对象,当程序第一次运行到yield时,程序暂停执行,并返回yield后边跟的变量,当再次唤醒时,执行yield之后的代码。二、使用yield实现多任务# 定义两个任务函数def func1(): ...
2019-09-15 10:38:46 284
原创 Python——多任务之协程(2)生成器
生成器是一类特殊的迭代器一、创建生成器的方法1、修改列表推导式:将 [ ] 替换为 ( )2、使用yield关键字以生成斐波那契数列为例:def febonacci(num): """使用生成器生成斐波那契数列""" a, b = 0, 1 index = 0 while index < num: yield a # 程序执行...
2019-09-14 23:53:19 133
原创 Python——多任务之协程(1)迭代器
一、可迭代对象 迭代是访问集合元素的一种方式,一个数据类型是否可以迭代,即这个数据类型是否可以被遍历,一个可迭代的数据类型被称为可迭代对象。 在Python中可以使用 isinstance()函数和Iterable模块查看当前变量的数据类型是否是可迭代的对象:>>>from collections import Iterable>>>nums = [...
2019-09-14 19:37:00 119
原创 入门Docker
一、什么是DockerDocker是基于Go语言开发的开源的应用容器引擎,使用Docker可以将一个应用及其依赖文件打包到一个可移植的镜像中,发布到Linux机器中,实现虚拟化。目的:简化程序,避免做重复工作二、Docker的使用1、Docker的启动与停止 # 启动docker $ sudo service docker start # 重启docker ...
2019-09-14 15:32:08 102
原创 Python--可变类型和不可变类型
Python--可变类型和不可变类型可变类型:不可变类型:理解这里的“可变”和“不可变”举例说明可变类型,以列表说明不可变类型,以整型说明可变类型:列表集合字典不可变类型:整型浮点型字符串元组理解这里的“可变”和“不可变”在创建一个变量时,系统会分配一个存储变量数据的地址空间,在Python中可以使用函数id()查看变量的地址# 定义一个变量aa = 1# 定义...
2019-07-31 13:24:26 2741
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人