自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(361)
  • 资源 (2)
  • 问答 (38)
  • 收藏
  • 关注

原创 linux 创建管理员用户并使用生成秘钥登录服务器

以txt文本打开windows上.ssh中的id_rsa.pub,将该内容复制放到刚出刚创建用户家目录下的.ssh/authorized_keys中保存然后使用ssh命令即可登录了。1.确保SSH服务器配置允许公钥身份验证。5.生成SSH密钥对。公钥:~/.ssh/id_rsa.pub。私钥:~/.ssh/id_rsa。

2024-04-29 13:04:41 452

原创 samba服务器的配置

在windows上输入用户名和密码可直接通过文档输入框输入ip进行访问。创建的目录就是后面在windows主机上能直接访问的目录。admin users 可进行任意操作。write list 可写入。read list 只读。path 共享目录。

2024-03-13 17:03:56 1096

原创 Ubuntu 环境下 NFS 服务安装及配置使用

NFS 是 Network FileSystem 的缩写,顾名思义就是网络文件存储系统,它允许网络中的计算机之间通过 TCP/IP 网络共享资源。通过 NFS,我们本地 NFS 的客户端应用可以透明地读写位于服务端 NFS 服务器上的文件,就像访问本地文件一样方便。简单的理解,NFS 就是可以透过网络,让不同的主机、不同的操作系统可以共享存储的服务。2、环境、软件准备两台服务器都是一样的:Ubuntu 20.04.3 LTS。

2023-11-29 11:23:07 4851 2

原创 Python Selenium 图片资源自动搜索保存 项目实践

由此可得出变化的只有这里,根据pagi= 展示不同页面。

2023-11-28 12:07:36 1789

原创 ERROR 1227 (42000) at line 18: Access denied; you need (at least one of) the SUPER or SYSTEM_VARIABL

从A服务器数据库导出某表,然后导到B服务器数据库某表ERROR 1227 (42000) at line 18: Access denied; you need (at least one of) the SUPER or SYSTEM_VARIABLsql 文件头部(红色部分删掉)

2023-11-27 14:03:19 1739

原创 selenium 简单案例 <批量下载文件> <网页自动化点击上报>

注意:可能点击 “风险点隐患上报” 右边页面是异步加载的找不到对应的文本按钮。

2023-11-23 16:06:22 426

原创 seleninum 基础及简单实践

通过设定的时长等待页面元素加载完成,再执行下面的代码,如果超过设定时间还未加载完成,则继续执行下面的代码(注意:在设定时间内加载完成则立即执行下面的代码)。如果不写参数,程序默认会0.5s调用一次来查看元素是否已经生成,如果本来元素就是存在的,那么会立即返回。下面是一些内置的等待条件,可以直接调用这些条件,而不用自己写某些等待条件了。一种是隐式等待,一种是显式等待,隐式等待是等待特定的时间,显式等待是指某一条件直到这个条件成立时继续执行。(2)当你调用perform()方法时,队列中的时间会依次执行。

2023-11-21 15:11:22 330

原创 Vue 菜单导航栏,轮播图

根据main_menu_id判断菜单名在哪一行。需要把二级菜单调到右边覆盖banner。鼠标移动会向二级菜单传递一级菜单的ID。接收一级菜单传递过来的id。

2023-10-30 17:46:29 686

原创 Mysql 函数

命令行中使用语法如下create function 函数名称(参数列表) returns 返回类型beginsql语句end$$delimiter;说明:delimiter用于设置分割符,默认为分号在“sql语句”部分编写的语句需要以分号结尾,此时回车会直接执行,所以要创建存储过程前需要指定其它符号作为分割符,此处使用//,也可以使用其它字符示例要求:创建函数py_trim,用于删除字符串左右两侧的空格step1:设置分割符step2:创建函数beginend$$

2023-10-29 15:35:57 585

原创 Vue 商场首页头部布局

main.js// 引入element-plus。

2023-10-26 13:00:50 927 1

原创 Django token 认证原理与实战

Cookie的作用cookie的存储量很小,一般不超过4Kcookie并不会保存很多信息,一般用来存储登录状态cookie是以键值对进行表示的(key=value),例如name=li,表示cookie的名字是name,cookie携带的值是licookie的存储分为会话存储和持久性存储如果cookie会话性那么cookie仅会保存在客户端内存中,当我们关闭客户端时cookie就会失效如果cookie为持久性,那么cookie会保存到硬盘中直至生存期结束或者用户主动将其销毁。

