自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(46)
  • 问答 (1)
  • 收藏
  • 关注

原创 net/http 框架源码解读 - web

使用编写一个简单的web服务器, 定义了一个的处理函数,通过来将路由和进行绑定,最后通过ListenAndServe启动web服务,后面我将二、http.HandlFunc 源码解析 接受两个参数,第一个是路由地址,第二个是一个视图函数,该函数接受两个参数 ResponseWriter 和 *Request ,前者是用来处理http请求的响应,后者是用来处理http请求的参数。是一个结构体变量,真实的结构体是。有4个字段定义了一个方法,该方法就是将用户的路由地址和视图函数继续传递给Handle方法,

2024-03-15 00:24:38 1385 1

原创 Zookeeper 基础知识汇总

ZooKeeper 是⼀种分布式协调服务,⽤于管理⼤型主机。在分布式环境中协调和管理服务是 ⼀个复杂的过程。ZooKeeper 通过其简单的架构和 API 解决了这个问题。ZooKeeper 允许开 发⼈员专注于核⼼应⽤程序逻辑,⽽不必担⼼应⽤程序的分布式特性。zookeeper作为⾮常重要的分布式协调组件,需要进⾏集群部署,集群中会以⼀主多从的形式 进⾏部署。

2023-06-11 22:29:15 1052 1

原创 【打造家庭服务器系列03】Frp 实现内网穿透

最近这三篇实现了,从服务器部署到任意网络访问的过程。其他的自定义需求只需在服务器中操作即可后续打造家庭服务器系列暂时没想好,如果大家有什么想要实现的内容,可以在评论区或私信发给我哈。

2023-03-11 17:51:03 835 1

原创 【打造家庭服务器系列02】笔记本安装Ubuntu后的一些配置

但是我们不可能每次查看电池电量都输入这么一串命令,我们可以给这个命令设置一个别名,到时候直接输入别名就能查看。这一篇内容主要是对笔记本安装Ubuntu后遇到问题的记录,后续会持续更新。

2023-03-11 13:43:38 671

原创 【打造家庭服务器系列01】无桌面版Ubuntu 22.04 连接wifi

最近有一台笔记本一直放在哪没用了,就想着拿来做个服务器用吧。如何安装Ubuntu系统,大家可以百度搜索一下很多。

2023-03-11 00:25:39 4622

原创 Nginx 快速入门

在早期,用户访问量不大的时候,用户每次请求,nginx将服务器响应的数据返回给用户,当用户访问越来越多时,服后端务器开始处理不过来,此时我们可以配置多台服务器,当A服务器负载较高时,nginx将请求转发到B服务器来响应用户,这样就能保障用户访问时的快速响应。例如,晚高峰乘坐地铁的时候,入站口经常会有地铁工作人员大喇叭“请走 B 口,B 口人少车空…”,这个工作人员的作用就是负载均衡。

2022-11-19 23:54:20 2145 1

原创 语雀批量导出MarkDown文件

笔记写在语雀有时候总想本地再存储一份,但是一个个导出又太麻烦了。需要导出语雀的全部文件,并导出为markdown格式。

2022-11-06 23:51:15 8380 8

原创 Windows 平台部署前后端分离项目

因为公司业务主要与工业相关,工业使用的多数为Windows电脑,此时就需要将公司的系统部署在Windows平台上,这里使用Django来作为后端。

2022-10-23 15:55:25 2950

原创 Python 包管理工具 - poetry

Python的包管理一直算是个痛点,作为Python基金会官方钦定的Pipenv并不是太给力,反倒中途杀出的Poetry,让人眼前一亮。今天我们就快速入门一下Poetry。

2022-10-22 19:16:52 2386

原创 Python 装饰器进阶

上一篇文章介绍了装饰器的概念和基本使用,这篇我们来深入探索一下 python 的装饰器。

2022-10-15 18:03:08 491

原创 Python 实现主机存活探测(Ping)

当我们在一个可能会出现断网的环境,或者需要对主机进行实时存活检测时,就需要对主机发送ping信号来检测主机是否在线,注意有的内部网络会对ping命令进行一定的拦截,当发送的ICMP(ping)包达到一定的上限时会进行封禁或者拦截等。

2022-09-11 00:03:18 2556

原创 Python 实现动态解析阿里云DNS记录

