自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(105)
  • 资源 (3)
  • 收藏
  • 关注

原创 05_树(二叉树)

树( Tree)是 n(n>=0) 个结点的有限集。n=0 时称为空树。在任意一棵非空树中: ( 1 )有且仅有-个特定的称为根( Root )的结点: (2) 当n>1 时,其余结点可分为 m (m>0) 个互不相交的有限集 T1 、 T2、……、 Tm •,其中每一个集合本身又是一课树,并且称为根的子树( SubTree )。

2024-04-12 13:24:04 610

原创 04_串(String)

串(String)是由零个或多个字符组成的有限序列,又叫字符串。一般记为sa1a2ann0sa1​a2​...an​n0,其中s是串的名称;串中的字符数目 n 称为串的长度;零个字符的串称为空串(null string);

2024-03-28 12:45:23 779

原创 windows_获取系统盘所在的磁盘号

根据盘符获取操作系统所在的物理磁盘号

2024-03-20 15:55:48 235

原创 03_堆栈

栈(stack)是限定仅在表尾进行插入和删除操作的线性表允许插入和删除的一端称为栈顶(top),另外一端称为栈底(bottom),不包含任何数据元素的栈称为空栈。栈又称为后进先出(Last In First Out)的线性表(简称LIFO)队列(queue)是只允许在一端进行插入操作,而在另外一端进行删除操作的线性表队列是一种先进先出( First In First Out) 的线性表,简称 FIFO。允许插入的一端称为队尾,允许删除的一端称为队头。

2024-03-19 12:54:59 402

原创 Qt_vc++崩溃日志分析

自行百度,会查到很多,一下代码仅供参考(来自https://blog.csdn.net/weixin_45571586/article/details/128697309)可以看到崩溃时,函数调用栈的信息了,通过上下文分析可以定位到崩溃具体出现的位置。如果在开发环境中,有时可以定位到源码,非常方便。将崩溃日志拖入WinDbg中,设置pdb路径。编译工具:vs2015 update3。输入:.ecxr 命令。

2024-03-14 16:01:02 436

原创 Qt自定义标题栏的多屏适配

参考博客 : https://blog.csdn.net/goforwardtostep/article/details/53494800。

2024-03-11 15:04:20 1027

原创 Linux 命令汇总

升级模式会安装用户所指定的更新版本,并删除已安装在系统中的相同软件包,升级软件包命令如下:rpm -Uvh wu-ftpd-2.6.2-8.i386.rpm -Uvh:升级参数。使用RPM命令的安装模式可以将软件包内所有的组件放到系统中的正确路径,安装软件包的命令是:rpm –ivh wu-ftpd-2.6.2-8.i386.rpm。vim启动后,默认进入命令模式,任何模式都可以通过esc键回到命令模式(可以多按几次),命令模式下可以键入不同的命令完成选择、复制、粘贴、撤销等操作。

2024-03-09 09:24:48 1043

原创 02_线性表

线性表(List):零个或多个数据元素的有限序列强调几个关键地方序列:也就是说,元素之间是有顺序的有限:线性表强调是有限的(实时上计算机处理的对象都是有限的,无限只存在于数学的概念中)线性表元素的个数nn≥0n \geq 0n≥0),定义为线性表的长度,当n=0时,称为空表线性表的链式存储结构的特点是用一组任意的存储单元存储线性表的数据元素,这组存储单元可以是连续的,也可以是不连续的。这就意味着,这些数据元素可以存在内存未被占用的任意位置。为了表示每个数据元素aia_iai​。

2024-03-06 12:41:48 786

原创 01_算法

算法(Algorithm)是解决特定问题求解步骤的描述,在计算机中表现为指令的有限序列,并且每一条指令表示一个或者多个动作。在进行算法分析时,语句总的执行次数T(n)是关于问题规模n的函数,进而分析T(n)随n的变化情况并确定T(n)的数量级。算法的时间复杂度,也就是算法的时间量度,记作:。它表示随问题规模n的增大,算法执行时间的增长率和f(n)的增长率相同,称作算法的渐近时间复杂度,简称为时间复杂度。其中f(n)是问题规模n的某个函数。用大写O()

2024-02-21 15:03:49 641

原创 CH10_用类来表现

命令模式(Command),将一个请求封装为一个对象,从而使你可用不同的请求对客户进行参数化;解释器模式(interpreter),给定一个语言,定义它的文法的一种表示,并定义一个解释器,这个解释器使用该表示来解释语言中的句子。Invoker角色是开始执行命令的角色,它会调用在Command角色中定义的接口(API)。ConcreteCommand角色负责实现在Command角色中定义的接口(API)。Command角色负责定义命令的接口(API)ConcreteCommand(具体的命令)

