自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(181)
  • 资源 (5)
  • 收藏
  • 关注

原创 Docker命令篇 - 草稿

容器间的互联和通信以及端口映射。容器 IP 变动时候可以通过服务名直接网络通信而不受影响。(类似Eureka,通过服务名直接互相通信,而不是写死IP地址)。docker中还有一个--link进行容器网络互联,但是已经被标记为过时的,可能会在将来的版本中移除这个功能。推荐使用自定义网络替换link。自定义桥接网络(自定义网络默认使用的是桥接网络bridge):新建自定义网络查看网络列表创建容器时,指定加入我们自定义的网络中此时进入tomcat1中,使用ping命令测试连接tomcat2。

2024-07-08 01:11:48 903

原创 Python logging模块详解

Handler。

2024-07-02 00:53:48 779

原创 RabbitMQ进阶篇

通过设置消息的超时时间,我们可以将那些未能在预期时间内被消费的消息自动转入死信队列。这种方法既利用了RabbitMQ的死信机制,又通过超时设置增加了一层保障,确保了消息在一定时间后得到妥善处理。消息超时是确保消息在一定时间内被消费的一种机制。如果消息在设定的时间内未被消费,它将根据配置被删除或进行其他处理。在某些场景下,我们可能需要确保消息在特定的时间后才能被消费,这就需要用到延迟队列的概念。通过上述策略,我们可以显著提高RabbitMQ消息传递的可靠性,确保消息在各种故障情况下都能得到妥善处理。

2024-06-30 22:54:51 309

原创 通过消息停止消费者中某个进程的方案

的启动和停止任务的消息到RabbitMQ队列。消费者将监听队列中的消息,并根据消息中的。来决定是启动还是停止指定的任务。shell1 启动消费者。shell2 启动生产者。

2024-06-28 00:18:27 113

原创 玩转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 266

原创 一个多阶段任务的消息队列方案

运行db.py,创建表。运行worker.py。

2024-06-16 12:25:01 321

原创 MySQL性能优化全面指南

MySQL性能优化是一个持续的过程,需要根据实际应用场景和数据访问模式不断调整和优化。通过上述策略,可以显著提高数据库的性能,为用户提供更加流畅的体验。这份指南将是你提升MySQL数据库性能的得力助手。无论你面对的是简单的查询优化,还是复杂的系统调优,希望这里的知识和技巧都能为你指点迷津。让我们一起开启这段提升数据库性能的旅程吧!

2024-06-12 01:32:44 320

原创 SQLALchemy双向关系(二)

单层数据结构多层数据结构数据复杂度简单较复杂代码复杂度简单较复杂数据冗余度多少添加顺序线性顺序,先一后多按照数据嵌套的顺序额外数据结构需要的更多的额外数据结构通过嵌套循环避免了额外的数据结构数据其他组织方式已展平到一层最简形式可以有其他组织形式,比如外层是publisher。

2024-06-10 12:30:33 261

原创 SQLALchemy双向关系(一)

ER图上黄色钥匙,即主键,在代码中对应的字段ER图上表之间的线,即外键关系,在代码中对应ForeignKey的字段ER图上表周围有几根线,在代码中即对应几个的字段关系分两部分,一部分在类中进行关系的定义,另一部分在实例化对象后使用定义的关系添加关联关系。

2024-06-10 00:26:30 264

原创 Celery分布式任务队列

Celery 是一个流行的分布式任务队列,它支持异步处理、任务调度和分布式消息传递。开发者可以使用 Celery 来实现异步处理任务,比如发送电子邮件、生成报告、定时任务等。Celery 通过消息代理(如 RabbitMQ、Redis)来进行任务调度和分发,它可以在多台机器上同时运行任务,并且支持任务的重试和定时执行。Celery 还提供了监控和管理工具,以便开发者可以方便地查看任务的执行状态和性能指标。

2024-06-06 01:20:16 713

原创 SQL反模式

章节主题反模式解决办法2. 乱穿马路单元格逗号分隔列表一对多那拆表3. 单纯的树层级关系parent_id路径枚举4. 需要ID主键伪主键ID拥抱自然键和组合键5. 不同钥匙的入口外键不用外键声明外键约束6. 实体-属性-值列使用泛型属性表单表、实体表、类表继承、半结构化数据模型7. 多态关联关联使用双用途外键创建两个交叉表8. 多列属性行创建多个列一对多那拆表9. 元数据分裂分表克隆表与列使用

