自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(68)
  • 收藏
  • 关注

原创 Shell脚本学习笔记:从入门到变量(一)

最近在看 Shell 脚本相关的内容,以下是我从入门到变量部分的整理笔记,内容有点多,但都是干货。先从基础开始,再逐步深入。

2025-03-20 18:24:32 503

原创 Mermaid + AI:一键生成流程图和架构图,程序员的“偷懒”神器

作为一名程序员,你有没有遇到过这样的场景:老板或产品经理兴冲冲地跑过来,说:“小张啊,明天开会前把系统架构图画出来,顺便加个流程图,简单点就行!”你心里一万个“简单点?”,打开 Visio 或 Draw.io,手还没动,心已经累了。画图这事儿,费时费力不说,还经常被挑剔:“这个箭头歪了”“这个框太小了”“能不能再直观点”……别慌,今天我要介绍一个“偷懒”神器组合——。有了它,画流程图和系统架构图就像写代码一样简单,甚至还能让 AI 帮你自动生成,省时省力还省心!

2025-03-16 21:31:49 2739 1

原创 从零搞懂Docker数据卷

如果你是 Docker 新手,可能遇到过这样的尴尬:辛辛苦苦跑了个 MySQL 容器,建了数据库、加了数据,结果一删容器,全没了!这是因为 Docker 容器默认是“一次性纸杯”,用完就丢,里面的东西(数据)也跟着没了。那咋办?那就用数据卷!它能让数据“活下来”,即使容器没了也能找回来。这篇博客,从零开始,搞懂 Docker 的数据卷和数据卷容器。数据卷:容器的“移动硬盘”,让数据不丢。两种用法宿主机挂载(-v /宿主机:/容器):自己指定位置。Docker 卷(-v /容器路径)

2025-03-15 20:06:03 579

原创 Docker 镜像和容器相关命令总结

docker常用镜像与容器相关的指令

2025-03-15 19:49:44 552

原创 从零开始:手把手教你在 CentOS 7 上安装 Docker

如果你是刚接触云计算或容器化的小白,可能听过“Docker”这个词,但不太清楚它到底是干嘛的。简单来说,Docker 就像一个超级便携的行李箱,它能把你的应用程序、依赖库、配置文件一股脑儿打包起来,不管你把它丢到哪台服务器上(Windows、Linux 还是 Mac),都能保证它跑得起来,不用担心“在我电脑上明明好好的,怎么到你那儿就崩了”的尴尬。

2025-03-12 19:59:44 883

原创 MySQL 锁机制大揭秘:从索引到事务,一网打尽

MDL 像锁住书的“简介卡片”(表结构,比如字段名)。MySQL 自动加锁,查表(SELECT)加读锁,改结构(ALTER)加写锁。锁类型针对索引?自动/手动?需要索引?事务专用?例子全局锁否手动否否表锁否手动否否元数据锁否自动否部分SELECT *意向锁间接自动间接是UPDATE ...(加 IX)行级锁是部分(DML 自动,SELECT 手动)是是UPDATE ...全局锁:锁大门,手动操作,不看书架。表锁:锁整本书,手动锁,不挑目录。MDL。

2025-03-12 15:12:11 555

原创 Mysql 行级锁:从理解到代码演示

在 InnoDB 里,行级锁靠索引实现,锁的是索引项,不是直接锁数据。如果没索引,它可能“翻车”,锁住整张表(后面有例子)。

2025-03-12 12:06:57 598

原创 MySQL 里的“锁”:保护数据的门卫

数据库里,除了抢 CPU、内存、硬盘(I/O)这些资源,数据本身也是大家共享的“宝贝”。锁的任务是保证数据一致性和并发访问的有效性,不然数据乱了,或者大家排队太久(锁冲突),性能就崩了。MySQL 的锁按“管多大范围”分三种:全局锁、表级锁、行级锁。咱们一个个聊!

2025-03-11 12:38:55 757

原创 Playwright 解决京东滑块:自动化挑战大揭秘

如何处理JD的滑块登录?(若只想查看京东滑块,请直接滑到最下面)平时所使用的自动化登录工具:Selenium,虽然很好,但是在做京东滑块验证的时候,还是会出现被检测的情况,以至于无法通过校验。于是,我发现了另外一款自动化工具:playwright,也是非常的好用。接下来,就来见证它的强大吧!这就直接copy过来了:Playwright 是一个用于自动化浏览器操作的开源工具,由 Microsoft 开发和维护。

