- 博客(108)
- 资源 (9)
- 收藏
- 关注
原创 mysql 数据库一对一,一对多,多对多实例
学生表和课程表可以多对多一个学生可以学多门课程一门课程可以有多个学生: 多对多一个学生对应一个班级一个班级对应多个学生: 一对多一个老师对应多个学生多个学生对应一个老师:一对多一个老师教一门课一门课对应一个老师: 一对一一对多(foreign key):学生表要关联班级表,多个学生属于一个班级. 班级是被关联的表创建班级表create table class...
2018-12-04 20:31:55 6017 2
原创 pycharm的python环境不一致情况
解决办法就是,用管理员启动power shell,执行Set-ExecutionPolicy Bypass。
2024-04-11 17:16:47 108
原创 解决在Windows上新安装的Docker Desktop一直显示“starting the Docker Engine“登录不上去的问题
window11家庭中文版,则会找不到Hyper-Vr,这时则需要自己创建,讲下述代码复制在txt文本里,并重命名为Hyper.cmd,右键以管理员方式运行,最后输入“Y”重启电脑后即可。管理员模式运行powershll。重启电脑后又出现下图报错。
2024-04-10 14:49:44 532
原创 python 进程之由浅入深
1. 并发编程让你的程序可以同时处理多个任务 2. 并发的基石是 多道技术空间复用 : 同一时间 内存存储了多个应用程序不同应用程序之间的内存是相互独立的时间复用 : 当一个程序遇到了IO操作时 会切换到其他应用程序 , 以此来提高CPU的利用率多道技术的缺点 : 当应用程序都是计算任务时 切换反而降低效率(但是必须得切 才能保证多任务并发) 3. 并发 与 并行并发 多个事件 同时发生 , 也称之为伪并行并行 多个事件 同时进行 , 阻塞和非阻塞 指的是程序的状态。
2024-03-27 17:53:41 280
原创 Python深度解析:functools.lru_cache装饰器
functools.lru_cache是Python标准库中的一个装饰器,用于添加缓存功能。LRU代表最近最少使用,这意味着该缓存会保留最近使用的数据,而丢弃最长时间未使用的数据。# ...
2023-12-28 16:26:12 467
原创 还在傻傻的自己去造轮子?python提供为你提供了强大的重试库 Tenacity
Tenacity 是一个 Python 库,旨在简化添加重试逻辑的过程。它提供了多种灵活的方式来定义重试策略,并且可以轻松地集成到现有的代码中。无论是处理网络请求、数据库连接还是外部服务调用,Tenacity 都能够帮助我们实现更加健壮的应用程序。Tenacity 是一个强大且灵活的工具,可以帮助我们轻松地为 Python 应用程序添加可靠的重试逻辑。无论是处理网络请求、外部服务调用还是其他类型的操作,Tenacity 都能够帮助我们处理失败和不稳定的情况,让我们的应用程序更加健壮和可靠。
2023-12-28 16:09:31 454
原创 怎样实现一个按优先级排序的队列?
优先级队列是一种数据结构,其中每个元素都有一个关联的优先级,并且元素按照优先级的顺序进行排序。在这个问题中,我们希望实现一个按照优先级排序的队列,而且每次执行pop操作时,都能够返回具有最高优先级的元素。在这个实现中,push方法接受一个元素和其优先级,并将一个包含优先级、计数器和元素的元组推入堆中。pop方法弹出堆顶元素,并返回其中的实际元素。堆是一种特殊的树状数据结构,它满足堆性质:对于每个节点i,其父节点的值小于等于节点i的值。这是因为在堆的实现中,如果两个元素的优先级相同,将会比较它们的计数器值。
2023-12-08 15:23:31 426
原创 Python标准库百宝箱:解锁一百个模块的神奇功能与应用
Python标准库是Python编程语言内置的一组模块和工具的集合,为开发者提供了丰富的功能和解决方案。7、 学习和教学工具: Python标准库提供了大量的学习和教学工具,通过深入研究标准库,可以更好地理解Python语言的核心概念和编程范式。9、 开发一致性: 使用Python标准库有助于保持代码的一致性,因为这些库是由Python社区维护的,采用了相似的设计原则和编码风格。11、 与第三方库的兼容性: 许多第三方库和框架构建在Python标准库之上,了解标准库可以更好地理解和使用这些扩展功能。
2023-11-30 22:58:03 559
原创 Python 字典深度解析:键值对的妙用与高级操作
深入了解字典的操作和高级用法,包括合并、排序、默认值处理等,将提升你在Python编程中的数据处理和管理能力。字典作为一种重要的数据结构,其灵活性和性能使其成为处理各种场景的理想选择。通过学会灵活运用字典的各种方法,你将在编程过程中事半功倍。字典(Dictionary)是Python中一种强大的数据结构,以键值对(key-value pairs)的形式存储数据。深入理解字典的基本操作以及高级应用,将使你更好地利用这一灵活而高效的工具。字典基于哈希表实现,通过哈希函数将键映射到索引,实现了高效的数据检索。
2023-11-30 21:55:10 600
原创 深入了解 Python 集合:操作、实现原理与应用场景
集合是Python中强大而灵活的数据结构,其简单的语法和高效的实现使得它在许多场景下都非常有用。从去重到高效的成员关系测试,集合为处理唯一元素提供了便捷的解决方案。集合的实现基于哈希表,这是一种高效的数据结构,通过哈希函数将元素映射到索引。集合中的元素是唯一的,这意味着无论你添加多少次同一个元素,它都只会在集合中出现一次。由于基于哈希表的实现,集合的添加、删除和查找操作具有平均 O(1) 的时间复杂度。集合提供了高效的成员关系测试,适用于需要快速检查元素是否存在的场景。
2023-11-30 21:45:13 441
原创 深入了解 Python 列表:操作、实现原理与应用场景
Python 的列表是动态数组的实现,其底层结构是一个指向元素的指针数组。当列表长度超过当前分配的空间时,系统会重新分配更大的空间,并将原有元素复制到新的位置。Python 中的列表(List)是一种灵活且强大的数据结构,用于存储有序的元素集合。Python 列表的添加和删除操作的特点使其在实际应用中更加灵活和适用,开发者可以根据需求选择合适的方法,同时通过深入理解底层实现原理更好地优化代码性能。同时,Python 的列表支持任意类型的元素,这是通过在数组中存储指向对象的指针来实现的。
2023-11-27 20:02:31 518 1
原创 Python中元组的不变性与包含可变列表的矛盾之美
Python中元组的不可变性与包含可变列表的设计,展现了一种巧妙的平衡,允许程序员在需要不可变性的同时保持一定的灵活性。然而,有趣的是,元组内部可以包含可变的列表。例如,考虑一个包含元组的列表,每个元组代表一个学生的信息,而每个元组中的第二个元素是一个列表,包含该学生的课程列表。然而,Python的设计者们并没有将元组的不可变性推而广之,而是为元组提供了一种灵活性,即允许元组内包含可变的列表。这意味着,尽管元组本身不可变,但如果元组的元素是可变的,那么这些元素的内容是可以被修改的。
2023-11-27 19:49:46 461 1
原创 Python 中的装饰器:优雅而强大的代码增强工具
通过本文的介绍,我们深入了解了 Python 中装饰器的概念和基本用法,并通过实际例子展示了装饰器在日志记录、权限控制等方面的应用。在使用装饰器时,要注意保持代码的简洁和可读性,避免过度使用,以免降低代码的可维护性。在实际项目中,合理利用装饰器可以提高代码的模块化和灵活性,同时确保代码的清晰和可维护性。本文将深入探讨装饰器的概念、用法,并通过实际例子演示如何利用装饰器提升代码的可读性、可维护性以及性能。实际上,装饰器引入的开销很小,而且通过使用一些优化技巧,可以使装饰器的性能几乎与原始函数一样。
2023-11-24 13:54:02 393
原创 Python 多线程环境下使用文件锁实现资源安全访问
通过使用文件锁,我们能够在多线程环境下实现对共享资源的安全访问。在多线程或多进程的环境中,对共享资源的访问需要谨慎处理,以避免竞态条件和数据不一致的问题。本文将介绍如何使用 Python 中的文件锁(fcntl 模块)来实现多线程环境下对共享资源的安全访问。文件锁是一种用于控制对文件或资源访问的机制,它确保在同一时刻只有一个线程或进程能够执行关键代码段。在这个类中,我们使用了 fcntl.flock 函数来实现对文件的加锁和解锁,同时使用了 threading.Lock 来确保对共享资源修改的线程安全性。
2023-11-23 17:50:02 410
原创 python 使用redis分布式锁的实例
输出结果表明,每次取款都是在锁的保护下进行的,账户余额没有出现负值。防死锁: 可以防止因为系统异常或客户端崩溃导致的死锁情况,通过设置锁的过期时间,即使某个客户端异常退出,锁也能够自动释放。并发控制: Redis 分布式锁用于在分布式环境中进行并发控制,确保在同一时刻只有一个客户端能够获得锁,避免竞争条件。互斥操作: 提供了一种简单有效的方式,确保对共享资源的操作是互斥的,避免了数据不一致性的问题。锁粒度: 使用 Redis 锁时,需要仔细控制锁的粒度,避免锁定过于粗粒度,影响并发性能。
2023-11-23 11:31:06 133
原创 docker-compose管理mongo
mongo-express 可以线上管理mongo 库,下面记录一下docker-compose 配置 mongo以及mongo-express。执行 docker-compose 的命令。
2023-07-04 22:35:58 385
原创 CommandNotFoundError: Your shell has not been properly configured to use ‘conda activate‘.
这样,你的shell应该已经正确配置了conda activate命令。如果还有其他问题,请确保按照以上步骤正确执行,并参考Anaconda官方文档或寻求更详细的帮助。尝试再次执行conda activate命令,此时你应该不再遇到错误。
2023-06-29 09:06:24 611
原创 pycharm 历史版本下载
pycharm下载的时候,在官网找历史版本下载不太好找,现在提供一个链接,大家跟据已有版本填入相关的版本,即可实现指定版本下载。
2023-06-28 10:12:35 3484
原创 docker安装postgres
在上面的命令中,my-postgres是容器的名称,POSTGRES_PASSWORD是PostgreSQL的管理员密码,-p 5432:5432将容器的5432端口映射到主机的5432端口,/my/local/path是主机上的目录,将用于容器中的PostgreSQL数据。在Docker中使用PostgreSQL,您可以通过Docker Hub上的PostgreSQL官方镜像来创建一个容器,然后在其中运行PostgreSQL服务。这些是在Docker中使用PostgreSQL的一些基本步骤。
2023-03-10 10:59:47 2217
原创 redis 连接池实例
在上面的代码实现中,对于连接池对象,将其初始化放在了__init__方法中,避免了每次调用get_connection方法都创建新的连接池对象。另外,在set和get方法中,直接使用连接池对象的set和get方法,避免了创建新的Redis连接对象。在批量操作时,使用了连接池连接对象的pipeline方法,将多个命令打包成一个请求一次性发送到Redis服务器。
2023-02-21 09:58:10 172
原创 多进程之join简单应用
通过对比发现 join 有阻塞或等待的作用,在事例一中加了join 结果over在进程执行结束后输出 ,在事例二中,未加join 程序执行 不需等待就可以输出over。即加了time sleep 方法后 结合事例 我们即可对join有一定的认识和了解。......
2022-08-31 17:29:44 233
原创 django models 数据库 update_or_create 更新或者插入
在Django 项目中我们想要实现一个功能,当数据存在时就更新数据,当数据不存在时,就进行创建,update_or_create 方法可以满足我们的要求,但是要理解它,不能盲目的应用到项目中。数据新增了一条,并没有对原数据进行更新,显然不是我们想要的结果。...
2022-08-29 12:04:56 1583
原创 mysql数据库备份恢复及执行多个sql文件方法
当我们根据需要执行结束后,会生成相应的sql文件 ,单个回复比较简单,首先进入数据库,根据下方命令操作即可。此时会生成一个batch.sql 文件,打开后删除最后两条我们不需要的记录。等待执行完毕即可完成数据库恢复。那如果多个文件怎么办呢?...
2022-08-25 17:47:26 882
原创 python根据文件创建时间删除文件
最近遇到一个需求,删除今天创建时间之外的文件,简单写了一下,希望对大家有用。有些依赖需要自己导入,在这里我就不导入了。python根据文件创建时间删除文件。
2022-08-03 15:53:20 441
原创 pandas数据处理之IP正则匹配及orm操作加事务
最近需要对一批数据进行处理,简单的写了一下pandas 处理的方法仅供借鉴,如果你有好的方法,可以写在评论区
2022-07-04 11:12:06 635
原创 Mac 安装TA-Lib错误及其解决办法
今天在进行安装 ta-lib 时报错如下,经过仔细摸索发现解决办法如下:ERROR: Failed building wheel for ta-libRunning setup.py clean for ta-libFailed to build ta-libInstalling collected packages: ta-libRunning setup.py install for ta-lib … errorERROR: Command errored out with exit stat
2022-06-29 00:18:23 1776
原创 解决ubuntu系统没有crontab的问题,Linux 定时任务初试
最近在做一个数据库备份操作,弄了一个容器mysql ,容器的系统时ubuntu ,自己写了一个备份脚本,想要使用Linux 的定时任务去执行脚本,做到常规化备份操作。发现ubuntu 没有crontab ,在进行搜索时发现基本都是centos Linux 的安装与使用,因此自己做一个记录,希望可以帮到同我一样有着方便需求的人。2、检测你的service路径/usr/sbin/service可能出现错误解决办法可以通过执行命令 ps -ef | grep cron 查看 cron 服务是否正在运行
2022-06-28 10:37:09 1455
原创 nginx源码部署
nginx 源码安装解压缩安装如果缺少依赖会出现报错解决error: the HTTP rewrite module requires the PCRE library编译并安装nginx
2022-06-24 11:36:19 556 2
原创 pycharm 点击无反应以及彻底清除
今天使用mac安装了一个pycharm 一直点击,页面无法打开。首先可以打开访达,点击应用程序,选中pycharm移到废纸篓。然后打开终端输入命令:再次进行安装,依然无法进行打开再次进行安装,问题解决...
2022-06-06 23:56:36 999
原创 no matching manifest for linux/arm64/v8 in the manifest list entries
Mac笔记本m1芯片,使用docker 创建mysql的时候容易出现这个错误,解决方法:添加 platform: linux/x86_64
2022-06-06 18:43:19 424
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人