Python筑基之旅-MySQL数据库(二)

目录

一、第三方库

1、mysql-connector-python

1-1、由来

1-2、优缺点  

1-2-1、优点

1-2-1-1、官方支持

1-2-1-2、纯Python实现

1-2-1-3、全面支持

1-2-1-4、兼容性

1-2-1-5、易于使用

1-2-2、缺点

1-2-2-1、性能

1-2-2-2、安装

1-2-2-3、社区支持

1-2-2-4、扩展性

1-3、功能

1-3-1、数据库连接

1-3-2、SQL语句执行

1-3-3、数据类型转换

1-3-4、自动重连与事务处理

1-3-5、SSL加密连接

1-3-6、兼容性与灵活性

2、PyMySQL

2-1、由来

2-2、优缺点

2-2-1、优点

2-2-1-1、简单易用

2-2-1-2、纯Python实现

2-2-1-3、线程安全

2-2-1-4、支持大部分MySQL功能

2-2-1-5、连接池支持

2-2-2、缺点

2-2-2-1、性能

2-2-2-2、资源消耗

2-2-2-3、依赖关系

2-2-2-4、功能限制

2-2-2-5、安全性

2-3、功能

2-3-1、数据库连接

2-3-2、执行SQL语句

2-3-3、事务管理

2-3-4、数据类型转换

2-3-5、连接池

2-3-6、数据库管理

2-3-7、扩展性和灵活性

3、PeeWee

3-1、由来

3-2、优缺点

3-2-1、优点

3-2-1-1、轻量级

3-2-1-2、简单易用

3-2-1-3、支持多种数据库后端

3-2-1-4、良好的性能

3-2-1-5、与Django/Flask的集成

3-2-2、缺点

3-2-2-1、不支持自动化Schema迁移

3-2-2-2、社区支持相对较少

3-2-2-3、功能相对较少

3-3、功能

3-3-1、定义数据库模型

3-3-2、数据库连接和管理

3-3-3、执行CRUD操作

3-3-4、强大的查询构建器

3-3-5、支持多种数据库后端

3-3-6、数据迁移

3-3-7、性能优化

4、SQLAlchemy

4-1、由来

4-2、优缺点

4-2-1、优点

4-2-1-1、易用性

4-2-1-2、灵活性

4-2-1-3、对象关系映射(ORM)

4-2-1-4、查询构建器

4-2-1-5、事务管理

4-2-1-6、性能优化

4-2-1-7、扩展性

4-2-2、缺点

4-2-2-1、学习曲线

4-2-2-2、性能开销

4-2-2-3、调试困难

4-2-2-4、代码冗余

4-3、功能

4-3-1、对象关系映射(ORM)

4-3-2、查询构建器

4-3-3、关系管理

4-3-4、会话管理

4-3-5、数据库迁移

4-3-6、原生SQL支持

4-3-7、连接池

4-3-8、事件监听

4-3-9、扩展性

4-3-10、文档和社区支持

二、推荐阅读

1、Python函数之旅

2、Python算法之旅

3、博客个人主页

一、第三方库

1、mysql-connector-python

1-1、由来

        mysql-connector-python是Oracle官方提供的用于Python连接到MySQL数据库的库,它的由来主要是为了提供一个官方的、纯Python实现的MySQL客户端,使Python开发者能够方便地连接到MySQL数据库并执行各种数据库操作,如查询、插入、更新和删除等。

        随着Python的普及和MySQL数据库的广泛使用,许多Python开发者需要一种方式来与MySQL数据库进行交互,mysql-connector-python就是为了满足这一需求而诞生的,它遵循Python DB-API 2.0 规范(PEP 249),这意味着它提供了与其他数据库连接库相似的接口和功能,使得开发者可以更容易地使用它,而无需重新学习新的API。

        mysql-connector-python提供了全面的功能来连接、查询和管理MySQL数据库,它支持多种连接方式,包括TCP/IP、Unix套接字以及命名管道;此外,它还支持SSL加密连接,确保了数据传输的安全性;在数据类型转换方面,驱动自动将Python对象(如字符串、整数和日期)转化为对应的MySQL数据类型,并将数据库返回的结果转化为Python对象,简化了数据操作。

        总之,mysql-connector-python库的由来是为了提供一个官方的、纯Python实现的MySQL客户端库,以满足Python开发者与MySQL数据库进行交互的需求。

