自定义博客皮肤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)
  • 收藏
  • 关注

原创 mysql函数 last_insert_id()

先看官方文档的解释LAST_INSERT_ID()返回一个无符号的BIGINT类型值,表示对一个自增的列插入数据时第一个自动生成的值,受最近执行的一条插入语句的影响。如果没有新行成功插入,函数的返回值不变。以下为各种情况下的测试:先创建三个测试表。一个表仅可有一个自增列,且该自增列必须是索引。

2024-07-10 13:56:23 321

原创 python反向切片的索引值

反向切片中,切片的开始和结束值,和正向切片的区间刚好反过来。创建列表,逆序取数设置结束值为5,逆序取数。结果不是5个,而是20-6=14个>>>再把开始值写0,取不到数据。[]测试了几次,发现逆序取数时,切片的开始端点和结束端点需要反着写,即切片的开始值需要大于结束值。不写开始值的时候,正序切片默认开始值为0,结束值为序列长度;逆序切片默认开始值为-1,结束值为-序列长度-1。上面第二行的测试结果,开始值为-1,结束值为5,开始值要小于结束值。上面的说法更准确的表达是,将两个值所在坐标轴的零点。

2024-06-28 23:33:34 171

原创 note-网络是怎样连接的6 请求到达服务器,响应返回浏览器

在读取文件时,需要先查询虚拟目录与实际目录的对应关系,并将URI转换成实际的文件名,才能读取并返回数据。accept接受到客户端的包时,协议栈会给等待连接的套接字复制一个副本,并把连接对象等控制信息写到新的套接字中。Web服务器还会返回一些应用程序的数据,浏览器会调用相应的程序,或者是自身的插件。浏览器收到该消息,会弹出输入用户名和密码的窗口,用户输入用户名和密码后,浏览器把这些消息放入请求消息中重新发给服务器。客户端发起连接时,该模块恢复运行,并接受连接,启动客户端通信模块,并移交完成连接的套接字。

2024-06-28 18:37:38 1043

原创 note-网络是怎样连接的5 服务器端的局域网

虽然可以筛选一些主要的运营商进行签约,减少缓存服务器部署的数量,但是和运营商签约和部署这些服务器仍然很耗精力和费用,因此出现了专门从事相关服务的厂商,这种服务即内容分发服务,提供这种服务器的厂商称为CDSP。也和Web服务器运营者签约,使缓存服务器配合Web服务器的工作。代理介于Web服务器和客户端之间,将Web服务器访问中转,并把Web服务器返回的数据保存在磁盘中,并代替Web服务器把磁盘的数据返回给客户端。提升服务器的性能带来的改善是有限的,最好的办法是增加多台服务器,把访问量分配到各个服务器上。

2024-06-14 16:55:09 721

原创 note-网络是怎样连接的4 接入网和网络运营商

在BAS和运营商路由器之间的ADSL/FTTH接入服务商的网络中建立隧道,把用户到BAS的接入网连接起来,形成一条从用户一直到运营商路由器的通道。这些状况不是稳定出现的。一方路由器让相连的运营商的路由器告知路由信息后,就能知道对方路由器连接的所有网络,把这些信息写入自己的路由表中,就能向那些网络发送包了。运营商之间的路由交换是在特定路由器间一对一进行的,运营商可以只将路由信息提供给交了费的运营商,没交费的运营商无法将网络包发送过来。Modem产生的信号是以一定周期振动的波,振动的起始位置不同,波形就不同。

2024-05-29 18:06:02 474

原创 note-网络是怎样连接的3 集线器、交换机和路由器

包被转发到互联网时,地址转换设备会随机选择一个空闲端口,然后把包的私有地址改为转换设备接入互联网的公有地址,端口号改为随机选到的端口号。噪声的电流和信号混杂在一起,就导致信号的波形失真。由于路由器的端口有很多种,而不同线路和网络类型可传输的最大包长度不同,因此输入端的最大包的长度可能会小于输出端,或者在添加头部数据后,包的实际长度超过。路由器的端口有各自的MAC地址和IP地址,可以改写包的头部信息,从而成为包的接受方和发送方。和网卡不同的是,交换机的MAC模块没有MAC地址,会接收所有的包并存到缓冲区中。

2024-05-21 13:12:22 648

原创 note-网络是怎样连接的2 协议栈和网卡