最近有一个需求,公司内网的IP地址会发生变化,导致阿里云域名不能解析到新的IP地址,此时我们需要对阿里云的域名进行更新。

2022-09-10 23:36:17 1478

原创 Ubuntu20.04 KVM安装虚拟机

基于内核的虚拟机 Kernel-based Virtual Machine(KVM)是一种内建于 Linux® 中的开源虚拟化技术。具体而言,KVM 可帮助您将 Linux 转变为虚拟机监控程序,使主机计算机能够运行多个隔离的虚拟环境,即虚拟客户机或虚拟机(VM)。图1对比了几种主流虚拟化技术架构:,其主要差别在与各组件(CPU、内存、磁盘与网络IO)的虚拟化与调度管理实现组件有所不同。虚拟机中使用KVM如果你是在虚拟机中使用KVM,请在VMware中打开虚拟化设置VMware中宿主机建议配置2核2G以上。

2022-07-02 18:24:27 3574

原创 Ubuntu22.04 KubeSphere 安装K8S集群

Ubuntu22.04 KubeSphere搭建K8S集群修改/etc/ssh/sshd_config文件二、搭建K8s集群2.1 节点要求所有节点必须都能通过 访问。所有节点时间同步。所有节点都应使用 //2.3 下载KubeKey在master主机上先执行以下命令以确保您从正确的区域下载 KubeKey。在master主机上执行以下命令下载 KubeKey添加执行权限2.4 开始部署生成配置文件修改配置文件, 如果您不更改名称.

2022-07-02 16:04:11 2062

原创 Docker 基础入门

简单来说:​ 解决了运行环境和配置问题的软件容器,方便做持续集成并有助于整体发布的容器虚拟化技术。1、 简化程序Docker 让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的 Linux 机器上,便可 以实现虚拟化。Docker改变了虚拟化的方式,使开发者可以直接将自己的成果放入Docker中进行管理。方便快捷已经 是 Docker的最大优势,过去需要用数天乃至数周的 任务,在Docker容器的处理下,只需要数秒就能完成。2、 避免选择恐惧症如果你有选择恐惧症,还是资深患者。

2022-06-18 15:41:03 212

原创 Ubuntu 常见问题汇总【持续更新】

Ubuntu参见问题汇总

2022-06-17 21:39:06 3224

原创 Redis进阶(持久化、主从复制、哨兵)

​ 持久化是内存中的数据保存到硬盘上,持久化功能可以有效的避免因进程退出造成数据丢失的问题。本身支持和两种持久化方式。​ 持久化是把当前进程数据生成快照保存到硬盘的过程,触发RDB持久化过程分为:手动触发和自动触发手动触发执行该命令,会阻塞当前Redis服务器,直到当前进程中的数据存储到硬盘后则结束。若内存中存在较多的数据时,会造成服务器长时间阻塞,故线上环境不建议使用。该命令会使进程执行创建子进程,通过调用子进程去对当前中的数据进行存储,完成后自动结束。阻塞只发生在阶段,即创建子进程的这个过程。自动触发文

2022-06-03 20:40:03 416

原创 Redis 基础入门(介绍、安装、数据类型)

一、Redis简介1.1 简介Redis (Remote Dictionary Server)是完全开源的,遵守 BSD 协议,是一个高性能的 key-value 数据库。Redis 与其他 key - value 缓存产品有以下三个特点:Redis支持数据的持久化,可以将内存中的数据保存在磁盘中,重启的时候可以再次加载进行使用。Redis不仅仅支持简单的key-value类型的数据,同时还提供list,set,zset,hash等数据结构的存储。Redis支持数据的备份,即master-sl

2022-05-27 23:21:00 158

原创 Python 装饰器入门,实现简单用户登录认证

一、闭包是什么?在实现装饰器之前,我们需要了解闭包。闭包,为函数创建一块区域(内部变量供自己使用),为他以后执行提供数据。直接上代码:def wrapper() def inner(): print(1) return innerw = wrapper()print(w) w()-----------------------------<function wrapper.<locals>.inner at 0x000001E3E1F28160>1这段代

2022-04-26 12:05:27 1950

原创 Celery 基础入门,并实现异步发送邮件(一)