1-2、点  

        mysql-connector-python是Oracle官方提供的Python连接MySQL数据库的库,其主要的优缺点如下:

1-2-1、优点
1-2-1-1、官方支持

        由于这是Oracle官方提供的库,因此可以确保它与MySQL数据库的兼容性和稳定性,这也意味着它通常会比第三方库获得更早的更新和修复。

1-2-1-2、纯Python实现

        mysql-connector-python是用纯Python编写的,这意味着它不需要任何外部依赖(除了Python本身和MySQL客户端库)即可运行,这使得它在不同的操作系统和环境中都能很好地工作,减少了安装和配置的复杂性。

1-2-1-3、全面支持

        它支持大多数MySQL特性,包括事务处理、存储过程、游标等,此外,它还支持SSL加密连接,以确保数据传输的安全性。

1-2-1-4、兼容性

        它不仅与MySQL兼容,还与其他MySQL兼容的数据库(如MariaDB、Percona Server等)兼容,这使得它可以在更广泛的环境中使用。

1-2-1-5、易于使用

        它遵循Python DB-API 2.0 规范(PEP 249),这使得它与其他Python数据库连接库具有相似的接口和功能,这使得开发者可以更容易地使用它,而无需重新学习新的API。

1-2-2、缺点
1-2-2-1、性能

        由于mysql-connector-python是用纯Python编写的,因此在某些情况下,它的性能可能不如使用C或C++编写的其他库(如 MySQLdb 或 PyMySQL),然而,在大多数情况下,这种性能差异可能并不明显。

1-2-2-2、安装

        虽然mysql-connector-python本身不需要任何外部依赖即可安装,但它可能需要安装MySQL 客户端库才能正常工作,在某些操作系统中,这可能需要额外的步骤或配置。

1-2-2-3、社区支持

        与一些流行的第三方库相比,mysql-connector-python的社区可能较小,这可能导致在寻求帮助或解决问题时,可用的资源和支持较少。

1-2-2-4、扩展性

        在某些高级功能上,mysql-connector-python不如ORM(对象关系映射)库(如SQLAlchemy)强大或灵活,ORM库提供了更高级的数据访问和操作功能,以及更强大的查询构建和对象映射功能。

        注意,以上优点和缺点都是相对的,并且可能因具体情况而异,在选择使用哪个Python MySQL库时,应根据自己的项目需求、环境要求和偏好进行评估和选择。

1-3、功能

        mysql-connector-python是一个纯Python实现的MySQL客户端库,它提供了与MySQL数据库进行交互的多种功能,其主要功能有:

1-3-1、数据库连接

        mysql-connector-python支持多种连接方式,包括TCP/IP、Unix套接字以及命名管道,允许Python程序与MySQL数据库建立连接。

1-3-2、SQL语句执行

        它支持执行各种SQL语句,包括数据查询(SELECT)、数据插入(INSERT)、数据更新(UPDATE)和数据删除(DELETE)等操作,从而实现对MySQL数据库的全面操作。

1-3-3、数据类型转换

        mysql-connector-python能够自动处理Python数据类型与MySQL数据类型之间的转换,简化了数据操作,驱动会自动将Python对象(如字符串、整数和日期)转化为对应的MySQL数据类型,并将数据库返回的结果转化为Python对象。

1-3-4、自动重连与事务处理

        当网络中断或服务器重启时,mysql-connector-python可以自动重新建立连接,保证操作的连续性;同时,它支持事务处理,可以按需控制原子性和一致性。

1-3-5、SSL加密连接

        mysql-connector-python支持SSL加密连接,确保了数据传输的安全性。

