- 博客(42)
- 收藏
- 关注
原创 使用人性化的Linux防火墙CFW阻止DDOS攻击
CFW (Cyber Firewall) 是一个人性化的 Linux 防火墙。它旨在协助阻止拒绝服务攻击(DDOS),同时能控制 Linux 端口开关。该软件基于 iptables 和 ipset,使用 Python 开发,使用时建议关闭发行版自带的防火墙(如 firewalld、ufw)避免冲突。通过 CFW,您将能够:通过自定义的规则自动封禁互联网中的恶意 ip,以防止拒绝服务攻击控制开启或关闭 Linux 的 TCP/UDP 端口获得友好的交互式体验。
2022-11-12 00:01:20
1121
原创 docker容器间的通信【连接MongoDB数据库】
最近全面转型在docker容器中进行开发,但开发时遇见以下问题——“数据库 将在哪里运行?安装在同一个容器中还是单独运行?” 一般来说,每个容器都应该做一件事,并且做好。针对上面遇到的问题,来解决docker多容器连接。【官方文档解释】默认情况下,容器是独立运行的,并且对同一台机器上的其他进程或容器一无所知。那么,我们如何让一个容器与另一个容器通信呢?答案是网络(network)接下来我们便准备容器之间需要的条件。2、准备MongoDB数据库容器如果想要本地连接docker下的mongodb数据库。可参
2022-06-08 00:06:36
3916
1
原创 CSS设置div标签屏幕居中
CSS设置div标签屏幕居中html标签 <div class="loading"> <div> <ui-spinner active v-if="flag"></ui-spinner> </div> </div>css样式.loading { text-align: center; position: absolute; left: 50%; top:
2022-05-30 11:48:38
1206
原创 【已解决】vue3的reactive赋值,数据不能动态改变的问题
vue3的reactive赋值,数据不能动态改变的问题问题描述:当有数据const data = reactive({age:15,sex:'女'}) 此时新来了一个变量const param = {age:16,sex:'女'}想要将data1的值赋值给data。若data=data1便不能动态修改data的值解决办法:将const data = reactive({age:15,sex:'女'}) 改写成:const data = reactive( info : { age:
2022-05-28 10:51:55
5772
转载 解决docker时间慢8小时
docker时间慢8小时进入docker容器后执行以下命令cd /etc/mv localtime localtime_bakcp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
2022-04-18 10:52:47
825
原创 【已解决】window下Docker连接MongoDB数据库
Docker连接MongoDB数据库拉取docker镜像:docker pull mongo创建容器并持久化数据docker run -d --name 容器名称(自定义) -p 27017:27017 -v C:\Users\12241\OneDrive\mogodata\data:/data/db mongo-i: 交互式操作。-t: 终端。-d 参数默认不会进入容器,想要进入容器需要使用指令 docker exec-p 27066:27017 #端口映射 27066:如果希望本地
2022-04-17 00:04:41
1834
原创 js实现分页
js实现分页方式一:1、html页面<!-- 下面要展示的代码 --><div id="commentDiv"> <div> {% for comment in comment_list %} <div class="col-12 list row"> <div class="col-2 icon"> <img src="/avatar/{
2022-04-08 10:32:44
4023
原创 js获取url参数
js获取url参数目标:js想要获取url后面的?的参数如获取:http://www.runoob.com/index.php?id=1&image=awesome.jpgurl中的id参数和image参数函数:function getQueryVariable(variable){ var query = window.location.search.substring(1); var vars = query.split("&"); fo
2022-04-05 19:47:15
894
原创 解决Ajax数据展示追加问题
解决Ajax数据展示追加问题问题描述:一个Tab菜单栏,有不同的Tab标签,使用ajax传数据,首先给Tab1标签传完数据后展示,当点击Tab2标签想要展示数据时,Tab1标签的数据会出现(即Tab2标签的数据追加到Tab1数据的后面,实际上点击Tab2时Tab1数据不展示)解决办法:定义一个空的变量html,对html追加数据:var html = ""html = html + '<tr><td width="10%" align="center" class="uarti
2022-04-04 22:16:53
673
原创 解决ajax动态生成的数据无法获取html标签的属性值
ajax动态生成的数据如何获取html标签的属性值这是我ajax动态生成的数据:'<tr><td width="10%" align="center" class="uartilceid">'+data[i].artilceid+'</td><td width="60%" align="center"><a target="_blank" href="/article/'+data[i].artilceid+'">'+data[i].headl
2022-04-04 15:10:45
862
原创 wsl2+ubuntu+docker+vscode环境配置
wsl2+ubuntu+docker配置Ⅰ、查看电脑的系统环境:左下角右键点击打开系统,一般版本号大于18***的,这样才能更好适配wsl2,没有达到要求需要自己升级打开windows功能:勾选Hyper-V和一下选项:设置WSL2为默认wsl --set-default-version 2出现以下内容,设置成功:此时查看wsl的版本,出现以下情况,不要慌:查看wsl版本:wsl -l -v启动wsl2:Enable-WindowsOptionalFeature -Onlin
2022-04-02 11:35:48
1967
原创 Bootstrap图标库下载到本地后的引用
Bootstrap图标库的引用Bootstarp图标库的下载地址下载解压后的文件目录Ⅰ、该目录一直往下滑动有以下的一个 .css文件,将其复制下来。(可复制到你的项目文件的静态文件中)我放的位置如下:Ⅱ、之后将目录中的 fonts文件夹复制到你的项目文件中我fonts放在的项目中的位置以上便可以使用Bootstrap的图标库注:如果第Ⅰ步中的 bootstrap-icons.css 文件报错,检查一下 bootstrap-icons.css文件下的fonts文件夹的路径是否
2022-03-29 11:41:05
1610
原创 python实现发送邮件
发送邮件代码class EmailCode: """给邮箱发验证码""" def send_email(self, receiver, ecode): """发送邮件""" sender = "哎!**伤》<122***67@qq.com>" content = f"<br/>欢迎注册土豆笔记博客系统账号,您的邮箱验证码为:<span style='color:red;font-size:20px;'&g
2022-03-25 13:51:51
1222
原创 二、sqlalchemy的基本操作
二、sqlalchemy的基本操作res = dbseesion.query(Users).all() # 查询全部类容 [<__main__.Users object at 0x0000027F047E1190>, <__main__.Users object at 0x0000027F047E1100>, <__main__.Users object at 0x0000027F047E1220>, <__main__.Users object at 0x00
2022-03-20 23:51:01
577
原创 一、sqlalchemy的基本使用
一、sqlalchemy的基本使用①创建mysql引擎engine = create_engine("mysql+pymysql://root:root@localhost/woniunote", echo=False) #echo=False 设置为True运行时会打印原生的sql语句②定义模型类继承父类及数据连接会话DBseesion = sessionmaker(bind=engine) # 定义模型类继承父类及数据连接会话③设置为线程安全dbseesion = scope
2022-03-20 23:36:48
938
原创 docker修改镜像源
docker修改镜像源在任务栏托盘 Docker 图标内右键菜单选择 Settings,打开配置窗口后在左侧导航菜单选择 Docker Engine,在右侧像下边一样编辑 json 文件,之后点击 Apply & Restart 保存后 Docker 就会重启并应用配置的镜像地址了。{ "registry-mirrors": [ "https://hub-mirror.c.163.com", "https://mirror.baidubce.com" ]}查看镜像源
2022-03-14 18:21:16
5515
原创 Git使用和GitLab的搭建
在版本控制过程中,同时推进多个任务,为每个任务,我们就可以创建每个任务的单独分支。使用分支意味着程序员可以把自己的工作从开发主线上分离开来,开发自己分支的时候,不会影响主线分支的运行。简单示意图如下。
2022-02-23 19:35:27
212
原创 Bootstrap出现模态框页面抖动且出现滚动条
bootstrap打开模态框时出现页面抖动1、出现的问题2、出现问题的原因3、解决办法问题1、在未出现模态框时页面如下(此时页面正常显示):(因项目未做完,截图只截取一部分,大概知道意思即可)2、当打开模态框时:①页面不缩放时页面会向右移动②页面缩放会出现滚动条原因出现第一种情况①是因为body页面出现了 style="padding-right: 16px;":出现第二种情况②是因为出现了.modal-open如下图:解决办法修改样式,如下图,可以完美解决!!!! `
2022-01-24 23:30:51
1483
2
原创 数据结构链栈的基本操作
线性表的应用:链栈基本操作#include<stdio.h>#include<stdlib.h>typedef struct Linknode{ int data; struct Linknode *next;}Linknode,*LiStack;// 初始化链栈void InitLiStack(LiStack &LS){ LS = NULL;}// 入栈bool Push(LiStack &LS,int e){
2021-09-14 09:23:38
136
原创 顺序栈的基本操作
线性表的应用:顺序栈的基本操作#include<stdio.h>#define MaxSize 10typedef struct SqStack{ int data[MaxSize]; int top;}SqStack;// 初始化栈bool InitSqStack(SqStack &S){ S.top = -1; return true;}// 判断栈是否为空bool StackEmpty(SqStack &S){
2021-09-12 10:58:29
94
原创 数据结构单链表的基本操作(带头结点)
线性表的应用:一、顺序表的基本操作(动态分配)#include<stdio.h>#include<stdlib.h>typedef struct LNode{ int data; struct LNode *next;}LNode,*LinkList;// 初始化链表bool InitList(LinkList &L){ L = (LNode *)malloc(sizeof(LNode)); if(L==NULL){
2021-09-10 20:12:48
207
原创 数据结构顺序表的基本操作(动态分配)
#include<stdio.h>#include<stdlib.h>#define InitSize 10typedef struct DynamicSqlList{ /* data */ int *data; int MaxSize; int length;}DynamicSqlList;// 生成顺序表的测试数据void InitListData(DynamicSqlList &L){ L.data = (i
2021-08-31 15:01:50
331
原创 数据结构顺序表的基本操作(静态分配)
#include<stdio.h>#include<stdlib.h>#define MaxSize 10typedef struct { int data[MaxSize]; int length;}StaticSqlList;// 初始化顺序表void InitList(StaticSqlList &L){ for (int i = 0; i < 6; i++){ L.data[i] = i+1;
2021-08-30 14:05:32
153
原创 mysql数据库的安装
进入官网mysql官网点击如下:进入点击如下:点击如下:点击如下:这个没啥用,点击即可下载:下载完成后点击安装:选择安装的产品,分别为:MySQL Server、MySQL Workbench,然后Next点击Execute弹出如下框,点击同意安装即可:安装好后一直点击next即可:出现如下,默认即可默认即可设置密码设置服务名称和开机自启动服务点击Execute...
2021-07-16 11:20:25
81
原创 如何彻底卸载MySQL
方法和步骤:1、控制面板——》所有控制面板项——》程序和功能,卸载mysql server!2、在cmd中运行“regedit”命令,打开注册表3、在注册表中找到这个路径删除MySQL文件夹HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\Eventlog\Application\MySQL文件夹 4、删除HKEY_LOCAL_MACHINE\SYSTEM\ControlSet002\Services\Eventlog\Application\M
2021-07-16 09:34:48
220
原创 Miniconda的安装
Miniconda的安装Miniconda的官方地址:下载地址根据自己的电脑情况以及python版本下载对应的miniconda的版本。一直点击next即可
2021-07-15 10:29:14
215
原创 Django后台admin标题、应用名称和数据库表名称的修改
一、修改admin自带的标题django 广受欢迎的一个功能是内置的 Web 管理界面,在这里你可以浏览、标记和删除模型实例表示的数据。打开 Web 浏览器d,访问 http://127.0.0.1:8000/admin/。你会看到登录界面。使用创建超级用户时提供的凭据登录。修改默认的Django标题admin.site.site_header = '我在左上角'admin.site.site_title = '我在浏览器标签'admin.site.index_title = '我在后台首页'
2021-05-12 16:58:17
5442
原创 Numpy的广播机制
具体详情可查看[官方文档]教程(https://pytorch.org/docs/stable/notes/broadcasting.html)维度相同时,即dim相同时,1、若x.size()和y.size()相等可以广播:# same shapes are always broadcastable (i.e. the above rules always hold)x=torch.empty(5,7,3)y=torch.empty(5,7,3)print(x.dim(),x.size())
2021-04-25 19:51:14
995
原创 conda创建python虚拟环境及更改镜像源
conda创建python虚拟环境1.创建虚拟环境之前确保已有conda,查看conda版本:conda -V2.更新conda版本conda update conda3.查看当前存在哪些虚拟环境conda env list 或conda info -e4.使用conda创建虚拟环境conda create -n envname python=x.x解释:envname 为虚拟环境的名字;python=x.x为python的版本5.激活或者切换虚拟环境Linux:sou
2021-04-24 15:32:45
12013
原创 python的pip安装、升级、更新包以及更换镜像源、创建虚拟环境
国内镜像源:阿里云 https://mirrors.aliyun.com/pypi/simple/中国科技大学 https://pypi.mirrors.ustc.edu.cn/simple/豆瓣(douban) http://pypi.douban.com/simple/清华大学 https://pypi.tuna.tsinghua.edu.cn/simple/中国科学技术大学 http://pypi.mirrors.ustc.edu.cn/simple/若出现如下警告:在镜像源后添加如下
2021-04-24 14:58:31
1902
原创 使用 pip 和虚拟环境安装软件包,依赖包的使用
本博客参考官方文档,下面内容从官方文档节选:官方文档使用 pip 和虚拟环境安装软件包查看pip的版本:python -m pip --version更新 pip 为最新的:py -m pip install --upgrade pip安装虚拟环境所需要的包:On macOS and Linux:python3 -m pip install --user virtualenvOn Windows:python -m pip install --user virtualenv创建
2021-04-23 08:54:02
1528
原创 使用ajax实现省市联动
本次实现省市联动的预期目标为:省份城市工厂数据从数据库导入;当选择省份的时候,从数据库导出省份所对应的全部城市。相应的,点击城市可以导入城市的工厂数据。下拉框的样式(只做示例,其他样式自己可选择):前端HTML代码(使用的bootstrap,截取自己写的部分代码的部分):<select class="form-control" name="" id="c1"> <option>请选择省份</option> {% for pr
2021-04-22 17:27:45
1316
原创 Django使用ajax实现文件数据上传(excel)
表单html: <div class='col-sm-2'> <label>添加数据:</label><br> <form action="{% url 'excel_upload' %}" method="post" enctype="multipart/form-data"> 选择文件:<input id="myfile" type="file" name="file1"/><br/>
2021-04-18 21:35:46
788
原创 五、用户的身份验证
用户的身份验证Django提供了用户验证机制。我们将使用django.contrib.auth包中的auth应用。设置身份验证在使用Django提供的身份验证机制之前,要正在项目的setting.pay文件中添加相关的设置。在 settings.py 文件中找到 INSTALLED_APPS 列表,检查有没有列出django.contrib.auth和django.contrib.contenttypes。INSTALLED_APPS 列表应该类似下面这样:INSTALLED_APPS =[
2021-04-17 11:31:26
466
原创 七、Django常见的错误(部分)
Django常见的错误错误原因:路由分配时,视图函数的函数名错误。解决办法:检查视图函数名于路由的函数名是否一样。错误原因:路由分配时,视图函数的函数名错误。解决办法:修改为render...
2021-04-16 21:30:05
262
原创 六、Django-Registration-Redux的基本使用
Django-Registration-Redux的基本使用Django-Registration-Redux能为 Django 项目提供登录、注册、一步和两步身份验证、密码修改、密码重设等功能。一、安装和设置pip install -U django-registration-redux==1.4打开 settings.py 文件,更新 INSTALLED_APPS 列表:INSTALLED_APPS = ['django.contrib.admin','django.contrib.au
2021-04-12 18:00:27
1084
1
原创 二、Django模板的继承与模板标签URL的使用
Django模板的继承于动态URL的使用动态URL的使用1.若模板中的链接地址使用的是硬编码的 URL,例如 `<a href="/rango/about/">About</a>`。当修改url.py中的 URL 映射,就要更新对应的所有 URL 引用。故在使用URL链接时尽量使用动态的URL。在使用动态URL时Django 模板引擎会检查 urls.py 模块中有没有 name 属性的值为 about 的 URL 模式,然后反向匹配URL。 #在url.py模块中 ur
2021-04-11 10:18:45
492
1
原创 三、Django模型与数据库的使用
Django模型与数据库的使用设置数据库 1.新建项目后应该告诉 Django 你想用什么数据库(settings.py 模块中的 DATABASES 设置)。 使用sqllite3数据库: 使用mysql数据库的配置:DATABASES = { 'default': { 'ENGINE': 'django.db.backends.mysql', 'NAME': 'mybook', 'USER': 'root', 'PA
2021-04-10 16:02:17
240
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人