2024-01-17 17:17:16 374

原创 CH09_避免浪费

Subject角色定义了使Proxy角色和RealSubject角色之间具有一致性的接口。由于存Subject角色,所以Client角色不必在意它所使用的究竟是Proxy角色还是RealSubject角色。用来控制真实对象访问时的权限(功能)。它与Proxy角色一样,也实现了在Subject角色中定义的接口(API)按照通常方式编写程序会导致程序变重,所以如果能够共享实例会比较好,而Flyweight角色表示的就是那些实例会被共享的类。使用Proxy模式的角色,Client角色并不包含在Proxy模式中。

2024-01-10 12:44:29 390

原创 CH08_管理状态

观察者模式(Observer),又叫发布订阅模式(Publish/Sunscribe)模式,定义了一种一对多的依赖关系,让多个观察者对象同时监听某一个主题对象。备忘录模式(Memento),在不破坏封装性的前提下,捕获一个对象的内部状态,并在该对象之外保存这个状态。把状态的判断逻辑转移到表示不同状态的一系列类当中,可以把复杂的判断逻辑简化。当它的Update方法被调用后,会去获取要观察的对象的最新状态。状态模式(State ),当一个对象的内在状态改变时允许改变其行为,这个对象看起来像是改变了其类。

2024-01-05 12:54:55 882

原创 CH07_简单化

由于把对象如何协作进行了抽象,将中介作为一个独立的概念并封装在一个对象中,这样关注的对象就从对象各自本身的行为转移到它们之间的交互上来,也就是站在一个更宏观的角度去看待系统。可以为新系统开发一个外观Facade类,来提供设计粗糙或高度复杂的遗留代码的比较清晰简单的接口,让新系统与Facade对象交互,Facade与遗留代码交互所有复杂的工作。其次,在开发阶段,子系统往往因为不断的重构演化变得越来越复杂,这时增加外观Facade可以提供一个简单的接口,减少客户程序与子系统中各种类之间的依赖。

2023-12-28 12:41:48 921

原创 CH06_访问数据结构

访问者模式,职责链模式

2023-12-22 13:02:01 522

原创 CH05_一致性

当系统需要新功能的时候,在主类中加入新的字段、方法、逻辑,仅仅是为了满足某些特定情况下才会执行的特殊行为的需求,还会增加类的复杂度。装饰模式却提供了一个非常好的解决方案,他把每一个要装饰的功能放到单独的类中,并让这个类包装它所要装饰的对象,因此,当需要执行特殊行为时,客户代码就可以在运行时根据需要有选择地、按顺序地使用装饰功能包装对象了。Composite角色的Leaf角色和Composite角色的父类。该角色是实现了Component角色所定义的接口(API)的具体蛋糕。表示“内容”的角色。

2023-12-20 12:57:14 368

原创 Clion编译Qt程序设置exe图标

其实就是在cmake管理工程中,设置应用程序图标信息(Windows)在SOURCE_FILES 中 添加version.rc文件路径。

2023-12-18 14:25:13 527

原创 Pycharm不能自动生成函数注释问题解决

在 File -> Settings -> Tools -> Python Integrated Tools -> Docstrings -> Docstring format 中将 Docstring format 改为 reStructuredText,此处如果是 plain 就会导致输入’‘’ 不能自动生成注释。

2023-12-15 14:34:15 111

原创 CH04_分开考虑

负责使用Strategy角色.Context角色保存了ConcreteStrategy角色的实例,并使用ConcreteStrategy角色去实现需求(总之,还是要调用Strategy角色的接口(API))。ConcreteStrategy角色负责实现Strategy角色的接口(API),即负责实现具体的策略(战略、方向、方法和算法)。该角色位于“类的实现层次结构”的最上层。它定义了用于实现Abstraction角色的接口(API)的方法。该角色负责实现在Implementor角色中定义的接口(API)。

2023-12-15 12:40:03 42

原创 python内置函数

map函数用于把一个列表通过函数处理,映射成一个新的列表。reduce() 是 functools 模块下面的一个函数,接收两个参数,一个是函数对象,一个是可迭代对象(比如list), reduce每次会把迭代对象中的下一个元素作用在函数上做累积计算,最后得到一个值。getattr() 返回对象属性对应的值,接受两个参数,第一个是对象,第二个是属性名,这个函数通常用户动态或者某个对象下面的某些属性的值。join 也是比较常用的一个内置函数,它可以将列表对象用指定的字符作为元素之间的连接,转换为字符串。