1-3-6、兼容性与灵活性

        mysql-connector-python兼容Python 2.7以及3.x版本,并且遵循DB-API 2.0规范(PEP 249),提供了灵活的API供开发者使用。

        总的来说,mysql-connector-python是一个功能强大、易于使用且灵活的MySQL客户端库,为Python开发者提供了与MySQL数据库进行交互的便利工具。

2、PyMySQL

2-1、由来

        PyMySQL是一个在Python 3.x版本中用于连接MySQL服务器的第三方库,它的由来可以追溯到Python和MySQL这两种技术的融合需求。

        首先,Python是一种广泛使用的编程语言,以其简洁、易读和强大的功能而受到开发者的喜爱,而MySQL则是一种流行的关系型数据库管理系统,用于存储和管理大量的数据。在软件开发过程中,经常需要将Python与MySQL进行连接,以实现数据的存储、查询和更新等功能。

        然而,Python标准库中并没有直接支持MySQL的库,这就需要在Python和MySQL之间进行桥梁的构建。为了解决这一问题,一些开发者开始开发能够连接Python和MySQL的第三方库,其中PyMySQL就是其中之一。

        PyMySQL遵循Python数据库API v2.0规范,并包含了纯Python的MySQL客户端库,它提供了与MySQL数据库进行交互的接口,使得Python开发者可以方便地使用Python语言来操作MySQL数据库。

        因此,PyMySQL的由来可以看作是Python和MySQL技术融合的需求推动下的产物,它的出现为Python开发者提供了与MySQL数据库进行交互的便利工具。

2-2、

        PyMySQL作为Python连接MySQL数据库的第三方库,其主要的优缺点如下:

2-2-1、优点
2-2-1-1、简单易用

        PyMySQL提供了简单易用的API,使得Python开发者可以方便地进行数据库的连接和操作,它遵循Python DB-API 2.0规范,因此与其他数据库库相比,其使用方式非常相似。

2-2-1-2、纯Python实现

        PyMySQL是纯Python编写的库,不需要任何C语言的依赖项,这意味着它可以在Python的各个平台上运行,无需担心平台兼容性问题。

2-2-1-3、线程安全

        PyMySQL是线程安全的,可以在多线程环境中安全地使用,这对于需要处理并发连接的Web应用程序来说非常重要。

2-2-1-4、支持大部分MySQL功能

        PyMySQL支持大部分MySQL的SQL语法和功能,包括事务、存储过程等,这使得开发者可以使用PyMySQL来执行复杂的数据库操作。

2-2-1-5、连接池支持

        虽然PyMySQL本身不提供连接池,但它可以与其他连接池库(如DBUtils)一起使用,以提供更高效、更稳定的数据库连接。

2-2-2、缺点
2-2-2-1、性能

        在某些情况下,与MySQL的原生C语言客户端相比,PyMySQL的性能可能会稍逊一筹,特别是在处理大量数据或执行复杂查询时,可能会遇到性能瓶颈。

2-2-2-2、资源消耗

        由于PyMySQL是纯Python编写的,因此在运行时可能会消耗更多的CPU和内存资源,这可能会对大型应用程序或服务器的性能产生负面影响。

2-2-2-3、依赖关系

        虽然PyMySQL不依赖于C语言库,但它可能依赖于其他Python库或模块,这些依赖关系可能会增加部署和管理的复杂性。

2-2-2-4、功能限制

        虽然PyMySQL支持大部分MySQL的功能,但它可能不支持某些高级特性或优化选项,这可能会限制其在某些特定场景下的应用。

2-2-2-5、安全性

        在使用PyMySQL时,需要确保正确地处理数据库连接和凭据信息,以防止潜在的安全风险。例如,未加密的连接可能会暴露敏感数据给潜在的攻击者。

        注意,这些优点和缺点可能会因应用程序的具体需求和上下文而有所不同,在选择使用PyMySQL时,应根据实际情况进行权衡和决策。