一、Celery 介绍Celery 是一款非常简单、灵活、可靠的分布式系统,可用于处理大量消息,并且提供了一整套操作此系统的一系列工具。Celery 是一款消息队列工具,可用于处理实时数据以及任务调度。1.1 什么是任务队列任务队列一般用于线程或计算机之间分配工作的一种机制。任务队列的输入是一个称为任务的工作单元,有专门的职程(Worker)进行不断的监视任务队列,进行执行新的任务工作。Celery 通过消息机制进行通信,通常使用中间人(Broker)作为客户端和职程(Worker)调节。启动一

2022-03-29 18:43:49 5500

原创 记录自己在写【后端】的sb日常

一、Django相关1. 在使用celery实现异步发送短信时,执行没反应的问题(1)问题描述最近在写一个验证码接口,使用QQ邮箱来发送邮件,在调用celery的delay方法后,task没有报错也没有任何输出信息,启动celery正常,也能接收到生产者发送过来的task 。启动界面详细,当我们产生一个任务发送邮件的任务时,celery能接收到任务celery接收后一直没有反应,日志也没有记录,redis中也没用存储执行结果(2)解决方法因为celery在windows平台运行无法开

2022-03-29 15:08:40 1690

原创 python 实现删除文件及文件重命名

一、需求我下载了一个文件,有一些不必要的文件,我想删除这些不必要的文件我想删除用户必读这个文件,同时把sql文件的前缀网站删除掉二、实现from json.tool import mainimport osimport reclass FileRemoveAndReName: def __init__(self): self.root_dir = r'C:\Users\RION\Desktop\task_config_pro' # 文件绝对路径 se

2022-03-22 12:06:54 1603

原创 爬取某家乐数据并部署到Linux ,实现自动爬取,定期发送邮件

一、selenium获取网站数据背景介绍这篇文章主要包含以下几个内容使用selenium进行网站登录签到并获取积分数据基于QQ邮箱发送邮件在linux安装google-chrome 和 selenium ,并上传代码到linux(centos 8)使用crontab 实现定时执行爬虫环境说明selenium 4.1.3python3.8.5CentOS 8默认已安装python解释器,selenium的使用方法和对应的浏览器驱动看我的另一篇文章:selenium知识大全-传送门

2022-03-20 02:26:37 2969

原创 Django 多方式实现跨域访问

一、什么是跨域1.1 跨越介绍跨域,是指浏览器不能执行其他网站的脚本。它是由浏览器的同源策略造成的,是浏览器对JavaScript实施的安全限制。 这里说明一下,无法跨域是浏览器对于用户安全的考虑,如果自己写个没有同源策略的浏览器,完全不用考虑跨域问题了。域可以理解为:协议 + 域名 + 端口号在前后端不分离的项目中,前端使用ajax发起请求时,前端发起请求的域与后端定义API的域一致,故不会存在跨域问题在前后端分离的项目中,前端使用ajax或者axios发起请求,前后端各自运行在自己的域下,所

2022-03-16 22:18:33 5770

原创 Vue 使用阿里图标库代替element icon

一、创建阿里图标库项目打开网址:https://www.iconfont.cn/ ,找到【我的项目】点击右侧文件夹【创建项目】填写【项目名称】,【FontClass】前缀填好后,后续使用icon图标时会使用该前缀,类似于element icon 写法二、图标加入项目找到你想要的图标,点击加入购物车点击网页顶部的购物车图标,把购物车中的所有图标加入到项目中三、下载图标文件,并添加到Vue项目点击【生成代码】,然后【下载文件】文件下载后的目录结构,并删掉多余的文件

2022-03-15 09:00:34 1699 4

原创 记录自己在写【前端】代码中的sb日常

一、Vue 相关1. vue-router 忘记在main.js 中挂载,导致无法显示内容以为组件书写错误了,或者是router/index.js 书写错误,凸(艹皿艹 )报错vue.runtime.esm.js?2b0e:619 [Vue warn]: Unknown custom element: <router-view> - did you register the component correctly? For recursive components, make sur

2022-03-13 17:07:05 1606 1

原创 JWT 快速入门,并实现登录认证

