自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

  • 博客(47)
  • 收藏
  • 关注

原创 【Flask】Flask项目部署上线

是一个纯 Python WSGI 服务器,配置简单,多工作者实现,方便 性能调优。它倾向于与主机平台轻松集成。它不支持 Windows (但可以在 WSL 上运行)。它很容易安装,因为不需要额外的依赖或编译。它有内置的异步工作者,支持使用 gevent 或 eventlet。页面访问:安装gunicorn启动项目页面能够正常访问。

2024-03-26 17:46:48 687 1

原创 【Flask】用户身份认证

项目代码见:前提条件。

2024-03-26 14:13:02 444

原创 【Flask】Flask Form表单

用户执行某些动作后,通常需要在页面显示一个提示消息。函数在内部会把消息存储到 Flask 提供的。再次校验,就能够正常输出不通过校验的信息。函数用来在视图函数里向模板传递提示消息,编写表单组件的代码,这里新建一个。函数则用来在模板中获取提示消息。访问路由,查看是否能够使用。目录,目录结构如下所示。验证邮箱需要单独安装。

2024-03-25 13:47:25 1171

原创 【Flask】Flask数据模型关系

backef参数用来自动为关系另一侧添加关系属性,作为反向引用,赋予的值会作为关系另一侧的关系属性名称。​author = Author.query.filter_by(name='余华').first()article = Article.query.filter_by(title='许三观卖血记').first()能够正常获取其关系的对象。使用backref非常方便,但通常来说 “显式好过隐式”,所以我们应该尽量使用定义双向关系。

2024-03-24 00:17:50 820

原创 【Flask】Flask数据迁移操作

ORM# 数据迁移​# 配置数据库​# 这里需要导入要初始化的模型文件,否则可能无法生成迁移文件# 初始化插件# 设置FLASK_APP环境变量# 初始化迁移目录,仅需一次操作# 生成迁移文件# 执行迁移操作# 撤回迁移操作。

2024-03-23 23:11:01 1052

原创 【Flask】Flask项目结构初识

Python版本安装第三方检查Flask是否安装成功Flask官网。

2024-03-22 00:46:34 878

原创 【Go语言】Go语言中的函数

Go语言默认使用按值传参来传递参数,也就是传递参数值的一个副本,函数收到传递进来的参数后,会将参数值拷贝给声明该参数的变量(也叫做形式参数,简称形参),如果在函数体中有对参数值做修改,实际上修改的是形参值,这不会影响到实际传递进来的参数值(也叫实际参数,简称实参)。如果需要实现在函数中修改形参值的同时改变实参,需要引用传参来实现,此时传递给函数的参数是一个指针,而指针代表的是实参的内存地址,修改指针引用的值即修改变量内存地址中存储的值,因此实参的值也会被修改。指引用了外部函数作用域中的变量的函数。

2024-03-15 15:07:30 1370

原创 【Python】Python中的正则表达式

函数定义:re.match 尝试从字符串的起始位置匹配一个模式,如果不是起始位置匹配成功的话,match() 就返回 none。代码执行结果我们可以使用 group(num) 或 groups() 匹配对象函数来获取匹配表达式。

2024-03-11 22:26:53 1055

原创 【Python】Python注册微服务到nacos

github 的nacos项目的发布页(),选择所要下载的nacos版本,在nacos下方的assets中选择安装包进行下载。解压nacos安装包到指定目录。初始化Nacos数据库。修改nacos配置文件。启动Nacos服务,这里只是以单机模式启动Nacos。启动完成之后,访问页面进行验证。如果没有在配置文件中修改密码,这里的用户名和密码是:nacos/nacos,直接登录即可。

2024-03-05 23:23:39 1686

原创 【Go语言】Go语言中的流程控制

流程控制主要用于设定计算执行的顺序,简历程序的逻辑结果,Go语言的流程控制语句与其他语言类似,支持如下几种流程控制语句:条件语句:用于条件判断,对应的关键字有if、else和else if;分支语句:用于分支选择,对应的关键字有switch、case和select(用于通道);循环语句:用于循环迭代,对应的关键字有for和range;跳转语句:用于代码跳转,对应的关键字有goto。

2024-03-01 15:04:45 927

原创 【Go语言】Go语言中的指针

变量的本质是对一块内存空间的命名,我们可以通过引用变量名来使用这块内存空间存储的值,而指针则是用来指向这些变量值所在内存地址的值。注:变量值所在内存地址的值不等于该内存地址存储的变量值。Go语言中,如果一个变量是指针类型的,可以用这个变量来存储指针类型的值。

2024-02-28 23:51:10 1316

原创 【Go语言】Go语言中的字典

