- 博客(89)
- 资源 (38)
- 收藏
- 关注
原创 Qt程序增加Dump文件保存
qt程序出现程序闪退,对这些未能捕获的异常,存储未Dump文件方便我们定位哪块代码出的问题。利用Window API 的相关接口,具体如下。上边是按照最小dump生成的(MiniDumpNormal),如果需要其他可以调整出入参数类型。
2025-03-19 15:16:45
271
原创 Visual Studio(VS)的 Release 配置中生成程序数据库(PDB)文件
最近工作中的一个测试工具在测试多台设备上使用过程中闪退,存了dump,但因为是release版本,没有pdb,无法根据dump定位代码哪块出了问题,很苦恼,查了下怎么加pdb生成,记录一下。
2025-03-19 09:47:19
731
转载 字符编码基础
ormat,简称 UTF),一个字符的 Unicode 编码虽然是确定的,但是由于不同系统平台的设计不一定一致,以及出于节省空间的目的,对 Unicode 编码的实现方式有所不同。首先,在 Windows 下,控制台的默认编码是当前系统的代码页(通常是 GB2312),所以如果你输出到控制台的字符不是当前代码页编码对应的字符,那么就会发生乱码。而对于 UTF-8 中,每个使用UTF-8存储的字符,除了第一个字节外,其余字节的头两个比特都是以"10"开始,除了第一个字符以外,其他都是唯一的。
2025-03-14 11:25:16
128
转载 VSCode + Qt + QMake 开发编译环境搭建
鉴于Qt官方IDE太过难用,VSCode+各种插件功能强大,遂采用VSCode来写Qt项目;本博客在 Windows 平台进行指导操作,Mac、Linux 平台配置方式类似,学习其本质就可。VSCode插件,下面 C/C++ 插件是必需的C/C++Qt tools。
2025-02-05 16:21:12
458
转载 C#字符串拼接的几种方式及其性能分析对比
在C#编程中字符串拼接是一种常见且基础的操作,广泛应用于各种场景,如动态生成SQL查询、构建日志信息、格式化用户显示内容等。然而,不同的字符串拼接方式在性能和内存使用上可能存在显著差异。今天咱们一起来看看在C#中字符串拼接的常见6种方式及其使用进行性能分析对比。
2025-01-20 11:12:05
27
转载 API 风格选对了,文档写好了,项目就成功了一半!
在前后端开发中,API文档和API风格设计是提高开发效率、减少沟通成本、确保系统稳定性的关键环节。一个清晰、易用的API文档可以帮助前端开发者快速理解接口的使用方法,而完善的测试则能尽早发现潜在问题,避免上线后出现故障。在本文中,我们从 API 风格的选择到文档的编写,详细探讨了如何选用API设计和构建高效的API文档,来达到提供协作效率。它使用HTTP协议的标准方法(GET、POST、PUT、DELETE等)来操作资源,资源通过URL标识,数据通常以JSON格式传输。接口通常以动词命名,表示具体的操作。
2025-01-10 16:28:19
70
转载 SQL优化的这15招
sql优化是一个大家都比较关注的热门话题,无论你在面试,还是工作中,都很有可能会遇到。如果某天你负责的某个线上接口,出现了性能问题,需要做优化。那么你首先想到的很有可能是优化sql语句,因为它的改造成本相对于代码来说也要小得多。那么,如何优化sql语句呢?这篇文章从15个方面,分享了sql优化的一些小技巧,希望对你有所帮助。(我最近开源了一个基于 SpringBoot+Vue+uniapp 的商城项目,欢迎访问和star。)[
2025-01-07 17:04:16
27
转载 大话《权限设计》全篇,领略不同设计模式的魅力
乘风是一家创业公司的开发人员,由于是创业公司,规模不大,研发人员也只有可怜的3人,平时面临的研发任务非常紧张。小乘,怎么财务的小红能看到运营的数据,可以让不同的人查看不同的数据嘛。乘风自信的回答道:可以的老板。公司老板找到已经是研发组长的乘风说道:小乘啊,今天早上运营给我说,他们现在每天花在分配人员权限上的时间过多,每次有人员变动、人员加入都需要重新调整权限,而且不能成批量操作,大大降低了他们的工作效率。你是研发部的负责人,你应该考虑考虑,系统的数据安全,那写人能看什么数据,能修改什么数据,要做到可调控。
2024-12-18 13:49:40
42
转载 手把手带你使用JWT实现单点登录
JWT相比session方案,因为json的通用性,所以JWT是可以进行跨语言支持的,像JAVAJavaScriptPHP等很多语言都可以使用,而session方案只针对JAVA。因为有了payload部分,所以JWT可以存储一些其他业务逻辑所必要的非敏感信息。同时,保护好服务端secret私钥非常重要,因为私钥可以对数据进行验证、解密。如果可以,请使用https协议!项目源代码地址如下!spring-boot-example-demo: spring boot项目案例demo。
2024-07-04 17:20:18
87
原创 QT 线程计时器
qt自带的计时器QTimer是与界面主线程绑定在一起的,如果操作界面有可能会影响计时器的执行,所以查找一些资料写了一个长期运行的线程计时器。2.线程类,提供两种计算时差的方式,可根据需求自己选择。
2024-07-02 10:47:33
431
原创 windows下 nodejs升级版本
使用n升级node,需要安装git或安装linux支撑组件,后来在网上找资料 直接下载node.exe覆盖原文件即可。提示:如无必要,不要乱升级node和npm。会导致某些项目跑不了,出现不兼容的情况。3.找到你node的安装路径,不知道的输入下面命令查找路径。4.把文件就的node.exe文件替换成新的文件。然后node -v 看一下,版本就更新了。2.下载相应版本的nodejs,网址是。,找个你想要的版本下载node.exe。1.查看当前node版本。
2024-06-18 13:56:34
3510
转载 C#.NET体系图文概述—2024最全总结
C#是一种简单、现代、面向对象和类型安全的编程语言。。.NET是由 Microsoft 创建的开发平台,平台包含了语言规范、工具、运行,支持开发各种应用,如Web、移动、桌面等。.NET框架有多个实现,如.NET Core(及后续的.NET 5+版本),以及社区版本Mono。除此以外,C#.NET体系还有很多概念,本文就来简单了解下C#、.NET Framework、CLR、.NETCore、CTS、JIT等概念。
2024-05-07 09:09:17
1608
1
原创 C# 获取计算机信息(操作系统/硬件)
C#我们可以通过类库System.Management获取计算机的基础信息。总结了一个通用类,只要根据参考信息填入path和key就可以获取相应的信息。这个只是针对单个设备,如果有多个设备单独写下就可以了。参考信息中key的":"和后边为说明信息,只使用前面就可以了。
2024-01-31 17:12:17
2986
转载 什么是“中台”?
SuperCell公司就像是一个高产的游戏孵化器,在几年内开发出了10款以上的游戏,但是大部分用于试错的游戏都在研发过程中被腰斩了,最终呈献给用户的几款游戏都是经典中的经典。“中台”这个概念,越来越多的在各种技术大会上提及,各大技术公司,纷纷推出自己的“中台”方案,究竟什么是“中台”?图中,阿里巴巴许多产品线的共通业务经过下沉,形成了中台的各种业务中心,而Aliware则是阿里巴巴的技术中间件平台,为各大业务线提供技术支持。中台的架构思想改变的不只是项目结构,也影响了研发团队的组织形式。
2024-01-29 14:22:50
160
转载 CRC16算法及C语言实现
3.判断最高位,若该位为 0 左移一位,若为 1 左移一位再与多项式Hex码异或。5.重复将所有输入数据操作完成以上步骤,所得16位数即16位CRC校验码。但是CRC16只取低16位,写成16进制数就是 0x1021。1.根据CRC16的标准选择初值CRCIn的值。2.将数据的第一个字节与CRCIn高8位异或。x16表示第16位为1,x5表示第5位为1。4.重复3直至8位全部移位计算结束。如x16+x12+x5+1。
2024-01-18 17:22:10
8776
1
转载 TCP 、UDP、IP包的最大长度
首先要看TCP/IP协议,涉及到四层:链路层,网络层,传输层,应用层。其中以太网(Ethernet)的数据帧在链路层IP包在网络层TCP或UDP包在传输层TCP或UDP中的数据(Data)在应用层它们的关系是 数据帧{IP包{TCP或UDP包{Data}}}不同的协议层对数据包有不同的称谓,在传输层叫做段(segment),在网络层叫做数据报(datagram),在链路层叫做帧(frame)。
2023-12-25 14:26:41
1288
转载 浮点数在内存中的存储方式
我们知道, 计算机内部实际上只能存储或识别二进制.在计算机中, 我们日常所使用的文档, 图片, 数字等, 在储存时, 实际上都要以二进制的形式存放在内存或硬盘中, 内存或硬盘就好像是一个被划分为许多小格子的容器, 其中每个小格子都只能盛放0或1...我们日常使用的浮点数也不例外, 最终也要被存储到这样的二进制小格子中.这就涉及到了应该怎么存的问题, 比如, 对于浮点数20.5, 是应该存储为0100011呢, 还是应该存储为1100110呢?
2023-12-06 15:39:32
122
转载 CentOS7 常用的命令
一般将文件可存/取访问的身份分为3个类别:owner、group、others,且3种身份各有read、write、execute等权限。读权限: 对于文件夹来说,读权限影响用户是否能够列出目录结构 对于文件来说,读权限影响用户是否可以查看文件内容写权限: 对文件夹来说,写权限影响用户是否可以在文件夹下“创建/删除/复制到/移动到”文档对于文件来说,写权限影响用户是否可以编辑文件内容执行权限: 一般都是对于文件来说,特别脚本文件。
2023-12-04 17:20:42
1022
原创 StatSVN统计svn项目中每人代码提交量
是java语言开发的,要运行必须先安装jdk并配置环境变量。打开index.html文件即可,在D:\statsvn下。
2023-11-15 14:55:36
1891
转载 C#中多进程之间的通讯方式
c#的多进程通讯呢,大致上是分为这几类的,共享内存,借助Windows的MSMQ消息队列服务,以及命名管道和匿名管道,以及IPC HTTP TCP的Channel的方式,还有常用的Socket,借助Win32的SendMessage的Api来实现多进程通讯,还有最后一种就是多进程之间的信号量相关的Mutex
2023-09-08 16:35:16
784
转载 计算机网络基础知识
链路:连接结点的称为链路,可以是铜缆,光纤,卫星等结点:可以是计算机,集线器,交换机或路由器等协议: 两个对等实体之间的通信规则。协议规定了通信实体之间所交换的消息的格式、意义、顺序以及针对收到信息或发生的事件所采取的动作。协议有三要素:语法(数据与控制信息的结构或格式、信号电平)、语义(需要发出何种控制信息、完成何种动作以及做出何种响应、差错控制)、时序(事件顺序、速度匹配)服务:在协议的控制下,本层向上一层提供服务,本层使用下一层所提供的服务实体:任何可发送或接收信息的硬件或软件进程。
2023-07-18 11:10:11
797
原创 英文系统sql查询失败
1.问题场景之前做的一个系统,有一个告警模块,数据存储在SqlServer,历史告警使用关键字检索,自己的实验室和现场均正常,最近发现在客户的实验室,中文关键字检索失败2.原因分析中文系统中数据库默认的字符集是简体中文,所以在查询语句中都能正常。英文系统数据库默认不是,所以sql查询语句出现了乱码,最终导致检索失败3.问题解决 使用脚本将数据库字符集改为中文,就可以正常使用了USE [master]GO-------------修...
2022-04-12 16:48:46
476
原创 sqlite 问题 database disk image is malformed 修复
一.问题分析此问题的提示也就是数据库文件损坏。如果在程序访问数据库期间拷贝是很容易出现该问题的,断开所有连接去拷贝在实际项目中有时候是不现实的,所以我们有时去做一下手动修复。二.问题修复1.下载sqlite3.exe到本地,并将损坏的数据库文件拷贝到同一个目录2.打开命令行工具(CMD),进入到sqlite3.exe所在目录3.使用sqlite3.exe打开损坏的数据库文件,并导出sql语句到临时文件E:\sqlite>sqlite3.exe 2022_03_03
2022-03-04 15:20:55
2391
转载 2022年了有哪些值得推荐的.NET ORM框架?
一.什么是ORM?ORM 是 Object Relational Mapping 的缩写,译为“对象关系映射”,是一种程序设计技术,用于实现面向对象编程语言里不同类型系统的数据之间的转换。它解决了对象和关系型数据库之间的数据交互问题,ORM的作用是在关系型数据库和业务实体对象之间作一个映射,这样我们在具体的操作业务对象的时候,就不需要再去和复杂的SQL语句打交道,只需简单的操作对象的属性和方法。二.如何选择合适自己的ORM框架?对于我们而言选择ORM框架的目的其实都是为了让我们的程序更好的操作数
2022-03-01 13:44:43
3115
转载 Wireshark 的抓包和分析,看这篇就够了
WireShark是一个网络封包分析软件。网络封包分析软件的功能是撷取网络封包,并尽可能显示出最为详细的网络封包资料。Wireshark使用WinPCAP作为接口,直接与网卡进行数据报文交换。在网络封包和流量分析领域有着十分强大功能的工具,深受各类网络工程师和网络分析师的喜爱。本文主要内容包括: Wireshark主界面介绍。 WireShark简单抓包示例。通过该例子学会怎么抓包以及如何简单查看分析数据包内容。 Wireshark过滤器使用。通过过滤器可以筛选出想要分析的内容
2022-02-09 10:33:12
4176
原创 Visual Studio 选择深色主题后,光标与背景都为黑色不能明显的区分
选择 设置-》设备-》鼠标-》指针 更改方案为Windows黑色
2021-06-10 11:45:14
2283
1
转载 图解 | 你管这破玩意儿叫TCP?
你是一台电脑,你的名字叫 A经过《如果让你来设计网络》这篇文章中的一番折腾,只要你知道另一位伙伴 B 的 IP 地址,且你们之间的网络是通的,无论多远,你都可以将一个数据包发送给你的伙伴 B这就是物理层、数据链路层、网络层这三层所做的事情。站在第四层的你,就可以不要脸地利用下三层所做的铺垫,随心所欲地发送数据,而不必担心找不到对方了。虽然你此时还什么都没干,但你还是给自己这一层起了个响亮的名字,叫做传输层。你本以为自己所在的第四层万事大吉,啥事没有,但很快问题就接踵而至。
2021-02-25 17:09:09
185
转载 网络小科普
你是一台电脑,你的名字叫 A很久很久之前,你不与任何其他电脑相连接,孤苦伶仃。直到有一天,你希望与另一台电脑 B 建立通信,于是你们各开了一个网口,用一根网线连接了起来。用一根网线连接起来怎么就能"通信"了呢?我可以给你讲 IO、讲中断、讲缓冲区,但这不是研究网络时该关心的问题。如果你纠结,要么去研究一下操作系统是如何处理网络 IO 的,要么去研究一下包是如何被网卡转换成电信号发送出去的,要么就仅仅把它当做电脑里有个小人在开枪吧~反正,你们就是连起来了,并且可以通信。第一
2021-02-25 16:43:29
355
转载 .NET平台常见技术框架整理汇总
使用.NET平台开发有段时间了,在网上资料的基础上做了进一步整理,汇集了.NET平台常见的技术框架。参考资料:基于.NET平台常用的框架整理.NET开源框架列表1.知识网络2.分类清单2.1.分布式缓存框架名称 说明 地址 Windows Server AppFabric 微软自家分布式缓存服务框架, 扩展了 Windows Server 为 Web 应用程序和中间层服务提供增强的托管、管理和缓存功能 https://www.microsoft.co
2021-01-05 15:01:28
2903
转载 RAID技术全解图解
RAID 技术相信大家都有接触过,尤其是服务器运维人员,RAID 概念很多,有时候会概念混淆。这篇文章为网络转载,写得相当不错,它对 RAID 技术的概念特征、基本原理、关键技术、各种等级和发展现状进行了全面的阐述,并为用户如何进行应用选择提供了基本原则,对于初学者应该有很大的帮助。一、RAID 概述 1988 年美国加州大学伯克利分校的 D. A. Patterson 教授等首次在论文 “A Case of Redundant Array of Inexpensive Disks” 中提出了 R
2020-11-04 09:57:09
660
原创 C#无聊系列<1>基础类型
先来个整体体表格吧,后边再一点点拆,关键是想查的时候好查基元类型1FCL类型 2CLS相容3说明占字节范围boolSystem.Booleam是/true、falsesbyteSystem.Sbyte否有符号8位1-128 ~ 127byteSystem.Byte是无符号8位10~255shortSystem.Int16是有符号16位2-32,768 ~ 32,767ushortSystem.UInt16否无
2020-09-29 13:42:33
115
转载 .Net IL 指令速查
指令含义Add将两个值相加并将结果推送到计算堆栈上。Add.Ovf将两个整数相加,执行溢出检查,并且将结果推送到计算堆栈上。Add.Ovf.Un将两个无符号整数值相加,执行溢出检查,并且将结果推送到计算堆栈上。And计算两个值的按位“与”并将结果推送到计算堆栈上。Arglist返回指向当前方法的参数列表的非托管指针。Beq如果两个值相等,则将控制转移到目标指令。Beq.S如果两个值相等,则将控制转移到目标指令(短格式)。Bge如果...
2020-09-28 16:58:51
213
原创 DataGridView IndexOutOfRangeException -1
System.IndexOutOfRangeException: Index -1 does not have a value. at System.Windows.Forms.CurrencyManager.get_Item(Int32 index) at System.Windows.Forms.DataGridView.DataGridViewDataConnection.OnRowEnter(DataGridViewCellEventArgs e)at System.Windows..
2020-08-15 14:57:05
1025
原创 C# 控件闪烁问题解决办法
控件闪烁目前了解的原因无非是各个控件绘制的先后的问题导致的,解决绘制的问题推荐两个方式1.双缓冲可以在控件初始化设置,注意父窗体要设置运行允许双缓冲 SetStyle(ControlStyles.UserPaint, true); SetStyle(ControlStyles.AllPaintingInWmPaint, true);...
2020-04-27 14:07:42
2272
七大常用排序算法c#Demo
2019-03-06
设计模式Demo C#
2019-01-09
VLC库播放Rtsp Demo
2018-12-20
c# 进程外Com服务(exe)编写和调用
2018-03-13
winform进程间嵌套、拖拽、消息通讯
2018-03-13
C#进程内Com组件Demo
2018-02-06
c# winform嵌套外部程序Demo
2017-10-24
indy10 for delphi
2013-07-25
C++头文件转delphi工具 + 源码
2012-06-11
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人