2024-12-19 15:37:31 1669

原创 轻松设置Python应用配置:打造你的conf.ini文件

有一份配置文件,可以省去很多麻烦事,例如将自己的程序交给客户,但客户并不懂代码时,配置文件是一个不错的选择。本文主要通过 configparser 实现配置文件conf.ini。

2024-11-28 11:38:42 410

原创 js逆向之AES加密解密封装

ECB:是一种基础的加密方式,密文被分割成分组长度相等的块(不足补齐),然后单独一个个加密,一个个输出组成密文。CBC:是一种循环模式,前一个分组的密文和当前分组的明文异或或操作后再加密,这样做的目的是增强破解难度。解密其实是差不多的逻辑,将base64解码为字节流,然后通过key和iv进行解密,这里不在赘述。因为这里采用的是128位秘钥,也就是16字节,所以你的加密内容也应该是16的倍数。加密,其中有些网站的数据加密就是通过AES这种加密形式来做的。AES是一种对称加密(加密和解密用的。

2024-10-17 21:50:33 732

原创 Python调用外部js脚本后的结果乱码问题解决方案

python中调用外部脚本出现乱码问题

2024-10-15 11:01:41 379

原创 不会JS逆向也能高效结合Scrapy与Selenium实现爬虫抓取

其实想要实现scrapy和selenium共同完成爬虫任务还是比较简单的。最重要的是理解中间件的性质,并且能够在合适的地方去修改请求/响应内容。在遇到比较复杂的页面时,可以尝试使用scrapy + selenium的模式进行爬取。将两者结合使用,能够弥补彼此的不足,发挥出更大的优势。

2024-09-19 18:04:15 1148

原创 Selenium如何通过js注入避免被检测

在使用Selenium进行模拟爬虫的时候,很多时候网站都会有一定的检测机制,能够检测出你这个是Selenium程序,比如淘宝网。

2024-09-14 12:54:00 664

原创 快速入门和简单理解并发编程中的并发、并行、同步、异步,并且简单实现多进程和多线程

本篇文章快速入门了关于异步编程的一些基本概念和实现,同步、异步、并行、并发、进程、线程等

2024-09-13 12:33:36 1181

原创 Django分页组件封装

在日常开发中,我们也许会遇到一页内容太多不够展示的问题,过于冗余。此时,我们就需要进行分页,分页的方式有两种:1. ajax异步分页 2. 普通选择分页这里介绍的组件就是普通分页组件,看效果:除此之外,如果页数过多,只会显示当前前面五页和后面五页:废话不多说,直接上代码!

2024-08-01 19:49:16 441

原创 鸿蒙系统和安卓系统通过termux搭建Linux系统—Centos

这篇文章让你能够在手机或者平板上使用Linux-Centos系统让你随时随地都能操作命令行进行装13

2024-05-24 16:52:19 1806 4

原创 如何安装虚拟机Vmware,并且在虚拟机中使用centos系统

在安装Vmware之前,我们先做虚拟机的介绍虚拟机:通过软件虚拟出来的具有完整硬件的操作系统,运行在一个独立的环境中而Vmware就是这个软件,可以让你一台机器同时运行多个系统,比如dindows、Linux系统等。

2024-05-22 20:51:32 1517 2

原创 学会了爬楼梯,还不会动态规划吗?——DP中的爬楼梯问题

动态规划作为算法题中比较重要的一章节了,同时也是比较难写的,但是找到规律之后,大部分题无非都是在经典问题上面做变形。本篇文章重点在于通过题目来理解DP,并不是从晦涩难懂的概念讲起下面,我们来看看DP中的爬楼梯问题:

2024-05-18 22:29:14 995

原创 【项目部署】手把手带你从零部署项目:宝塔 + uwsgi + Django + 腾讯云 + Websocket

本篇文章讲解从选服务器和服务器配置到宝塔部署uwsgi和websocket,让你写的Django项目能够部署在线上并且通过远程访问。

2024-05-06 19:35:47 2167 1

原创 Python通过pymysql连接数据库并进行增删改查

今天咋们分享的内容是:Python中如何通过pymysql模块连接数据库相信大家都已经学过Mysql啦,对基础的增删改查都已经了如指掌了。但是,你可能还不会Python如何连接数据库并进行增删改查 ,那么本篇文章带你学会如何通过Python连接数据库好啦,今天的分享就到这里了。通过pymysql我们能成功在python环境下连接数据库,并进行增删改查在后续使用时,如果遇到需要在Python代码里保存数据库操作的话,那么这个方法无疑是最佳的。

2024-04-06 19:37:00 1829

原创 Django之五种中间件定义类型—process_request、process_view、process_response.......

在Django中,有一种特殊的存在,那就是中间件。中间件是一种轻量化可复用的Django组件,可以在请求之前、之后、视图之前或者响应之后作出一些动作,例如身份验证或者限流等。本篇文章带你学会五种自定义中间件类型.

2024-04-06 00:22:36 2408

原创 Python如何通过网络编程socket实现服务端和客户端?

Python通过网络编程socket实现服务端和客户端,并且实现通信。

2024-04-05 00:20:58 351

原创 Django模板层——三种自定义模板simple_tag、inclusion_tag、filter的用法

在前后端不分离的模式中,Django的模板语法尤为重要,我们可以动态传入变量,并在前端HTML中进行展示。在变量展示时,会有一些内置的过滤器和方法,但这远远不能满足我们的需求。因此,在Django模板中,还有三大自定义的常用模板:simple_tag、inclusion_tag、filter ,能在开发中,为我们省去很多麻烦。

2024-04-04 14:49:51 1729

原创 Django路由分发的三种方式以及命名空间namespce——附带源码解析

本篇文章主要是讲解路由分发的三种方式。当然,你可能在想,一般做路由分发只需要一个include就能搞定,为什么还有另外三种方式呢。这个就要追溯到Django的底层源码了, 通过研究Django中include的底层源码了,从而发现另外两种作路由分发的方式。

2024-04-03 16:40:00 1512

原创 Python中的反射——getattr与动态导入模块

本文主要介绍python反射的概念、使用 , 以及如何通过字符串的形式导入模块反射主要应用于类的对象上,在运行时,获取对象中的属性和方法,通过字符串对对象成员(属性、方法)进行查找、获取、删除、添加成员等动作。一般使用场景:动态的向对象中添加属性和方法;也可以动态的调用对象中的方法或者属性。

2024-04-02 14:42:44 512

原创 Django如何定义视图函数?FBV-CBV的使用场景

在Django中,我们通过浏览器URL发送了请求,请求通过路由层,最后匹配到相应的视图函数接下来,我们来看看CBV和FBV两种范式。

2024-04-01 20:22:20 1253

原创 Django源码之路由匹配(下)——图解逐步分析底层源码

学习Django如何进行路由匹配,可以更好的掌握Django框架,学习源码编写的思想,可以帮助我们自己写出更健硕、更容易维护和扩展的代码。

2024-04-01 13:27:11 1717

原创 Django源码之路由的本质(上)——逐步剖析底层执行流程

在学习Django框架的时候,我们大多时候都只会使用如何去开发项目,对其实现流程并不是很清楚明了。这篇文章的目的就是带你先从Django最基础的路由层开始剖析底层源码,一步一步带你学会,Django路由是如何来进行实现的,它的底层又是基于什么来完成的。

2024-03-31 14:19:30 1254

原创 Django创建多app应用

Django中利用多app进行结构化开发,让项目开发更加明了

2024-03-29 14:01:05 1444

原创 如何创建纯净版Django项目并启动?——让Django更加简洁

尤其要说一下的就是models.py:models主要是数据库模型文件,我们可以通过类的形式来代表每一张表变量的形式代表每一个字段,并且通过相关语法建立一对多、多对多等相关关系主要是通过ORM来进行操作数据库的,通过操作类来执行SQL语句对象关系映射。它主要用于关系型数据库和面向对象之间的映射关系,使得我们可以通过操作面向对象的形式来操作数据库。

2024-03-28 19:51:31 1741

原创 学了算法,还不会并查集吗?

并查集是一种数据结构(数据结构相信大家都知道吧)他能干什么呢?那么什么叫不相交集合呢?举例:比如一个城市有n个人,1号和3号是朋友,属于一个帮派的,5号和3号也是朋友,8号和9号是朋友,这个时候随便问你两个人,判断他们是否属于一个帮派(相互认识)如果我们使用暴力的方式去判断的话,我们需要将互相认识的人保存在不同的帮派里面,然后对任意两个人查看是否处于同一个集合里面,最坏情况达到了0(n²)这是非常不友好的,对于n = 1e6来说。

2024-03-21 19:03:42 939

原创 什么是状态压缩DP???

如何进行DP状态定义,这是我们首要解决的DP问题,无非就是从小问题递推到大问题,那么我们可以这样进行dp定义::代表在S集合内,到达j点的最短距离(j也在S集合内,因为每个点都需要到达)我们可以通过子集然后递推求出大集合这道题很明确,其实就是求最小值,也就是。

2024-03-20 22:15:07 1098

原创 蓝桥之手撕排序算法——冒泡、选择、插入、快排、归并(Python版)

排序算法是算法竞赛中的第一入门必会的算法,可能在语言里面内置好sort排序函数,但是在排序算法中的很多思想是值得我们去学习的,比如从快速排序里面学会如何进行以及的实现。

2024-03-18 17:45:12 1217 1

原创 Python奇幻之旅(从入门到入狱高级篇)——面向对象进阶篇(下)

本篇文章主要是有关面向对象更加进阶一些的内容,主要是讲解了mro和C3算法,明确了Python中的继承关系,并且介绍了如何做异常处理和如何通过字符串去对象中拿元素

2024-02-24 12:59:13 934

原创 Python奇幻之旅(从入门到入狱高级篇)——面向对象高级【中】

本篇内容主要是面向对象的进阶,讲解一些特殊的成员和方法,更加深入迭代器是如何通过对象实现的。

2024-02-23 09:25:53 858

原创 Python奇幻之旅(从入门到入狱高级篇)——面向对象【上】

本章主要初识面向对象,对Python中的面向对象做个了解,知道他如何定义,以及他的三大特性即可

2024-02-20 18:02:13 889

原创 Python项目如何注重开发规范

在进行项目开发的时候,设计到多个文件相辅相成,这个时候我们需要如何去合理规划项目文件,让项目结构更加清晰,这样以后在添加新的功能或者修改原有功能的话,就不会乱手乱脚,导出找自己的代码应该写在哪儿或者修改哪儿。以下主要通过几个方面来介绍Python项目开发时的要求。

2024-02-16 12:01:41 1036

原创 Python奇幻之旅(从入门到入狱基础篇)——附相关资料【下】

如果一个程序只有100行代码,那肯定一个py文件就能写,但是当你有10w行代码的时候,全部放在一个py文件肯定是不适合的,这个时候就需要做一些分配,每个py文件代表单独一个功能在Python中一般对文件称呼也就是模块一个py文件,模块(module)。含多个py文件的文件夹,包(package)。注意:在包(文件夹)中有一个默认内容为空的的文件,一般用于描述当前包的信息(在导入他下面的模块时,也会自动加载)。

2024-02-15 20:38:57 896

原创 Python奇幻之旅(从入门到入狱基础篇)——附相关资料【中】

本篇文章是继上而言的,主要内容是文件操作、函数入门、函数高级的一些内容,比如闭包、装饰器、传参等。

2024-02-15 16:28:29 986

Selenium规避检测js注入代码

现在不少大网站有对selenium采取了监测机制。 比如正常情况下我们用浏览器访问淘宝等网站的 window.navigator.webdriver的值为 undefined或者为false 而使用selenium访问则该值为true。那么如何解决这个问题呢? 这个时候,就需要采取一定的措施进行绕过,让其无法检测出是否是selenium 用法: with open('./1.js') as f: js = f.read() driver.execute_cdp_cmd("Page.addScriptToEvaluateOnNewDocument", { "source": js })

2024-09-14

蓝桥杯Python组算法模板大全

从基础排序算法到动态规划、图论、字符串、数论等蓝桥杯算法模板。Python语言版本,熟背模板,让比赛更有把握。 总结了各大算法模板 + 基础题型(来自蓝桥云课),适合新手练手。

2024-04-04

Python爬虫-知网高级检索爬取

可以通过输入作者、作者单位、来源以及时间日期来获取相关数据 主要采集了['来源', '日期', '标题', '作者', '来源地', '摘要', '关键词', '基金资助', '专辑', '专题', '分类号']这些内容,也支持输入相关数量,从而进行爬取。

2024-02-14

空空如也

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

TA关注的人

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