2-3、功能

        PyMySQL是一个Python编写的MySQL客户端库,它提供了与MySQL数据库进行交互的多种功能,其主要功能有:

2-3-1、数据库连接

        PyMySQL允许Python程序与MySQL数据库建立连接,从而进行后续的数据操作。

2-3-2、执行SQL语句

        PyMySQL支持执行各种SQL语句,包括数据查询(SELECT)、数据插入(INSERT)、数据更新(UPDATE)和数据删除(DELETE)等操作。

2-3-3、事务管理

        PyMySQL提供了事务管理的功能,允许开发者在数据库操作中执行多个操作作为一个工作单元,要么全部完成,要么全部不完成。

2-3-4、数据类型转换

        PyMySQL能够自动处理Python数据类型与MySQL数据类型之间的转换,使开发者无需关心数据类型的差异。

2-3-5、连接池

        连接池是管理和复用数据库连接的一种技术,PyMySQL支持连接池功能,可以提高数据库操作的效率和性能。

2-3-6、数据库管理

        除了基本的数据操作外,PyMySQL还支持一些数据库管理相关的任务,如创建或删除数据库、创建或删除数据表、创建或删除索引等。

2-3-7、扩展性和灵活性

        PyMySQL是一个高度可定制和可扩展的库,开发者可以根据需要扩展其功能或修改其行为。

        总之,PyMySQL是一个功能强大、易于使用且灵活的MySQL客户端库,它为Python开发者提供了与MySQL数据库进行交互的便利工具。

3、PeeWee

3-1、由来

        Peewee是一个基ORM(对象关系映射)的Python库,由美国软件工程师Charles Leifer于2010年10月开发。ORM是一种编程方法,它允许程序员在面向对象编程语言中,在不兼容的类型系统之间转换数据。Peewee库的主要功能是为Python开发者提供一个轻量级、易用的方式来与数据库进行交互,它支持SQLite、MySQL、PostgreSQL和Cockroach等数据库。

        Peewee库的设计目标是提供一种简单、直观的方式来处理数据库操作,同时保持其灵活性,使得开发者可以根据自己的需求进行定制;Peewee库在Python社区中得到了广泛的应用和认可,成为了许多Python项目的首选数据库操作库之一。

3-2、

        PeeWee库作为一个轻量级的ORM框架,在Python社区中受到了一定的欢迎,其主要优缺点有:

3-2-1、优点
3-2-1-1、轻量级

        PeeWee占用资源少,非常适合小型应用、原型设计或快速开发场景,它易于集成到各种Python项目中,不会给项目带来过多的依赖和复杂性。

3-2-1-2、简单易用

        PeeWee提供了简洁而直观的API,使得与数据库进行交互变得简单和直观,它有很好的文档和示例,便于开发人员快速上手。对于初学者来说,使用PeeWee可以更容易地理解和掌握ORM的概念和用法。

3-2-1-3、支持多种数据库后端

        PeeWee支持多种常见的数据库后端,如SQLite、MySQL、PostgreSQL等,这使得开发人员可以根据项目需求选择适合的数据库,提高了项目的灵活性。

3-2-1-4、良好的性能

        PeeWee在处理大量数据时表现出色,具有良好的性能,这使得它在处理复杂数据库操作时能够保持较高的效率。

3-2-1-5、与Django/Flask的集成

        PeeWee可以与Django或Flask等Web框架集成,提供了更大的灵活性。虽然这些框架都提供了自己的ORM,但PeeWee的集成使得开发者可以根据个人喜好选择使用不同的ORM。

3-2-2、缺点
3-2-2-1、不支持自动化Schema迁移

        与其他一些ORM框架相比,PeeWee不支持自动化Schema迁移,这意味着开发者需要手动编写代码来处理数据库表结构的变更,这可能会增加一些额外的工作量。

3-2-2-2、社区支持相对较少

        与其他流行的ORM框架(如Django ORM、SQLAlchemy等)相比,PeeWee的社区支持相对较少,这可能会使得在遇到问题时难以找到解决方案或获取帮助。

