- 博客(118)
- 资源 (9)
- 收藏
- 关注

原创 mysql 数据库一对一,一对多,多对多实例
学生表和课程表可以多对多一个学生可以学多门课程一门课程可以有多个学生: 多对多一个学生对应一个班级一个班级对应多个学生: 一对多一个老师对应多个学生多个学生对应一个老师:一对多一个老师教一门课一门课对应一个老师: 一对一一对多(foreign key):学生表要关联班级表,多个学生属于一个班级. 班级是被关联的表创建班级表create table class...
2018-12-04 20:31:55
6290
2
原创 绘画(流程图,思维导图)免费工具
绘画(流程图,思维导图)免费工具 https://www.drawio.com/
2024-12-27 09:58:50
98
原创 2024 某果公司python 面试真题
在C语言中,指针的算术运算会根据指针类型进行调整,因此a+1将使得指针a增加一个int类型的大小,即sizeof(int)字节。而在Python中,没有switch-case语句,但是可以使用字典来实现类似的功能,而字典的键可以是浮点型。在C语言中,指针的大小通常与地址总线的大小相同,因此在32位系统中为4字节,在64位系统中为8字节。而在Python中,内存管理是由解释器自动处理的,对象的内存分配是在堆上完成的。在C语言中,静态局部变量是在数据段中分配的,而不是在堆栈上。
2024-08-07 21:47:36
1984
3
原创 VMware Linux 虚拟机设置了共享文件夹找不到如何解决?
如果在虚拟机中设置了共享文件夹但找不到,可能是因为没有正确执行挂载操作。挂载操作是将主机上的共享文件夹与虚拟机中的某个目录关联起来的步骤。目前已经设置了共享文件夹,但是在Linux 上并没有找到。我们也可以使用软连接,建立在桌面上便于我们查看共享文件。现在就可以看到共享文件夹了。
2024-08-06 15:31:15
2470
1
原创 披荆斩棘:Python开发者在市场低迷期快速找到工作的策略
通过采取正确的策略和积极的应对措施,他们仍然可以找到有价值的工作机会。以下是一些可操作的步骤和见解,帮助Python开发者在市场低迷期快速找到工作。学习新技术和工具:熟悉流行的Python库和框架,如Django、Flask、Pandas等。远程工作:远程工作的机会越来越多,特别是在技术领域,全球范围内寻找工作机会。模拟面试:与朋友或通过专业平台进行模拟面试,熟悉常见问题和回答技巧。兼职和合同工:短期项目和合同工作可以提供收入和经验积累的机会。保持积极心态:面对拒绝保持乐观,坚持不懈地寻找机会。
2024-07-26 17:55:14
497
原创 python如何优雅的快速定位慢执行
Pyinstrument 是一个功能强大且易于使用的 Python 性能分析工具,通过它你可以快速定位代码中的性能瓶颈,并做出相应的优化。在上述代码中,我们创建了一个 Profiler 实例并启动它,然后执行我们想要分析的代码,最后停止 Profiler 并打印性能分析报告。运行上述命令后,Pyinstrument 会执行你的脚本,并生成一个文件,包含分析报告。你也可以在代码中使用 Pyinstrument 进行更细粒度的性能分析。文件可以在浏览器中打开,查看详细的性能分析报告。
2024-07-26 15:32:59
412
原创 pycharm的python环境不一致情况
解决办法就是,用管理员启动power shell,执行Set-ExecutionPolicy Bypass。
2024-04-11 17:16:47
329
原创 解决在Windows上新安装的Docker Desktop一直显示“starting the Docker Engine“登录不上去的问题
window11家庭中文版,则会找不到Hyper-Vr,这时则需要自己创建,讲下述代码复制在txt文本里,并重命名为Hyper.cmd,右键以管理员方式运行,最后输入“Y”重启电脑后即可。管理员模式运行powershll。重启电脑后又出现下图报错。
2024-04-10 14:49:44
1866
原创 python 进程之由浅入深
1. 并发编程让你的程序可以同时处理多个任务 2. 并发的基石是 多道技术空间复用 : 同一时间 内存存储了多个应用程序不同应用程序之间的内存是相互独立的时间复用 : 当一个程序遇到了IO操作时 会切换到其他应用程序 , 以此来提高CPU的利用率多道技术的缺点 : 当应用程序都是计算任务时 切换反而降低效率(但是必须得切 才能保证多任务并发) 3. 并发 与 并行并发 多个事件 同时发生 , 也称之为伪并行并行 多个事件 同时进行 , 阻塞和非阻塞 指的是程序的状态。
2024-03-27 17:53:41
365
原创 Python深度解析:functools.lru_cache装饰器
functools.lru_cache是Python标准库中的一个装饰器,用于添加缓存功能。LRU代表最近最少使用,这意味着该缓存会保留最近使用的数据,而丢弃最长时间未使用的数据。# ...
2023-12-28 16:26:12
1052
原创 还在傻傻的自己去造轮子?python提供为你提供了强大的重试库 Tenacity
Tenacity 是一个 Python 库,旨在简化添加重试逻辑的过程。它提供了多种灵活的方式来定义重试策略,并且可以轻松地集成到现有的代码中。无论是处理网络请求、数据库连接还是外部服务调用,Tenacity 都能够帮助我们实现更加健壮的应用程序。Tenacity 是一个强大且灵活的工具,可以帮助我们轻松地为 Python 应用程序添加可靠的重试逻辑。无论是处理网络请求、外部服务调用还是其他类型的操作,Tenacity 都能够帮助我们处理失败和不稳定的情况,让我们的应用程序更加健壮和可靠。
2023-12-28 16:09:31
604
原创 怎样实现一个按优先级排序的队列?
优先级队列是一种数据结构,其中每个元素都有一个关联的优先级,并且元素按照优先级的顺序进行排序。在这个问题中,我们希望实现一个按照优先级排序的队列,而且每次执行pop操作时,都能够返回具有最高优先级的元素。在这个实现中,push方法接受一个元素和其优先级,并将一个包含优先级、计数器和元素的元组推入堆中。pop方法弹出堆顶元素,并返回其中的实际元素。堆是一种特殊的树状数据结构,它满足堆性质:对于每个节点i,其父节点的值小于等于节点i的值。这是因为在堆的实现中,如果两个元素的优先级相同,将会比较它们的计数器值。
2023-12-08 15:23:31
556
原创 Python标准库百宝箱:解锁一百个模块的神奇功能与应用
Python标准库是Python编程语言内置的一组模块和工具的集合,为开发者提供了丰富的功能和解决方案。7、 学习和教学工具: Python标准库提供了大量的学习和教学工具,通过深入研究标准库,可以更好地理解Python语言的核心概念和编程范式。9、 开发一致性: 使用Python标准库有助于保持代码的一致性,因为这些库是由Python社区维护的,采用了相似的设计原则和编码风格。11、 与第三方库的兼容性: 许多第三方库和框架构建在Python标准库之上,了解标准库可以更好地理解和使用这些扩展功能。
2023-11-30 22:58:03
640
原创 Python 字典深度解析:键值对的妙用与高级操作
深入了解字典的操作和高级用法,包括合并、排序、默认值处理等,将提升你在Python编程中的数据处理和管理能力。字典作为一种重要的数据结构,其灵活性和性能使其成为处理各种场景的理想选择。通过学会灵活运用字典的各种方法,你将在编程过程中事半功倍。字典(Dictionary)是Python中一种强大的数据结构,以键值对(key-value pairs)的形式存储数据。深入理解字典的基本操作以及高级应用,将使你更好地利用这一灵活而高效的工具。字典基于哈希表实现,通过哈希函数将键映射到索引,实现了高效的数据检索。
2023-11-30 21:55:10
1200
原创 深入了解 Python 集合:操作、实现原理与应用场景
集合是Python中强大而灵活的数据结构,其简单的语法和高效的实现使得它在许多场景下都非常有用。从去重到高效的成员关系测试,集合为处理唯一元素提供了便捷的解决方案。集合的实现基于哈希表,这是一种高效的数据结构,通过哈希函数将元素映射到索引。集合中的元素是唯一的,这意味着无论你添加多少次同一个元素,它都只会在集合中出现一次。由于基于哈希表的实现,集合的添加、删除和查找操作具有平均 O(1) 的时间复杂度。集合提供了高效的成员关系测试,适用于需要快速检查元素是否存在的场景。
2023-11-30 21:45:13
721
原创 深入了解 Python 列表:操作、实现原理与应用场景
Python 的列表是动态数组的实现,其底层结构是一个指向元素的指针数组。当列表长度超过当前分配的空间时,系统会重新分配更大的空间,并将原有元素复制到新的位置。Python 中的列表(List)是一种灵活且强大的数据结构,用于存储有序的元素集合。Python 列表的添加和删除操作的特点使其在实际应用中更加灵活和适用,开发者可以根据需求选择合适的方法,同时通过深入理解底层实现原理更好地优化代码性能。同时,Python 的列表支持任意类型的元素,这是通过在数组中存储指向对象的指针来实现的。
2023-11-27 20:02:31
689
1
原创 Python中元组的不变性与包含可变列表的矛盾之美
Python中元组的不可变性与包含可变列表的设计,展现了一种巧妙的平衡,允许程序员在需要不可变性的同时保持一定的灵活性。然而,有趣的是,元组内部可以包含可变的列表。例如,考虑一个包含元组的列表,每个元组代表一个学生的信息,而每个元组中的第二个元素是一个列表,包含该学生的课程列表。然而,Python的设计者们并没有将元组的不可变性推而广之,而是为元组提供了一种灵活性,即允许元组内包含可变的列表。这意味着,尽管元组本身不可变,但如果元组的元素是可变的,那么这些元素的内容是可以被修改的。
2023-11-27 19:49:46
601
1
原创 Python 中的装饰器:优雅而强大的代码增强工具
通过本文的介绍,我们深入了解了 Python 中装饰器的概念和基本用法,并通过实际例子展示了装饰器在日志记录、权限控制等方面的应用。在使用装饰器时,要注意保持代码的简洁和可读性,避免过度使用,以免降低代码的可维护性。在实际项目中,合理利用装饰器可以提高代码的模块化和灵活性,同时确保代码的清晰和可维护性。本文将深入探讨装饰器的概念、用法,并通过实际例子演示如何利用装饰器提升代码的可读性、可维护性以及性能。实际上,装饰器引入的开销很小,而且通过使用一些优化技巧,可以使装饰器的性能几乎与原始函数一样。
2023-11-24 13:54:02
473
原创 Python 多线程环境下使用文件锁实现资源安全访问
通过使用文件锁,我们能够在多线程环境下实现对共享资源的安全访问。在多线程或多进程的环境中,对共享资源的访问需要谨慎处理,以避免竞态条件和数据不一致的问题。本文将介绍如何使用 Python 中的文件锁(fcntl 模块)来实现多线程环境下对共享资源的安全访问。文件锁是一种用于控制对文件或资源访问的机制,它确保在同一时刻只有一个线程或进程能够执行关键代码段。在这个类中,我们使用了 fcntl.flock 函数来实现对文件的加锁和解锁,同时使用了 threading.Lock 来确保对共享资源修改的线程安全性。
2023-11-23 17:50:02
692
原创 python 使用redis分布式锁的实例
输出结果表明,每次取款都是在锁的保护下进行的,账户余额没有出现负值。防死锁: 可以防止因为系统异常或客户端崩溃导致的死锁情况,通过设置锁的过期时间,即使某个客户端异常退出,锁也能够自动释放。并发控制: Redis 分布式锁用于在分布式环境中进行并发控制,确保在同一时刻只有一个客户端能够获得锁,避免竞争条件。互斥操作: 提供了一种简单有效的方式,确保对共享资源的操作是互斥的,避免了数据不一致性的问题。锁粒度: 使用 Redis 锁时,需要仔细控制锁的粒度,避免锁定过于粗粒度,影响并发性能。
2023-11-23 11:31:06
285
原创 docker-compose管理mongo
mongo-express 可以线上管理mongo 库,下面记录一下docker-compose 配置 mongo以及mongo-express。执行 docker-compose 的命令。
2023-07-04 22:35:58
571
原创 CommandNotFoundError: Your shell has not been properly configured to use ‘conda activate‘.
这样,你的shell应该已经正确配置了conda activate命令。如果还有其他问题,请确保按照以上步骤正确执行,并参考Anaconda官方文档或寻求更详细的帮助。尝试再次执行conda activate命令,此时你应该不再遇到错误。
2023-06-29 09:06:24
749
原创 pycharm 历史版本下载
pycharm下载的时候,在官网找历史版本下载不太好找,现在提供一个链接,大家跟据已有版本填入相关的版本,即可实现指定版本下载。
2023-06-28 10:12:35
4433
原创 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
2467
原创 redis 连接池实例
在上面的代码实现中,对于连接池对象,将其初始化放在了__init__方法中,避免了每次调用get_connection方法都创建新的连接池对象。另外,在set和get方法中,直接使用连接池对象的set和get方法,避免了创建新的Redis连接对象。在批量操作时,使用了连接池连接对象的pipeline方法,将多个命令打包成一个请求一次性发送到Redis服务器。
2023-02-21 09:58:10
331
原创 多进程之join简单应用
通过对比发现 join 有阻塞或等待的作用,在事例一中加了join 结果over在进程执行结束后输出 ,在事例二中,未加join 程序执行 不需等待就可以输出over。即加了time sleep 方法后 结合事例 我们即可对join有一定的认识和了解。......
2022-08-31 17:29:44
318
原创 django models 数据库 update_or_create 更新或者插入
在Django 项目中我们想要实现一个功能,当数据存在时就更新数据,当数据不存在时,就进行创建,update_or_create 方法可以满足我们的要求,但是要理解它,不能盲目的应用到项目中。数据新增了一条,并没有对原数据进行更新,显然不是我们想要的结果。...
2022-08-29 12:04:56
2029
navicatpremium12-zh.zip
2021-02-01
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人