- 博客(25)
- 资源 (19)
- 收藏
- 关注
原创 消息队列选型参考:Top5消息队列组件
消息队列中间件的选择上,我们需要考虑多个因素,包括吞吐量、可靠性、可扩展性、易用性以及社区支持等;本文是当前最流行的5款消息队列中间件及其总体架构和优劣势的对比分析。
2024-09-18 14:16:51
907
原创 Python(Web服务)全链路日志个跟踪
1、背景在我们的实际项目中,尤其以Web服务为例,经常遇到要做日志跟踪的场景。我们经常采用的方式是,生成一个trace_id,在全链路的调用中都输出这个id进行跟踪。这里需要处理的几个问题是:(1)请求间的隔离(2)全链路同id(3)跟踪的独立性,不涉及业务代码(日志打印)改造解决以上三个问题,我们需要借助请求会话和logging扩展。2、请求会话每一次的request请求,对应一次会话,请求与请求之间本身就是隔离的。所以,每次会话开始时读取一次request的trace_.
2021-10-30 11:26:18
4119
原创 Python多进程任务如何识别谁是谁
在Python多进程、多线程编程中,如果使用future和add_done_callback, 经常会遇到如何区分异步任务的问题。这里推荐两种方式。方式一:给future新增属性def call_back(future): print(future.task)with ProcessPool(...) as pool: for task in get_tasks(): future = pool.schedule(...)
2021-10-27 15:18:04
379
翻译 RabbitMQ 与 Kafka深度解析(二)
介绍作为一名处理大量基于微服务的系统的软件架构师,我经常会遇到一个反复出现的问题:“我应该使用RabbitMQ还是Kafka?”出于某种原因,许多开发人员认为这些技术是可以互换的。虽然在某些情况下确实如此,但这些平台之间存在各种潜在差异。因此,不同的场景需要不同的解决方案,选择错误的解决方案可能会严重影响您设计、开发和维护软件解决方案的能力。本系列的第 1 部分解释了RabbitMQ和Apache Kafka的内部实现概念。这一部分继续回顾这两个平台之间的显着差异,作为软件架构师和开发人..
2021-08-31 18:15:31
398
转载 RabbitMQ 与 Kafka深度对比(一)
由于网络限制,转载一份Eran Stiller 大师的作品。================== 分割线 ======================介绍作为一名处理大量基于微服务的系统的软件架构师,我经常会遇到一个反复出现的问题,“我应该使用RabbitMQ还是Kafka?”出于某种原因,许多开发人员认为这些技术是可以互换的。虽然在某些情况下确实如此,但这些平台之间存在各种潜在差异。因此,不同的场景需要不同的解决方案,选择错误的解决方案可能会严重影响您设计、开发和维护软件解决方...
2021-08-31 18:07:11
495
原创 Python参数校验工具:validate.py
一直都在找一个比较好用的参数校验工具包(Python),这次终于找到了就做个记录。包名:validate.py安装方式:(pip已收入, 当前最新版本是1.3.0)pip install validate.pyfrom validator import Required, InstanceOf, Blank, validate# 定义规则Rules1 = {"args1":[Required, Not(Blank())],"args2":[Required, Instance
2021-08-16 11:53:06
5810
1
原创 Python跨进程共享数据/对象
1. 跨进程共享方式在multiprocess库中,跨进程对象共享有三种方式:(1)第一种仅适用于原生机器类型,即python.ctypes当中的类型,这种在mp库的文档当中称为sharedmemory方式,即通过共享内存共享对象(2)另外一种称之为server process,即有一个服务器进程负责维护所有的对象,而其他进程连接到该进程,通过代理对象操作服务器进程当中的对象;(3)最后一种在mp文档当中没有单独提出,但是在其中多次提到,而且是mp库当中最重要的一种共享方式,称为inher.
2021-07-05 20:08:28
8503
3
原创 WebGoat课程实训04:SQL注入(高级)——联合查询
这一课程演示了更加高级的SQL注入方式:联合查询. 通过一个查询入口,我们不仅可以查询出当前表的信息,如果我们可以知道(或猜到)其他的表,我们是可以查出更多信息的。示例中告诉了我们另一个系统用户表,因此我们在查Account Info的同时查询user_system_data表就行了。解法一: Union查询注意union查询:查询列数相同;查询类型要兼容。因此我们必须先找出原...
2019-01-24 19:59:32
575
原创 WebGoat课程实训03:SQL注入
SQL注入也是比较经常发生的攻击行为,到现在,仍有许多不规范的写法导致SQL注入时有发生。关于SQL注入,课程有相关的介绍,详细的知识点可自行搜索。检索所有users练习一:使用‘1’=‘1’恒等式即可,如:Smith’ or 1'='1. 这里注意首位的两个单引号,因为在SQL语句中字符需要用单引号,因此内部已经有一对单引号了,此处就不需要了。正常的语句是:select *...
2019-01-14 22:26:04
792
原创 WebGoat课程实训02:HTTP代理
HTTP代理是作为信息拦截、收集和篡改等的基本手段。这个课程示例向我们展示了最基本的利用HTTP代理进行信息修改的操作。工具首先代理设置,课程中讲解的很清楚,这里不再赘述。但是处于切换方便,我没有直接在浏览器中设置代理,而是使用了SwitchyOmega.在Chrome浏览器中安装该插件即可使用。安装成功后,我添加了一个代理,这样Chrome浏览器使用的HTTP协议数据都会先通...
2019-01-06 11:29:48
822
原创 WebGoat课程实训01:HTTP基础
引言最近在研究WebGoat技术,由于之前对这个领域所了解的不多,感觉突然发现了另一扇大门。而在进行实战练习时,却困难重重,很多知识点缺失,又缺乏技巧,网上的资料也相对比较少。鉴于此,固有写实训笔记的念头,一方面是自己做个回顾,同时也希望能为那些和我一样在黑夜中摸索前行的爱好者一点点帮助。WebGoat是一个用于讲解典型web漏洞的基于J2EE架构的web应用,他由著名的WEB应用安全研究...
2019-01-05 11:58:11
511
原创 2011年终总结——思路
——By Alpha. G wu又是一年的尽头,对于本人来说,不是老了一岁,而是又长大了一岁。每一天的自己都是一个fresh的自己,更别说一年的变化有多大,大到甚至连你自己都察觉不出来。每一份年终总结似乎都差不多,2012“终结之年”的前一年也不例外。大体上叙述下几年发生在自己身上的几件大事,学到的经验和自己悟出的几个道理罢了。但是内心的感悟和变化却很难用语言来表达,如果有人说你变
2011-12-31 16:53:21
7923
4
原创 CUDA入门(一)
最近我也都在看CUDA,自己看书和练习也都搞了一个月了。而且经常在优快云上逛,也发现了很多问题,所以决定自己写点这方面的东西,方便自己也方便后来人。根据我的调查,我发现现在的初学者大都是非计算机专业的,都是一些行业内部的人士,比如地震勘探,生物学,流体力学和气象等等这些应用领域的人在学,像我们这种计算机专业在学的还比较少。这些人大都呢都是有C语言基础,但是编程经验方面却比较欠缺(也有不少高手
2011-12-21 10:16:18
3508
原创 解决 Windows has triggered a breakpoint in Linkage.exe问题
这两天在做一个小项目,里面有多线程的东东,在调试的时候 总是遇到 Windows has triggered a breakpoint in Linkage.exe 的错误。现在将这个问题和大家分享一下。前提是这样的:我要从数据库里面查找设备,然后找了一组设备之后,就要循环打开每一个的连接:for (int i=0;i<records;i++) //records代表记录集条数
2011-10-21 09:11:10
4125
原创 位操作实现权限绑定
第一次写技术博客,请大家批评指正。今天老大交个一个任务,将数据中的权限部分由以前的字符串批注改成整形,即用二进制开关来实现权限的分配。说明:以前我们做权限也都是一个字段 Power,然后读取它的内容,比如“登陆,修改密码,查看日志”,读到什么就说明有什么权限,有啥权限也就写啥汉字进去。现在的情况是事先设定好权限和位置,做一个开关,比如,上面三个权限用三位可以了, 从右到左,依次
2011-09-09 17:05:58
2017
MySQL可视化管理工具(SQLyog)内附key
2011-10-25
MFC教程完整版chm
2011-10-25
MFCwindows编程(第二版)programming windows with mfc, 2nd edtion
2011-10-25
《Windows编程循序渐进》光盘源码.rar
2011-10-25
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人