Tkinter嵌入ico图标

Tkinter嵌入ico图标 Tkinter虽然比较简陋,但是在使用Python开发一些图形化小工具时还是比较方便的。由于原生图标比较朴素,所以一般都会选择自定义图标,但是就会遇到一个单文件可执行程序还得配一个ico文件用于显示图标,无疑比较累赘。本文介绍了如何将图标嵌入可执行文件的做法。 ...

2023-10-30 · 1 分钟 · 3rd

C++单例模板

C++单例模板 单例的写法基本都相同,定义一个模板方便使用单例模式。 分析 单例模式需要确保资源初始化是线程安全的,因而出现了以下几种方法(选自《C++ 单例模式的模板实现》、《单例模式很简单?但你真能写对吗?》): ...

2023-06-29 · 4 分钟 · 3rd

什么是编程的反射

什么是反射 反射这个词的翻译挺令人费解的,总有种望文生义的感觉。 举个例子 我写了个摘要计算器,其中有如下代码: 1 2 3 4 5 6 if selected_algorithm == "SHA-512": algorithm = hashlib.sha512() elif selected_algorithm == "SHA-256": algorithm = hashlib.sha256() else: algorithm = hashlib.md5() 这段代码功能就是根据用户选择的摘要计算方式,创建对应的对象,算很典型的工厂方法。 ...

2023-04-11 · 2 分钟 · 3rd

使用Gitea搭建私有Git服务

使用Gitea搭建私有Git服务 总有不适合放到别人服务器上的代码,那就自己搭一个Git服务。本教程使用Docker,部署方便,迁移简单,且支持https。 步骤 1. 准备工作 找一个喜欢的路径,新建一个文件夹用来存放之后所有的文件,这里我推荐命名为Gitea。 ...

2023-02-19 · 2 分钟 · 3rd

PyCharm使用外部工具

PyCharm使用外部工具 这玩意真好使,尤其是用pyinstaller打包时,一键打包,避免频繁输入命令。 步骤 1. 开始设置 打开设置,如图找到外部工具设置,打开。 2. 新建外部工具 外部工具就是设置一套预定义命令,然后在使用的时候根据文件替换宏得到最终命令并自动执行。说白了就是省去了你输入命令的时间,直接鼠标点几下就能调起pyinstaller命令进行打包,以下以此举例。 ...

2022-10-07 · 2 分钟 · 3rd

SHA消息摘要

SHA消息摘要 安全散列算法(英语:Secure Hash Algorithm,缩写为SHA)是一个密码散列函数家族,是FIPS所认证的安全散列算法。能计算出一个数字消息所对应到的,长度固定的字符串(又称消息摘要)的算法。且若输入的消息不同,它们对应到不同字符串的几率很高。 ...

2022-09-12 · 6 分钟 · 3rd

头文件设计与使用规范

头文件设计与使用规范 众所周知,相较于面向对象的C++,面向过程的C语言是没有封装、继承、多态之说,也就无从谈起接口之类的操作。那么在C程序中,使用分离编译的原则,头文件(.h或.hpp)提供声明、接口的作用,源文件(.c)提供实现的作用,进而实现工程的模块化,保证模块的高内聚、低耦合,无疑是非常重要的。 ...

2022-08-09 · 7 分钟 · 3rd

取模与取余

取模与取余 以下简单分析一下这俩运算。 对于整数a,b来说,取模运算或者求余运算的方法要分如下两步: 求整数商:c=a/b 计算模或者余数:r=a-(c*b) 求模运算和求余运算在第一步不同。 ...

2022-08-04 · 1 分钟 · 3rd

C++ 的多态

C++ 的多态 多态,顾名思义——多种形态,通俗点讲就是“一个接口,多种实现”。(编写本篇时知识架构尚未完善,如有疏漏还请指教。) 1. 为什么需要多态 工程中经常碰到千变万化的需求,如果为每个需求都单独设计一套接口和逻辑,无疑会造成大量代码冗余,同时也降低了可维护性。 ...

2022-07-09 · 15 分钟 · 3rd