字典就是存储键值对映射关系的集合,在Go语言中,需要在声明时指定键和值的类型,此外Go语言中的字典是个无序集合,底层不会按照元素添加顺序维护元素的存储顺序。注:字典初始化之后才能进行赋值操作,如果仅仅是声明,此时字典的值为 nil, 在nil 上进行操作,编译时会报panic,导致编译不通过。Go语言中的字典是个无序集合,如果想要对字典进行排序,可以通过分别为字典的键或值创建切片,然后通过对切片进行排序实现。打印字典testMap,发现其并没有按照存储的顺序进行打印,这是因为Go语言中字典是个无序集合。

2024-02-28 23:50:18 766

原创 【Go语言】Go语言中的切片

因此,Go语言中的切片是一个可变长度的、同一类型元素集合,切片的长度可以随着元素数量的增长而增长,但不会随着元素数量的减少而减少,但切片底层依然使用数组来管理元素,可以看作是对数组做了一层简单的封装。切片与数组相比,优势在于支持动态增加元素,甚至能够在容量不足的情况,在切片类型中,元素个数和实际可分配的存储空间是两个不同的值,元素的个数即切片的实际长度,而可分配的存储空间就是切片的容量。切片可以基于一个已存在的数组创建,切片可以只使用数组的一部分元素或者全部元素,甚至可以创建一个比数组更大的切片。

2024-02-27 15:15:54 1138

原创 【Go语言】Go语言中的数组

Go语言中的数组类型遍历一旦声明后长度就不能再变,这样就无法动态添加元素到数组中,如果要添加一个元素到数组中,需要将就数组的元素都拷贝过来,最后添加新的元素,如果数组的长度不能确定,我们设置了一个较多元素的数组,这就会影响到程序的性能。数组是值类型,将数组作为参数传递到函数时,传递的是数组的值拷贝,也即会先将数组拷贝到形参,函数体中引用的是形参而不是原来的数组,当我们在函数中对数组元素进行修改的时候,并不会影响原来数组的值,如果数组很大时,值拷贝也会影响到程序的性能。

2024-02-27 15:05:19 617

原创 【Docker】Linux主机部署Docker

网易镜像源:https://mirrors.163.com/docker-ce/linux/static/stable/x86_64/Docker官网:https://docs.docker.com/engine/install/binaries/创建docker用户组,并将普通用户添加至docker组 如果docker组不存在的话,需要先行创建。出现下图所示,普通用户能够正常使用docker,后期不再需要sudo权限。确保用户有访问 docker.socket 文件的权限。测试Docker是否安装成功。

2024-02-20 13:42:12 695

原创 【Go语言】Go语言中的变量和常量

通过constconst zero = 0.0 // 无类型浮点常量const ( // 通过一个 const 关键字定义多个常量,和 var 类似eof = -1 // 无类型整型常量const u, v float32 = 0, 3 // u = 0.0, v = 3.0,常量的多重赋值const a, b, c = 3, 4, "foo" // a = 3, b = 4, c = "foo", 无类型整型和字符串常量代码执行测试:return 100。

2024-02-19 23:23:00 1066

原创 【Go语言】Go语言的数据类型

Go 语言内置对以下这些基本数据类型的支持:布尔类型:bool整型:int8、byte、int16、int、uint、uintptr 等浮点类型:float32、float64复数类型:complex64、complex128字符串:string字符类型:rune错误类型:errorGO 语言也支持以下复合类型:指针(pointer)数组(array)切片(slice)字典(map)通道(chan)结构体(struct)接口(interface)

2024-02-19 23:22:49 1423 1

原创 【Go语言】第一个Go程序

提供了安装包以及引导流程。,选择要下载的 msi 格式的安装包。下载后,按照引导执行即可,出现如下所示,说明go语言安装完成。安装完成后,打开windows终端,输入 go version,出现安装的go语言版本信息,安装成功。

2024-02-15 20:01:08 1385

原创 【Go语言】Go项目工程管理

Go 1.11 版本开始,官方提供了 Go Modules 进行项目管理,Go 1.13开始,Go项目默认使用 Go Modules 进行项目管理。使用 Go Modules的好处时不再需要依赖 GOPATH,可以在任意位置进行 Go 项目的创建,还能够通过 GOPROXY 配置镜像源,解决 Go 语言依赖下载慢的问题。

2024-02-15 20:00:44 850

原创 【Python】Python代码的单元测试