FCS校验正确后,如果MAC头部中接收方的MAC地址和网卡初始化时分配的MAC地址一致,MAC模块就把包放到缓冲区中。应用程序交给协议栈发送的数据的长度是应用程序决定的,有的应用程序会一次性传递所有数据,有的会逐字节或逐行传递数据。TCP模块根据IP头部的接收方和发送方IP地址,以及TCP头部的接收方和发送方端口号找到对应的套接字,执行后续的操作。MAC模块会把处理完的网络包转换为通用的电信号交给网卡的PHY(MAU)模块,PHY把信号转换为可在网线中传输的格式,然后通过网线发出去。

2024-05-21 12:10:30 510

原创 note-网络是怎样连接的1 浏览器内部

下级域的DNS服务器的IP地址都会注册到他们的上级DNS服务器中,上级DNS服务器的IP地址再注册到更上一级的DNS服务器。最近的DNS又向根域的下一级DNS服务器发出查询请求,下一级DNS找不到域名,会再返回下下级的DNS服务器的IP,以此类推,直到找到目标DNS服务器,得到所查询域名的IP地址,返回给客户端。根域中也找不到该域名,但是能判断出域名属于根域下的哪一个域,根域DNS把这个下一级DNS的IP地址返回给离客户端最近的DNS服务器。根域DNS的地址在所有的DNS服务器都有保存。

2024-05-21 11:55:17 1048

原创 使用shell命令批量给文件名加前缀

shell命令批量给文件名加前缀

2024-01-05 15:15:11 675

