python
文章平均质量分 93
submarineas
不积跬步,无以至千里
展开
-
nginx相关反爬策略总结笔记
主要是根据检测结果展开的,如利用HTTP请求头User-Agent来判断、拦截爬虫请求,或对访问频率过高的IP地址进行封禁。被动防御存在部分缺陷:被动防御检测流程和机制单一,无法应对复杂多变的恶意爬虫,检测误判率高,容易造成误封、漏封。是主流的爬虫防御发展方向,通过对网页底层代码的持续动态变换,增加服务器行为的“不可预测性”,大幅提升攻击难度,从而实现了从客户端到服务器端的全方位“主动防护”。本文中所提到的关于nginx的一些操作,都属于被动防御机制。原创 2023-02-11 12:55:03 · 3203 阅读 · 0 评论 -
动手学区块链学习笔记(二):区块链以及工作量证明算法
在上一节,我们构造了一个非常简单的数据结构 -- 区块,它也是整个区块链数据库的核心。目前所完成的区块链原型,已经可以通过链式关系把区块相互关联起来:每个块都与前一个块相关联。但是,依照上述代码实现的区块链有一个巨大的缺陷:向链中加入区块太容易,也太廉价了。区块链的一个关键点就是,一个人必须经过一系列困难的工作,才能将数据放入到区块链中。正是由于这种困难的工作,才保证了区块链的安全和一致。此外,完成这个工作的人,也会获得相应奖励(这也就是通过挖矿获得币)。这个机制与生活现象非常类似:一个人必须通过努原创 2023-01-15 17:59:57 · 1739 阅读 · 0 评论 -
动手学区块链学习笔记(一):加密算法介绍
什么是比特币?比特币是一种加密货币,也是一种分布式数字货币。它的创建者使用匿名身份被称为"中本聪"。比特币是通过对一组特定的数据进行加密来创建的,这些数据被称为"区块链"。比特币使用密码学技术来确保货币交易的安全性和不可更改性,这意味着比特币交易是不可篡改的。比特币是完全去中心化的,意味着它不受任何政府或金融机构的控制,并且可以在互联网上以匿名方式进行交易。而这种去中心化,通过加密匿名方式来进行交易中最基本的原理,则是哈希加密,那么下面将介绍几种主要的hash加密方式。原创 2023-01-12 22:50:22 · 2673 阅读 · 0 评论 -
趣味中秋,用动画字符来贺岁佳节
本篇博文写作初衷是看到中秋活动,正好之前有总结过两篇关于图片与视频转字符动画的博文,以下大部分代码与小部分说明引用自之前写过的笔记,一篇是来自2019年过年的时候写得,以及2020年中旬总结的,不曾想现在都时隔2年多了,那时候还是初学python,因为我是转行的,大学学的是电气,从自学python到现在,一路还是比较唏嘘的。那么话不多说,在此进入正题。...原创 2022-08-29 18:45:39 · 1378 阅读 · 2 评论 -
哲学家就餐问题与python解决方案
本篇是之前复习完哲学家就餐问题后,最近又回过头去感觉可以整理下思路,又在实验楼找到了python相关实验,故想在这里总结一下当前问题的方案。原创 2022-08-21 21:03:43 · 2573 阅读 · 2 评论 -
gitmodel学习笔记(三):利用scipy分析概率论与数理统计
本篇是在复习到中途参加的一个关于gitmodel的学习活动,本系列分为三个部分,分别为高等数学、线性代数以及概率论与数理统计。本篇为第二篇——利用scipy分析概率论与数理统计,看完活动文档,查找了相关资料后,汇成笔记在这里记录一下。感觉scipy蕴含的东西比较多,也比较杂,这里引出一些比较常用的,跟第一篇中sympy中介绍一样的表格。这里我不会全部都介绍,主要涉及到一些我在做本次学习中感觉用得到的,以及看了资料感觉很有意思的,以上表格内容总结来源于官方文档:https://docs.scipy.org/d原创 2022-06-23 01:09:57 · 677 阅读 · 0 评论 -
gitmodel学习笔记(二):利用numpy分析线性代数
本篇是在复习到中途参加的一个关于gitmodel的学习活动,本系列分为三个部分,分别为高等数学、线性代数以及概率论与数理统计。本篇为第二篇——利用numpy分析线性代数,看完活动文档,查找了相关资料后,汇成笔记在这里记录一下。关于numpy包的一些api与相关说明,可以看我之前写的 numpy总结与思维导图 一文提到的一些例子,这篇是基于数据分析总结的笔记,这里不再引述,贴一下之前画的思维导图,算是再复用一波了,emmm。因为numpy相关的demo其实大多都数据分析,单纯矩阵求解比较少,所以这里会夹杂着原创 2022-06-19 01:05:38 · 375 阅读 · 0 评论 -
gitmodel学习笔记(一):利用sympy分析高等数学
本篇是在复习到中途参加的一个关于gitmodel的学习活动,本系列分为三个部分,分别为高等数学、线性代数以及概率论与数理统计。本篇为第一篇——利用sympy分析高等数学,看完活动文档,查找了相关资料后,汇成笔记在这里记录一下。sympy包相当于让python具备了MATLAB与mathematica相同的解部分数学问题的能力,但是也只是能初步解决一些并不复杂的例子,而且因为还是依赖于python的输出终端,感觉output打印出来的结果没有经过太多美化,不如mathematica足够赏心悦目,但至少还是可以原创 2022-06-17 16:01:51 · 938 阅读 · 0 评论 -
python办公自动化笔记(一):读写Excel图像数据
引言本篇博客的初衷是在做天气检测测试的时候,想要将各种天气检测结果与图像相对应上,一时半会儿没想到有什么好的可视化工具,那要不就用python代码将图片与图片对应的结果特征直接写进Excel中,会比较直观,另外,为了使本篇博客内容丰满一些,又去实验楼顺带做了openpyxl的一个试验,虽然最后的demo并没有用到这个东西,但这个库感觉比较好作为教程使用,下面介绍一些感觉会用到的一些功能。openpyxl 使用 demo1. 写入一行或多行数据:from openpyxl import load_wo原创 2022-05-26 20:12:10 · 1459 阅读 · 1 评论 -
精准气象和海洋预测笔记
引言看这数据还是挺大的。Archive: enso_round1_train_20210201.zip Length Method Size Cmpr Date Time CRC-32 Name-------- ------ ------- ---- ---------- ----- -------- ---- 0 Stored 0 0% 2021-01-25 19:12 00000000 enso_round1_train原创 2021-02-19 18:18:39 · 921 阅读 · 1 评论 -
python进程通信方式总结(三):共享内存
引言python使用共享内存进行通信原创 2021-02-18 00:27:23 · 21278 阅读 · 9 评论 -
python进程通信方式总结(二):队列与信号
引言在上一篇中,探讨了关于信号量以及管道在进程中通信的使用方式和注意点,那么本篇想总结的是队列的种类以及相关操作。队列概念原创 2021-02-15 17:41:34 · 763 阅读 · 0 评论 -
python进程通信方式总结(一):管道与信号量
进程介绍一个独立进程不受其他进程执行的影响,而一个协作进程可能会受到其他执行进程的影响,尽管可以认为那些独立运行的进程将非常高效地执行,但实际上,在许多情况下,可以利用合作性质来提高计算速度,便利性和模块化。进程间通信(IPC)是一种机制,允许进程彼此通信并同步其动作。这些过程之间的通信可以看作是它们之间进行合作的一种方法。进程主要通过以下两者相互通信:共享内存讯息传递而在实际使用情况中,我们又可以将其分为7种,如下图所示:下面就对上面列举的方式在python中进行逐个说明,可能我理解的内原创 2021-02-14 23:20:11 · 2693 阅读 · 0 评论 -
python时间转换函数总结
引言本篇主要想总结一些关于时间处理上的问题,以及我认为比较多star包的学习笔记。时间戳与时间格式的互转这个是最基本的一个功能,很多时候从数据库或者其它地方查询到的数据需要在代码上变为时间戳判断或者定时,所以两种转换分别为:时间戳转时间:import timetimeStamp = time.time()timeArray = time.localtime(timeStamp)print(timeArray,type(timeArray))formatTime = time.strft原创 2021-02-12 17:45:36 · 1655 阅读 · 2 评论 -
python-kafka学习笔记(二):kafka配置与传输大文件失败解决
引言本篇主要想总结一下关于kafka的基本操作,以及当时遇到的一个问题,想直接传输一个很大的图片,从而达到效率提高。kafka的基本操作-- 创建bin/kafka-topics.sh --create --zookeeper 192.168.1.229:2181 --replication-factor 1 --partitions 1 --topic hello-topic-12-- 查看bin/kafka-topics.sh --list --zookeeper 192.168.1.229原创 2021-02-09 20:22:47 · 1527 阅读 · 1 评论 -
python中字典类型使用与说明
引言本篇想总结的是python的三种字典格式:dict、defaultdict和ordereddict的使用方式,将通过lc题展现后面两种方式具体使用场景,以及相应的一些原理与数据结构本身。dict在python中,字典也叫哈希表,自python3.7后,官宣了 Python 原生的 dict 就能保证 Key 的插入顺序,但在写这篇文章的时候,我实验了一下,不是太清楚是从什么方面进行改变的,另外,在3.7.5下尝试orderedDict与dict两种不同格式的结构对比如下:import colle原创 2020-12-06 00:03:33 · 887 阅读 · 0 评论 -
python中watchdog文件监控与检测上传
引言上一篇介绍完了观察者模式的原理,本篇想就此再介绍一个小应用,虽然我也就玩了一下午,是当时看observer正好找到的,以及还有Django-observer,但Django很久没用了,所以提下这个作为一个笔记。watchdog介绍Watchdog的中文的“看门狗”,有保护的意思。最早引入Watchdog是在单片机系统中,由于单片机的工作环境容易受到外界磁场的干扰,导致程序“跑飞”,造成整个系统无法正常工作,因此,引入了一个“看门狗”,对单片机的运行状态进行实时监测,针对运行故障做一些保护处理,譬原创 2020-10-29 21:29:23 · 2410 阅读 · 5 评论 -
python设计模式(三):观察者模式
引言观察者模式介绍观察者与发布订阅原创 2020-10-29 15:45:38 · 2694 阅读 · 3 评论 -
python-kafka学习笔记(一):搭建与使用
kafka原创 2020-10-02 18:04:24 · 1350 阅读 · 0 评论 -
python序列化原理与格式转换
引言本篇想从序列化开始,讲述python的xml、json以及protobuf文件格式,并实现xml到json以及json到protobuf之间格式的互转与xml增删改查操作。另外关于ujson与bjson等格式类型,会在最后进行总结。序列化与反序列化互联网的产生带来了机器间通讯的需求,而互联通讯的双方需要采用约定的协议,序列化和反序列化属于通讯协议的一部分。通讯协议往往采用分层模型,不同模型每层的功能定义以及颗粒度不同,例如:TCP/IP协议是一个四层协议,而OSI模型却是七层协议模型。在OSI七原创 2020-09-27 00:14:14 · 1247 阅读 · 0 评论 -
APScheduler与celery定时任务方法介绍
引言APScheduler定时框架: 官方文档APScheduler是一个 Python 定时任务框架,它提供了基于日期、固定时间间隔以及 crontab 类型的任务,实现持久化任务、并以 daemon 方式运行应用。选取合适的调度器:BlockingScheduler: 进程唯一要运行的任务BackgroundScheduler: 后台运行AsyncIOScheduler: 用于AsyncIOS模块GeventScheduler: 程序中用到 geventTornadoScheduler原创 2020-09-20 23:32:59 · 2404 阅读 · 5 评论 -
sys、shutil、os与pathlib常用方法介绍与总结
os.sep 可以取代操作系统特定的路径分隔符。windows下为 '\\'os.name 字符串指示你正在使用的平台。比如对于Windows,它是'nt',而对于Linux/Unix用户,它是 'posix'os.getcwd() 函数得到当前工作目录,即当前Python脚本工作的目录路径os.getenv() 获取一个环境变量,如果没有返回noneos.putenv(key, value) 设置一个环境变量值os.listdir(path) 返回指定目录下的所有文件和目录名os.remove原创 2020-09-17 16:45:43 · 625 阅读 · 0 评论 -
python设计模式(二):装饰器应用全解
引言也许很多人不知道装饰器的其它作用,比如说 权限控制、原创 2020-09-06 19:18:41 · 453 阅读 · 0 评论 -
LeetCode刷题笔记——(8/17 - 8/27)
2020/8/17:Pow(x, n)、最大子序和 、最多元素三道题目都属于分治,分治算法的基本思想是将一个规模为N的问题分解为K个规模较小的子问题,这些子问题相互独立且与原问题性质相同。求出子问题的解,就可得到原问题的解,具体将在下面的题目中体现。第一题:pow(x,n):实现 pow(x, n) ,即计算 x 的 n 次幂函数:示例 1:输入: 2.00000, 10输出: 1024.00000示例 2:输入: 2.10000, 3输出: 9.26100示例 3:输入: 2.00原创 2020-08-18 00:08:36 · 391 阅读 · 0 评论 -
在jupyter lab中使用kite
引言xxxxxx过程npm dependencies failed to installTraceback (most recent call last): File "f:\anaconda\envs\py37_kt\lib\site-packages\jupyterlab\debuglog.py", line 47, in debug_logging yield File "f:\anaconda\envs\py37_kt\lib\site-packages\jupyter原创 2020-07-14 22:10:05 · 17612 阅读 · 23 评论 -
fastapi学习笔记(1):文档入门与接口练习
引言原创 2020-07-09 23:35:31 · 1262 阅读 · 0 评论 -
python中shapely包使用以及线面关系判定实践
引言最近有用到关于shapely模块的一些函数,所以想总结一下关于shapely的使用方法和以及在平面上python如何确定线面关系的技巧。shapely模块方法 函数类型 函数方法 函数说明 几何对象共有的属性 object.area 获取面积 object.bounds 获取边界 object.length 获取长度原创 2020-07-04 23:19:48 · 10087 阅读 · 2 评论 -
Python 实现局域网视频聊天工具
引言做了下实验楼的关于Python 实现局域网视频聊天工具原创 2020-05-25 23:59:13 · 10881 阅读 · 29 评论 -
近期刷题与试题总结
3月17号:面试题总结第一道笔试题:给定 n 个非负整数,用来表示柱状图中各个柱子的高度。每个柱子彼此相邻,且宽度为 1 。求在该柱状图中,能够勾勒出来的矩形的最大面积。以上是柱状图的示例,其中每个柱子的宽度为 1,给定的高度为 [2,1,5,6,2,3]。图中阴影部分为所能勾勒出的最大矩形面积,其面积为 10 个单位。示例:输入: [2,1,5,6,2,3]输出: 10来源...原创 2020-03-31 20:54:39 · 461 阅读 · 0 评论 -
python利用DBUtils实现数据库连接池
连接池与DButils介绍当我们在运用python通过HTTP连接与mysql这类数据库进行短暂连接时,因为可能就只是插入或者读取某些数据,所以读取完成后便关闭,并不需要考虑太多性能问题。但如果是在没有框架的情况下,在一个函数里用原生SQL通过比方说pymysql、Cmysql等模块频繁进行连接操作,那么效率就会很低,因为需要频繁验证HTTP服务,甚至可能会发生报错,由于线程可能发生堵塞,所以这...原创 2019-11-22 19:45:45 · 1362 阅读 · 4 评论 -
python利用STMP发送gmail、QQ邮件错误及笔记总结
引言本篇博文是一个我之前没有想要去关注,但就是这样看似轻松的事情,却出现了很多的bug,我尝试用了163,、QQ以及谷歌邮箱去发送邮件,中间遇到了很多波折,其中一根谷歌的小号邮箱也被封了,所以想在这里总结下我的一些错误与笔记。STMP协议介绍对于Python来说,需要编写脚本调用邮件服务器来发送邮件,使用的协议是SMTP。接收邮件,使用的协议是POP3和IMAP。这三种的区别与用处后面再提,...原创 2019-10-27 19:56:14 · 5440 阅读 · 0 评论 -
算法刷题全文笔记(持续更新)
算法刷题全文索引文章目录腾讯精选50题 以及 TOP 100leetcode刷题笔记(八)leetcode刷题笔记(七)leetcode刷题总结(六)leetcode刷题总结(五)leetcode刷题总结(四)leetcode刷题总结(三)leetcode刷题总结(二)七天LeetCode刷题总结(一)剑指offer 66题sql练习牛客网leetcode腾讯精选50题 以及 TOP 100...原创 2019-10-21 23:14:04 · 517 阅读 · 0 评论 -
leetcode刷题笔记(八)
2019/10/13:汉明距离题目链接:https://leetcode-cn.com/problems/hamming-distance/感觉还是对位运算不是很熟吧,这题刚开始没看标签,想用双指针直接解,只要指针不相等,那么计数加一,但发现python用bin转换后的二进制还带有相关字母,比如bin(4) = 0b100,所以,下面是我的错误代码:def hammingDistance(x...原创 2019-10-13 11:50:41 · 215 阅读 · 0 评论 -
HTTP请求与响应组成与正则解析总结
本篇依然是一个记录学习过程以及打卡的一篇博文。原创 2019-03-17 19:54:00 · 3107 阅读 · 0 评论 -
七天LeetCode刷题总结
引言从今天起,为期7天LeetCode刷题记录。2019/1/26:两数之和原创 2019-01-26 21:48:06 · 1212 阅读 · 3 评论 -
Python利用argparse模块图片转字符文件
引言早上在B站看到一个字符版的《改革春风吹满地》,然后想起前不久在实验楼刚做了将图片转字符与视频转动态字符的小demo,另外关于相应的模块也不是很熟,那么本篇就来总结一下这些东西。...原创 2019-01-26 18:39:53 · 855 阅读 · 0 评论 -
numpy总结与思维导图
1. 垂直拼合数组与水平合并# 生成示例数组a = np.random.randint(10, size=(3, 3))b = np.random.randint(10, size=(3, 3))a, b"""(array([[7, 0, 8], [9, 4, 7], [3, 3, 8]]), array([[8, 5,原创 2018-12-23 21:17:31 · 5472 阅读 · 2 评论 -
linux下搭建虚拟环境
引言首先我记得一个月前写过关于windows搭建虚拟环境的博文,在那片解释过了虚拟环境的好处以及完整的搭建流程,那么在这里我就不再叙述了,直接进入正题吧。在Windows下搭建虚拟环境安装虚拟环境使用如下两条命令:sudo pip install virtualenvsudo pip install virtualenvwrapper我这里显示已经安装过了,然后接下来还需要配置m...原创 2018-12-18 00:09:46 · 6208 阅读 · 0 评论 -
剑指offer笔记(1):二维数组中的查找
题目描述分析思路一:循环遍历思路二:二分查找思路三:判断角标题目描述在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。分析首先分析题意,它要求我们给一个二维数组,并且每行每列都是递增的等长度数组,所以我们自然而然想到一个最简单的矩阵为:(1234...原创 2018-12-11 23:48:37 · 293 阅读 · 0 评论 -
python内置函数总结与思维导图
思维导图总结迭代器/生成器(3)反射相关getattrsetattr原创 2018-12-09 23:08:01 · 2275 阅读 · 0 评论