完整性的手段,是测试效果衡量的标准,是测试技术有效性的度量: 覆盖率 = (至少被执行一次的项目(item)数) / (项目的总数)逻辑检查:给定正确的、符合预期的输入,系统是否能够执行正确的计算并遵循通过代码正确的路径?作用:可以确保程序模块是否否和我们规范的输出,保证该模块经过修改后仍然是满足我们的需求。面向对象的检查:如果通过运行代码更改任何持久对象的状态,则该对象是否正确更新?将我们常规用到的测试场景封装了以下断言方法,根据测试所需要的场景进行引用。在实际的测试中可能同时存在多个前置相同的测试,

2024-02-14 12:00:00 2245

原创 【Django】Django文件上传

定义:用户可以通过浏览器将图片等文件上传至网站。场景:用户上传头像。上传流程性的文档[pdf,txt等]

2024-02-12 12:00:00 2345

原创 【Django】Django项目部署

WSGI(Web Server Gateway Interface)Web服务器网关接口,是Python应用程序或框架和web服务器之间的一种接口,被广泛使用。使用Python manage.py runserver通常只在开发和测试环境中使用,当开发结束后,完善的项目代码需要在一个搞笑稳定的环境中运行,这是可以使用WSGI。开发环境中,runserver将http协议的内容规范成WSGI规范给Django处理,将WSGI的规范转换成http规范进行返回。

2024-02-12 12:00:00 2230

原创 【Django】Django中间件

中间件是Django请求/响应处理的钩子框架。它是一个轻量级的、低级的“插件”系统,用于全局改变Django的输入或输出。中间件以类的形式体现。每个中间件组件负责做一些特定的功能。例如,Django包含一个中间件组件AuthenticationMiddleware,它使用会话将用户与请求关联起来。

2024-02-10 12:10:15 1002

原创 【Django】Django内建用户系统

Django带有一个用户认证系统系统,它处理用户用户账号、组、权限以及基于cookie的用户会话。用户可以直接使用Django自带的用户表。

2024-02-10 12:09:52 1556

原创 【Django】Django中的缓存

定义:缓存是一类可以更快的读取数据的介质统称,也指其他可以加快数据读取的存储方式,一般用来存储临时数据,常用介质的是读取速度很快的内存。意义:视图渲染有一定成本,数据库的频繁查询过高,所以对于低频变动的页面可以考虑使用缓存技术,减少实际渲染次数,用户拿到响应的时间成本会更低。Django 缓存的实现方法缓存场景:博客列表页电商商品详情页场景特点:缓存的地方,数据变动频率较少。

2024-02-07 12:40:04 930

原创 【Django】Django日志管理

Django使用Python内置的logging模块处理系统日志。

2024-02-07 12:39:50 1744

原创 【Django】ORM关系映射

一对一是表示现实事物间存在的一对一的对应关系。如:一个家庭只有一个户主,一个男人有一个妻子,一个人有一个唯一的身份证号等。一对多是表现现实事物间存在的一对多的对应关系。如:一个学校有多个班级,一个班级有多个学生,一本图书只能属于一个出版社,一个出版社允许出版多本图书。一对多需要明确出具体角色,在多表上设置外键。多对多表达对象之间多对多复杂关系,如:每个人都有不同的学校(小学,初中,高中,...),每个学校都有不同的学生...Mysql中创建多对多需要依赖第三张表来实现。

2024-02-03 19:30:16 1200

原创 【Django】Cookie和Session的使用

Chrome 浏览器可能通过开发者工具的 Application >> Storage >> Cookies 查看和操作浏览器端所有的Cookies值。Cookies 在浏览器上是以键值对的形式进行存储到,键和值都是以ASCII字符串的形式存储(不能是中文字符串)。session 对象是一个类似于字典的sessionstore类型的对象,可以用类拟于字典的方式进行操作。从打开浏览器访问一个网站,到关闭浏览器结束此次访问,称之为一次会话。Cookies 中的数据是按照域存储隔离的,不同的域之间无法访问。

2024-02-03 19:17:58 1292

原创 【Python】Kerberos环境下Python的接口调用

Kerberos 是一个用于服务请求时在服务端和客户端进行身份认证的服务,Kerberos支持在所有操作系统上进行构建,包括有 Windows、macOS、FrssBSD 和 Linux。Kerberos 环境下访问远程主机的服务,需要在主机上先进行认证,然后才可以携带 kerbeors 主机和 keytab 文件访问。接口文档地址:https://hadoop.apache.org/docs/r1.0.4/webhdfs.html。方法中调用工具类,获取目录文件以及目录的状态。的接口调用操作成功。

2024-01-25 17:27:51 510

原创 达内教育Django全套教程

Django基本配置文件/路由系统模型层(M)/模板层(T)/视图层(V)Cookies和Session分页及分发邮件Admin管理后台Django的MTV结构。class 模型类名(models.Model):字段名 = models.字段类型(字段选项)。

2024-01-25 17:25:09 983