3-2-2-3、功能相对较少

        虽然PeeWee提供了基本的ORM功能,但与其他一些功能更丰富的ORM框架相比,它的功能相对较少,这可能会限制它在一些复杂项目中的应用。

        注意,以上优缺点是基于一般情况的概述,并不能完全代表所有使用PeeWee库的项目和开发者都会遇到相同的问题,在选择使用PeeWee之前,建议根据项目需求和个人偏好进行权衡和评估。

3-3、功能

        Peewee库是一个轻量级的Python对象关系映射(ORM)库,用于在Python应用程序中与数据库进行交互,它提供了许多有用的功能,使数据库操作变得更加简单和高效。以下是Peewee库的主要功能:

3-3-1、定义数据库模型

        使用Peewee库,你可以通过定义Python类来定义数据库中的表结构和字段,这使得数据结构和关系更容易管理,同时也提高了代码的可读性和可维护性。


3-3-2、数据库连接和管理

        Peewee提供了用于连接和管理数据库的功能,你可以指定数据库引擎、主机、端口、用户名、密码等信息来连接到数据库,一旦连接建立,你就可以执行各种数据库操作。

3-3-3、执行CRUD操作

        Peewee提供了用于执行创建(Create)、读取(Read)、更新(Update)和删除(Delete)操作的方法,你可以使用这些方法轻松地插入新数据、查询数据、更新数据和删除数据。

3-3-4、强大的查询构建器

        Peewee提供了一个强大的查询构建器,允许你以自然的方式构建复杂的数据库查询,你可以使用条件、排序、限制和连接等操作来精确地获取所需的数据,这使得查询过程更加直观和易于理解。

3-3-5、支持多种数据库后端

        Peewee支持多种关系型数据库后端,包括SQLite、MySQL、PostgreSQL等,这使得你可以根据项目需求选择适合的数据库,同时也为数据库的迁移和扩展提供了方便。

3-3-6、数据迁移

        Peewee支持数据库迁移,能够轻松地更新数据库模型和结构,这使得在数据库模式发生变化时,能够轻松地更新数据库并保持数据的完整性。

3-3-7、性能优化

        Peewee经过精心设计,以确保在处理大量数据时也能保持高性能,它采用了多种优化策略,如缓存查询结果、减少数据库访问次数等,以提高数据库操作的效率。

        除了上述主要功能外,Peewee还提供了其他一些有用的功能,如事务管理、关系处理、索引和约束等,这些功能使得Peewee成为一个功能强大且易于使用的工具,适用于各种类型的Python项目。

4、SQLAlchemy

4-1、由来

        SQLAlchemy是Python编程语言下的一款开源软件,由迈克尔·拜尔(Michael Bayer)等人开发,它首次发行于2006年2月,并迅速成为Python社区中最广泛使用的ORM(对象关系映射)工具之一。

        SQLAlchemy的主要目标是采用简单的Python语言,为高效和高性能的数据库访问设计,实现完整的企业级持久模型,通过SQLAlchemy,用户能够轻松地连接到各种关系型数据库(如MySQL),并对其中的数据表结构进行操作,包括创建、修改和查询数据库表。此外,SQLAlchemy还提供了丰富的数据类型和操作方法,方便用户以面向对象的方式操作数据库中的数据。

        总之,SQLAlchemy作为Python编程语言下的一款重要第三方库,其由来可以追溯到其创始人迈克尔·拜尔等人的努力,以及Python社区对高效、高性能数据库访问需求的不断追求。

4-2、

        SQLAlchemy库作为Python中广泛使用的对象关系映射(ORM)工具,其主要的优缺点有:

4-2-1、优点
4-2-1-1、易用性

        SQLAlchemy提供了简洁易懂的API,使得开发者能够轻松地定义数据库模型、执行查询和更新操作。

4-2-1-2、灵活性

        SQLAlchemy支持多种数据库后端,包括MySQL、PostgreSQL、SQLite等,并提供了大量的配置选项,允许开发者根据自己的需求定制数据库访问层。

