自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(83)
  • 资源 (2)
  • 收藏
  • 关注

原创 docker网络功能介绍

例如:启动docker服务时,同时使用–icc=flase与–iptables=true(允许docker自动修改iptables规则),之后再用–link=CONTAINER_NAME:ALTAS 启动容器,docker则会分别在两个容器中分别添加一条iptables规则。当创建容器时,会同时创建一对veth pair互联端口(容器内:eth0,宿主机docker0网桥:veth XXX),当向任意一个端口发送包时,另一个端口也自动接收相同的包。通过这种形式实现宿主机2容器,容器2容器实现互相通信。

2024-06-29 22:30:48 1122 1

原创 闭包和装饰器

定义装饰器def aa(f):print("我是aa")f()print("我是bb")# 使用装饰器@aadef cc():print("我是cc")c = cc()

2024-02-21 14:08:47 446

原创 git 使用详解

有些时候我们不想吧某些文件纳入版本控制,可在主目录下创建.gitignore文件。执行完后,文件路径会出现一个.git目录。刚新建完的文件,没被跟踪。

2024-02-18 14:29:04 436

原创 Mysql 流程控制语法使用

【代码】Mysql 流程控制语法使用。

2024-02-18 14:22:17 422

原创 迭代器和生成器

由于a = [1,2,33,4,5,6,77,8] 已经是个列表,列表里面本身已经存在迭代器而自己定义的class类对象里,里面没有迭代器,因此需要__iter__ 与 __next__,当我们使用 iter()与next()时会自动调用该类的__iter__ 与 __next__

2024-02-07 16:16:10 455

原创 Class 类

此时会报错找不到这个__change_age方法,该方法是私有方法,只能被类里面的其他方法调用,例如change_age_new。此时小白的年龄会被改动,为了防止这种在外部改动的方法,我们可以使用私有属性,__xxx ,定义对象时在前面加上两个_即可,则可以通过班级类查看学生类下信息,person.name实际调用的是student类中的self.name属性。例如 有一个班级叫 room3-2 ,班里有 张三、李四、王五、郑六四位学生,班级与学生存在关联关系。类变量可以被外部调用并改动值。

2024-02-05 17:17:14 388

原创 安装与部署Hadoop

配置DataNode 从节点,以此告诉集群有多少个节点。均在 /hadoop/etc/hadoop 目录下。后续hadoop程序用hadoop用户启动。关闭防火墙,关闭selinux。配置Hadoop相关环境变量。Hadoop 核心配置文件。HDFS 核心配置文件。Hadoop可以选择。

2023-12-30 22:32:59 672

原创 linux奇技淫巧

1、将文件夹下文件批量改名。

2023-12-28 20:33:58 402

原创 redis集群搭建详解

负责监控主从Redis实例,当主实例出现故障时,哨兵会选举新的主实例,从而保证系统的持续可用性。master宕机后,哨兵1会去检测,此时仅是哨兵1主观认为master不可用(主观下线),当哨兵2、3也检测到不可用时,并且当数量达到一定的值,哨兵们会进行投票,投票结果由其中一个哨兵发起故障转移切换master操作,切换成功后,就会发布订阅模式让各个哨兵吧自己监控的slave实现切换主机(客观下线)此时可以看到:认主成功,且在master节点可以看到slave节点信息,此时,主从配置完成。

2023-12-14 14:51:36 628

原创 redis配置介绍

如果文件被修改错位或其他问题,会导致redis启动失败,此时可以使用redis-check-aof修复,命令redis-check-aof --fix appendonly.aof。redis发布订阅是一种消息通信模式:发送者(pub)发送消息,订阅者(sub)接受消息;使用场景:1、实时聊天群2、实时消息系统3、订阅、关注系统,稍微复杂的一般使用mq。redis是内存数据库,如果不将内存中的数据库状态保存到磁盘中,服务器因某些情况导致进程退出,则服务器中的数据库状态也会消失。对数据完整性要求不够高。

2023-12-05 14:02:13 1050

原创 linux安装部署redis

备份配置文件:cp redis.conf redis.conf.bak。默认安装路径: /usr/local/bin。

2023-11-27 15:19:57 616

原创 redis使用

redis 命令大全:http://www.redis.cn/commands.html。

2023-11-24 11:27:17 1332

原创 linux安装python3.x版本

官网版本地址:https://www.python.org/ftp/python/

2023-09-18 14:54:14 141

原创 Linux文本三剑客

而awk比较倾向于将一行分成多个 “ 字段 ” 然后再进行处理。awk信息的读入也是逐行读取的,执行结果可以通过print的功能将字段数据打印显示。在使用awk命令的过程中,可以使用逻辑操作符。逐行读取文本,默认以空格或tab键为分割符进行分割,将分割所得的各个字段,保存到内建变量中,并按模式或或条件执行编辑命令。如果没有定义匹配条件,则是默认匹配所有数据行,awk隐含循环,条件匹配多少次,动作就会执行多少次。当读到第一行时,匹配条件,然后执行指定动作,在接着读取第二行数据处理,不会默认输出。

2023-08-23 18:55:37 517

