- 博客(511)
- 资源 (6)
- 收藏
- 关注
转载 一篇文章入门三维几何内核
但从表面上看,几何内核开发没有太多技术瓶颈,已有的功能需求都有解决方案,但实际问题是几何内核涉及的内容过多,而且作为底层技术支持,对稳定性,可靠性要求非常高,短期内无法开发出像样的产品,所以开发几何内核需要经过实际迭代,长期技术积累,研发前期投入巨大。稍微介绍一下B-Rep结构,主流的几何内核都使用B-Rep结构,主要原因是这种几何表达信息丰富,可以满足几乎所有对几何数据的要求,但缺点也显而易见,数据过多冗余,在大规模数据上,性能是一个很大的问题。通常情况下我们需要修改几何,由此带来网格的改动。
2025-07-23 16:49:04
5
转载 Half-Edge Data Structure
In this post I’ll describe my favorite mesh data structure called half-edge data structure. It’s used primarily in Mesh/CAD applications and helps to make various advanced operations on the mesh such as subdivision or simplification.Let’s start with the ve
2025-06-10 13:38:19
32
转载 QT Widgets UI自动化测试
随着软件开发过程对自动化和效率需求的不断提高,场景驱动测试(Scenario-Based Testing)作为一种现代化、高效且易于理解的测试方法论,在UI自动化测试领域中扮演着至关重要的角色。然而,庞大的代码库、频繁的变更以及对测试执行效率的需求,使得构建高效的测试策略成为挑战。在软件开发领域中,确保用户界面(UI)的稳定性和可靠性是至关重要的。尤其对于依赖于用户界面(User Interface, UI)的软件项目而言,如使用了Qt框架构建的应用程序,实现UI的自动化的持续测试变得尤为重要。
2025-05-06 14:45:36
234
原创 IDEA使用Maven编译时下载依赖jar包报错“unable to find valid certification path to requested target”的解决方法
在importing和Runner的vm options中,配置如下参数。
2025-03-19 16:38:40
511
转载 分布式通讯方式比较(RPC、RMI、JMS、WebService、TIBCO)
SOAP是交换数据的一种协议规范,是一种轻量的、简单的、基于XML(标准通用标记语言下的一个子集)的协议,它被设计成在WEB上交换结构化的和固化的信息。Web service是一个平台独立的,低耦合的,自包含的、基于可编程的web的应用程序,可使用开放的XML(标准通用标记语言下的一个子集)标准来描述、发布、发现、协调和配置这些应用程序,用于开发分布式的互操作的应用程序。RMI是基于JAVA的,使用了JAVA的序列化机制,所以通过网络传输的对象类型必须要保证在调用两端的Java运行时中是完全相同的版本。
2025-01-15 15:57:52
167
转载 内存栅栏(memory barrier):解救peterson算法的应用陷阱
这个测试程序在Linux上用gcc编译,无论用O0,O1,O2编译选项,我试过x86平台,Arm平台,结果都有可能小于两百万,也就是这样实现的peterson锁不能阻止两个线程同时进入临界区。编译器做的是静态乱序优化,CPU做的是动态乱序优化。x86的动态内存栅栏汇编命令有三条,分别是lfence,sfence和mfence,分别表示load栅栏,store栅栏和读写栅栏。最近一个项目中用到了peterson算法来做临界区的保护,简简单单的十几行代码,就能实现两个线程对临界区的无锁访问,确实很精炼。
2024-11-30 15:01:59
107
转载 什么是RGB,什么是 CMYK
这边除了基本的三色外,另外加个黑色,是因为油墨的调色理论上可以通过三色混合出黑色,但是现实中由于生产技术的限制,油墨纯度往往不尽人意,混合出的黑色不够浓郁,只能依靠提纯的黑色加以混合。由于CMYK为印刷色,而非发光色,因此会比RGB颜色更暗淡一些,因此,在做文件前,要先弄清楚文件的用途,如果是做网页,网络图片,视频,屏幕显示的电子图像,就选RGB。RGB是从颜色发光的原理来设计定的,简单的说,就是光的三种颜色,分别是红色,绿色,蓝色。三个颜色数量相同时,无色相,显示为灰色,随着数量的增加,由深灰变为浅灰。
2024-09-28 09:35:12
2540
1
转载 在idea与vscode中通过中英文字体混搭实现文字对齐(JetBrains Mono + Maple Mono)
然而,我发现大多数支持中文的等宽字体,例如Sarasa Mono(更纱黑体),其字符宽度通常为0.5,这让我感到很不习惯。这款字体的中文字符与JetBrains Mono字体相搭配,可以实现中英文的字体的对齐!我一直偏爱使用JetBrains Mono字体,但遗憾的是,这款字体并未包含中文字符。因此,我不得不默认使用系统的字体,但这样做却导致了中英文无法对齐的问题。安装字体,右键,为所有用户安装,不点为所有用户安装我这里在IDEA中无法找到字体。IDEA:在字体设置选项中的回滚字体子选项选择中文字体。
2024-06-21 14:32:39
889
转载 virtualbox网络配置实现PC_虚拟机_开发板互ping
但是虚拟机和windows主机用的确是host only网卡(NAT方式用来上外网),这样只能保证虚拟机和Windows主机是互通的,但是却无法被开发板访问,我们的开发板是没有无线网卡的,所以不能用WLAN,因此我们要想让开发板访问到虚拟机还得经过windows的以太网卡。一般默认情况下,虚拟机是通过NAT共享网络给虚拟机用的,那么此时虚拟机也是可以上网的,只是不能和外界开发板进行互相ping, 同时windows主机也不能ping虚拟机。开发板能够ping windows主机和虚拟机。
2024-06-14 10:46:32
330
原创 Git/TortoiseGit ssh client 配置
TortoiseGit 默认的 ssh client 是 /bin/TortoiseGitPlink.exe。Git 默认的 ssh client 是 /usr/bin/ssh.exe。修改方法为使用右键菜单打开 TortoiseGit 设置进行更改。注意:如果路径中空格的话需要用单引号(')把路径包裹起来。
2024-06-12 10:46:05
603
转载 Git 使用 git-svn 和 github 进行上游 svn 更改的跟踪
上游svn指的是svn版本库,它是一种集中式版本控制系统,主要用于管理代码的版本和跟踪变更。在项目中,通常会有一个主要的svn版本库,所有开发人员都将其作为代码的上游。上游svn可能会有多个分支和标签,用于记录不同阶段的代码状态。使用git-svn和github的好处是可以充分利用git的优势,如分支、合并等功能,并在github上进行协作开发。通过git-svn和github的组合,我们可以充分利用git的优势,如分支、合并等功能,并与上游svn版本库进行同步。
2024-06-04 10:06:28
117
转载 解决安装wsl时候报错的问题: WslRegisterDistribution failed with error: 0x800701bc
下载安装完成后,再重新安装WSL即可解决问题。
2024-06-03 16:00:40
1530
转载 C++11右值引用
一节中提到,在 C++98/03 标准的基础上,C++11 标准对 C++ 语言增添了约 140 个新特性。本节要讲的右值引用就是众多新特性中的一个,同时也是最重要的特性之一。很多初学者都感觉右值引用晦涩难懂,其实不然。右值引用只不过是一种新的 C++ 语法,真正理解起来有难度的是基于右值引用引申出的 2 种 C++ 编程技巧,分别为移动语义和完美转发。本节先给读者讲解什么是右值引用以及它的基本用法,至于移动语义和完美转发则放到后续章节讲解。
2024-05-23 09:42:14
83
原创 TLSv1.2抓包解密分析过程之RSA_WITH_AES_128_CBC_SHA
TLSv1.2抓包解密分析过程之RSA_WITH_AES_128_CBC_SHA
2023-08-22 20:24:27
7896
6
转载 解决 GRE 和 IPSEC 中的 IP 分段、MTU、MSS 和 PMTUD 问题
解决 GRE 和 IPSEC 中的 IP 分段、MTU、MSS 和 PMTUD 问题
2023-04-20 14:16:58
1416
原创 使用自定义Filter类过滤tomcat服务器HTTP请求和回复
自定义过滤器类,继承 javax.servlet.Filter,在 doFilter 接口中实现对HTTP请求和回复的过滤
2022-11-09 16:34:34
720
转载 使HttpServletRequest中getReader()和getInputStream()可重复使用
使HttpServletRequest中getReader()和getInputStream()可重复使用
2022-11-09 14:47:04
804
原创 SM2公钥字符串转PublicKey对象的方法
package com.test;import org.bouncycastle.asn1.x9.X9ECParameters;import org.bouncycastle.crypto.ec.CustomNamedCurves;import org.bouncycastle.jcajce.provider.asymmetric.ec.BCECPublicKey;import org.bouncycastle.jce.ECNamedCurveTable;import org.bouncyca.
2022-03-09 14:35:56
7717
1
转载 Linux 调用动态库(.SO文件)总结
像window调用库文件一样,在linux下,也有相应的API因为加载库文件而存在。它们主要是以下几个函数:函数名 功能描述 dlopen 打开对象文件,使其可被程序访问 dlsym 获取执行了dlopen函数的对象文件中的函数的地址 dlerror 该函数没有参数,它会在发生前面的错误时返回一个字符串,同时将其从内存 中清空; 在没有错误发生时返回 NULL, dlclose 关闭目标文件。如果无需再调用共享对象的话,应..
2021-12-17 11:31:58
10874
转载 C# 托管和非托管混合编程
在非托管模块中实现你比较重要的算法,然后通过 CLR 的平台互操作,来使托管代码调用它,这样程序仍然能够正常工作,但对非托管的本地代码进行反编译,就很困难。最直接的实现托管与非托管编程的方法就是使用C++/CLI介绍项目存档一直是企业的采用的做法,而是事实证明他们也是对的!对于一个程序员,这是几千men-days的工作量。为什么不开发一小段代码去重新利用那段代码,项目。现在提供了一个渐渐的转向C#的新技术: 使用托管与非托管的混合编程。这是一个可行的方案在top-down issue(fr
2021-11-25 11:13:57
540
转载 深入理解debuginfo
深入理解debuginfoGoogle Drive原文@Chinainvent一、关于debuginfo的疑惑程序员应该都知道,为了能够使用gdb跟踪程序,需要在编译期使用gcc的-g选项。而对于系统库或是Linux内核,使用gdb调试或使用systemtap探测时,还需要安装相应的debuginfo包。例如glibc及它的debuginfo包为:[yunkai@fedora t]$ rpm -qa | grep glibcglibc-2.18-12.fc20.x86_64
2021-11-24 19:29:19
1779
转载 Ubuntu 16.04 安装.net core
1、Ubuntu 16.04 安装.net coreRegister the Microsoft key register the product repository Install required dependencies参考网址:https://docs.microsoft.com/zh-cn/dotnet/core/install/linux-package-manager-ubuntu-1604wget -q https://packages.microsoft.com/co
2021-11-13 12:13:01
779
树/二叉树 各种遍历源代码(C++)
2011-04-17
Visual Assistant X 10.9.2258(VS2017可用)
2018-04-18
Qt 调试输出信息查看工具.rar
2019-06-01
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人