4-2-1-3、对象关系映射(ORM)

        ORM使得开发者能够用Python对象直接表示和操作数据库中的记录,无需编写大量的SQL语句,这大大提高了开发效率,并降低了出错的可能性。

4-2-1-4、查询构建器

        SQLAlchemy提供了强大的查询构建器,允许开发者以Pythonic的方式构建复杂的SQL查询,这使得查询语句更加直观、易于理解和维护。

4-2-1-5、事务管理

        SQLAlchemy内置了事务管理机制,使得开发者能够轻松地管理数据库事务,确保数据的完整性和一致性。

4-2-1-6、性能优化

        虽然ORM通常被认为在性能上不如原生SQL,但SQLAlchemy通过缓存、延迟加载等机制,以及支持原生SQL语句的执行,可以在一定程度上优化性能。

4-2-1-7、扩展性

        SQLAlchemy支持扩展和插件机制,允许开发者根据自己的需求定制和扩展其功能。

4-2-2、缺点
4-2-2-1、学习曲线

        虽然SQLAlchemy提供了丰富的功能和灵活的配置选项,但这也意味着它的API较为复杂,学习曲线相对陡峭,初学者可能需要花费一些时间来熟悉和掌握其用法。

4-2-2-2、性能开销

        与原生SQL相比,ORM通常会有一定的性能开销,这是因为ORM需要在Python对象和数据库记录之间进行映射和转换,对于大数据量和高并发的应用场景,这可能会成为瓶颈。

4-2-2-3、调试困难

        由于ORM将数据库操作封装在Python对象中,因此在调试时可能会遇到一些困难,开发者需要熟悉ORM的内部机制和SQL语句的执行过程,以便找到并解决问题。

4-2-2-4、代码冗余

        在某些情况下,使用ORM可能会导致代码冗余。例如,当需要频繁执行相同的SQL查询时,直接使用原生SQL语句可能更加简洁和高效。

        注意,以上优缺点并非绝对,它们可能会因具体的应用场景和团队需求而有所不同,在选择是否使用SQLAlchemy时,需要根据项目的实际情况进行权衡和考虑。

4-3、功能

        SQLAlchemy库是一个功能强大的SQL工具包和对象关系映射(ORM)系统,用于Python应用程序,它提供了一套完整的解决方案,使开发者能够使用Python类和数据库表进行交互,而无需编写大量的SQL代码,其主要功能有:

4-3-1、对象关系映射(ORM)

        SQLAlchemy允许开发者定义Python类,这些类会映射到数据库中的表,开发者可以使用Python类的实例来代表数据库表中的行,并通过这些实例来查询、更新和删除数据。ORM系统还负责处理Python数据类型和数据库数据类型之间的转换。

4-3-2、查询构建器

        SQLAlchemy提供了一个查询构建器API,允许开发者以Pythonic的方式构建SQL查询,查询可以包括各种条件、排序、分组、连接等操作,并且可以通过链式调用方法来构建复杂的查询。

4-3-3、关系管理

        SQLAlchemy支持数据库中的各种关系,如一对一、一对多和多对多关系,开发者可以在Python类之间定义这些关系,并通过这些关系来执行跨表的查询和更新操作。

4-3-4、会话管理

        SQLAlchemy使用会话(Session)对象来管理数据库连接和事务,会话对象提供了一个暂存区,用于存储待提交的更改,并允许开发者在单个事务中执行多个操作,提交会话将更改应用到数据库,而回滚会话将撤销待提交的更改。

4-3-5、数据库迁移

        SQLAlchemy提供了Alembic这样的扩展库,用于处理数据库迁移,开发者可以使用Alembic来定义数据库模型的版本,并在模型发生更改时生成和执行迁移脚本,以更新数据库结构。

4-3-6、原生SQL支持

        虽然SQLAlchemy的主要目标是提供ORM功能,但它也支持直接执行原生SQL语句,开发者可以使用SQLAlchemy的引擎(Engine)对象来执行SQL语句,并获取结果。