原创 【大数据】YARN调度器及调度策略

YARN负责作业资源调度,在集群中找到满足业务的资源,帮助作业启动任务,管理作业的生命周期。​YARN技术架构​目前,Hadoop作业调度器主要有三种:先进先出调度器(First In First Out)、容量调度器(Capacity Scheduler)、公平调度器(Fair Scheduler)。Apache Hadoop-1.x 默认调度器为先进先出调度器(First In First Out);

2024-01-23 13:20:10 1051

原创 【Python】FastApi框架搭建部署

FastApi 是一个现代、快速(高性能)的 web 框架,用于基于标准Python构建的API。

2024-01-22 10:56:38 866 1

原创 【大数据】YARN常用命令及Rest API

查看所有任务查看指定任务状态的作业# state 可选的有:ALL、NEW、NEW_SAVING、SUBMITTED、ACCEPTED、RUNNING、FINISHED、FAILED、KILLED# 示例查看正在运行的任务信息结束作业。

2024-01-22 10:43:04 1312 1

原创 【Python】单例模式的实现

Python单例模式的实现单例模式单例模式的应用场景单例模式的实现单例模式单例模式(Singleton Pattern)是一种常用的软件设计模式,该模式的主要目的是确保一个类只有一个实例对象。单例模式只生成一个实例对象,减少了对系统资源的开销,当一个对象的产生需要较多的资源,如读取配置文件、产生其他依赖时,可以产生一个“单例对象”然后永久驻留内存中,从而极大降低开销。单例模式的应用场景在资源共享的情况下,避免由于资源操作时导致的性能或损耗等。例如日志文件,应用配置。在控制资源的情况下,方便资源

2020-11-03 12:34:24 570

原创 Python项目打包依赖性的解决

适用情况:需要将Python项目打包发给其他电脑但需要配置包。pip freeze > requirements.txt其中“>”后写的是文件名,打完这行命令后,我们就能够发现创建出来了一个requirements.txt的文件,文件中是项目所引用的第三方库。安装方法:在要接收项目的电脑上运行如下命令,即可进行项目需要环境的安装。pip install -r requirements.txt...

2020-10-03 21:49:45 1146

原创 【scrapy】爬虫框架从了解到运行

Scrapy简介Scrapy 是用 Python编写而成用以爬取网站数据、提取结构性数据而编写的应用框架。通过使用Scrapy框架,我们能够简单的爬取指定网站的内容或图片。Scrapy框架文件结构首先我们创建一个Scrapy项目,目录结构如下所示。cnblog/ scrapy.cfg # 项目的配置文件 cnblog/ __init__.py items.py # 定义你所要抓取的字段

2020-09-28 23:55:29 282

原创 Scrapy框架安装ERROR

先上图说明我遇到的问题。从截图中可以看到是在运行安装Twisted时候报错,所以很自然的就想到了安装Twisted。所以我单独运行了pip install Twisted,不幸的是也报了相同的错误,所以主要的问题在于无法安装Twisted。所以这里我选择直接去网页download包,网址在这里:https://www.lfd.uci.edu/~gohlke/pythonlibs,可以下载各种python的第三方包,在这里我们找到了Twisted的安装包文件。这里简单说明一下包文件的含义,

2020-09-28 09:23:32 473

原创 【Python】面向对象的学生管理系统

首先展示一下面向函数的学生管理系统,使用了Python语言编写。stus = {1001:["张三",89.56],1002:["李四",95.80]}#查询学生信息,修改学生信息,删除学生信息,增加学生信息def main(): print("*****欢迎使用学生管理系统*****") print("1.查询学生信息") print("2.添加学生信息") print("3.修改学生信息") print("4.删除学生信息") print("0

2020-09-10 23:58:47 3578

原创 【JQuery】实现表格的增删改

利用jquery实现表格的增删改。<!DOCTYPE html><html> <head> <meta charset="UTF-8"> <title></title> <style> *{ margin: 0; padding: 0; } div{ margin: 50px auto; text-align: center; } table

2020-08-29 21:03:05 563

原创 【信息安全基础课堂笔记(一)】

# 信息安全基础## 安全体系结构和模型(2课时)**1、网络安全的核心目标:机密性、完整性、可用性。*** 机密性:对信息的访问和公开进行授权限制,包括保护个人隐私和私密信息,包括数据机密性(保证私有的或机密的信息不会被泄露给未经授权的个体)和隐私性(保证个人可控制和影响与之相关的那些信息是可以被收集、被保存的、这些信息可以有谁来公开以及向谁公开)。* 完整性:包含了数据完整性(保...

2020-05-06 19:51:50 333

空空如也

空空如也

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

TA关注的人

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