Hunter的大杂烩 技术学习笔记

October 13, 2021

清分–清算–结算

Filed under: 技术话题 — hunter @ 9:44 pm

from:https://blog.csdn.net/qq853447917/article/details/77188814

介绍的很清晰简单 :)

清分=记账
清算=算账
结算=转账

国内各银行间的清算与结算均依赖于中国人民银行的大小额支付系统。

小额批量支付系统:除系统维护外,全年7X24小时工作。A行向B行汇款,单笔金额小于5W走小额支付系统。A行将向B行单笔小于5W的汇款逐一记录(清分),依次凑够5W为一个单位(清算),根据清算结果每5W一笔人民币批量转给B行(结算)。小额支付系统每日清算时间为8:30-17:00。在清算与结算未完成时B行会用自己在人行的备付金先为客户进行垫付,所以B行的客户收款是实时的。

大额实时支付系统:单笔交易金额大于5W的一律走该系统。比如:6月1号15:00 A行要付给B行2亿,B行要付给A行1亿,人民银行处理中心先记下这两笔交易(清分),然后轧差账目二者相抵A行付给B行1亿(清算),最后A行根据账目核对结果实时将1亿人民币转给B行(结算)。

清算就是“算”:你欠我多少,我欠你多少,咋俩核对核对。给个结果,看最终是你给我钱还是我给你钱。
结算就是“给”:执行清算的结果。到底谁该给谁钱,给吧。
————————————————

October 7, 2021

python批量提取一个set中,最小相同路径

Filed under: 技术话题 — hunter @ 5:23 pm

测试
a=("ab/cd/ef", "ab/cd/ef/g", "ab/cd/")
输出
{'ab/cd/': 1}


#in_set 应是一个有序的字符串集合
def remove_duplicate_string(in_set):
    if len(in_set) < 2:
        return in_set

    duplicate_str_dict = {}
    same_str_dict = {}

    old_str = ""
    same_str = ""
    for str in in_set:
        if len(same_str) > 1:
            if str.find(same_str) >= 0: # same_str 应该是两个字符串的交集,如果能跟same_str匹配,则直接pass
                continue
        if len(old_str) > 0:
            same_str = get_same_string(old_str, str)
            print(f"{same_str} vs {old_str} vs {str}")
        if len(same_str) > 1:
            same_str_dict[same_str] = 1
        old_str = str
    if len(same_str_dict) < 1 or len(same_str_dict) == len(in_set):
        return in_set
    if len(same_str_dict) < len(in_set):
        return remove_duplicate_string(same_str_dict)
    return same_str_dict

September 17, 2021

python分析java class字节码工具 javatools demo

Filed under: 技术话题 — hunter @ 7:37 pm

只贴几个主要功能的代码,输出基本跟 javap.exe一样了

 

(more…)

在windows下安装python-javatools包

Filed under: 技术话题 — hunter @ 2:24 pm

参考:https://stackoverflow.com/questions/30344200/m2crypto-installation

https://community.anaplan.com/t5/Anaplan-Platform/Installing-M2Crypto-Python-Library-on-Windows-Machine-for/m-p/79950#M17164

环境:

Python3.8

Windows10

主要问题卡在依赖的 M2Crypto 上,要安装这个python package,需要安装openssl + swig ,然后用swig根据openssl 的头文件结合 M2Crypto的源文件,生成 中间代码,再用编译器编译

根据 M2Crypto介绍说可以支持mingw(https://gitlab.com/m2crypto/m2crypto/-/blob/master/INSTALL.rst#differences-when-installing-on-windows),开始就想用Cygwin或mingw的gcc来试一试,这两个环境比较干净,可以不用安装太多windows程序,只是最新的cygwin/mingw都用gcc 11了,也不知道是gcc11版本做了什么改动,链接时总是提示无法找到 fdopen等函数

最后还是屈服在MS淫威之下,一次安装通过。。。

(more…)

September 16, 2021

通过setup.py 传递编译参数给 gcc

Filed under: 技术话题 — hunter @ 10:42 pm

参考:https://docs.python.org/zh-cn/3.10/distutils/configfile.html

https://www.pythonf.cn/read/168890

编译 M2Crypto时遇到 openssl 头文件找不到,可以用setup.py 的build_ext模式,将额外参数传递给swig(或gcc)

python setup.py build_ext -I/d/soft/msys64/mingw64/include –openssl /d/openssl -cmingw32

(more…)

Older Posts »

Powered by WordPress