自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

会编程的大白熊

专长: 超过10年的PYTHON开发经验, 精通PHP,AngularJS, 大数据分析和架构设计

  • 博客(202)
  • 资源 (1)
  • 收藏
  • 关注

原创 python - 责任链模式实现(2)

pluggy 是 Python 的一个插件管理库。pytest 利用 pluggy 实现插件化,在 Flask 或 Django 等 web 框架中,可以使用 pluggy 为 Middleware 或 View 功能扩展钩子。在数据流管道中,通过 pluggy 添加钩子实现数据采集、过滤、聚合等功能可用于处理数据流的不同阶段。

2024-08-10 18:41:45 338

原创 python - 责任链模式实现(1)

责任链模式通常用于流式数据的处理、请求响应中间件等场景,将多个过滤器对象连成一条链,并沿着这条链传递该请求。也可以用于面向切片编程的场景,责任链中的每个过滤器对象可以以插件的形式提供给主流程,主流程只关心责任链的构造和执行,每个过滤器插件的实现可以单独开发,通过配置方式动态加载到责任链中,实现了和主流程的解耦。本文提供了责任链模式的两种实现。

2024-08-07 21:36:46 294

原创 使用 rye 管理 python 依赖

使用 rye 管理 python 依赖

2024-06-30 00:24:27 462

原创 python - 分割 pytest 的 conftest.py 文件

解决 pytest 的 conftest.py 文件过大问题。

2024-05-25 14:12:05 220

原创 rust - 使用 cargo-nextest 替代 cargo test

cargo-nextest 是新一代的rust测试程序,能够极大提升测试性能,可以完全替代 cargo test 命令。

2024-05-24 01:03:53 435

原创 python - mac安装mysqlclient

mac 安装 msyqlclient,解决各种报错问题

2024-05-03 16:13:13 1095 1

原创 rust - 捕获全局panic并记录进程退出日志

本文提供了捕获全局panic并记录进程退出日志的方法。

2024-04-20 14:24:17 658

原创 vite - WebAssembly入门

vue2 + vite + rust + wasm 使用示例

2024-04-15 23:13:58 573

原创 golang - 简单实现linux上的which命令

本文提供了在环境变量$PATH设置的目录里查找符合条件的文件的方法。

2024-04-07 00:19:00 593

原创 python - lark实现四则运算语法解析

本文实现了对四则运算的语法解析规则。

2024-04-06 17:08:12 336

原创 python - 实现一个通用的插件类

本文提供了一种插件类的实现方案。插件管理器用于注册、销毁、执行插件。

2024-04-03 00:25:08 308

原创 rust - windows下实现捕获ctrlc信号

linux 下可以通过注册`SIGINT`的事件处理函数来捕获 `ctrl + c` 信号,而windows下控制台进程只能通过调用`SetConsoleCtrlHandler`函数设置 `ctrl + c` 信号处理函数。

2024-04-01 09:32:08 567

原创 rust- 结构体与二进制数组转换

rust中可以使用 `deku`将结构体实例转换为bytes数组。

2024-03-31 10:32:59 528

原创 rust - 使用文件锁防止应用多开

本文给出了进程只能单开的方法。

2024-03-30 07:46:34 518

原创 rust - 使用log4rs打印日志

本文提供了一种通过`log4rs`库记录日志的方法。这里没有采用读取`yaml`文件的方式,而是通过对象构造的方式来初始化日志,用于发包时不带配置文件的场景。

2024-03-29 09:39:58 590

原创 rust - 常用时间处理

本文提供了一些常用的时间处理函数。

2024-03-28 21:40:27 659

原创 rust - 使用serde_yaml读取配置文件

本文提供了一种读取`yaml`配置文件,转换为结构体的方法。

2024-03-27 09:24:49 777

原创 rust - 动态构造文件名字符串

本文提供了一种格式化文件名的方法。

2024-03-26 14:07:56 484

原创 rust - 读取windows注册表的值

rust - 读取windows注册表的值

2024-03-25 21:20:40 429

原创 rust - 将bitmap位图文件另存为png格式

本文提供了一种将bitmap位图文件另存为png格式文件的方法。

2024-03-24 22:01:21 333

原创 rust - 基于AES-CBC-128的图片加密实现

本文提供了一种基于AES128算法的图片加解密的方案。可以把图片看作二进制的文本,以文本的方式加解密即可。

2024-03-23 12:57:30 488

原创 rust - 基于AES-CBC-128的双重加密实现

通常加密密钥不要出现在源码中,比如配置文件中的数据库密码等。解决方案通常采用将密钥存放在环境变量中,进程启动时从环境变量获取密钥加载到内存中。还有一种方案,对密钥进行加密,源码中只包含对密钥加密的根密钥和对密钥加密后的二次密钥,如果不知道加密方式,在编译出来的二进制文件中很难还原出真实的密钥。

2024-03-22 09:30:19 849

原创 rust - 对文件夹进行zip压缩加密

本文提供了一种对文件夹进行zip压缩并加密的方法。

2024-03-21 22:55:58 485

原创 rust - 对文件进行zip压缩加密

本文提供了一种对文件进行zip压缩并加密的方法。

2024-03-20 21:57:17 508

原创 rust - 将windows剪贴板的截图保存为png

