自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(62)
  • 收藏
  • 关注

原创 【Python】Python 的编译&反编译

Pythonpypycpycpyipywpydpyx等。

2024-07-24 09:23:38 776

原创 基于 Apache 的 httpd 文件服务器

httpd(HTTP Daemon,超文本传输协议守护进程的简称),运行于网页服务器后台,等待传入服务器请求的软件。httpd能够自动回应服务器的请求,并使用http协议传送超文本及多媒体内容。常见的httpdCERN HTTPdCherokeeHiawathaLighttpdNCSA HTTPdNginxOpenBSD这里我们使用应用最广泛的搭建httpd文件服务器。

2024-07-21 11:00:00 687

原创 【Python】Tkinter 实现计算器

Tkinter是Python自带的标准GUI库,不需要单独安装,TKinter支持跨平台运行,不仅可以在Windows上运行,还支持在Linux和Mac上运行,可以较为简单的实现工具类图形化界面,较为复杂的界面需要评估TKinter是否能够实现。

2024-07-19 12:30:19 292

原创 【Django】Django 使用连接串配置数据库

修改 中 ,这里以 数据库为例。配置完成后,依次执行如下语句,将数据库迁移至配置的 数据库。 是一个交互式的 解释器,能够应用 项目的模型以及环境变量。更多信息可以查询 官方文档:https://docs.djangoproject.com/en/5.0/ref/django-admin/#shell。通过如下命令即可进入 。执行如下语句,即可使用配置的 信息,执行相应的 语句。输出结果为 使用连接串配置数据库 配置数据库为连接串,需要使用第三方库 ,第三方库的文档地址:。配置

2024-07-08 16:08:00 504

原创 【Go语言】Go语言的占位符

Golang的字符串占位符在fmt包的各种打印函数中使用,如fmt.Printf。

2024-07-08 14:40:21 449

原创 【PyScript】PyScript 基础入门

PyScript 是一个为了支持 Python 运行在浏览器的开源平台。

2024-06-27 11:45:12 402

原创 【Electron】Electron入门实现

Electron是一个开源框架,允许开发者使用网页技术来构建跨平台的桌面应用程序。它由GitHub开发并维护,最初是为了支持开发Atom编辑器。Electron结合了Chromium(用于呈现网页内容)和Node.js(用于与操作系统交互),因此开发者可以利用大量现有的网页开发技术和工具来构建桌面应用。

2024-06-27 11:45:00 1219

原创 【Go语言】Gin 框架教程

开头,通过分组路由就能够简化路由的定义,也可以更好的实现路由的权限控制,例如将需要登录的路由放到同一分组中。这里使用一个表单参数进行举例,如下所示,输入分数转化为及格、不及格的判断,代码如下所示。请求其他的路由,则不受影响,就如我们在中间件方法所写的判断一样,仅仅只是拦截了。分组路由主要是为了处理路由前缀一致的情况,例如有一组路由前缀都是。程序,重启之后,再次访问路由地址,就能够正常解析路由参数了。与上文的路由参数一样,参数都是路由的一部分,不同的是。请求不同的路由地址,均能够得到正常的响应。

2024-06-16 15:37:05 1590 2

原创 【Go语言】Go语言中的接口类型

Go语言提倡面向接口编程。接口是一个或多个方法签名的集合。任何类型的方法集中只要拥有该接口'对应的全部方法'签名。就表示它 "实现" 了该接口,无须在该类型上显式声明实现了哪个接口。这称为Structural Typing。所谓对应方法,是指有相同名称、参数列表 (不包括参数名) 以及返回值。当然,该类型还可以有其他方法。接口只有方法声明,没有实现,没有数据字段。接口可以匿名嵌入其他接口,或嵌入到结构中。

2024-06-14 12:49:16 973 1

原创 【code-server】Code-Server 安装部署

可以参考 https://coder.com/docs/code-server/install code-server的安装流程进行安装,主机环境是Centos7建议使用docker方式进行安装,可能会出现如下报错,需要升级GNC的版本,由于影响交大,这里改用Docker方式安装。Docker Hub完成后,重启Docker服务,使用命令查询如下,出现添加的代理地址:!

