...

摘要: 题目 字符串去除驼峰,字符串驼峰指相邻的三个字符两端的两个字符相同,如:aba、AcA 式例: 输入:abcbef,输出:aef 输入:AbAcef,输出:cef 实现 def solution(array: str) -> str: array_list = [] i = 0 while i < 阅读全文
posted @ 2024-09-19 17:21 韩志超 阅读(0) 评论(0) 推荐(0) 编辑
摘要: Python中自带的ctypes可以加载C标准动态链接库并调用其中方法,Golang则也可以按C标准类型编写并对外暴露函数,这样Python就可以调用由Go语言编写的函数进行操作。例如。 创建go项目 mkdir go-calc cd go-calc go mod init calc echo "p 阅读全文
posted @ 2024-09-16 00:07 韩志超 阅读(4) 评论(0) 推荐(0) 编辑
摘要: 调用方法 如果觉得Python性能不够,可以使用C、C++或Rust、Golang为按标准C类型。为Python编写扩展。Python通过自带的ctypes模块,可以加载并调用C标准动态链接库(如.ddl 或 .so)中的函数。 常用的操作为: import ctypes # 加载动态链接库 lib 阅读全文
posted @ 2024-09-15 22:39 韩志超 阅读(2) 评论(0) 推荐(0) 编辑
摘要: RustPython介绍 同CPython,Jpython,PyPy一样,RustPython,是使用Rust语言实现的Python解释器,支持Python3语法。 项目地址:https://github.com/RustPython/RustPython RustPython真正方便的是可以编译成 阅读全文
posted @ 2024-09-12 18:53 韩志超 阅读(9) 评论(0) 推荐(0) 编辑
摘要: Python跨语言调用其他语言方法 通过FFI(外部程序接口)调用,Java中称JNI,将Rust/Go/C/C++按C类型编译称动态连接库,Python中使用ctypes加载并调用 通过进程间通信IPC调用(如使用socket) 通过网络接口调用,如RPC,HTTP接口等 通过本地虚拟机/解释器/ 阅读全文
posted @ 2024-09-12 18:07 韩志超 阅读(5) 评论(0) 推荐(0) 编辑
摘要: 收集整理,测试相关工具、资源面试题等,欢迎补充完善 功能测试 测试工具 XMind: 思维导图工具,常用来梳理测试点,商业软件,支持免费试用,有功能限制 XShell: Windows平台远程Linux服务器连接及操作工具,商业软件,支持免费试用,有功能限制 项目/测试管理 Jira: 缺陷跟踪、客 阅读全文
posted @ 2024-09-11 14:06 韩志超 阅读(36) 评论(0) 推荐(0) 编辑
摘要: DuckDB简介 DockDB官网 DuckDB是一款开源免费类似Sqlite的嵌入式数据库,支持直接使用内存或单个文件作为数据库。 DuckDB着重于数据处理和分析,是一个款OLAP(联机分析处理)类型的数据库,主要特点如下: 开源免费,MIT协议 功能完善,支持标准SQL、事务、二级索引等 高性 阅读全文
posted @ 2024-09-11 12:51 韩志超 阅读(43) 评论(0) 推荐(0) 编辑
摘要: 项目新特性上线后,有时会因为包含内存泄露的问题导致服务资源被占满,以至于线上服务崩溃。 最简单的方式是对服务期CPU/内存占用进行监测和及时预警。 python中pyutil包是自动化运维常用的工具库之一,可以进行方便获取服务器CPU/内存及进程等相关信息。 安装方法 pip install psu 阅读全文
posted @ 2024-09-04 20:25 韩志超 阅读(12) 评论(0) 推荐(0) 编辑
摘要: 项目报表 数据来源:Jira 项目数概览 总项目数 日均项目数 完成项目数 日均完成项目数 总Bug数 日均Bug数 总参与人数 平均交付量 第x周 交付数量(项目完成) 交付耗时Top7 项目 交付耗时(created->Done) 项目待解决Bug数 待解决总Bug数 项目平均待解决Bug数 待 阅读全文
posted @ 2024-09-04 16:07 韩志超 阅读(8) 评论(0) 推荐(0) 编辑
摘要: 我们在使用pytest搭建测试框架时,有时候为了方便会将生成报告/日志等参数直接作为默认参数配置在pytest.ini中,如 pytest.ini [pytest] addopts = -v --html=reports/report.html --alluredir=reports/allure_ 阅读全文
posted @ 2024-09-04 15:05 韩志超 阅读(9) 评论(0) 推荐(0) 编辑
摘要: 数据库配置信息一般包含数据库类型、数据库服务器地址、端口号、用户名、密码、要链接的数据库,以及一些选项等,例如 通常我们需要配置多个变量来完成整个配置,如 db_type = 'mysql' host = 'localhost' port = 3306 user = 'root' password 阅读全文
posted @ 2024-08-23 11:31 韩志超 阅读(5) 评论(0) 推荐(0) 编辑
摘要: 题目 合并两个有序链表,如l1=[1,3,4], l2=[1,2,4,5],合并后l3=[1,1,2,3,4,4,5] 解决思路 需要构建节点Node和链表LinkedList结构 如果root节点不确定,可以创建一个哑节点Node(0),作为root节点的前节点,也是初始节点(当前节点) 循环当l 阅读全文
posted @ 2024-08-16 17:52 韩志超 阅读(12) 评论(0) 推荐(0) 编辑
摘要: 题目 最长回文字符串是一种对称的字符串,如 s = "ababd",其中"aba"或"bab"都是回文字符串。 求解思路 最开始的思路是用类似括号匹配的放手,利用栈来做“对对消”,来判断一个字符串是不是回文字符串,但实际操作中发现 “对称轴” 元素是不确定的,前面的消除会导致后面的无法对比。 然后又 阅读全文
posted @ 2024-08-15 19:57 韩志超 阅读(10) 评论(0) 推荐(0) 编辑
摘要: # pip install eth-abi import eth_abi # pip install safe-pysha3 from sha3 import keccak_256 def keccak_256_hash(data: str) -> bytes: k = keccak_256() k 阅读全文
posted @ 2024-07-24 18:19 韩志超 阅读(9) 评论(0) 推荐(0) 编辑
摘要: DH算法即Diffie–Hellman key exchange-迪菲-赫尔曼密钥交换协议,是一种密钥交换的方法。主要用于TLS握手中安全的交换对称加密密钥。 根据不同的算法,DH协议可以分为 基于离散对数算法 Static DH:静态DH协议(服务端私钥固定) DHE:临时私钥DH协议(服务端私钥 阅读全文
posted @ 2024-07-22 15:17 韩志超 阅读(43) 评论(0) 推荐(0) 编辑
摘要: 简介 在非对称加密(公/私钥)体系中,一般有两种应用场景: 公钥加密 > 私钥解密 私钥签名 > 公钥验证签名 数字签名 数字签名在网络通信中是一种授权、防篡改及防抵赖技术。 RSA私钥签名及验证 加密算法:RSA 哈希算法:SHA256 数据签名方法 from cryptography.hazma 阅读全文
posted @ 2024-07-19 12:42 韩志超 阅读(48) 评论(0) 推荐(0) 编辑
摘要: 简介 X.509: 公钥证书的格式标准,应用于包括TLS/SSL在内的众多网络协议; PKCS:即Public Key Cryptography Standards-公钥密码学标准。是由美国 RSA 数据安全公司及其合作伙伴制定的一组公钥密码学标准,其中包括证书申请、证书更新、证书作废表发布、扩展证 阅读全文
posted @ 2024-07-17 21:11 韩志超 阅读(128) 评论(0) 推荐(0) 编辑
摘要: PEM转DER DER格式是证书、私钥、公钥等按ASN.1编码后序列化生成的二进制格式。 我们可以从PEM格式中得到DER格式:例如: import base64 # PEM转DER格式 def pem2der(pem: bytes) -> bytes: return base64.b64decod 阅读全文
posted @ 2024-07-17 17:14 韩志超 阅读(46) 评论(0) 推荐(0) 编辑
摘要: PEM格式 PEM,即Privacy Enhanced Mail,直译为保密邮件,是一种数字证书、私钥、公钥等的文本表示格式。 想对应的,DER,即Distinguished Encoding Rules,可分辨编码规则,是一种是一种数字证书、私钥、公钥等二进制表示格式。 PEM包含DER格式内容, 阅读全文
posted @ 2024-07-17 12:37 韩志超 阅读(209) 评论(0) 推荐(0) 编辑
摘要: 需求 假如有以下测试用例,同样的逻辑,我们需要测试多组数据。 mod tests { #[test] fn test_add() { let a = 1; let b = 2; assert_eq!(a + b, 3); } } 一般情况下我们不在用例中使用for循环(即subtests子测试模式) 阅读全文
posted @ 2024-05-14 15:22 韩志超 阅读(24) 评论(0) 推荐(0) 编辑