首页
时间胶囊
壁纸
留言
统计
友链
Search
1
linux大作业(DHCP部署)
179 阅读
2
图
88 阅读
3
Python中os.mkdir()与os.makedirs()的区别及用法
82 阅读
4
英语插本笔记
70 阅读
5
C语言笔记
70 阅读
默认分类
网站搭建
学习笔记
Python
Django
opencv
机器学习
英语插本
数据结构插本笔记
物联网学习
mricropython
登录
Search
yao
累计撰写
25
篇文章
累计收到
15
条评论
首页
栏目
默认分类
网站搭建
学习笔记
Python
Django
opencv
机器学习
英语插本
数据结构插本笔记
物联网学习
mricropython
页面
时间胶囊
壁纸
留言
统计
友链
搜索到
18
篇与
的结果
2024-06-26
MYSQL学习
对于不同条件下计数在MySQL中,要实现不同条件的计数,可以使用CASE语句结合聚合函数COUNT。以下是一个示例,假设有一个名为orders的表,其中包含status字段,表示订单的状态,如'completed', 'cancelled', 或 'pending'。要计算每种状态的订单数量,可以使用以下SQL查询:SELECT COUNT(CASE WHEN status = 'completed' THEN 1 END) AS completed_count, COUNT(CASE WHEN status = 'cancelled' THEN 1 END) AS cancelled_count, COUNT(CASE WHEN status = 'pending' THEN 1 END) AS pending_count FROM orders;自连接查询左表和右表是同一个表,根据连接查询条件查询两个表中的数据。自连接查询的用法:select c.id, c.title, c.pid, p.title from areas as c inner join areas as p on c.pid = p.id where p.title = '山西省';说明:自连接查询必须对表起别名多表查询在MySQL中,多表查询通常指的是JOIN操作,用于结合两个或多个表中的相关列。JOIN类型主要有:INNER JOIN(内连接)、LEFT JOIN(左连接)、RIGHT JOIN(右连接)和FULL OUTER JOIN(全外连接)。
2024年06月26日
23 阅读
0 评论
0 点赞
2024-02-18
C语言笔记
函数说明gets(字符数组):从终端输入一个字符串到字符数组。scanf():从终端输入多个值给变量。如scanf("%s %s",a,b)时间复杂度排序$O(1) < O(\log n) < O(n) < O(n \log n) < O(n^2) < O(n^3) < O(2^n) < O(n!) < O(n^n)$散列表的考虑因素散列表的长度关键字的数量关键字的分布情况计算散列函数所需的时间记录的查找频率广义表 : L = ((a,b,c),d)深度: 表展开后所含括号的层数,2长度: 表中所含的数据元素个数,2进制间的转换二进制转十进制:树树的度:树内个结点都度的最大值。
2024年02月18日
70 阅读
0 评论
4 点赞
2024-01-16
图
定义图(Graph)是由顶点的有穷非空集合和顶点之间边的集合组成,通常表示为:G(VE),其中,G 表示一个图,V 是图G中顶点的集合,E是图G中边的集合。无向图 无向边:若顶点到之间的边没有方向,则称这条边为无向边 (Edge),用无序偶对 (viv) 来表示。如果图中任意两个顶点之间的边都是无向边,则称该图为无向图(Undirected graphs)。图7-2-2就是一个无向图,由于是无方向的,连接顶点A与D的边,可以表示成无序对 (A,D),也可以写成(D,A)。{callout color="#f0ad4e"}在无向图中,如果任意两个顶点之间都存在边,则称该图为无向完全图。含有 n个顶点的无向完全图有$n*(n-1)/2 $条边。{/callout}有向图 有向边:若从顶点 到v的边有方向,则称这条边为有向边,也称为弧(Arc)。用有序偶来表示,称为弧尾(Tail),称为弧头(Head)。如果图中任意两个顶点之间的边都是有向边,则称该图为有向图 (Directed graphs)。图 7-2-3就是一个有向图。连接顶点A到D的有向边就是弧,A 是尾,D 是弧头,<A,D>表示弧注意不能写成<D,A>。{callout color="#f0ad4e"}在有向图中,如果任意两个顶点之间都存在方向互为相反的两条弧,则称该图为有向完全图。含有n个顶点的有向完全图有$n*(n-1) $条边。{/callout}{alert type="error"}无向边用小括号“()”表示,而有向边则是用尖括号“<>””表示。{/alert}总结 图按照有无方向分为无向图和有向图。无向图由顶点和边构成,有向图由顶点和弧构成。弧有弧尾和弧头之分。 图按照边或弧的多少分稀疏图和稠密图。如果任意两个顶点之间都存在边叫完全图,有向的叫有向完全图。若无重复的边或顶点到自身的边则叫简单图。 图中顶点之间有邻接点、依附的概念。无向图顶点的边数叫做度,有向图顶点分为入度和出度。 图上的边或弧上带权则称为网。 图中顶点间存在路径,两顶点存在路径则说明是连通的,如果路径最终回到起始点则称为环,当中不重复叫简单路径。若任意两顶点都是连通的,则图就是连通图有向则称强连通图。图中有子图,若子图极大连通则就是连通分量,有向的则称强连通分量。 无向图中连通且 n 个顶点 n-1 条边叫生成树。有向图中一顶点入度为0其余顶点入度为1的叫有向树。一个有向图由若干棵有向树构成生成森林图的存储结构邻接矩阵网(带有权重的图)邻接表十字链表邻接多重表边集数组图的遍历深度优先遍历广度优先遍历{callout color="#f0ad4e"}入队列是出队列的结点的连接节点除去已经出队列的节点{/callout}最小生成树普里姆(prim)算法克鲁斯卡尔(kruskal)算法最短路径迪杰斯特拉(dijkstra)算法弗洛伊德(Floyd)算法拓扑排序
2024年01月16日
88 阅读
1 评论
1 点赞
2024-01-15
数据结构笔记
树二叉书满二叉树,完全二叉树森林多个树组成的哈夫曼树 一般地,设需要编码的字符集为{ du,dz,…,dn },各个字符在电文中出现的次数或频率集合为{wi,wz,…,wn},以di,dz,…,dn作为叶子结点,以wi,w2,…,wn作为相应叶子结点的权值来构造一棵赫夫曼树。规定赫夫曼树的左分支代表0,右分支代表1,则从根结点到叶子结点所经过的路径分支组成的0和1的序列便为该结点对应字符的编码,这就是赫夫曼编码。图
2024年01月15日
25 阅读
0 评论
1 点赞
2024-01-10
英语插本笔记
语法结构 句子的最基本结构是主谓结构,必须有主语和谓语主谓宾主语-谁发出的动作谓语-发出的动作宾语-谁接受动作主谓双宾I gave you duck neck.两个宾语-间件宾语(最先接受动作的)+直接宾语主谓宾宾补结构They call me duck neck.宾语补足语:为宾语补充说明主系表结构I am a mouse/rat(rat:大的老鼠,mouse:小的老鼠)谓语由系动词充当系动词-be动词(am are is),感官动词,保持类(keep/stat),变化类(become)非谓语一句话只能有一个动词充当谓语,剩下的所有的不作谓语的动词都要变成非谓语
2024年01月10日
70 阅读
0 评论
2 点赞
2023-05-16
chanel websocket笔记
简介WebSocket 是一种网络传输协议,可在单个 TCP 连接上进行全双工通信,位于 OSI 模型的应用层。WebSocket 协议在 2011 年由 IETF 标准化为 RFC 6455,后由 RFC 7936 补充规范。WebSocket 使得客户端和服务器之间的数据交换变得更加简单,允许服务端主动向客户端推送数据。在 WebSocket API 中,浏览器和服务器只需要完成一次握手,两者之间就可以创建持久性的连接,并进行双向数据传输。channelschannels是python进行socket的框架,使用redis.{alert type="warning"}需要安装包:channels,channles_redis{/alert}启动教程{timeline}{timeline-item color="#19be6b"}1.启动django项目,在setings.py中注册INSTALLED_APP中添加注册channels{/timeline-item}{timeline-item color="#ed4014"}2.在settingsz同级目录下创建`routing.py文件在里面定义通信通道,如以下内容 #routing.py中的内容{/timeline-item}{timeline-item color="skyblue"}3.修改项目的通信方式:默认为wsgi,而我们是asqi,在settings.py文件中添加如下内容ASGI_APPLICTION = "项目名.routing.application"{/timeline-item}{/timeline}
2023年05月16日
35 阅读
0 评论
1 点赞
2023-04-12
Django-restframework笔记
Django-restframework介绍 Django-restframewor是django的一个组件。用于api开发,方便前后端开发。接口实现规范采用:restful。还有一种规范是RPC.{card-describe color="red" title="请求方式"}POST :一般用于添加信息GET: 用于查询信息DELETE: 用于删除数据PUT: 修改一个字段的所有数据PATCH: 修改部分信息{/card-describe}RETSFULG规范 RESTful是一种专门为Web开发而定义API接口的设计风格,尤其适用前后端分离的应用模式中。 这种风格的理念认为前后端开发任务就是提供数据的对外提供的是数据资源的访问接口,所以在定义接口时,客户端访问的url路径就是这种要操作的数据资源。 而对于数据资源分别适用POST,GET,DELETE,UPDATE等请求动作来表达对数据的增删改查。restflu是通用的规范。不限制任何语言和开发框架的使用。{lamp/}django的CBV在django中用视图函数叫FBV,用类函数的叫CBV,类函数可以让代码看起来更加简洁。用起来也非常方便。一般用于对一个资源多种操作 views.py文件。# 类函数里面的名字是不能改的,是请求的名字 from django.views import View class Bookview(View): def get(self,request) return HttpResponse("get请求book") def post(self,request) return HttpResponse("post请求book") 进行post请求的时候,需要关闭防跨域请求中间件。urls.py文件中 urlpatterns = [ path("book/",views.Bookview.as_view()) ] {callout color="#09bfec"}当你发送的其他请求而返回get请求的时候,可能是你的地址写错了,少了一个/{/callout}
2023年04月12日
23 阅读
0 评论
2 点赞
2023-03-30
django项目配置大全
在我们创建django项目的时候,往往我们经常需要修改项目下的配置,但是这些我们又记不住,需要在网上寻找,这里将设置配置整理成起来方便以后使用.配置中文后台修改setting.py的下面的内容LANGUAGE_CODE = 'zh-hans' TIME_ZONE = 'Asia/shanghai'静态文件配置# 配置静态文件 setting.py STATIC_URL = '/static/' STATIC_ROOT = os.path.join(os.path.join(BASE_DIR, '/static/')) STATICFILES_DIRS = [ os.path.join(BASE_DIR, 'static') ] MEDIA_URL = '/media/' MEDIA_ROOT = os.path.join(BASE_DIR, 'media')设置静态文件路径在项目的urls.py下添加一下内容from django.conf import settings from django.conf.urls.static import static # 静态文件url urlpatterns += static(settings.STATIC_URL,document_root=settings.STATIC_ROOT) # 上创文件文件url urlpatterns += static(settings.MEDIA_URL,document_root=settings.MEDIA_ROOT)配置数据库# setting.py DATABASES = { 'default': { 'ENGINE': 'django.db.backends.mysql', # 数据库引擎 'NAME': 'blog', #数据库名 'USER':'root', # 数据库用户名 'PASSWORD':'kong1234,', #数据库密码 'HOST':'127.0.0.1', # 数据库地址 'PORT':'3306', # 数据库端口 } }
2023年03月30日
31 阅读
0 评论
2 点赞
2023-03-06
jupyter lab 远程部署
安装jupyterlab最好使用sudo 权限安装 jupyterlab,这样所有用户都能使用 jupyterlab,而且也不用下方的配置环境变量的步骤。sudo pip install jupyterlab配置变量如果出现bash: juypyter-lab: command not found,需要配置下环境变量方法1: 将用户目录用环境变量 ${HOME} 来代替了,这样就算是用户名不相同也不用替换直接执行下面的命令即可。 echo 'PATH=$PATH:'${HOME}'/.local/bin' | sudo tee -a /etc/profile 使用环境变量生效 $ source /etc/profile 方法二:(添加临时变量) export PATH="$HOME/.local/bin:$PATH"修改jupyterlab配置生成配置文件jupyter lab --generate-config创建修改访问密码输入下面的代码后,输入两次密码后会生产一个文件密钥jupyter lab password根据提示输入密码后,会生成另外一个配置文件~/.jupyter/jupyter_server_config.json,里面包含了经过加密的密码,如下所示:修改配置文件jupyter_lab_config.py中的相关变量在jupyter_lab_config.py中添加或者修改下面的内容,其中c.ServerApp.password是填写刚刚修改密码后生产的密钥c.ServerApp.ip = '*' # 允许访问ip c.ServerApp.allow_remote_access = False c.ServerApp.open_browser = False c.ExtensionApp.open_browser = False c.LabServerApp.open_browser = False c.ServerApp.password = 'argon2:$argon2id$v=19$m=10240,t=10,p=8$LlSzKhyztyp6J/1rql8zrw$VYmhQYBkkpPgWfckCyC0Uj0tZta8AEQyMLG3csWrAkk' # 将配置文件jupyter_server_config.json中的加密密码复制到这里 运行程序nohup:忽略hangup信号,防止终端关闭时程序退出nohup jupyter lab > jupyterlab.log 2>&1 &ubuntu 后台运行的几种方法!
2023年03月06日
32 阅读
1 评论
0 点赞
2022-12-21
linux大作业(DHCP部署)
项目要求{card-default label="具体要求如下" width=""}需要服务器, 中继服务器, 客户机服务器的网络ip为192.168.0.学号,为51为例,即为192.168.0.51客户机网段为192.168.10和192.168.20且提供给客户端的动态ip地址为192.168.0/10/20.101-192.168.0/10/20.151 (为学号+100){/card-default}项目实时前准备1. 配置环境(1) 需要三张网卡vm0:ip地址为192.168.0.51,网段为192.168.0.1vm1:网段为192.168.10.1vm2:网段为192.168.20.1添加方式为在vmware编辑中的 虚拟网络编辑器中,注意要选择仅主机模式和关闭软件自带的DHCP服务,如图配置(2) 需要4个linux系统centos服务器:分配的网卡为vm0centos中继服务器:作为软路由,分配网卡为vm0,vm1,vm2 - centos客户机1:作为测试机,测试网段为192.168.10,分配网卡vm1 - centos客户机2:作为测试机,测试网段为192.168.20,分配网卡vm2{alert type="warning"}centos服务器和centos中继服务器中需要安装DHCP,如果需要连接网络安装DHCP,则可以在服务器里再添加一个net模式的网卡{/alert}2. 开始搭建centos服务器配置安装dhcp如果你的设备可以连接外网的话,输入一下命令可安装dhcp,没有的话自行百度挂载光盘安装yum -y install dhcp配置服务器网络首先我们进入服务器网络配置的目录,/etc/sysconfig/network-scripts/这个目录下查看ifcfg-ens[序号],其中ens33为第一张网卡,(如果你没有连接外网的网卡,这在这个网卡下配置).如果找不到其他网卡文件,可以复制ens33这个文件后去进行修改,如以下修改,修改完成后重启下网络PROXY_METHOD="none" BOOTPROTO="static" NAME="ens37" DEVICE="ens37" ONBOOT="yes" IPADDR=192.168.0.51 # 服务器ip地址 GATEWAY=192.168.0.1 #服务器网关{message type="warning" content="其中ens后面的序号是你的网卡,可以使用ifconfig查看你的网卡名称"/}cd /etc/sysconfig/network-scripts/ # 进入目录 ls -al # 查看文件 cp ifcfg-ens33 ifcfg-en37 # 复制文件 vim ifcfg-en37 # systemctl restart network # 重启网络 ip a # 查看修改后的网卡信息如图:ens37的ip地址为我们修改后的ip地址修改DHCP配置配置文件在/etc/dhcp/dhcpd.conf,在这个文件里面添加以下内容之后,重启dhcp服务器,且查看运行状态 subnet 192.168.0.0 netmask 255.255.255.0 # 下发网段和子网掩码 { range 192.168.0.151 192.168.0.199; # 下发范围 option domain-name "yao-vm0.com"; # 下发域名 default-lease-time 600; # 默认租期 option routers 192.168.0.1; # 下发网关 } subnet 192.168.10.0 netmask 255.255.255.0 { range 192.168.10.151 192.168.10.199; option domain-name "yao-vm1.com"; default-lease-time 600; option routers 192.168.10.1; } subnet 192.168.20.0 netmask 255.255.255.0 { range 192.168.20.151 192.168.20.199; option domain-name "yao-vm2.com"; default-lease-time 600; option routers 192.168.20.1; }systemctl restart dhcpd # 重启DHCP systemctl status dhcpd # 查看运行状态centos中继服务器配置切换到centos中继服务器这里来进行配置修改网络配置这个虚拟系统的网卡添加如图:4个网卡,分别为连接外网,和vm0,vm1,vm2我们需要配置3个网卡的网络配置,配置和上面一样,首先我们输入 ip a查看网卡信息如下图;ems33为连接外网的网卡,ens39为vm0,ens37和ens38分别为vm1,vm2,修改完成后需要重启网络# vm0网卡配置 PROXY_METHOD="none" BOOTPROTO="static" NAME="ens39" DEVICE="ens39" ONBOOT="yes" IPADDR=192.168.0.1 # vm1网卡配置 PROXY_METHOD="none" BOOTPROTO="static" NAME="ens37" DEVICE="ens37" ONBOOT="yes" IPADDR=192.168.10.1 # vm2网卡配置 PROXY_METHOD="none" BOOTPROTO="static" NAME="ens38" DEVICE="ens38" ONBOOT="yes" IPADDR=192.168.20.1输入ip a查看修改后的网卡信息如下开启路由转发功能输入以下命令 echo net.ipv4.ip_forward=1 >> /etc/sysctl.conf之后在输入sysctl -p 如果出现以下结果则是成功开启DHCP中继服务dhcrelay 192.168.0.51 # 中继指向DHCP服务器验证判断中继服务器是否成功,可以在dhcp服务器上ping下你得分段网段,如果通了这是成功,可以在原本的window的终端输入ipconfig /all查看信息.ping 192.168.10.1 ping 192.168.20.1 如果不懂可以观看视频{bilibili bvid="BV1754y127Sf" page=""/}
2022年12月21日
179 阅读
2 评论
1 点赞
1
2