2023-10-24 18:42:18 1183

原创 Django viewsets 视图集与 router 路由实现评论接口开发

注意ViewSetMixin继承顺序要放在第一个。

2023-10-24 14:29:02 1046

原创 Django 地址接口开发

逐个继承,直到GenericAPIView 多了三个属性queryset,serializer_class,lookup_field,基于这几个属性可以对数据进行不同的操作。进入mix可以看到该类,retrieve方法通过传入的参数帮我们获取对应的数据。继承了mixins扩展类,进到里面可以稍微看下源码。该方法帮我们实现了获取验证及保存的功能。

2023-10-24 12:13:01 415

原创 Django 注册及创建订单商品

将数据库创建的表映射到本地模型类。

2023-10-23 18:21:43 562

原创 django 商品及购物车逻辑实现

在商品分类中任意点击一个商品进入就能看到该商品的商品详情。鼠标移动到不同的商品类型显示其对应的商品。1,2两种序列化都可以实现数据的返回。使用商品表的su_id 查询。把csrf中间件注释了。

2023-10-23 14:32:21 998

原创 mysql高级查询

scorestudentcourses内连接:查询的结果为两个表匹配到的数据1.条件:查询学生信息及课程对应的分数解析:此时信息存储在三张表通过外键标识,可以先将学生和分数表根据条件连接在一起,然后在连接课程2.查询王昭君的成绩,要求显示姓名课程和分数3.查询男生中的最高成绩 要求显示姓名 课程名 成绩left join查询的结果为两张表匹配到的数据加左表特有的数据,对于右表中不存在的数据是用Null1.条件:查询所有学生的成绩,包括没有成绩的学生2.查询所有学生的成绩,包括没有成

2023-10-22 14:17:20 840

原创 django 项目基本配置

如果是协同开发数据库表是提前准备好的,可以将表的字段映射到本地。切换至apps目录创建子应用。setting配置文件。

2023-10-20 16:42:31 730

原创 Go 快速开发朋友圈助力项目

问题:当我们投票的时候,我们更新的是数据库,这个时候如果不更新redis,在缓存没有过期的这个时间段,它的排行榜是不变的,所以要优化一下投票的代码。在models/user.go中定义结构体 验证用户名是否已存在 添加用户。在 controllers/user.go中编写注册功能接口。controllers/common.go 对密码进行加密。登录信息保存在session redis中。前面是参赛选手的id 后面是分数。

2023-10-12 18:41:38 245

原创 基于 gin框架搭建入门项目