4-3-7、连接池

        SQLAlchemy提供了连接池功能,用于管理和复用数据库连接,连接池可以提高应用程序的性能和响应速度,并减少与数据库建立连接的开销。

4-3-8、事件监听

        SQLAlchemy支持事件监听机制,允许开发者在数据库操作的不同阶段注册回调函数,这些回调函数可以在对象加载、保存、删除等操作时执行自定义逻辑。

4-3-9、扩展性

        SQLAlchemy具有高度的可扩展性,支持各种扩展和插件,开发者可以使用扩展库来增强SQLAlchemy的功能,如支持全文搜索、JSON字段等。

4-3-10、文档和社区支持

        SQLAlchemy拥有完善的文档和活跃的社区支持,开发者可以方便地查找解决问题的方法和与其他开发者交流经验。

二、推荐阅读

1、Python函数之旅

2、Python算法之旅

3、博客个人主页

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/839586.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

1020. 飞地的数量

1020. 飞地的数量 原题链接:完成情况:解题思路:参考代码:_1020飞地的数量_dfs_定义方向_1020飞地的数量_bfs_定义方向 错误经验吸取 原题链接: 1020. 飞地的数量 https://leetcode.cn/problems/number-of-enclaves/…

十年磨一剑“2024成都电子信息展会”推动电子产业全球发展

2024成都电子展,招商工作已接近尾声,这场盛大的展会不仅是电子信息行业的一次盛会,更是中国西部电子信息产业发展的重要里程碑。自2013年起,中国(西部)电子信息博览会便选择成都作为其永久的举办地&#xf…

windows系统jupyter lab安装和配置:本地开发、探索大模型的利器

前言 在安装好anaconda之后,系统默认就安装好了一个jupyter notebook的工具,该工具可以在网页端运行,类似这样: 提供了一个按行运行的python运行环境,每一步的输出都可以打印到界面,对于我们初学python&am…

JAVA语音播报

JAVA语音播报 提示:难点,常规语音播放只是播放一段音乐,这个比较简单。本文介绍将文字语音播放出来,并且可以兼容windows、linux 语音播报在编码过程中,我们主要需从以下几个核心层面进行深入考量。 1.使用JACOB开源…

2024上海国际化工自动化仪器仪表展览会