2024-06-02 19:19:36 202

原创 算法:补全缺失的键

假设有多个字典,它们的键并不一样,现在需要让每个字典的键一样,补全缺失的键,值填充为None。

2024-06-02 17:11:10 113

原创 SQLAlchemy玩转MySQL JSON数据类型

传统的关系型数据库在处理结构化数据方面表现出色,但面对半结构化或非结构化数据时,它们的能力就显得有些力不从心。为了解决这一问题,MySQL引入了对JSON数据类型的支持。SQLAlchemy作为Python领域中一个强大的ORM(对象关系映射)工具,为我们提供了一种优雅的方式来操作这些JSON数据,它提供了一种高层的Pythonic抽象,以方便地与数据库进行交互。在本篇文章中,将通过示例演示如何使用SQLAlchemy来操作MySQL中的JSON数据类型,同时也给出对应的SQL语句。

2024-06-01 22:04:40 322

原创 MySQL JSON数据类型

MySQL对JSON数据类型的支持使得存储和查询半结构化数据变得更加方便。JSON数据类型在MySQL 5.7.8及以上版本中可用。JSON数据类型在某种程度上支持反范式设计,因为它允许在单个列中存储多个属性。但是,它也可以支持范式化设计,因为您可以使用虚拟列或者生成的列在JSON文档中提取特定的属性。在使用JSON数据类型时,可以避免创建具有很多空列的宽表。可以将相关信息存储在单个JSON列中,从而减少表的宽度并使得相关数据更加紧凑。

2024-06-01 01:30:09 243

原创 掌握 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 733

原创 掌握 Python Mock和Patch:模拟测试1

unittest.mock 库提供了patch函数 (unittest.mock.patch),它可以替换目标(函数、方法或类)的行为,作为单元测试的一部分。我们将更新上一节创建的测试类,以使用patch函数代替直接使用 MagicMock 对象。patch 函数允许对对象进行修补。它以透明的方式将目标对象的行为替换为 MagicMock。从 unittest.mock 导入 patch 而不是 MagicMock。

2024-05-30 23:34:34 1014

原创 用户身份验证和后续请求授权 -- 草稿

在Web开发中,用户身份验证和后续请求授权是非常重要的安全概念。身份验证是确认用户的身份,而授权是确定用户是否有权限执行特定的操作或访问特定的资源。在前后端分离、单点登录等情景下,我们可以采用不同的方案来实现用户身份验证和后续请求授权。

2024-05-27 01:11:22 754

原创 JWT令牌

JSON Web Token (JWT) 是一种用于跨网络传输数据的开放标准(RFC 7519),可以在用户和服务器之间安全地传输信息。在实际应用中,使用JWT可以方便地实现身份验证和信息传递,并且提供了一种安全可靠的方法来确保传输的数据不被篡改。

2024-05-25 23:25:24 129

原创 Base64编码和Base64Url编码

具体来说,Base64 URL 编码会使用下划线、减号和等号代替标准的 Base64 编码中的加号、斜杠和等号,以避免特殊字符在URL中引起的问题。Base64 编码是一种可逆的转换,可以将二进制数据编码为文本数据,并且可以将编码后的文本数据解码回原始的二进制数据。| Base64 字符 | Base64 URL 字符 | |-------------|------------------| | + | - | | / | _ | | = | 无 |在Python中,你可以使用标准库。

2024-05-25 23:13:49 690

原创 MySQL必知必会

第20章 更新和删除数据。第21章 创建和操纵表。第23章 使用储存过程。第26章 管理事务处理。第18章 全文本搜索。第25章 使用触发器。

2024-05-25 00:54:33 450

原创 RESTful API设计

RESTful接口设计,主要可以关注以下四个方面请求路径确定具体作资源,结合需求,可以适当加路径前后缀,或者使用参数路径方式请求方法:根据接口实际功能,针对资源的CRUD找合适方法资源从无到有:POST资源从有到无:DELETE资源从A状态到B状态:PUT资源状态不改变:GET请求参数:根据接口实现功能按需传入参数请求响应:根据接口实现,客户端调用要求,决定具体返回值,建议使用ISON格式。