一、JWT 简介jwt(JSON Web Tokens),是一种开发的行业标准RFC 7519 ,用于安全的表示双方之间的声明。目前,jwt广泛应用在系统的用户认证方面,特别是现在前后端分离项目。1.1 Jwt认证流程前端用户填写好用户名和密码,点击登录后端对提交的用户名和密码进行校验,校验通过则发送token给前端前端将token保存在cookie中,并在每一次请求时都将cookie一并发送给后端后端对用户发送过来的token进行校验,并通过token识别是哪个用户。1.2 sessio

2022-03-10 12:34:37 4079

原创 Vue基础知识大全

一、Vue 介绍Vue (读音 /vjuː/,类似于 view) 是一套用于构建用户界面的渐进式框架。与其它大型框架不同的是,Vue 被设计为可以自底向上逐层应用。Vue 的核心库只关注视图层,不仅易于上手,还便于与第三方库或既有项目整合。另一方面,当与现代化的工具链以及各种支持类库结合使用时,Vue 也完全能够为复杂的单页应用提供驱动。1.1 MVVM二、安装Vue2.1 使用CDN引入对于制作原型或学习,你可以这样使用最新版本:<script src="https://cdn.jsde

2022-02-24 11:57:49 1468

原创 flex 布局基础入门

一、flex 布局基础1.1 flex 布局与传统布局优缺点传统布局flex布局兼容性好操作方便,布局简单,移动端应用广泛布局繁琐PC端浏览器支持1.2 flex 布局原理1. 概述flex 是 flexible Box 的缩写,意为"弹性布局", 用来为盒状模型提供最大的灵活性,任何一个容器都可以指定为 flex 布局。 Flex弹性盒模型的优势在于只需声明布局应该具有的⾏为,⽽不需要给出具体的实现⽅式,浏览器负责完成实际布局,当布局涉及到不定宽度

2022-02-19 20:27:45 498

原创 阿里云服务器配置Jupyter

1. 设置阿里云主机名初始化的阿里云ECS是没有Python开发环境的,为了使用Jupyter等工具,需要对ECS进行初始化配置。若无特殊说明,下文中的所有命令都是在Centos8命令行中使用,其他linux环境差异不大。hostnamectl set-hostname {NAME} # 修改主机名称为{NAME}bash # 刷新终端2. 安装Python3.8.5# 安装依赖包yum install -y zlib-devel bzip2-devel openssl-devel n

2021-12-06 15:03:52 2024

原创 psutil模块—获取硬件资源数据,如CPU,GPU,内存,磁盘等

我们将使用psutil来获取电脑硬件资源数据1. psutil介绍安装psutil模块pip install psutil如果下载过慢,可以使用豆瓣源进行下载pip install psutil -i http://pypi.douban.com/simple --trusted-host pypi.douban.com-i 表示要用豆瓣下载源进行下载--trusted-host 表示信任主机2. 获取CPU信息import winreg # winreg 是注册表控制模块impo

2021-08-07 03:07:22 3042

原创 CentOS基础系列八 :搭建Samba服务(详细图解)

一、Samba服务介绍SMB(Server Messge Block)协议是实现网络上不同类型计算机之间文件和打印机共享服务的协议。工作原理:让NetBIOS协议与SMB协议运行在TCP/IP之上,并且利用NetBIOS的名字解释功能让linux计算机与Windows计算机可以互相识别,从而实现linux与Windows之间互相访问共享文件和打印机的功能。结构拓扑图:二、Samba服务安装操作前记得把防火墙和selinux关闭哦Samba 软件包安装yum install sambaS

2021-05-23 22:09:27 1114

原创 Python 数据存储,实现数据写入TXT、Json、Excel、数据库(Mysql、MongoDB、SQL Server)

一、文件存储1.1 TXT 文件存储方式1fp = open(filename,mode,encoding) 方法用于打开一个文件,并返回文件对象fp.函数方法() 调用函数方法fp.close() 关闭文件fp = open('model_two.txt',mode='a',encoding='utf-8')fp.read()fp.write('123')fp.readline()# fp.seek(偏移量,[起始位置]) # 偏移量: 单位为字节,可正可负 # 起始位置: 0

2021-05-15 15:15:34 1651

原创 selenium 知识大全

1、安装seleniumpip intall selenium注意: 使用该模块时需要下载驱动,注意驱动版本与浏览器版本需要一致Chrome驱动下载地址:http://chromedriver.storage.googleapis.com/index.html火狐驱动下载地址:http://ftp.mozilla.org/pub/firefox/releases/基本使用from selenium import webdriverdriver = webdriver.Chrome(驱动路