2023-12-13 17:15:05 61

原创 CH03_生成实例

抽象工厂模式(Abstract Factory)提供一个创建一系列相关或相互依赖对象的接口,而无需指定它们具体的类。

2023-12-13 12:30:31 282

原创 Clion调试QTQString看不到值问题处理

解决Clion调试QT工程,QString看不到值问题

2023-12-01 16:33:01 410

原创 UML图类别

但部分不能离开整体而单独存在,组合关系是关联关系的一种,是比聚合关系还要强的关系。图中展示了一个线上书店的通讯图,方框和小人表示生命线,不同生命线之间可以传递消息,消息前面的数字可以表达序列顺序。概念:用例图是指由参与者、用例,边界以及它们之间的关系构成的用于描述系统功能的视图。概念:描述了收发消息的对象的组织关系,强调对象之间的合作关系而不是时间顺序。概念:描绘了系统中组件提供的、需要的接口、端口等,以及它们之间的关系。实现关系:是一种类与接口的关系,表示类是接口所有特征和行为的实现。

2023-11-29 12:36:23 53

原创 CH02_交给子类

工厂模式、模板模式

2023-11-28 12:47:13 64

原创 CH01_适应设计模式

可以将BookShelf中的记录Book对象的数组迁移到BookShelfIterator,这样只保留BookShelf对BookShelfIterator的引用,降低类之间的耦合。该角色负责定义按顺序逐个遍历元素的接口(API)。使用Adapter角色的方法来满足Target角色的需求,这是Adapter模式的目的,也是Adapter角色的作用。该角色负责实现Aggregate角色所定义的接口(API)。被适配的角色,Adaptee是一个持有既定方法的角色,Target因某种原因无法直接使用这些方法。

2023-11-25 10:59:14 356

原创 c++ vector

vector是最常用的容器之一,功能十分强大,可以储存、管理各种类型的数据。在很多情况下可以用来代替功能比较局限的普通数组。向量(Vector)是一个封装了动态大小数组的顺序容器。

2023-11-24 15:48:45 99

原创 CH12_处理继承关系

有时添加子类是为了应对未来的功能,结果构想中的功能压根没被构造出来,或者用了另一种方式构造,使该子类不再被需要了。如果超类中的某个函数只与一个(或少数几个)子类有关,那么最好将其从超类中挪走,放到真正关心它的子类中去。大多数时候,有这样的类型码就够了。很多时候,合理的继承关系是在程序演化的过程中才浮现出来的:发现了一些共同元素,希望把它们抽取到一处,于是就有了继承关系。如果看见各个子类中的函数有共同行为,可以使用提炼函数(106)将它们提炼到一个独立函数中,然后使用函数上移(350)将这个函数提升至超类。

2023-11-15 12:14:38 101

原创 CH11_重构API

传递整个记录”的方式能更好地应对变化:如果将来被调的函数需要从记录中导出更多的数据,就不用为此修改参数列表。如果发现两个函数逻辑非常相似,只有一些字面量值不同,可以将其合并成一个函数,以参数的形式传入不同的值,从而消除重复。如果某个函数只是提供一个值,没有任何看得到的副作用,那么这是一个很有价值的东西。函数的参数列表应该总结该函数的可变性,标示出函数可能体现出行为差异的主要方式。如果没有合适的命名规范,就给命令对象中负责实际执行命令的函数起一个通用的名字,例如“execute”或者“call”。

2023-11-09 12:45:48 236

原创 tracert命令

tracert 跟踪路由;pathping检查网络健康状态

2023-11-08 13:57:06 86

原创 netsh命令