2024-05-24 01:09:27 300

原创 pytest快速入门

Python有自带的单元测试框架unittest,那为什么还要学习pytest呢?

2024-05-23 00:24:19 898

原创 SELECT FOR UPDATE案例分析

但是这时用户操作另一个网上银行客户端,转账1元,如果最终两笔操作都成功了,用户的账号余款是9999人民币,第一次转的9000人民币并没有得到更新,但是在转账的另一个账号却会收到这9000元,这导致的结果就是钱变多,而账不平。具体的,可以使用一个带有注释的。因此,丢失更新是程序员最容易犯的错误,也是最不易发现的一个错误,因为这种现象只是随机的、零星出现的,不过其可能造成的后果却十分严重。丢失更新是另一个锁导致的问题,简单来说其就是一个事务的更新操作会被另一个事务的更新操作所覆盖,从而导致数据的不一致。

2024-05-21 01:54:57 349

原创 Docker学习笔记

Docker是一种轻量级的容器化技术,相比传统虚拟机具有更高的资源利用率、更快的启动时间、更好的可移植性、更高的部署效率和更少的系统开销。它提供了更便捷、一致的环境和部署方式,适用于构建、交付和运行应用程序。跟普通虚拟机的对比。

2024-05-20 02:02:07 1036

原创 多线程浅谈

Python 中的多线程通常用于处理I/O密集型任务,如网络请求、文件读写操作等,以及需要等待外部事件的情况。需要注意的是,由于Python的全局解释器锁(GIL)的限制,Python 中的多线程并不能充分利用多核处理器。如果需要充分利用多核处理器,可以考虑使用多进程(模块)或异步编程(asyncio模块)。

2024-05-19 17:06:18 808

原创 RabbitMQ入门篇

消息队列是一种通信模式,用于在应用程序之间传递消息。在软件系统中,消息队列常用于微服务架构、异步任务、应用解耦等场景,可以提高系统的可伸缩性、可靠性和灵活性。

2024-05-05 14:25:44 955

原创 Flask权限系统设计

Flask 是一个使用 Python 编写的 Web 应用程序框架,它可以轻松地实现各种功能,包括 RBAC(基于角色的访问控制)权限系统。RBAC 是一种常见的权限管理模型,它通过定义角色和分配权限来管理用户对系统资源的访问。

2024-05-03 23:13:53 286

原创 Flask框架学习笔记

Flask是一个基于Python的轻量级Web应用框架,它简洁、易用,成为了许多开发人员的首选Python Web框架。核心特点。

2024-05-02 19:36:11 394

原创 设计模式 - 摘要

不涉及继承体系,就是创建一个对象。利用继承体系、多态的前置。

2024-04-22 13:13:13 206

原创 机器学习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 514

翻译 从零开始NLP: 使用字符级 RNN 对名称进行分类

and我们将构建并训练一个基本的字符级循环神经网络(RNN)来对单词进行分类。本教程与其他两个 "从零开始 "的自然语言处理(NLP)教程和展示了如何预处理数据以建立 NLP 模型。特别是,这些教程没有使用 torchtext 的许多便利功能,因此您可以看到如何在较低水平上进行预处理以建立 NLP 模型。字符级 RNN 将单词读作一系列字符,每一步都会输出预测结果和 “隐藏状态”,并将上一步的隐藏状态输入下一步。我们将最终预测作为输出,即单词属于哪一类。

2024-04-07 08:52:48 57

翻译 利用更好的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 58

翻译 使用 TensorBoard 可视化模型、数据和训练

In thenn.Module在中,我们将向您展示如何加载数据、将数据输入我们定义为nn.Module子类的模型、在训练数据上训练该模型以及在测试数据上测试该模型。为了了解发生了什么,我们会在模型训练时打印出一些统计数据,以了解训练是否正在进行。不过,我们可以做得更好:PyTorch 与 TensorBoard 集成,TensorBoard 是一款用于可视化神经网络训练结果的工具。本教程使用数据集说明了它的部分功能,可以使用 torchvision.datasets 将该数据集读入 PyTorch。

2024-04-07 08:48:38 44

翻译 torch.nn 到底是什么?

例如,PyTorch 没有视图层,我们需要为我们的网络创建一个视图层。