本文提供了将windows系统的截图另存为png格式图片的方法。

2024-03-19 12:00:52 705

原创 rust - 计算文件的md5和sha1值

本文提供了一种计算文件md5和sha1的方法。

2024-03-18 23:25:45 1134

原创 rust - 一个日志缓存记录的通用实现

本文给出了一个通用的设计模式,通过建造者模式实例化记录对象,可自定义格式化器将实例化后的记录对象写入到指定的缓存对象中。

2024-03-17 17:44:51 708

原创 rust - windows窗口消息循环处理

一个通用的windows窗口消息循环的demo

2024-03-16 19:02:46 921

原创 rust - 理解 ToOwned trait

ToOwned trait支持任意类型的转换,而Clone trait只支持&T 到 T 的转换.以下先介绍一下基本的定义,最后通过一个简单的例子详细理解一下Borrow trait和ToOwned trait的互相转换的过程.

2023-10-28 21:13:32 704

原创 rust - 理解borrow trait

rust - 理解borrow trait

2023-10-24 22:00:22 780

原创 redis - 实现周期性数据无上报检测

redis - 实现周期性数据无上报检测

2023-10-21 18:00:17 442

转载 NTP服务放大攻击的解决办法

转载:什么是NTP服务?网络时间协议NTP(Network Time Protocol)是用于互联网中时间同步的标准互联网协议。NTP服务器通过NTP服务向网络上的计算机或其他设备提供标准的授时服务,以保证这些服务系统的时钟能够同步。通常NTP服务使用UDP 123端口提供标准服务。什么是NTP服务放大攻击?标准NTP 服务提供了一个 monlist查询功能,也被称为MON_GETLIST,该功能主

2017-04-13 14:34:17 7191 1

原创 在windows上使用_netrc文件让Git记住用户名和密码

场景使用ssh因为网络策略问题无法访问git@github.com使用https作为remote origin缺点明文存储实现定义一个用户环境变量%HOME%, 值为%USERPROFILE%在%HOME%路径下新建一个文件_netrc在_netrc文件中增加下面的配置machine github.comlogin cnblogs_userpassword cnblogs_pwd

2017-04-11 14:41:53 7249 1

原创 windows下GitHub的SSH key配置

生成SSH密钥 并 添加公共密钥到GitHub上的帐户设置GitHub的user name和emailgit config --global user.name "Git账号"git config --global user.email "Git邮箱"生成一个新的SSH密钥打开 Git Bash,输入如下命令,然后连续按三个回车即可: ssh-keygen -t rsa -C “your_ema

2017-04-10 22:11:44 2326

原创 Python元类编程——with_metaclass

最近刚接触python的元类,网络上有比较详细的介绍,这里是在看Django时候发现一点关于元类的应用,做个笔记。from django.utils import sixclass A(type): def __new__(cls, name, parents, attrs): return type.__new__(cls, name, parents, attrs)cl

2017-04-07 18:52:09 6937

转载 Python: 捕获异常然后再抛出另一个异常的正确姿势

转载:https://mozillazg.github.io/2016/08/python-the-right-way-to-catch-exception-then-reraise-another-exception.html一般大家实现捕获异常然后再抛出另一个异常的方法是下面这样的:def div(): 2 / 0try: div()except ZeroDivisionErr

2017-04-07 11:37:51 16490

原创 python获取登录验证码

根据sessionId下载验证码,通过人工方式识别import urllib2def get_captcha(captchaUrl, sessionIdKey, sessionIdValue): """获得验证码图片 通过fiddler分析验证码请求时需要携带的cookie,通常验证码是与某个sessionid绑定的 Args: captchaUrl: 验证码地

2017-04-07 10:41:23 6143

转载 MySQL高可用方案选型参考

转载:http://imysql.com/2015/09/14/solutions-of-mysql-ha.shtml可选MySQL高可用方案MySQL的各种高可用方案,大多是基于以下几种基础来部署的:基于主从复制;基于Galera协议;基于NDB引擎;基于中间件/proxy;基于共享存储;基于主机高可用;在这些可选项中,最常见的就是基于主从复制的方案,其次是基于Galera的方案,我

2017-04-05 21:27:03 562

转载 来自 Google 的高可用架构理念与实践

来自 Google 的高可用架构理念与实践孙宇聪,CTO @ coding.net 。2007 - 2015 年初在 Google 的 Moutain View 担任 SRE 职位。 参与了 Google 的两个项目:第一个是 Youtube,工作内容涵盖 Video transfer、Coding、Streaming、Global CDN 等;第二个是 Google Cloud Platform

2017-04-05 21:10:53 667

原创 Excel清除一个单元格的第一个字符

解决导出的文件中超长整型显示的问题处理csv文件超长整型在excel中默认使用科学技术法显示,为了使得导出的csv文件可以以字符串的格式显示在Excel中csvn文件内容如下,在字符串的前面加上一个单引号问题单号'2016010113440210231'2016010113440210231'2016010113440210231'2016010113440210231Excel打开CSV文

2017-03-22 11:02:11 10066

MFC实现VC清理助手

VC清理助手,清楚系统中的垃圾文件。带有详细的代码注释。

2009-04-22

空空如也

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

TA关注的人

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