原创 Python操作mysql出错 pymysql.err.ProgrammingError: (1064

pymysql的execute在执行sql的过程中,会先把转义字符解析一层,然后再转给MySQL(把sql2转为sql1的状态)。所以传给execute的sql语句需要在可执行的sql上额外再加一层转义。sql1是直接在MySQL控制台可以成功执行。想将反斜线结尾的字符串插入数据库。

2023-07-28 11:50:08 737

原创 使用python按百分比占用CPU资源

python sleep

2023-04-03 17:47:37 380

原创 note-Linux大棚命令百篇6 系统管理篇

Linux大棚命令百篇 shell命令

2023-03-28 12:52:36 127

原创 note-Linux大棚命令百篇5 进程和性能篇

Linux大棚命令百篇、shell命令

2023-03-27 16:00:33 122

原创 note-Linux大棚命令百篇4 网络篇

Linux大棚命令百篇,shell命令

2023-03-23 15:59:44 177

原创 note-Linux大棚命令百篇2 文件和磁盘篇

Linux大棚命令百篇,shell命令

2023-03-23 15:54:54 96

原创 note-Linux大棚命令百篇3 文本处理篇

shell命令,Linux大棚命令百篇

2023-03-23 15:52:15 140

原创 note-Linux大棚命令百篇1 Shell基础及工具篇

shell基础,linux大棚命令百篇

2023-03-23 15:50:57 86

原创 测试记录-MySQL复合索引与单索引的比较

MySQL复合索引和单索引比较

2023-03-10 11:53:29 61

原创 二、Django 命令

Django创建项目和启动项目的命令

2022-10-26 11:24:36 427

原创 一、基础知识

学习Django框架前,可以先了解一些背景知识。

2022-10-26 11:23:14 285

原创 note-Redis实战-第二部分 核心

3章 Redis命令常用命令 排序命令 基本事务命令 过期时间命令3.1 字符串字符串可以存储字节串、整数、浮点数。自增自减命令存到字符串的值,如果能被解释为整数或浮点数,Redis会允许进行增减操作。incr/decr key_name使键值增加 / 减小1incrby/decrby key_name integer_value使键值增加 / 减小指定整数incrbyfloat key_name float_value使键值增加指定的浮点数在操作无法解释为数值或范围过大的键时

2022-03-29 19:06:27 454

原创 note-Redis实战-第一部分 入门

第一部分 入门1章 初识Redis1.1 Redis简介1.2 Redis数据结构1.3 Redis实现文章投票网站2章 使用Redis构建Web应用2.1 登录和cookie缓存2.2 使用Redis实现购物车2.3 网页缓存2.4 数据行缓存2.5 网页分析

2022-03-29 13:18:14 1297

原创 MySQL多表数据整合遇到的问题

需求背景HDFS的一张表需要在MySQL这边创建新的主键并对原有的主键进行去重处理。之前已经把HDFS的数据使用load的方式导到MySQL这边。当时图快,就导到了没有主键和索引的40多张表里。导完以后每个表建了索引(因为有重复值,所以只是辅助索引)。现在要把这些表的索引字段取出来,然后在另一张表里完成创建新的主键和去重的操作。MySQL版本8.0,服务器4核8G,SQL语句执行时CPU占用100%-200%之间,innodb缓存区给了512M。SQL语句如下,40多张表依次进行,每次操作10万条

2021-05-24 11:31:26 201

原创 gitlab升级后postgresql文件版本不匹配

想往服务器上安装MySQL,按网上查的安装命令执行了 yum update后,服务器上的所有包都跟着升级了。当前服务器上只有gitlab在运行,升级到13.1后访问不了了,页面502。sodu gitlab-ctl status 查看各个插件的运行状态,发现postgresql是down的状态,sudo gitlab-ctl tail postgresql 查看postgresql的日志,发现报错:The data directory was initialized by PostgreSQL ver

2021-05-01 17:39:52 2413

原创 pyspark insert overwrite select遇到的两个问题

insert overwrite directory '/id1_id2_num'row format delimited fields terminated by ','select substr(str_id1, 4), substr(str_id2, 4), numfrom someids在 hue 执行没问题,但是 spark-submit 提交任务执行就会出错如下,原因未知。Caused by: org.apache.spark.SparkException: Job aborted

2021-04-12 23:45:38 1019

原创 python动态创建MySQL分区

创建LIST分区表:CREATE TABLE `partitioned` (`id` int(11) NOT NULL,`tag` int(11) NOT NULL,PRIMARY KEY (`id`, `tag`)) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4PARTITION BY LIST (tag)(PARTITION p0 VALUES IN (0))后期想通过数据动态创建分区,每次先判断表中是否已创建分区。如果没有创建就添加分区:def get

2021-03-19 00:03:51 527

原创 note-PythonCookbook-第十一章 网络与WEB编程

第十一章 网络与WEB编程11.1 作为客户端与HTTP服务交互requests模块11.2 创建 TCP 服务器简单的应答服务器from socketserver import BaseRequestHandler, TCPServerclass EchoHandler(BaseRequestHandler): def handle(self): print('Got conection from', self.client_address) whil

2020-10-08 21:20:55 276 1

原创 不改变相对位置的前提下把点散开2

之前的方法只适合数据点只有一个中心的情况,有多个中心的数据可能会有反效果。思路2:不考虑中心,按点和下一个点的距离进行判断和调整。最终呈现的结果中相邻的两个点之间的距离占坐标轴总长度的1/25。依次排查各个点,如果和下一个点的距离小于这个最小值,就进行调整。import mathfrom matplotlib import pyplot as pltdef find_min_dis(xdata): """找两点间允许的最小距离""" return (max(xdata) - mi

2020-09-13 16:17:30 160

原创 不改变相对位置的前提下把点散开1

实际问题:有一堆数据点,知道它们的横纵坐标,横纵坐标的范围不在一个数量级。这些点最终展示到可视化界面时(每个点上还写了文字说明),一些离得太近的点相互叠加没办法看。需要在不改变这些点的相对位置的情况下让离得太近的点散开(最终的结果用于概览,不表示精确的输出)。横纵坐标范围不是同一个数量级,所以需要分别扩散。初始思路:曲线投影然后拉长。思路如上图,三个点经过三次变换,离右侧点近的点和它的距离拉远了,离右侧点远的点距离未发生改变。先找到聚集的一堆点的中心,然后按这样变换,离中心近的点距离会拉开,离中心远

2020-09-13 15:43:27 241

原创 note-PythonCookbook-第十章 模块与包

第十章 模块与包10.1 构建一个模块的层级包在每个代码文件夹中都都需要定义 __init__.py 文件。导入模块下的文件时,会先导入该模块下的 __init__.py 文件。__init__.py 一般是空的。能用来自动加载子模块。10.2 控制模块被全部导入的内容当使用 from module import * 语句时,从该模块导出的内容进行精确控制。在模块中定义一个 __all__ 变量来制定会被导出的内容。from module import * 语句一般在定义了大量变量名的模块中

2020-09-13 14:53:19 313

原创 python-保存/读取中间文件的装饰器

对于涉及好多步计算的程序测试,每一步都耗时好久。前几步生成的文件保存下来,这个样当后面某一步出错时,重新启动程序,前面几步能直接读取文件而不用重新生成。import osimport timeimport picklefrom functools import wrapsTEMP_PATH = ''def handle_mid(func): """ 存在文件就读文件内容返回; 不存在文件就运行函数并保存返回值; """ filepath = TEMP_

2020-07-25 13:50:18 325

原创 按阈值均匀切分子组

一个有序数组,要切分成若干个子组,每个子组中的数求和都不超过100。def split_numlist(numlist, hold=100): some_num = 0 # 子组数值和 nums = [] # 子组 sub_numlist = [] # 子组切分结果 for n in numlist: some_num += n if some_num >= hold: if len(num

2020-07-25 12:08:33 115

原创 note-PythonCookbook-第八章 类与对象

第八章 类与对象8.1 改变对象的字符串显示重新定义类的 __str__() 和 __repr__() 方法。__repr__() 返回实例的代码表示形式,内置的 repr() 函数返回这个字符串。__str__() 方法把实例转换为字符串,str() 或 print() 会输出这个字符串。class Pair: def __init__(self, x, y): self.x = x self.y = y def __repr__(sel

2020-05-21 00:04:30 175

原创 note-PythonCookbook-第七章 函数

第七章 函数7.1 可接受任意数量参数的函数* 参数接受任意数量的位置参数,放在最后一个位置参数后,接收到的参数组成一个元组;** 参数接受任意数量的关键字参数,放置在最后一位,接收到的参数组成一个字典。* 参数后面仍然可以定义其它参数,即强制关键字参数。7.2 只接收关键字参数的函数* 参数或单个 * 后面的参数必须用关键字传参。7.3 给函数参数增加元信息使用函数参数注解:d...

2020-05-06 09:19:04 165

原创 note-PythonCookbook-第五章 文件与IO

第五章 文件与IO5.1 读写文本数据open() 函数的使用。三种模式: r,w,a。常用编码:ascii,latin-1,utf-8,utf-16。对未知编码的文件,使用latin-1读取不会出现解码错误。之后再把数据回写回去,原先的数据还是保留的。with 语句自动关闭上下文环境。换行符的问题。Unix 和 Windows 的换行符是不一样的。python 读取的时...

2020-04-26 19:48:04 162

原创 note-PythonCookbook-第四章 迭代器与生成器

第四章 迭代器与生成器4.1 手动遍历迭代器除了 for 循环外,还能使用 next() 函数手动遍历迭代器。需要捕获 StopIteration 异常,或在 next() 中指定一个结尾。4.2 代理迭代要定义一个新容器对象并对其执行迭代操作,需要为他定义一个 __iter__() 方法,把迭代操作代理到容器内部的对象上。__iter__() 方法需要返回一个实现了__next__(...

2020-04-15 12:23:42 125

原创 note-PythonCookbook-第三章 数字日期和时间

第三章 数字日期和时间3.1 数字的四舍五入简单的舍入运算使用 round() 函数即可:>>> round(1.2345, 1)1.2>>> round(1.2345, 3)1.234>>> round(31.2345, 0)31.0>>> round(31.2345, -1)30.0round() ...

2020-04-04 19:40:14 137

原创 mysql子查询先排序再分组的问题

order by 和 group byselect namefrom ( SELECT a.* from student a join stu_height b on a.id=b.stu_id where a.name like '%李' or a.name like '%王' order by a.id, b.height desc) bgroup by name...

2020-03-19 22:00:36 750

原创 不同python实现的效率比较

多个生成器表达式和一次循环如果要从嵌套的列表中获取内层列表每个索引对应的最大(或最小值),有两种方法:import timeimport randoma = [[random.randint(0, 1000) for i in range(10)] for j in range(100000)]def method_x(a): """每个索引位置一个生成器表达式""" beg...

2020-03-17 10:37:34 211

原创 资源下载说明

mysql全国列车时刻表2019年7月1日更新的全国列车时刻表,包含120723条数据。字段名 类型 说明train_num varchar(5) 车次stop_num int 到站顺序station_name varchar(10) 站名arrive_time time 到站时间depart_time time 离站时间train_type varchar(...

2020-03-08 15:39:31 338

mysql全国列车时刻表

2019年7月1日更新的全国列车时刻表,包含120723条数据。 字段名 类型 说明 train_num varchar(5) 车次 stop_num int 到站顺序 station_name varchar(10) 站名 arrive_time time 到站时间 depart_time time 离站时间 train_type varchar(5) 列车类型 资源navicat截图请到这个链接查看https://blog.csdn.net/qq_42783188/article/details/104733862

2019-09-16

空空如也

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

TA关注的人

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