原创 字体反爬破解

通过观察可以得出:网页显示后四位与xml中的code值后四位一样,对应的name值看起来也是unicode编码,也是拿后四位去验证。xml中的name值:uni5DE5 uni7A0B uni5E08。一般常见的为:ttf、eot、otf、woff、svg,可以使用。xml中的code值:0xed53 0xea63 0xe4e5。这里判断正确无误,底层通过css转换就是这个文件的文字。关闭对应的css样式可以看到,确实是做了字体反爬。例如 这里python工程师。网页显示:  。

2023-07-18 00:23:09 1751

原创 requests 模块详解

由于HTTP是一个无状态的协议,这个无状态就会导致浏览器第二次请求服务的时候,服务器不清楚它第一次请求时的身份,为了能让服务器区分发起请求的是谁,在第一次请求成功后,服务器会给浏览器生成一个值(存储在用户的本地计算机上),这个值就叫cookie,浏览器每一次请求,都会在请求头中携带这个值让服务器判断,有 则为“老用户”,没有 则为“新用户”当用户第一次访问应用程序时,服务器会为该用户创建一个唯一的会话标识符,并将该标识符存储在 Cookie 中,然后将其发送回客户端。使用cookie进行提交。

2023-07-10 18:46:43 238

原创 socket 网络编程

socket UDP1、单播收发数据测试2、广播发送TCP1、收发数据测试2、TCP 服务端Socket是两个程序之间的双向通信链路。它是一种网络通信协议,用于不同计算机之间的进程间通信或同一计算机内部进程之间的通信。import sockets = socket.socket(AddressFamily, Type) # 创建socket套接字对象# Address Family:可以选择 AF_INET(用于 Internet 进程间通信) 或者 AF_UNIX(用于同一台机器进程间通信),实

2023-07-02 16:20:02 322

原创 python 多任务详解

import threading # 导入线程包 class C_1(threading . Thread) : # 自定义 并继承threading.Thread类 def run(self) : # 添加run()方法,start()自动调用该方法 pass thread_1 = C_1() thread_1 . start() # 此处调用thread_1.run()方法并不能生成线程。

2023-06-27 19:51:56 728

原创 logging日志使用

logging 是 Python 标准库中的一个模块,用于记录应用程序的事件和状态信息,可以将日志消息发送到控制台、文件、网络等不同目标。日志级别:DEBUG -> INFO -> WARNING -> IERROR -> ICRITICAL(从低到高)只有高于WARNING 级别的日志可以输出。日志输出到控制台+文件。

2023-06-25 20:31:37 116

原创 pandas

方法描述取对应列选择对应列 / 索引以a开头列名有Q的行df.axes返回一个列内容和行内容组成的列表返回前默认5行 / 后默认5行 / 随机1行 / 前3行返回0,5,10行 / 返回cloName1 2 前5行 / 返回cloName1=89的行返回cloName1 > 90的所有行df.shape返回 一个 (行数,列数) 的元组若该列数据类型为int,则可以计算该列平均值对数据进行广播式加/减/乘/除去重将x-y行以外数据剔除选择 / 排除 int类型数据替换数据。

2023-06-06 14:24:29 350

原创 mysql 主从同步

发现错误:Last_IO_Error: Fatal error: The slave I/O thread stops because master and slave have equal MySQL server UUIDs;修改 /var/lib/mysql/auto.cnf 使主从不一样即可,重启服务。新路径已修改为 /var/lib/mysql/new_bin。在 master 与 slave 节点创建数据库。在 master 节点新建同步账号。master 节点信息。

2023-05-27 17:28:17 1301

原创 python 虚拟环境

Anaconda提供了包管理与环境管理的功能,可以很方便地解决多版本Python并存、切换以及各种第三方包安装问题。点击运行打开http://localhost:8888/即可。安装完自带 Jupyter Notebook。

2023-05-18 16:43:00 95

原创 mysql 日志详解

即sql执行查询语句时间较长的日志记录,通过慢查询日志,可以找出执行时间较长、执行效率较低的语句,然后进行优化。二进制日志还包含关于每个更新数据库的语句的执行时间信息,它不包含没有修改任何数据的语句。记录用户操作日志,包括启动和关闭服务、执行查询和更新语句等。mysql启动、运行与停止时发生错误的相关日志信息记录。使用二进制日志文件恢复数据库。暂停与开启记录二进制日志。查看二进制日志文件内容。

2023-05-11 14:54:22 273

原创 导出/入表数据

同时生成两个文件,txt文件即为所导出数据文件。

2023-05-09 19:17:59 612

原创 mysql 备份/恢复数据

③ 使用mysqldump 命令备份数据。登录进去mysql服务内执行。

2023-05-06 18:37:41 75

原创 mysql权限设置

② 插入user表新增用户。

2023-05-05 14:26:36 600

原创 Mysql 视图

【代码】Mysql 视图。

2023-04-24 20:18:28 64

原创 mysql 索引详解