192.168.0.0/24表示网络的CIDR地址段,本地连接是网络接口的名称,192.168.0.254是网关的地址。enable:是否启用规则(yes:启用,no:禁用;listenaddress: 本机的监听地址, 不填默认为本机地址。action:操作,allow允许连接,block阻止连接。可以查看各个网卡的名称、IP、子网掩码、网关等。dir:方向,in为入站,out为出站。listenport: 本机的监听端口。add 添加新入站或出站防火墙规则。show 显示指定的防火墙规则。

2023-11-07 13:02:12 336

原创 CH10_简化条件逻辑

程序的大部分威力来自条件逻辑,但很不幸,程序的复杂度也大多来自条件逻辑。

2023-11-04 11:06:10 131

原创 CH09_重新组织数据

数据结构在程序中扮演着重要的角色,所以毫不意外,有一组重构手法专门用于数据结构的组织。将一个值用于多个不同的用途,这就是催生混乱和bug的温床。

2023-11-02 13:10:48 102

原创 Python编译与反编译

python编译与反编译

2023-10-17 15:19:38 182

原创 pandas_使用总结(1)

pandas 列、行操作;索引操作;数据合并操作

2023-10-16 15:21:29 121

原创 c++ 函数指针

指针变量名 = &类名::成员函数名;定义的函数指针变量,指向了一个类中的一个函数。但是,当一个类实例化为多个对象的时候,调用函数指针的时候,就必须指定哪一个对象。number = n;// 定义student类中的一个函数指针// 通过函数指针调用stud的成员函数。

2023-10-08 12:45:02 72

原创 IIS部署Flask

首先以管理员身份运行wfastcgi-enable来在IIS上启用wfastcgi,这个命令位于c:\python_dir\scripts,也就是你需要确保此目录在系统的PATH里,或者你需要cd到这个目录后再执行。“C:Python34python.exe|C:Python34libsite-packageswfastcgi.py” 在下文的配置文件中需要使用。保存后会在web.config中增加一条新的handlers记录,把原来的删掉就可以。选择站点下的映射模块。

2023-10-07 17:38:33 246

原创 CH08_搬迁特性

一个适应于问题域的良好数据结构,可以让行为代码变得简单明了,而一个糟糕的数据结构则将招致许多无用代码,这些代码更多是在差劲的数据结构中间纠缠不清,而非为系统实现有用的行为。如果原函数是一个超类方法,并且有子类进行了覆写,那么还需要对所有子类的覆写方法进行同样的提炼操作,保证继承体系上每个类都有一份与超类相同的提炼函数。如果函数里用到了源上下文(source context)中的元素,就得将这些元素一并传递过去,要么通过函数参数,要么是将当前上下文的引用传递到新的上下文那边去。

2023-09-26 12:19:36 68

原创 Qt QWebEngineView 忽略https验证

继承QWebEnginePage,重写certificateError函数。

2023-09-21 17:28:49 580 2

原创 Qt httpclient

记录一次Qt中处理https请求的操作。

2023-09-21 16:39:28 88

原创 python Sqlalchemy

SQLAlchemy 是python中,通过ORM操作数据库的框架。它简化了应用程序开发人员在原生SQL上的操作,使开发人员将主要精力都放在程序逻辑上,从而提高开发效率。它提供了一整套著名的企业级持久性模式,设计用于高效和高性能的数据库访问。

2023-09-20 12:44:53 311

原创 flask要点与坑

Flask是一个用Python编写的Web应用程序框架,该框架简单易用、模块化、灵活性高。该笔记主要记录Flask的关键要点和容易踩坑的地方使用@app.template_filter(“filter name”) 添加'''定义一个格式化浮点数据的过滤器'''app.run()使用过滤器</使用@blue.app_template_filter(“filter name”)添加'''定义一个格式化浮点数据的过滤器'''注意:Blueprint中定义的过滤器是全局的,所有模板都可以使用。

2023-09-16 11:59:20 432

软件设计模式,各个模式的类图结构

软件设计模式,各个模式的类图结构

2024-01-17

Clion调试QTQString看不到值问题处理

Clion调试QTQString看不到值问题处理

2023-12-01

MySQL 主从配置(linux),mysql-proxy

MySQL 主从配置(linux),mysql-proxy

2023-08-23

MySQL 主从配置网关(Windows)

MySQL 主从配置网关(Windows)

2023-08-23

Pycharm 下 PyQt5 代码示例

Pycharm 下 PyQt5 代码示例

2023-08-21

CLion Qt工程(包含cmake)

CLion Qt工程(包含cmake)

2023-08-17

Python protocbuf

Python protocbuf

2023-08-08

数据分析笔记(自己学习数据分析时做的笔记,包括pandas、numpy)

数据分析笔记(自己学习数据分析时做的笔记,包括pandas、numpy)

2023-07-19

JavaScript正则表达式(下)

JJavaScript正则表达式下——相关方法 search match replace

2018-10-24

javascript 正则表达式_上

javascript 正则表达式 基本语法 元字符 预定义特殊字符

2018-10-24

H-ui.admin_v3.0.

H-ui.admin是用H-ui前端框架开发的轻量级网站后台模版 采用源生html语言,完全免费,简单灵活,兼容性好 让您快速搭建中小型网站后台

2018-03-07

空空如也

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

TA关注的人

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