2024上海国际化工自动化仪器仪表展览会 2024 Shanghai International Chemical Automation Instrument Exhibition 时间:2024年12月11-13日 地点:上海新国际博览中心 详询主办方陆先生 I38(前三位) I82I(中间四位…

SpringBean-生命周期

Spirng Bean 元信息配置阶段 1 面向资源 xml配置(很熟悉了不做讨论)Properties配置 public class BeanMetaDemo {public static void main(String[] args) {DefaultListableBeanFactory factory new DefaultListableBeanFactory();PropertiesBeanDef…

【Java面试】三、Redis篇(下)

文章目录 1、抢券场景2、Redis分布式锁3、Redisson实现分布式锁4、Redisson实现的分布式锁是可重入锁5、Redisson实现分布式锁下的主从一致性6、面试 1、抢券场景 正常思路: 代码实现: 比如优惠券数量为1。正常情况下:用户A的请求过来&a…

DeepRec Extension 打造稳定高效的分布式训练

DeepRec Extension 即 DeepRec 扩展,在 DeepRec 训练推理框架之上,围绕大规模稀疏模型分布式训练,我们从训练任务的视角提出了自动弹性训练,分布式容错等功能,进一步提升稀疏模型训练的整体效率,助力 DeepR…

开源RAG,本地mac启动 dify源码服务

一、Dify文档 参考官方文档来操作,基本没太大的问题。一些细节,我在本篇文章中补充了出来。 这篇文章主要讲以源码的方式启动后端服务,前端服务使用容器启动。 dify 文档地址 欢迎使用 Dify | 中文 | Dify Dify 本地源码部署文档&#xff…

如何解读伊朗发布的直升机事故调查报告?一般事故调查报告应怎么写?

如何解读伊朗发布的直升机事故调查报告?一般事故调查报告应怎么写? 据央视新闻客户端消息:当地时间5月23日,伊朗武装部队总参谋部发布首份已故总统莱希及其随行人员乘坐的直升机事故调查报告。以下是#李秘书讲写作#对报告内容的解…

基于微信的家庭理财管理小程序的设计与实现(论文+源码)_kaic

摘 要 随着中国经济的飞速发展,家庭收入不断增高,人们的消费除了简单的维持日常生活之外,还有其他的消费方式,比如旅游、电商购物等,层出不穷的消费方式带给人快乐的同时,也常常让一些人逐渐无法把握住自…

【LeetCode】每日一题 2024_5_24 找出最具竞争力的子序列(栈,模拟,贪心)

文章目录 LeetCode?启动!!!题目:找出最具竞争力的子序列题目描述代码与解题思路 每天进步一点点 LeetCode?启动!!! 题目:找出最具竞争力的子序列 题目链接&a…

广义线性chirplet变换【附MATLAB代码】

文章来源:微信公众号:EW Frontier 摘要 时频分析方法是一种刻画信号时变特征的有效工具,在相当长的一段时间内受到了广泛的关注。随着TF算法的发展,许多先进的方法被提出,可以提供更精确的TF结果。但是,不…

【LabVIEW FPGA入门】使用事件发生函数同步FPGA循环

1.使用事件发生函数 使用 Occurrences 函数来控制单独的同步活动。特别是,当您希望程序框图的一部分等待程序框图的另一部分完成任务而不强制 LabVIEW 进行轮询时,请使用这些函数。 您可以使用全局变量执行类似于occurrences函数的功能,通过一…

详解CSS(二)

目录 1.背景属性 1.1背景颜色 1.2背景图片 1.3背景平铺 1.4背景位置 1.5背景尺寸 2.圆角矩形 3.元素的显示模式 3.1行内元素/内联元素(Inline element) 3.2块级元素(Block-level element) 3.3行内块元素(In…

【leetcode面试经典150题】-80. 删除有序数组中的重复项 II

【leetcode面试经典150题】-80. 删除有序数组中的重复项 II 1 题目介绍2 个人解题思路2.1 代码2.2 思路 3 官方题解 1 题目介绍 给你一个有序数组 nums ,请你 原地 删除重复出现的元素,使得出现次数超过两次的元素只出现两次 ,返回删除后数组…

d20(184-190)-勇敢开始Java,咖啡拯救人生

目录 网络通信 网络通信三要素(IP地址,端口号,协议 IP地址 InetAddress 端口号 协议 传输层的两个通信协议 UDP通信 java.net.Datagramsocket类 客户端 服务端 UDP通信多收多发 客户端 服务端 TCP通信 java.net.Socket类 客…

【全网最全】2024电工杯数学建模A题21页初步参考论文+py代码+保奖思路等(后续会更新)

您的点赞收藏是我继续更新的最大动力! 一定要点击如下的卡片链接,那是获取资料的入口! 【全网最全】2024电工杯数学建模A题21页初步参考论文py代码保奖思路等(后续会更新成品论文)「首先来看看目前已有的资料&#x…

企业应考虑的优秀云安全措施

作为云客户,企业有责任确保正确使用他们提供的工具来保证数据和应用程序的安全。让德迅云安全来跟大家一起研究一些典型企业应该考虑的优秀云安全措施。 在数据安全和隐私方面,企业是否在努力跟上疫情的发展?企业不是一个人。就像多年以前,C…

解决小皮面版搭建php网站数据库连接不了

首先进入mysql bin目录下 并执行cmd mysql -u root -pCREATE USER userlocalhost IDENTIFIED BY pass;GRANT ALL PRIVILEGES ON *.* TO userlocalhost;GRANT SELECT, INSERT, UPDATE ON database_name.* TO xxwlocalhost;FLUSH PRIVILEGES;select host ,user from mysql.user…