空间索引是对空间数据类型的字段建立的索引,MySQL中的空间数据类型有4种,分别是GEOMETRY、POINT、LINESTRING和POLYGON。索引是一个单独存储在磁盘上的数据库结构,使用索引可以快速找出在某个或多个列中有一特定值的行,提高查询速度。(2)索引需要占磁盘空间,除了数据表占数据空间之外,每一个索引还要占一定的物理空间,如果有大量的索引,索引文件可能比数据文件更快达到最大文件尺寸。组合索引是指在表的多个字段组合上创建的索引,只有在查询条件中使用了这些字段的左边字段时,索引才会被使用。

2023-04-10 16:49:32 303

原创 mysql数据类型介绍

mysql数据类型介绍

2023-03-15 21:11:26 392

原创 python datetime时间模块

python datetime 时间模块

2022-08-22 15:02:49 272

原创 SQL奇技淫巧

查看数据库版本select version();查看当前用户连接数select connection_id();查看当前用户连接信息show processlist;含义用途Idconnection_idUser当前用户Host显示这个语句从那个ip的哪个端口发出,用于追踪问题语句用户db显示目前连接哪个数据库Command显示当前连接执行命令,一般取值为休眠(Sleep),查询(Query),连接 (Connect).

2021-12-25 23:47:27 488

原创 SQL常见运算符

算数运算符运算符加+减-乘*除/求余%比较运算符运算符作用=等于,相等返回值为1,否则返回值为0,1个或2个null返回null,string与int比较则string自动转int<=>安全等于,与=的区别是,两个同时为null时返回1,当一个为null,返回值为0<>(!=)不等于,相等返回值为0,不相等返回值为1<=小于等于,如果小于等于则返回值为1,否则返.

2021-12-25 20:35:46 2372

原创 操作数据表

创建数据表-- create table < 表名 >;create table test_table查看数据表use test_db;show tables; -- 查看该库下所有表desc < 表名 >; -- 查看表字段信息show create table < 表名 >\G -- 查看建表信息使用主键约束要求主键的数据唯一且不允许为空-- 字段名 数据类型 primary keycreate table test_table..

2021-12-02 23:25:47 144

原创 CentOS8安装Mysql

1、下载tar包https://downloads.mysql.com/archives/community/# 下载服务端wget https://downloads.mysql.com/archives/get/p/23/file/mysql-community-server-8.0.26-1.el8.x86_64.rpm# 下载客户端wget https://downloads.mysql.com/archives/get/p/23/file/mysql-community-client-8

2021-11-30 00:32:37 1087

原创 python whl包下载地址

https://www.lfd.uci.edu/~gohlke/pythonlibs/

2021-10-28 22:03:54 5395

原创 form表单

form.py表单的作用是收集用户数据信息的集合,实现网页的交互<form></form>组成:① action,用于设置用户提交的表单数据应由哪个路由接受和处理② method,设置表单的提交方式,GET/POST③ <input>,用户信息输入框,类型使用 type 设置输入框类型④ <input>,用户信息提交按钮models.pyfrom django.db import models# Create your models

2021-07-25 18:40:03 113

原创 Django实现对数据库的增删改查

直接上代码def show_user(request): dict={} if request.POST: if 'add' in request.POST: id = request.POST['id'] name = request.POST['name'] age = request.POST['age'] sex = request.POST['sex']

2021-06-27 23:53:27 2421 1

原创 models.py模型

from django.db import models# Create your models here.class UserInfo(models.Model): id = models.AutoField('id', primary_key=True) userName = models.CharField('姓名', max_length=20, null=False) loginNum = models.IntegerField('登录账号') userPa

2021-06-26 00:10:52 480

原创 Django-views.py中render函数详解

从 HttpResponse 函数可观察出如果要生成网页内容需要将HTML语言以字符串形式传入,

2021-06-06 18:04:58 1206

原创 Django-reverse与resolve函数

Django的反向解析的reverse与resolve函数实现- reverse 通过路由命名或可调用的视图对象来生成路由地址 from django.shortcuts import render,reverse 引入reverse- resolve 通过路由地址获取路由对象的信息 from django.urls import resolve 引入resolve 需要在reverse的基础上使用resolve下面放例子1、项目列表与项目的 urls.py2、两个App的 urls

2021-06-01 23:59:02 907 2

windows网络调试助手文件

windows网络调试助手,可以用来测tcp与udp

2023-07-03

springboot.7z

教学源码

2021-06-09

ImagesBy360.zip

The Zen of Python, by Tim Peters Beautiful is better than ugly. Explicit is better than implicit. Simple is better than complex. Complex is better than complicated. Flat is better than nested. Sparse is better than dense. Readability counts. Special cases aren't special enough to break the rules. Although practicality beats purity. Errors should never pass silently. Unless explicitly silenced. In the face of ambiguity, refuse the temptation to guess. There should be one-- and preferably only one --obvious way to do it. Although that way may not be obvious at first unless you're Dutch. Now is better than never. Although never is often better than *right* now. If the implementation is hard to explain, it's a bad idea. If the implementation is easy to explain, it may be a good idea. Namespaces are one honking great idea -- let's do more of those!

2020-03-12

空空如也

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

TA关注的人

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