2021-04-29 16:55:39 1223

原创 CentOS基础系列七 :搭建DHCP服务(详细图解)

一、DHCP服务介绍DHCP(Dynamic Host Configuration Protocol,动态主机配置协议)是基于客户机/服务器模式的一个简化主机IP地址分配管理的TCP/IP标准协议。DHCP服务用于向计算机自动提供IP地址、子网掩码和路由信息。目的在于减轻TCP/IP网络的规划、管理和维护的负担,解决IP地址空间缺乏问题DHCP是一个基于广播的协议,它由BOOTP(BOOTSTRAP PROTOCOL,自举协议)发展而来,分为服务器端和客户端两部分。DHCP租约提供了自动在TCP/IP网

2021-04-24 21:10:33 1681

原创 虚拟机安装windows xp系统时,找不到网络连接

今天安装了在虚拟机中安装了window xp系统,然后打算配置一下网络,发现网络连接不见了。第一反应可能是没有网络设备器,在虚拟机中设置查看发现有网络设备器然后在设备管理器中查看也发现了网络适配器这时我很疑惑为啥会没有呢,然后我又去把虚拟机网络连接模式换了换,发现还是没有。最后想到可能是网络连接服务没打开。在cmd中输入services.msc ,找到了下面这2个选项设置启动。过一会儿,我们发现有网络连接了。...

2021-04-24 20:19:18 4867 3

原创 CentOS基础系列六 :搭建DNS服务(详细图解)

一、DNS服务介绍DNS(Domain Name Server,域名服务器)是为了便于访问Internet而采用的一种分布式的域名→IP地址的映射查询和管理方法。用户在不知道主机IP地址而只知道主机域名的情况下,也可以轻松访问服务器,这就是DNS的功劳,DNS 协议运行在 UDP 协议之上,使用端口号 53。二、安装DNS服务2.1 安装DNS服务yum install bind # dns服务软件yum install bind-chroot # dns服务的安全保护软件yum inst

2021-04-23 22:21:07 3274

原创 CentOS基础系列五 :搭建FTP服务(详细图解)

一、FTP服务介绍FTP ( File Transfer Protocol,文件传输服务)服务是一种专门用于文件传输的服务,该服务使用的是文件传输协议,使用该服务将极大地方便文件的传输与管理。其最主要的功能是在服务器端与客户端之间进行文件的传输。FTP是以TCP封包的模式来进行服务器与客户端之间的连接的,当连接建立后,用户便可以在客户端连接FTP服务器来进行文件的上传与下载,同时也可以直接管理用户在FTP服务器上的文件。1. 工作原理FTP是基于客户端/服务器模式的,其工作原理如下(1)客户端向服务

2021-04-22 19:34:27 2952

原创 CentOS基础系列四 :配置SSH服务以及Xshell远程工具使用

一、SSH服务1.1 SSH介绍SSH是Secure Shell Protocol的简写,由IETF国际互联网工程任务组制定。在进行数据传输之前,SSH先对联机数据包通过加密技术进行加密处理,加密后再进行数据传输,以确保传输数据安全。SSH是专为远程登录会话和其他网络服务提供的安全性协议。利用SSH协议可以有效地防止远程管理过程中的数据信息泄露问题,在当前的生产环境运维工作中,几乎99%的企业普遍采用SSH协议服务来代替传统的不安全的远程联机服务软件,如telnet(23端口,非加密连接)等。小结

2021-04-21 22:26:18 764

原创 CentOS基础系列三 :实现虚拟机端口转发与配置静态IP

一、虚拟机实现端口映射1 虚拟机网络模式介绍VMWare支持三种类型的网络:NAT, Bridged, Host-only,自定义和 lan区段。NAT这种方式下,虚拟机的网卡连接到宿主的VMnet8上。此时系统的VMWare NAT Service服务就充当了路由器的作用,负责将虚拟机发到VMnet8的包进行地址转换之后发到实际的网络上,再将实际网络上返回的包进行地址转换后通过VMnet8发送给虚拟机。VMWare DHCP Service负责为虚拟机提供DHCP服务。Bridged这

2021-04-21 15:06:21 1153

空空如也

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

TA关注的人

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