- 博客(37)
- 问答 (2)
- 收藏
- 关注

原创 阿里云配置MINIO图床
阿里云-ECS服务器-CENTOS7系统部署MINIO图床1. 下载MINIO的二进制文件注: 阿里云ECS网速过慢, 但可以接受wget https://dl.minio.io/server/minio/release/linux-amd64/minio// 为minio文件赋予750权限chmod 750 minio2. 创建MINIO运行用户// 创建用户组groupadd -g 2021 miniouseradd -r -u 2021 -g 2021 -c "Minio Us
2021-05-14 23:41:18
2205
2
原创 Go -- 作用域
Go语言之作用域作用域为已声明标识符所表示的常量、类型、变量、函数或包在源代码中的作用范围。局部变量在函数体内声明的变量、参数和返回值变量就是局部变量,它们的作用域只在函数体内:func test(a, b int) { var c int a, b, c = 1, 2, 3 fmt.Printf("a = %d, b = %d, c = %d\n", a, b, c)}func main() { //a, b, c = 1, 2, 3 //err, a, b,
2021-06-17 09:00:41
324
原创 Go -- 流程控制
Go语言之流程控制Go语言支持最基本的三种程序运行结构:顺序结构、选择结构、循环结构。顺序结构:程序按顺序执行,不发生跳转。选择结构:依据是否满足条件,有选择的执行相应功能。循环结构:依据条件是否满足,循环多次执行某段代码。1. 选择结构1.1 if语句1.1.1 iffunc main() { var a int = 3 if a == 3 { //条件表达式没有括号 fmt.Println("a==3") } //支持一个初始化表达式
2021-06-16 17:06:43
168
原创 Go -- fmt包的格式化输入输出
fmt包的格式化输入输出格式说明格式含义%%一个%字面量%b一个二进制整数值(基数为2),或者是一个(高级的)用科学计数法表示的指数为2的浮点数%c字符型。可以把输入的数字按照ASCII码相应转换为对应的字符%d一个十进制数值(基数为10)%e以科学记数法e表示的浮点数或者复数值%E以科学记数法E表示的浮点数或者复数值%f以标准记数法表示的浮点数或者复数值%g以%e或者%f表示的浮点数或者复数,任何一个都以最为紧凑的方式输出
2021-06-16 10:30:24
121
原创 Go -- 基础数据类型
基础数据类型分类Go语言内置以下这些基础类型:类型名称长度零值说明bool布尔类型1false其值不为真即为家,不可以用数字代表true或falsebyte字节型10uint8别名rune字符类型40专用于存储unicode编码,等价于uint32int, uint整型4或8032位或64位int8, uint8整型10-128 ~ 127, 0 ~ 255int16, uint16整型20-327
2021-06-16 10:23:27
234
原创 Go -- 基础类型
基础类型命名1. 命名Go语言中的函数名、变量名、常量名、类型名、语句标号和包名等所有的命名,都遵循一个简单的命名规则:一个名字必须以一个字母(Unicode字母)或下划线开头,后面可以跟任意数量的字母、数字或下划线。大写字母和小写字母是不同的:heapSort和Heapsort是两个不同的名字。Go语言中类似if和switch的关键字有25个(均为小写)。关键字不能用于自定义名字,只能在特定语法结构中使用。break default func inter
2021-06-16 10:04:09
97
原创 初识Go语言
初识Go语言Go语言介绍1. Go语言是什么2009年11月10日,Go语言正式成为开源编程语言家庭的一员。Go语言(或称Golang)是云计算时代的C语言。Go语言的诞生是为了让程序员有更高的生产效率,Go语言专门针对多处理器系统应用程序的编程进行了优化,使用Go编译的程序可以媲美C或C++代码的速度,而且更加安全、支持并行进程。开发人员在为项目选择语言时,不得不在快速开发和性能之间做出选择。C和C++这类语言提供了很快的执行速度,而 Ruby 和 Python 这类语言则擅长快速开发。Go语言
2021-06-16 09:25:03
136
原创 Go --第一个Go程序之代码分析
第一个Go程序之代码分析Hello World又一个Hello World诞生, 下面使用Go代码输出Hello World。// test_one.gopackage mainimport "fmt"func main() { fmt.Println("Hello World")}代码分析每一个Go源代码文件的开头都必须声明一个package, 用于表示该Go代码所属的包。包是Go语言(Java等)里最基本的分发单位, 也是工程管理中依赖关系的体现。而建立一个可执行的Go程序
2021-06-09 15:51:14
266
原创 Go -- 标准命令概述
标准命令概述Go语言中包含了大量用于处理Go语言代码的命令和工具。其中,go命令就是最常用的一个,它有许多子命令。这些子命令都拥有不同的功能,如下所示。build:用于编译给定的代码包或Go语言源码文件及其依赖包。clean:用于清除执行其他go命令后遗留的目录和文件。doc:用于执行godoc命令以打印指定代码包。env:用于打印Go语言环境信息。fix:用于执行go tool fix命令以修正给定代码包的源码文件中包含的过时语法和代码调用。fmt:用于执行gofmt
2021-06-09 15:15:04
304
原创 常见网络通信协议
常见网络通信协议应用层TCP常见使用TCP协议的应用层服务HTTP: 超文本传输协议(版本1)SMTP: 简单邮件传输协议XMPP: 可扩展和通讯表示协议HTTP2: 超文本传输协议(版本2)FTP: 文件传输协议POP3: 邮局协议(第三版)NNTP: 网络新闻传输协议Finger: 用户信息协议TELNET: TCP/IP远程终端协议IMAP4: 因特网信息访问协议(第四版)Unix网络服务LPR: Unix远程打印协议Rwho: Unix远程Who协议Rsync
2021-06-08 18:00:35
4342
原创 Python——偏函数 Partial
Python中的偏函数Partial 偏函数概念不同于数学中的偏函数, 这里的偏函数实则是Python中functools模块为我们提供的功能之一, 可能单看名字很多人不解其意, 但是用一句通俗的话来说:'偏函数实则就是一个辅助函数。它是一个很有用的功能, 这需要被记住。先观其源码################################################################################### partial() argument applic
2021-06-07 19:39:54
248
原创 Python操作系统环境变量
Python操作系统环境变量使用os模块来操作系统环境变量获取系统环境变量Python获取环境变量可以使用到os模块, 且有两种方式获取环境变量。1. os.environ使用示例import osprint(os.environ)################ 结果 ################ >>> environ({'ALLUSERSPROFILE': 'C:\\ProgramData', ....})很显然, os.environ 得到的是一
2021-06-06 20:26:20
1285
1
原创 Python——os.urandom生成随机加密字符
os.urandom生成随机加密字符小谈os.urandomos.urandom(n)函数: 它是用来获取一个指定长度的bytes对象, 它实际上是在获取不同操作系统特定提供的随机源, 它可以被用来做随机加密的key使用。u 指的是 unpredictable(难以预料的), 真是看词便可知其意了。使用os.urandom先看看os.urandom生成的对象吧import osfor i in range(10): os_urandom_obj = os.urandom(20)
2021-06-06 17:46:27
7654
原创 初窥werkzeug
初窥werkzeug什么是werkzeug首先要明确一点werkzeug不是一个WEB服务器也不是一个WEB框架, 它是一个WSGI的工具包, 它可以作为一个WEB框架的底层库被使用, 而Flask框架就是以werkzeug为基础开发的。作为WSGI的工具包, 一个WEB框架的底层库, 它封装了很多有关于WEB框架的东西, 比如Request, Response等。如果想要了解Flask的底层原理, 那么势必要剖析werkzeug的实现原理。安装werkzeug创建虚拟环境创建虚拟环境的目的是为
2021-06-06 15:08:29
272
转载 TCP三次握手及四次挥手
TCP三次握手及四次挥手TCP协议TCP全称传输控制协议,它是基于IP提供的寻址和路由服务而建立起来的负责实现端到端可靠传输的协议,之所以将TCP称为可靠的传输协议是因为TCP向调用者承诺了三件事情:数据不传丢不传错(利用握手、校验和重传机制可以实现)。流量控制(通过滑动窗口匹配数据发送者和接收者之间的传输速度)。拥塞控制(通过RTT时间以及对滑动窗口的控制缓解网络拥堵)。TCP三次握手所谓三次握手,即TCP连接的建立。这个连接必须是一方主动打开,另一方被动打开.发起连
2021-06-05 18:08:13
123
转载 TCP/IP协议
TCP/IP协议深入浅出TCP/IP协议栈TCP/IP协议栈是一系列网络协议的总和, 是构成网络通信的核心, 它定义了电子设备之间连接互联网(Internet)并互相进行数据的传输。TCP/IP协议采用的是4层结构, 分别是应用层、传输层、网络层和链路层, 而每一层都会都呼叫它的下一层所提供的协议来完成自己的需求。由于我们一般的操作都作用于应用层, 下层的事不用我们操心; 其次网络协议体系本身就很复杂庞大, 入门门槛高, 因此较难搞清楚TCP/IP的工作原理, 通俗点讲就是, 一个主机的数据要经过哪些过
2021-06-05 18:00:09
265
原创 Flask中secure_filename()获取中文文件名问题
Flask中secure_filename()获取中文文件名问题用secure_filename获取中文文件名时,中文会被省略。原因:secure_filename()函数只返回ASCII字符,非ASCII字符会被过滤掉。解决方法:修改源码def secure_filename(filename): if isinstance(filename, text_type): from unicodedata import normalize
2021-06-04 19:14:38
1279
原创 Flask之文件上传操作
Flask之文件上传操作Python相关储备知识 – os模块首先我们需要知道, Python中的os模块是一种方便的使用操作系统的方法。所以在对文件/文件夹进行处理时, 它能发挥很大的作用, 这里就不多详细谈论os模块过多。os.path.split(path)将path分割成目录和文件名以元组形式返回。os.path.dirname(path)返回父路径/父文件夹路径os.path.dirname(__ file __): 可以看出__file__表示了当前文件的path
2021-06-04 18:08:36
776
原创 在Django中如何限制上传文件的类型与大小
在Django中如何限制上传文件的类型与大小Django是一个庞大有丰富的框架, 它内置了很多的模块, 今天这篇文章讲的就是有关文件的操作——在Django中如何限制上传文件的类型与大小之前在项目中有用到element-ui的文件限制, 但终究是在前端浏览器做的限制, 后端上总觉得该再加一层处理, 先看看element-ui吧, 个人觉得还是很棒的。 <el-upload class="upload-demo" drag style="margin-top: 130
2021-06-04 16:02:07
2570
原创 Django四剑客(与request属性)与Flask三剑客
Django四剑客与request属性Django四剑客from django.shortcuts import HttpResponse, render, redirectHttpResponse: 返回一个指定的字符串时Content:返回的内容。Status_Code:返回的HTTP响应状态码。Content-Type:返回的数据的MIME类型,默认为text/html。render: 返回一个HTML文件redirect: 跳转页面JsonResponse: JsonRe
2021-06-03 22:14:27
154
原创 小谈Python深浅拷贝及赋值
小谈Python深浅拷贝及赋值a = [1, 2, "hello", ['Python', 'C++']]浅拷贝(shallow copy)浅拷贝浅拷贝会创建新的对象, 其内容非原对象本身的引用, 而是原对象内第一层对象的引用浅拷贝有三种形式: 切片操作、工厂函数和copy模块中的copy函数切片操作: b = a[:] 或者 b = [x for x in a]工厂函数: b = list(a)copy函数: b = copy.copy(a)浅拷贝产生的列表b不再是列表a了,
2021-05-15 16:15:12
104
原创 Git 基础操作
Git三个区初始化:git init, 会在当前路径下创建一个.git工作区: 创建或修改文件, 提交至暂存区: git add ./指定文件/文件夹名git status 查看状态, 显示为红色暂存区: 接收工作区提交的文件, 提交至版本库: git commit -m ‘message’git status 查看状态, 显示为绿色版本库: 接收暂存区提交来的数据git status 查看状态, 无状态, 白色基本操作初始化git init提
2021-05-14 00:15:57
91
原创 Git 多分支开发
多分支开发查看分支git branch # 绿色表示当前所在分支新建分支git branch 分支名切换分支git checkout 分支名git checkout -b 分支名 # 表示创建并移动至该分支删除分支git branch -D 分支名分支合并git merge 分支名需要注意的是:在合并分支时一定要先回到主分支在进行分支的合并若是, 合并过一次后, 从分支删除了某一文件, 那么再次合并, 主分支内的该文件也会被删除...
2021-05-14 00:15:25
628
原创 Git 远程仓库配置
远程仓库gitee, github, gitlab…gitlab自建代码托管平台配置远程仓库–HTTP删凭证管理Git 全局设置:git config --global user.name "杰克"git config --global user.email "Jack@163.com"创建 git 仓库:mkdir luffy-citycd luffy-citygit inittouch README.mdgit add README.mdgit commit
2021-05-14 00:09:03
1993
原创 Git 过滤文件配置
过滤文件目的过滤文件的目的在于, 我们进行开发时, 有一些文件及文件夹是不需要提交至版本库的在项目根目录创建: .gitignore文件在该文件中写入忽略的文件及文件夹写文件夹名或/文件夹名, 表示忽略此文件夹单纯的文件夹名, 指的是忽略所有该文件夹名的文件夹, 不论它的深度/文件夹名, 指的是忽略当前目录下的该文件夹# 表示注释写文件名, 表示忽略此文件*表示通配符?表示单个字符...
2021-05-14 00:08:03
480
原创 Gitee 配置公钥私钥
重点: 采用ssh协议连接远程源一般使用的是ssh公钥配置在任意位置命令窗口下配置ssh-keygen -t rsa -C "Jack@qq.com"在对应路径下生产公钥私钥文件/c/Users/用户名/.ssh/ |--id_rsa(私钥) |--id_rsa.pub(公钥) |--known_hosts(不用管)公钥给别人,私钥不能泄露(非对称加密:对称加密)对称加密: 对称加密采用了对称密码编码技术,它的特点是文件加密和解密使用相同的密钥加密非对称加
2021-05-14 00:06:51
1861
原创 Django中Redis的用法
Django_Redis通用模式// redis_poll.pyfrom redis import ConnectionPoolPOOL = ConnectionPool(max_connections=5, host='127.0.0.1', port=6379)// redis_testfrom luffyapi.libs.redis_pool import POOLfrom redis import Redisconn = Redis(connection_pool=POOL)
2021-05-13 09:27:16
144
原创 Python Redis 管道
Redis_管道'''1 非关系型数据库,本身不支持事务2 redis中的管道可以实现事务的支持(要么都成功,要么都失败) -实现的原理:多条命令放到一个管道中,一次性执行3 具体代码4 如果是集群环境,不支持管道'''import redispool = redis.ConnectionPool()r = redis.Redis(connection_pool=pool)pipe = r.pipeline(transaction=True) # 开启事务pip
2021-05-13 09:24:55
246
原创 Python Redis常规操作
Python-Redis-常规操作(公共操作与类型无关)from redis import Redisconn = Redis()# delete(*name) 删除nameconn.delete('name', 'list_test')# exists(name) 判断name是否存在, 多个name同时查询, 返回存在的数量res = conn.exists('name', 'list_test1', 'info')print(res)# keys(pattern='*')
2021-05-13 09:23:23
170
1
原创 Python Redis List
Python_Redis_Listfrom redis import Redisconn = Redis()# lpush(name, values) 存值, 从左至右存值, 从下至上 顺序一致conn.lpush('list_test', 'sc')conn.lpush('list_test', 'cc')conn.lpush('list_test', 'zz')conn.lpush('list_test','lw', 'll', 'lq')# rpush(name, valu
2021-05-13 09:22:02
380
原创 Python Redis Hash
Python_Redis_Hashfrom redis import Redisconn = Redis()# hset(name, key, value) 存(存在则修改, 不存在则修改)conn.hset('info', 'name', 'sc')# hmset(name, mapping) 存多个值 (name存在, 则添加, 不存在则新建)conn.hmset('info', {'age':18, 'sex':'male'})# hget(name, key) 取值res
2021-05-13 09:19:59
253
原创 Python Redis Str
Python_Redis_Strfrom redis import Redisimport timeconn = Redis(host='127.0.0.1')# 设置值# 普通的存取conn.set('hobby','basketball')res = conn.get('hobby')print(res)# 设置销毁时间, 并使用nx: 不存在才执行, 存在则不执行conn.set('sex', 'male', ex=3, nx=True)print(conn.get('s
2021-05-13 09:18:12
94
原创 Python and Redis
Python-Redis安装pip install redis普通连接import redisfrom redis import Redisconn = Redis(host='127.0.0.1') # 什么都不写也是本地的local, 其端口号默认是: 6379res = conn.get('name')print(res)print(str(conn.get('name'),encoding='utf-8'))print(str(res,encoding='utf-8'))
2021-05-13 09:13:34
62
原创 Redis 简介
Redis简介 redis是一个key-value存储系统。和Memcached类似,它支持存储的value类型相对更多,包括string(字符串)、list(链表)、set(集合)、zset(sorted set --有序集合)和hash(哈希类型)。这些数据类型都支持push/pop、add/remove及取交集并集和差集及更丰富的操作,而且这些操作都是原子性的。在此基础上,redis支持各种不同方式的排序。与memcached一样,为了保证效率,数据都是缓存在内存中。区别的是redis会周期性的
2021-05-13 09:07:16
66
原创 Redis DeskTop Manager安装
Redis Desktop Manager安装安装步骤:一路下一步连接:首先cmd启动服务端数据优先存于db0 (无配置)链接:https://pan.baidu.com/s/1Y6swYF1d7eGVo_xQHGNmtw提取码:kv3d复制这段内容后打开百度网盘手机App,操作更方便哦...
2021-05-13 09:03:40
252
原创 Redis安装
Redis安装Github下载地址:https://github.com/tporadowski/redis/releases安装步骤:一路下一步设置安装路径配置到环境变量配置端口号(6379)配置防火墙配置最大使用内存大小…启动步骤:默认自动启动windows在服务中可配置手动启动服务启动的文档: C:\Program Files\Redis\redis.windows-service.conf手动启动文档(可配置): C:\Program Fi
2021-05-13 08:47:33
89
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人