2024-06-12 15:19:03 1141

原创 【Go语言】面向对象编程(二):通过组合实现类的继承和方法重写

的方式间接实现类似的功能,所谓组合,就是将一个类型嵌入到另一个类型,从而构建新的类型结构。类的定义及其内部数据的定义可以看作是类的属性,基于类定义的函数方法则是类的成员方法。要实现面向对象的编程,就必须实现面向对象编程的三大特性:封装、继承和多态。Go 语言中,没有直接提供继承相关的语法实现,可以通过。需要注意组合的不同类型之间包含同名方法,比如。没有重写该方法,直接在。类的属性和成员方法。

2024-06-11 16:25:35 608

原创 【Go语言】面向对象编程(一):类的定义、初始化和成员方法

Go 语言的面向对象编程没有classextendsimplements类名为Student,并且包含了idnamemalescore这四个属性。相应的,Go 语言中也不支持构造函数、析构函数,需要我们自定义形如Newxxx// 初始化方法(全量定义)在如上函数中,通过传入NewStudent方法的字段对Student类进行初始化,并返回一个指向该类的指针。// 初始化方法(部分定义)在main// 类的初始化。

2024-06-11 14:03:25 501

原创 【Python】Python异步编程

异步编程是一种编程范式,通过非阻塞的方式执行任务,允许程序在等待某些操作(如I/O操作、网络请求、数据库查询等)完成时,继续执行其他任务。这与同步编程(或阻塞编程)形成对比,后者在等待操作完成时会阻塞执行流程,直到任务完成才继续执行。asyncawait说明:异步并不简单的等于并发,更精准的表述应该是并发,也即多个任务在同一时间段内交替运行,而不是同时运行。

2024-06-02 17:13:24 1042 1

原创 【Nginx】Nginx 日志配置

Nginx 预定义了日志格式,如果没有明确指定日志格式将使用预定义的日志格式。如果需要修改,参考 log_format 的语法进行修改即可。name:格式名称,在 access_log 中显性引用,否则会使用默认的语法。escape:置变量中的字符编码方式是 json 还是 default ,默认是 default。stirng:要定义的日志格式内容,该参数可以有多个,参数中可以使用Nginx变量。变量含义发送给客户端的总字节数发送给客户端的字节数,不包括响应头的大小连接序列号。

2024-05-30 11:30:00 1588 1

原创 【Django】Django REST framework

REST这个词,是 Roy Thomas Fielding 在他2000年的博士论文中提出的。Fielding将他对互联网软件的架构原则,定名为REST,即Representational State Transfer的缩写,可以根据单词含义翻译为“表现层状态转化”。如果一个架构符合REST原则,就称它为 RESTful 架构。

2024-05-28 12:00:00 694

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

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

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

原创 【Flask】用户身份认证

项目代码见:前提条件。

2024-03-26 14:13:02 525

原创 【Flask】Flask Form表单

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

2024-03-25 13:47:25 1457

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

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

2024-03-24 00:17:50 868

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

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

2024-03-23 23:11:01 1447

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

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

2024-03-22 00:46:34 996

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

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

2024-03-15 15:07:30 1671

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

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

2024-03-11 22:26:53 1078

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

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

2024-03-05 23:23:39 3228

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

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

2024-03-01 15:04:45 970

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

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

2024-02-28 23:51:10 1350

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

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

2024-02-28 23:50:18 943

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

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

2024-02-27 15:15:54 1503

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

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

2024-02-27 15:05:19 781

原创 【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 718

原创 【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 1283

原创 【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 1626 1

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

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

2024-02-15 20:01:08 1414

原创 【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 1064

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

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

2024-02-14 12:00:00 2488

原创 【Django】Django文件上传

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

2024-02-12 12:00:00 2439

原创 【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 2327

原创 【Django】Django中间件

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

2024-02-10 12:10:15 1022

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

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

2024-02-10 12:09:52 1766

原创 【Django】Django中的缓存

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

2024-02-07 12:40:04 1391

空空如也

空空如也

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

TA关注的人

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