2024-04-07 08:47:15 21

翻译 使用 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 78

翻译 PyTorch 快速入门

大多数机器学习工作流涉及处理数据、创建模型、优化模型参数和保存训练好的模型。本教程将向您介绍用 PyTorch 实现的完整 ML 工作流,并提供链接以了解有关这些概念的更多信息。我们将使用 FashionMNIST 数据集来训练一个神经网络,以预测输入图像是否属于以下类别之一:T 恤/上衣、裤子、套头衫、连衣裙、外套、凉鞋、衬衫、运动鞋、包或踝靴。本教程假定您已基本熟悉 Python 和深度学习概念。

2024-04-04 16:39:35 96

原创 Linux CheatSheet

Linux CheatSheet

2024-04-02 11:00:11 351

原创 Numpy学习笔记

Numpy学习笔记

2024-04-02 00:37:13 292

原创 网站的可扩展架构

大型网站技术架构

2024-03-31 23:53:28 315

原创 网站的伸缩性架构

大型网站技术架构

2024-03-31 23:46:18 332

人件集:人性化的软件开发

《人件集:人性化的软件开发》是人件领域中的经典著作,以专题的形式探讨了软件开发中的人的因素。本书共分九个部分:第一部分介绍团队如何开展工作以及如何为开发更好的软件而更好地工作;第二部分涉及软件开发人员的不同观点;第三部分探讨团队组织和开发的问题;第四部分探讨开发者与其使用的工具之间的关系;第五部分针对提高软件质量提出了建议;第六部分着眼于软件可用性和用户界面设计问题;第七部分解释在用户界面设计和软件可用性方面的相同之处;第八部分探讨软件在沟通中涉及的一些话题;第九部分论述软件开发中的组织文化。 本书的许多内容收自作者在多本知名计算机杂志的人件专栏文章。本书适合所有开发并使用软件的设计人员、开发人员和管理人员阅读。

2018-05-28

禅与摩托车维修艺术

在一个炎热的夏天,父子两人和约翰夫妇骑摩托车从明尼苏达到加州,跨越美国大陆,旅行的过程与一个青年斐德洛研修科学技术与西方经典,寻求自我的解脱,以及探寻生命的意义的过程相互穿插。一路上父亲以一场哲学肖陶扩的形式,将见到的自然景色,野外露营的经历,夜晚旅店的谈话,机车修护技术等等日常生活与西方从苏格拉底以来的理性哲学的深入浅出的阐述与评论相结合,进行了对形而上学传统的主客体二元论的反思,以及对科学与艺术,知识与价值,古典主义与浪漫主义,精神与物质,机械论与神秘主义,西方与东方等西方二分法划分下的事物间的关系的思考。并潜入自己的过去,探寻在现代文明下自己精神的分裂的起源,完成了一次自我心灵与人类文明的探索。

2018-05-28

机器学习实践 源码

随书源码,非常不错的一本入门机器学习的入门书籍 以工程师的方式学习机器学习,而不是科学家

2018-05-28

深入浅出面向对象分析与设计

你是否早已对市面上那些只有在成为专家以后,读起来才有感觉的 OOA&D 书籍感到厌倦?你可能早就听说过 OOA&D 书籍能帮助你写出伟大的软件 — 让老板高兴、客户满意的软件。., 但如何办到呢?, 《深入浅出面向对象分析和设计》将告诉你如何分析、设计以及撰写真正面向对象的软件:容易重利用、好维护、可扩展的软件;不再使你心碎的软件;让你增添新功能而不会破坏旧机制的软件。在本书中,你将学到:, ·使用诸如封装(encapsulation)与委派(delegation)的 OO 原则建立灵活的应用程序。, ·使用开闭原则(Open-Closed Principle)与单一责任原则(Single-Responsibility Principle)提升程序的重利用性。, ·学习如何将 OO 原则、设计模式及各种开发方法,通通整合到 OOA&D 项目的生命周期里。, ·运用 UML、用例及用例图来确保所有利害关系人都能清楚地进行沟通,协助你交付正确的软件,达到每个人的要求。...

2018-01-10

objectarx中文帮助

autocad的开发帮助,中文版本,是类参考

2012-11-12

空空如也

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

TA关注的人

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