- 博客(181)
- 资源 (5)
- 收藏
- 关注
原创 Docker命令篇 - 草稿
容器间的互联和通信以及端口映射。容器 IP 变动时候可以通过服务名直接网络通信而不受影响。(类似Eureka,通过服务名直接互相通信,而不是写死IP地址)。docker中还有一个--link进行容器网络互联,但是已经被标记为过时的,可能会在将来的版本中移除这个功能。推荐使用自定义网络替换link。自定义桥接网络(自定义网络默认使用的是桥接网络bridge):新建自定义网络查看网络列表创建容器时,指定加入我们自定义的网络中此时进入tomcat1中,使用ping命令测试连接tomcat2。
2024-07-08 01:11:48 971
原创 RabbitMQ进阶篇
通过设置消息的超时时间,我们可以将那些未能在预期时间内被消费的消息自动转入死信队列。这种方法既利用了RabbitMQ的死信机制,又通过超时设置增加了一层保障,确保了消息在一定时间后得到妥善处理。消息超时是确保消息在一定时间内被消费的一种机制。如果消息在设定的时间内未被消费,它将根据配置被删除或进行其他处理。在某些场景下,我们可能需要确保消息在特定的时间后才能被消费,这就需要用到延迟队列的概念。通过上述策略,我们可以显著提高RabbitMQ消息传递的可靠性,确保消息在各种故障情况下都能得到妥善处理。
2024-06-30 22:54:51 370
原创 通过消息停止消费者中某个进程的方案
的启动和停止任务的消息到RabbitMQ队列。消费者将监听队列中的消息,并根据消息中的。来决定是启动还是停止指定的任务。shell1 启动消费者。shell2 启动生产者。
2024-06-28 00:18:27 164
原创 玩转ElasticSearch RESTful 接口
请求:POST /user/_update/1001。请求:DELETE /user/_doc/1001。请求: PUT /user/_doc/1001。请求:PUT /user/_doc/1001。请求:GET /user/_doc/1001。请求:PUT /user/_doc/1001。请求:GET /user/_search。请求:GET /user/_search。请求:GET /user/_search。请求:GET /user/_search。请求:GET /user/_search。
2024-06-16 20:56:32 323
原创 MySQL性能优化全面指南
MySQL性能优化是一个持续的过程,需要根据实际应用场景和数据访问模式不断调整和优化。通过上述策略,可以显著提高数据库的性能,为用户提供更加流畅的体验。这份指南将是你提升MySQL数据库性能的得力助手。无论你面对的是简单的查询优化,还是复杂的系统调优,希望这里的知识和技巧都能为你指点迷津。让我们一起开启这段提升数据库性能的旅程吧!
2024-06-12 01:32:44 373
原创 SQLALchemy双向关系(二)
单层数据结构多层数据结构数据复杂度简单较复杂代码复杂度简单较复杂数据冗余度多少添加顺序线性顺序,先一后多按照数据嵌套的顺序额外数据结构需要的更多的额外数据结构通过嵌套循环避免了额外的数据结构数据其他组织方式已展平到一层最简形式可以有其他组织形式,比如外层是publisher。
2024-06-10 12:30:33 321
原创 SQLALchemy双向关系(一)
ER图上黄色钥匙,即主键,在代码中对应的字段ER图上表之间的线,即外键关系,在代码中对应ForeignKey的字段ER图上表周围有几根线,在代码中即对应几个的字段关系分两部分,一部分在类中进行关系的定义,另一部分在实例化对象后使用定义的关系添加关联关系。
2024-06-10 00:26:30 561
原创 Celery分布式任务队列
Celery 是一个流行的分布式任务队列,它支持异步处理、任务调度和分布式消息传递。开发者可以使用 Celery 来实现异步处理任务,比如发送电子邮件、生成报告、定时任务等。Celery 通过消息代理(如 RabbitMQ、Redis)来进行任务调度和分发,它可以在多台机器上同时运行任务,并且支持任务的重试和定时执行。Celery 还提供了监控和管理工具,以便开发者可以方便地查看任务的执行状态和性能指标。
2024-06-06 01:20:16 779
原创 SQL反模式
章节主题反模式解决办法2. 乱穿马路单元格逗号分隔列表一对多那拆表3. 单纯的树层级关系parent_id路径枚举4. 需要ID主键伪主键ID拥抱自然键和组合键5. 不同钥匙的入口外键不用外键声明外键约束6. 实体-属性-值列使用泛型属性表单表、实体表、类表继承、半结构化数据模型7. 多态关联关联使用双用途外键创建两个交叉表8. 多列属性行创建多个列一对多那拆表9. 元数据分裂分表克隆表与列使用
2024-06-02 19:19:36 253
原创 SQLAlchemy玩转MySQL JSON数据类型
传统的关系型数据库在处理结构化数据方面表现出色,但面对半结构化或非结构化数据时,它们的能力就显得有些力不从心。为了解决这一问题,MySQL引入了对JSON数据类型的支持。SQLAlchemy作为Python领域中一个强大的ORM(对象关系映射)工具,为我们提供了一种优雅的方式来操作这些JSON数据,它提供了一种高层的Pythonic抽象,以方便地与数据库进行交互。在本篇文章中,将通过示例演示如何使用SQLAlchemy来操作MySQL中的JSON数据类型,同时也给出对应的SQL语句。
2024-06-01 22:04:40 596
原创 MySQL JSON数据类型
MySQL对JSON数据类型的支持使得存储和查询半结构化数据变得更加方便。JSON数据类型在MySQL 5.7.8及以上版本中可用。JSON数据类型在某种程度上支持反范式设计,因为它允许在单个列中存储多个属性。但是,它也可以支持范式化设计,因为您可以使用虚拟列或者生成的列在JSON文档中提取特定的属性。在使用JSON数据类型时,可以避免创建具有很多空列的宽表。可以将相关信息存储在单个JSON列中,从而减少表的宽度并使得相关数据更加紧凑。
2024-06-01 01:30:09 300
原创 掌握 Python Mock和Patch:模拟测试 2
Mock是Python中一个用于支持单元测试的库,它的主要功能是使用mock对象替代掉指定的Python对象,以达到模拟对象的行为。python3.3 以前,mock是第三方库,需要安装之后才能使用。python3.3之后,mock作为标准库内置到 unittest。unittest是Python标准库中自带的单元测试框架,unittest有时候也被称为PyUnit,就像JUnit是Java语言的标准单元测试框架一样,unittest则是Python语言的标准单元测试框架。
2024-05-31 01:17:37 869
原创 掌握 Python Mock和Patch:模拟测试1
unittest.mock 库提供了patch函数 (unittest.mock.patch),它可以替换目标(函数、方法或类)的行为,作为单元测试的一部分。我们将更新上一节创建的测试类,以使用patch函数代替直接使用 MagicMock 对象。patch 函数允许对对象进行修补。它以透明的方式将目标对象的行为替换为 MagicMock。从 unittest.mock 导入 patch 而不是 MagicMock。
2024-05-30 23:34:34 1234
原创 用户身份验证和后续请求授权 -- 草稿
在Web开发中,用户身份验证和后续请求授权是非常重要的安全概念。身份验证是确认用户的身份,而授权是确定用户是否有权限执行特定的操作或访问特定的资源。在前后端分离、单点登录等情景下,我们可以采用不同的方案来实现用户身份验证和后续请求授权。
2024-05-27 01:11:22 797
原创 JWT令牌
JSON Web Token (JWT) 是一种用于跨网络传输数据的开放标准(RFC 7519),可以在用户和服务器之间安全地传输信息。在实际应用中,使用JWT可以方便地实现身份验证和信息传递,并且提供了一种安全可靠的方法来确保传输的数据不被篡改。
2024-05-25 23:25:24 165
原创 Base64编码和Base64Url编码
具体来说,Base64 URL 编码会使用下划线、减号和等号代替标准的 Base64 编码中的加号、斜杠和等号,以避免特殊字符在URL中引起的问题。Base64 编码是一种可逆的转换,可以将二进制数据编码为文本数据,并且可以将编码后的文本数据解码回原始的二进制数据。| Base64 字符 | Base64 URL 字符 | |-------------|------------------| | + | - | | / | _ | | = | 无 |在Python中,你可以使用标准库。
2024-05-25 23:13:49 1116
原创 MySQL必知必会
第20章 更新和删除数据。第21章 创建和操纵表。第23章 使用储存过程。第26章 管理事务处理。第18章 全文本搜索。第25章 使用触发器。
2024-05-25 00:54:33 486
原创 RESTful API设计
RESTful接口设计,主要可以关注以下四个方面请求路径确定具体作资源,结合需求,可以适当加路径前后缀,或者使用参数路径方式请求方法:根据接口实际功能,针对资源的CRUD找合适方法资源从无到有:POST资源从有到无:DELETE资源从A状态到B状态:PUT资源状态不改变:GET请求参数:根据接口实现功能按需传入参数请求响应:根据接口实现,客户端调用要求,决定具体返回值,建议使用ISON格式。
2024-05-24 01:09:27 328
原创 SELECT FOR UPDATE案例分析
但是这时用户操作另一个网上银行客户端,转账1元,如果最终两笔操作都成功了,用户的账号余款是9999人民币,第一次转的9000人民币并没有得到更新,但是在转账的另一个账号却会收到这9000元,这导致的结果就是钱变多,而账不平。具体的,可以使用一个带有注释的。因此,丢失更新是程序员最容易犯的错误,也是最不易发现的一个错误,因为这种现象只是随机的、零星出现的,不过其可能造成的后果却十分严重。丢失更新是另一个锁导致的问题,简单来说其就是一个事务的更新操作会被另一个事务的更新操作所覆盖,从而导致数据的不一致。
2024-05-21 01:54:57 444
原创 Docker学习笔记
Docker是一种轻量级的容器化技术,相比传统虚拟机具有更高的资源利用率、更快的启动时间、更好的可移植性、更高的部署效率和更少的系统开销。它提供了更便捷、一致的环境和部署方式,适用于构建、交付和运行应用程序。跟普通虚拟机的对比。
2024-05-20 02:02:07 1127
原创 多线程浅谈
Python 中的多线程通常用于处理I/O密集型任务,如网络请求、文件读写操作等,以及需要等待外部事件的情况。需要注意的是,由于Python的全局解释器锁(GIL)的限制,Python 中的多线程并不能充分利用多核处理器。如果需要充分利用多核处理器,可以考虑使用多进程(模块)或异步编程(asyncio模块)。
2024-05-19 17:06:18 857
原创 RabbitMQ入门篇
消息队列是一种通信模式,用于在应用程序之间传递消息。在软件系统中,消息队列常用于微服务架构、异步任务、应用解耦等场景,可以提高系统的可伸缩性、可靠性和灵活性。
2024-05-05 14:25:44 1004
原创 Flask权限系统设计
Flask 是一个使用 Python 编写的 Web 应用程序框架,它可以轻松地实现各种功能,包括 RBAC(基于角色的访问控制)权限系统。RBAC 是一种常见的权限管理模型,它通过定义角色和分配权限来管理用户对系统资源的访问。
2024-05-03 23:13:53 516
原创 Flask框架学习笔记
Flask是一个基于Python的轻量级Web应用框架,它简洁、易用,成为了许多开发人员的首选Python Web框架。核心特点。
2024-05-02 19:36:11 440
原创 机器学习Python实践
第一部分初初始1 初识机器学习2 Python机器学习的生态圈import scipyimport numpyimport matplotlibimport pandasimport sklearnprint('scipy:{}'.format(scipy.__version__))print('numpy:{}'.format(numpy.__version__))print('matplotlib:{}'.format(matplotlib.__version__))print(
2024-04-11 15:18:37 675
翻译 从零开始NLP: 使用字符级 RNN 对名称进行分类
and我们将构建并训练一个基本的字符级循环神经网络(RNN)来对单词进行分类。本教程与其他两个 "从零开始 "的自然语言处理(NLP)教程和展示了如何预处理数据以建立 NLP 模型。特别是,这些教程没有使用 torchtext 的许多便利功能,因此您可以看到如何在较低水平上进行预处理以建立 NLP 模型。字符级 RNN 将单词读作一系列字符,每一步都会输出预测结果和 “隐藏状态”,并将上一步的隐藏状态输入下一步。我们将最终预测作为输出,即单词属于哪一类。
2024-04-07 08:52:48 117
翻译 利用更好的Transformer进行快速转换推理
nn.moduleclasses, and本教程介绍 PyTorch 1.12 版本中的 Better Transformer (BT)。在本教程中,我们将展示如何使用 Better Transformer 与 torchtext 一起进行生产推理。Better Transformer 是一种生产就绪的快速路径,可加速 Transformer 模型的部署,并在 CPU 和 GPU 上实现高性能。对于直接基于 PyTorch 核心nn.module。
2024-04-07 08:50:47 121
翻译 使用 TensorBoard 可视化模型、数据和训练
In thenn.Module在中,我们将向您展示如何加载数据、将数据输入我们定义为nn.Module子类的模型、在训练数据上训练该模型以及在测试数据上测试该模型。为了了解发生了什么,我们会在模型训练时打印出一些统计数据,以了解训练是否正在进行。不过,我们可以做得更好:PyTorch 与 TensorBoard 集成,TensorBoard 是一款用于可视化神经网络训练结果的工具。本教程使用数据集说明了它的部分功能,可以使用 torchvision.datasets 将该数据集读入 PyTorch。
2024-04-07 08:48:38 123
翻译 使用 PyTorch 进行深度学习:60 分钟速成
Deep Learning with PyTorch: A 60 Minute BlitzAuthor: Soumith ChintalaWhat is PyTorch?PyTorch is a Python-based scientific computing package serving two broad purposes:A replacement for NumPy to use the power of GPUs and other accelerators.An automati
2024-04-07 08:44:06 165
翻译 PyTorch 快速入门
大多数机器学习工作流涉及处理数据、创建模型、优化模型参数和保存训练好的模型。本教程将向您介绍用 PyTorch 实现的完整 ML 工作流,并提供链接以了解有关这些概念的更多信息。我们将使用 FashionMNIST 数据集来训练一个神经网络,以预测输入图像是否属于以下类别之一:T 恤/上衣、裤子、套头衫、连衣裙、外套、凉鞋、衬衫、运动鞋、包或踝靴。本教程假定您已基本熟悉 Python 和深度学习概念。
2024-04-04 16:39:35 142
人件集:人性化的软件开发
2018-05-28
禅与摩托车维修艺术
2018-05-28
深入浅出面向对象分析与设计
2018-01-10
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人