根目录下新建 runtime/log 目录用以保存生成的日志根目录下新建pkg/logger/logger.goimport ("fmt""io""net/http""os""path""time"// 设置日志格式为json格式})if err!

2023-10-11 18:10:45 3112 3

原创 Go 代码测试

在上⾯的测试代码中,我们可以看到⼀个BenchmarkBigLen函数,这个函数是Go语⾔当中性能测试的。作为⼀个优秀的开发者,任何代码可能的执⾏分⽀都应测试。⾄于单元测试,除了项⽬本身的代码外,还要提供专⻔针对某package或功能的测试⽂件。⽐如我们测试,新建⼀个⽬录animal,在⽬录下创建两个⽂件,⼀个是源码⽂件,⼀个是测试代码⽂。经过运⾏,我们看到代码测试覆盖率为75%,Eating测试不通过(我们⼈为造成的)。bench后⾯是⼀个正则表达式,如果只针对某⼀个函数测试,写具体的函数名称也可以。

2023-10-10 15:36:13 150

原创 Go channel同步

环将1,2,3,4,5传递给goroutine2,goroutine2负责将数字平⽅后传递给goroutine3,goroutine3。分析该应⽤,我们需要⾄少2个channel,3个goroutine,其中main函数可以直接是第三个goroutine,channel,在main函数中监控该channel,如果读到数据,则不执⾏后⾯的发射,直接return。此外,channel也。⽽这个单⽅向表述⾮常明。这是由于channel的知识点我们还需要知道,通道可以创建,也可以关闭,在读取的时候,也可以使⽤。

2023-10-10 14:32:55 191

原创 Go 并发编程

为了提⾼CPU的使⽤效率,我们需要启动多个Goroutine,⽽多个Goroutine⽐线程的颗粒度还⼩,他。造成影响,这样理论上来说,⼀个读的Goroutine上锁了,其余的读Goroutine理应也可以访问,这样。其实在我们之前写的代码中,都存在⼀个Goroutine,就是我们的主函。利⽤WaitGroup的特性,我们可以优雅的实现⼀个例⼦:启动10个Goroutine,让他们顺序退出,Goroutine在并发上则没有这⽅⾯的顾虑,可以随⼼所欲的启动,不⽤担⼼数量的问题,当然这归。

2023-10-09 18:51:37 211

原创 Go 文件操作

最后,输出切片中存储的文件数据,注意,读取的是从最开始到整个数据长度,因为有可能存储到切片中的数据达不到切片的总长度(也是切片时2k,但是从文件中读取的数据有可能只有1k)。以上就是我们常用的关于向文件中写入数据的方式,但是有同学可能有疑问,每次向文件中写入数据之前,都是先执行了,Create()这个函数,而这个函数的作用前面我们也已经说过。在向文件中写数据的时候,使用的是Write,那么读取文件中的数据,使用的是Read。Open()是打开文件,与OpenFile()的区别是,Open()只有读的权限。

2023-09-15 18:59:56 876 1

原创 Go 字符串处理

i := strings.Index(str1,str2)通过index关键字,在str1中查找str2的值,然后赋值给i,e这个值在hello woeld中能找到所以就会返回它的下标值,下标值是从0开始的,h是0,e就是1,所以结果为1。str1:= strings.Trim(str,“=”)通过Trim关键字对str中的=号做了去除头尾的处理,只要是str前面有=,或者后面有=都会去除。通过以上的讲解,发现字符串的处理是非常重要的,GO语言也提供了字符串与其它类型之间相互转换的函数。

2023-09-14 18:49:11 329

原创 Go 异常处理

也就是当遇到不可恢复的错误状态的时候,如数组访问越界、空指针引用等,这些运行时错误会引起panic异常,在一般情况下,我们不应通过调用panic函数来报告普通的错误,而应该只把它作为报告致命错误的一种方式。但是问题是,程序从上开始执行当执行到匿名函数时,虽然没有立即调用执行匿名函数,但是已经完成了参数的传递。前面讲解过,defer会延迟函数的执行,虽然立即调用了匿名函数,但是该匿名函数不会执行,等整个main()函数结束之前在去调用执行匿名函数,所以输出结果如上所示。随后,程序崩溃并输出日志信息。

2023-09-13 18:40:26 267

原创 Go 类型查询

我们知道interface的变量里面可以存储任意类型的数值(该类型实现了interface)。那么我们怎么反向知道这个变量里面实际保存了的是哪个类型的对象呢?

2023-09-11 18:35:37 251

原创 Go 接口和多态

接口就是一种规范与标准,在生活中经常见接口,例如:笔记本电脑的USB接口,可以将任何厂商生产的鼠标与键盘,与电脑进行链接。为什么呢?原因就是,USB接口将规范和标准制定好后,各个生产厂商可以按照该标准生产鼠标和键盘就可以了。在程序开发中,接口只是规定了要做哪些事情,干什么。具体怎么做,接口是不管的。这和生活中接口的案例也很相似,例如:USB接口,只是规定了标准,但是不关心具体鼠标与键盘是怎样按照标准生产的.

2023-09-07 17:59:44 487

原创 Go 面向对象(方法)

在面向对象编程中,一个对象其实也就是一个简单的值或者一个变量,在这个对象中会包含一些函数,这种带有接收者的函数,我们称为方法(method)。本质上,一个方法则是一个和特殊类型关联的函数。一个面向对象的程序会用方法来表达其属性和对应的操作,这样使用这个对象的用户就不需要直接去操作对象,而是借助方法来做这些事情。在Go语言中,可以给任意自定义类型(包括内置类型,但不包括指针类型)添加相应的方法。参数 receiver 可任意命名。如⽅法中未曾使⽤,可省略参数名。

2023-09-01 18:52:22 581

原创 Leetcode 最后一个单词的长度

给你一个字符串 s,由若干单词组成,单词前后用一些空格字符隔开。返回字符串中 最后一个 单词的长度。单词 是指仅由字母组成、不包含任何空格字符的最大子字符串。输入:s = “Hello World”输出:5解释:最后一个单词是“World”,长度为5。

2023-08-31 12:10:46 275

原创 Go 面向对象(匿名字段)

严格意义上说,GO语言中没有类(class)的概念,但是我们可以将结构体比作为类,因为在结构体中可以添加属性(成员),方法(函数)。面向对象编程的好处比较多,我们先来说一下“继承”,所谓继承指的是,我们可能会在一些类(结构体)中,写一些重复的成员,我们可以将这些重复的成员,单独的封装到一个类(结构体)中,作为这些类的父类(结构体),我们可以通过如下图来理解:当然严格意义上,GO语言中是没有继承的,但是我们可以通过”匿名组合”来实现继承的效果。

2023-08-30 17:07:33 574

原创 Go 指针

在调用Swap()函数时,将变量a与变量b的地址传分别传递给指针变量num1,num2,这时num1和num2,分别指向了变量a,与变量b的内存存储单元,那么操作num1,num2实际上操作的就是变量a与变量b,所以变量a与变量b的值被交换。这张图,大家也应该非常熟悉,是在讲解变量时,画的一张图,0x100010假设是变量i的内存地址(通过第二个输出可以获取实际的地址),内存地址的作用:在输出变量中存储的数据时,是通过地址来找到该变量内存空间的。我们前面定义了指针指向了数组,解决了数组引用传递的问题。

2023-08-30 14:31:13 574

原创 Go 结构体

现在有一个需求,要求存储学生的详细信息,例如,学生的学号,学生的姓名,年龄,家庭住址等。按照以前学习的存储方式,可以以如下的方式进行存储:通过定义变量的信息,进行存储。但是这种方式,比较麻烦,并且不利于数据的管理。在GO语言中,我们可以通过结构体来存储以上类型的数据,结构体的定义如下:type后面跟着的是结构体的名字Student, struct表示定义的是一个结构体。大括号中是结构体的成员,注意在定义结构体成员时,不要加var。

2023-08-29 18:41:24 639

原创 Go Map

定义字典结构使用map关键字,[ ]中指定的是键(key)的类型,后面紧跟着的是值的类型。键的类型,必须是支持==和!下面定义一个字典m,键的类型是整型,值的类型是字符串。定义完后,直接打印,结果为空nil。注意:字典中不能使用cap函数,只能使用len()函数。len()函数返回map拥有的键值对的数量以上代码值为0,也就是没有值。以上代码值为0,也就是没有值。当然也可以指定容量。输出的len值还是0,因为这里并没有赋值。接下来可以给字典m2进行赋值,并且指定容量,如果容量不够自动扩容。

2023-08-28 18:00:53 476

原创 Go 切片

通过以上案例,发现在主函数main()中,定义了一个切片s,然后调用InitData()函数,将切片s作为实参传递到该函数中,并在InitData()函数中完成初始化,该函数并没有返回值,但是在主函数中直接打印切片s,发现能够输出对应的值。在这里重点要理解的是:s6 := array[2:5],将array切片中的array[2],array[3],array[4]截取作为新切片s6,实际上是切片s6指向了原切片array(在这里并不是为切片s6新建一块区域)。因为,切片的长度是指的是初始化的空间。

2023-08-28 16:51:40 670

原创 Go 数组

当定义完成数组a后,就在内存中开辟了10个连续的存储空间,每个数据都存储在相应的空间内,数组中包含的每个数据被称为数组元素(element),一个数组包含的元素个数被称为数组的长度。数组定义也是通过var关键字,后面是数组的名字a,长度是10,类型是整型。第一次循环i等于1,然后赋值给a[i]也就是a[1],然后a[1]也刚好等于1,然后循环十次。a数组中的元素类型是整型,定义完成后,直接输出,结果全部是0。i变量存储的是数组的下标,data变量存储的是数组中的值。像以上情况,最好是通过数组的方式来存储。

2023-08-21 11:04:01 353

原创 nginx代理请求到内网不同服务器

需要准备三台云服务器,一台带有公网ip,另外两台不需要公网ip,有内网ip即可,只要这三台的内网ip在同一个网段中。3.安装完成后,Nginx 服务将会自动启动。可以使用以下命令来检查 Nginx 服务状态。切换到/etc/nginx/conf.d 创建nginx.conf文件。测试:这里使用了两个相同的项目在两台服务器上运行。服务器2的前端项目的nginx配置文件。后端可以直接使用下面url访问。若使用80端口是需要备案的。

2023-08-17 18:44:08 1930

原创 Go 流程控制

一只公鸡值5钱,一只母鸡值三钱,三只小鸡值一钱,现在用百钱买买鸡,公鸡,母鸡,小鸡各多少只。

2023-08-15 18:30:16 453

原创 Go 基本类型

【代码】Go 基本类型。

2023-08-15 16:20:42 44

原创 Windows安装Go开发环境

首先进入我的C盘(你放到其他盘也行),新建一个文件夹,名字叫做mygo(这个就是你的工作目录),然后再进入这个mygo文件夹,到里面再新建一个文件夹,名字叫做src(用来存放代码)。可以去淘宝买个全家桶激活码。

2023-08-15 12:21:58 353

原创 部署-打包并提交代码到Git服务器

将生成的这四个部分放置到服务端static中生成的index.html放到templates中添加一个用户代码拉下来之后直接执行需要添加环境变量这时就可以使用flask进行启动了安装执行下面命令可以把对应的文件夹创建下。

2023-08-08 14:19:27 158

IT权限服务化设计概要.docx

IT权限服务化设计概要.docx

2022-01-10

IT_auth测试用例.docx

初次编写测试用例

2021-11-15

vue 页面窗口放大或者缩小元素会变化

2024-05-14

vue 需要刷新才能获取到类属性

2024-03-11

python flask 报错

2023-09-21

vue elementui 点击箭头可以切换选项

2023-09-19

flask使用async await处理异步任务

2023-08-25

el-tabs双击可编辑标签名称

2023-05-23

vue el-input只允许输入整数或小数只保留小数点后两位 并设置最大值

2023-05-19

将列表中字典相同的username和date合并,合并后保存以id数值大的一方

2023-05-09

vue 删除sessionStorage中的uuid

2023-05-04

python 生成workd文档,换行问题

2023-04-06

python docx 把数据写入表格

2023-03-16

elementui el-tabs动态增加表单

2023-02-28

vue+elementui el-tabs根据条件动态增加

2023-02-27

对列表中字典key相同的value进行相加

2022-12-02

flask vue elementui进行文件的上传和下载

2022-10-31

从数据库可以获取多个链接下载文件前端是vue,现在这样写下载一个return就结束了,后面都来不及下载

2022-10-11

列表嵌套字典 如果列表中的字典master_id相同,就把children合并在一起

2022-10-07

有实现过电商后台管理项目后端接口(python django版本) 最好能带数据库表设计之类的 注意是python版本的,咨询一些业务上的问题

2022-10-03

关于#vue.js#的问题:vue3 对指定标签中内容导出pdf,导出的pdf内容是可复制的,下列图片中的功能

2022-09-09

js输入单词个数返回单词价格

2022-09-02

vue elementui

2022-08-25

vue elementui

2022-08-25

vue如何封装一个组件,实现点击新增文件夹,文件夹下可以增加子文件

2022-08-01

django项目在本地是可以运行的,但是使用docker compose部署到服务器上面会报导包的错误,如何解决?

2022-07-28

点击没有反应,跳转不了页面,这个路由守卫如何修改?

2022-07-21

上传文件携带部分参数,根据status接口返回的状态执行不同的操作

2022-07-15

python 字符串替换

2022-06-30

给定任意dict数据,请实现方法提取数据字典,即将树状多级字段压缩为一级字段

2022-03-21

代码在本地可以正常运行,但是提交到服务器上JS加载不出来

2021-11-05

sql 语句根据多个相同字段条件删除重复记录

2021-10-21

sql语句实现分组查询统计个数

2021-10-15

mysql 表人名进行拆分

2021-09-26

点击按钮可获取dialog对话框的地址,在输入栏输入地址可以直接弹出对话框

2021-08-31

使用sql语句删除表格中多个字段中的相同数据,字段中的数据以逗号分隔的,所有删除的时候需要连逗号一起删除

2021-08-19

删除一条记录的某个字段中的某个特定字符 sql 语句

2021-08-18

vue + elementui 实现文件的上传

2021-08-12

elementui <el-input type="textarea"></el-input> 提示语不会因为输入内容而消失 ,可在提示语后输入内容 (不是placehoder)

2021-08-09

elementui 下拉框实现一键全选功能,现在只能逐个选择

2021-07-30

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

TA关注的人

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