- 博客(334)
- 资源 (52)
- 收藏
- 关注
原创 CAD二次开发(14)-如何实现多条多段线的自动绘制+指定点位置自动绘制图形
里面有一些图层操作的工具方法(LayerTool),多段线的工具方法(PolylineTool)后续会给大家分享出来,块删除的方法其实上篇文章已经分享了。这两个功能怎么实现呢?
2024-07-15 09:40:28
303
原创 CAD二次开发(13)- 块参照的颜色修改+块参照的删除操作
对所有的块表记录进行判断,如果是BlockReference且名称符合且在你需要修改的块参照集合中,则再进行修改颜色操作。为什么不在上一步直接循环修改每个块颜色呢,不好意思,这种方式不行,你们可以试试。但是按照步骤1,你就会发现,自己CAD画布上的块并没有发生颜色的变化,所以我们还需要在CAD上做一些设置即可。,把每个块炸成实体集合,对每个实体进行颜色设置,最后重新添加到模型空间中,你们不需要关注我删除指定块的逻辑,需要关注的是。选中其中的某个块参照,选择块编辑器并打开。块删除分为块引用删除和块定义删除。
2024-07-12 11:01:07
284
原创 CAD二次开发(12)- 块的定义和使用
块由多个在逻辑上相关的图形对象所定义的整体。优点就是可以统一作业标准、提高作业效率,因为生活中的物体不是简单的一个单元,可能有多个单元统一构成,块就可以很好地表示这种结构。块的本质是存储于块表记录中的实体对象集合。属性块是有构成的实体和附加信息(属性)组成的,属性块中块的定义与简单块中块的定义一样,而属性的定义主要是通过属性的AttributeDefinition类的有关属性和函数来实现的。AttributeDefinition类的实例并设置对象的属性值;
2024-07-12 10:19:06
793
原创 CAD二次开发(11)-在用C#进行CAD开发SQLite和SqlSugar的使用
保证System.Data.SQLite依赖的正常运行。利用 Nuget引入其相关包。
2024-06-19 09:58:33
452
原创 CAD二次开发(9)- CAD中对象的实时选择
有时候我们需要在CAD画布上实时选取起始点和结束点,然后绘制出来一条直线。AddEnityToModelSpace方法见我前面文章封装的工具类。利用过滤器进行选择。
2024-06-17 22:39:46
207
原创 CAD二次开发(8)-探索实现不重启CAD进行热部署代码
最近在研究CAD二次开发过程中,调试代码的过程中,需要频繁地重启CAD,非常浪费我们的开发时间,所以我就一直在想,怎么可以实现在不每次重启代码和CAD的情况下,实现代码的热部署效果。我找到的方式,就是通过另外一个工具项目,实现对你需要调试的项目的反射,具体操作请看下面。
2024-06-07 22:13:53
413
原创 CAD二次开发(7)- 实现Ribbon选项卡,面板,功能按钮的添加
启动并自动加载CAD,输入netload,加载自定义执行文件,并输入RibbonCmd命令。图片路径地址设置,一般设置为空,我们到时候会获取执行文件的加载路径来赋值。实现添加Ribbon选项卡,添加面板,以及给面板添加下拉组合按钮。实现自定义的仿CAD的直线按钮功能,多段线按钮功能。按钮的属性设置,鼠标事件设置。如图,去掉依赖复制到本地。
2024-06-02 21:11:32
538
原创 CAD二次开发(2)-将直线对象添加到CAD图形文件
首先我们要明白一个事情,就是我们在代码中创建的线条目前是写到内存当中,而CAD的图纸数据是以自己的某种方式,比如文件数据库等等,存储在磁盘中,所以我们就得需要把内存中的数据想办法按照CAD的API调用写到CAD的文件数据库中。Line 继承Curve 继承Entity 继承DBObject 继承Drawable 继承RXObject。我们创建一个line对象,然后打上断点,生成.dll文件,加载到CAD中,然后执行命令。透过参数,我们就会发现默认Line创建了一个起点为(0,0),终点为(0,0)的直线。
2024-05-23 05:42:43
607
3
原创 记录一次Redisson使用synchronized和分布式锁不生效的原因
最近在开发的过程中,遇到了一个并发场景,用户进行方案复制的时候,当快速点击两次操作的时候,出现了复制方案重名的情况,实际上是复制方案的方案名称,是由后端根据数据库已有的方案名称和当前要复制的方案名称进行逻辑处理,保证方案名称不能重复,比如:要复制的方案名称为“我的方案”,那么复制得到的方案名称为“我的方案-副本”,在高并发场景下,就会出现重名情况。
2024-05-22 13:19:21
1312
原创 支付体系(2)-微信支付的后端代码实现
在后端服务实现中,整体的框架,我会采用springboot+MyBatis-Plus的架构去做一个简单地实现,具体是去实现我上一篇文章中说到的其中一种支付方式,Native支付,根据官网,我们需要实现整个完整的支付流程的接口API分别如下:Native支付适用于PC网站、实体店单品或订单、媒体广告支付等场景,用户扫描商户展示在各种场景的二维码进行支付。1.4 相关配置配置yml配置类1.5 定义统一返回1.6 数据库实现SQL脚本在下面链接,大家可以自行下载。下载链接因为需要公司的营业执
2024-05-17 22:52:01
966
原创 支付体系(1)-微信支付的介绍和指南
在支付实现之前,我们需要了解这几个概念,因为后面的代码实现。很多都需要基于此来去做实现。摘要算法就是我们常说的散列函数、哈希函数,它能够把任意长度的数据“压缩”成固定长度、而且独一无二的“摘要”字符串。作用:保证信息的完整性不可逆:只有算法,没有秘钥,只能加密,不能解密难题友好性:想要破解,只能暴力枚举发散性:只要对原文进行一点点改动,摘要就会发生剧烈变化抗碰撞性:原文不同,计算后的摘要也要不同常见摘要算法:MD5、SHA1、
2024-05-17 00:35:35
607
原创 如何管理多个版本的Node.js
首先,Node.js支持多版本共存,nvm是一个跨平台的命令行工具,可以在Mac、Linux、Windows等各种操作系统上使用。nvm下载地址:https://github.com/coreybutler/nvm-windows/进入之后在右边选择合适的版本下载:一般就选择.exe和.zip下载,我是下载的.exe版本然后安装。注意:如果选择的.exe版本,在安装时会让选择目前你电脑上Node.js的安装路径,这样安装nvm之后你电脑上的Node.js版本就被nvm管理了。
2024-05-15 06:58:34
607
原创 浅谈下MYSQL表设计的几条规则
作为后端开发人员,避免不了和数据库打交道,可是我们怎么能够设计出高效,可维护,可扩展的数据库设计呢,在这里我总结了几个点,供大家参考。在写之前,可能需要重复下数据库设计的范式原则,我们不需要完全死板遵循范式原则,它可以作为我们的一个标准,但是也需要结合业务实际情况,在尽可能遵循范式的同时也要高效地满足业务需求,可能1NF,2NF是原则,但是3NF我们需要结合自己的业务去思考设计。第一范式(1NF):确保表中的每一列都是不可分割的基本数据项,即列具有原子性(列的不可再分性)。第二范式(2NF):在1NF基础
2024-05-14 20:03:05
759
原创 日志收集监控告警平台的选型思考
对于寻求与Grafana紧密结合、侧重标签索引、存储成本低的日志解决方案,推荐Grafana Loki,尤其是对于已经使用Grafana进行监控的团队。如果希望有一体化的可观测性解决方案,看重日志、指标和跟踪的整合,OpenObserve是个值得关注的新星,适合愿意探索和贡献的早期使用者。对于预算有限且关注应用性能监控的小型团队,SigNoz可以作为一个性价比高的选项。对于需要全面日志管理功能和复杂查询能力的传统IT设施或较复杂的分布式系统,Graylog是成熟的选择。
2024-03-23 17:58:52
1200
原创 CSS学习(3)-浮动和定位
可以使用 left 、 right 、 top 、 bottom 四个属性调整位置,不过最常用的是 top 值。对兄弟元素的影响: 后面的兄弟元素,会占据浮动元素之前的位置,在浮动元素的下面;对前面的兄弟无影响。对父元素的影响: 不能撑起父元素的高度,导致父元素高度塌陷;粘性定位和相对定位的特点基本一致,不同的是:粘性定位可以在元素到达某个位置时将其固定。离它最近的一个拥有“滚动机制”的祖先元素,即便这个祖先不是最近的真实可滚动祖先。布局中的一个原则:设置浮动的时候,兄弟元素要么全都浮动,要么全都不浮动。
2024-03-16 21:05:37
923
原创 CSS学习(1)-选择器
作用:选中同时符合多个条件的元素。选择器1选择器2选择器3...选择器n {}/* 选中:类名为beauty的p元素,为此种写法用的非常多!!!!*/p.beauty {/* 选中:类名包含rich和beauty的元素 */有标签名,标签名必须写在前面。id 选择器、通配选择器,理论上可以作为交集的条件,但实际应用中几乎不用 —— 因为没有意义。交集选择器中不可能出现两个元素选择器,因为一个元素,不可能即是 p 元素又是 span 元素。元素选择器配合类名选择器。
2024-03-16 13:35:15
1057
原创 微信小程序(4)- 事件系统和模板语法
事件传参:在触发事件时,将一些数据作为参数传递给事件处理函数的过程,就是事件传参。在微信小程序中,我们经常会在组件上添加一些自定义数据,然后在事件处理函数中获取这些自定义数据,从而完成业务逻辑的开发。在组件上 通过data-*的方式 定义需要传递的数据,其中* 是自定义的属性,然后通过事件对象进行获取自定义数据。event.target 是指事件触发者, event. currentTarget 是指事件绑定者。
2024-02-25 21:54:43
1507
原创 微信小程序(3)- 小程序样式和组件
WXMLWXSSImage小程序提供了 WXML 进行页面结构编写,同时提供了 WXSS 进行页面的样式编写。WXML 提供了等标签来构建页面结构,只不过在小程序中将标签称为 组件。WXSS 对 CSS 扩充和修改,新增了尺寸单位 rpx、提供了全局的样式和局部样式,另外需要注意的是 WXSS 仅支持部分 CSS 选择器。
2024-02-25 21:34:08
1806
原创 微信小程序(2)- 小程序配置文件
JSON 我们知道常用于前后端数据的交互,但是在小程序中,JSON 扮演的配置项的角色,用于配置项目或者页面属性和行为,每个页面或组件也都有一个对应的 json 文件。小程序全局配置文件,用于配置小程序的一些全局属性和页面路由。小程序页面配置文件,也称局部配置文件,用于配置当前页面的窗口样式、页面标题等。小程序项目的配置文件,用于保存项目的一些配置信息和开发者的个人设置。配置小程序及其页面是否允许被微信索引,提高小程序在搜索引擎搜索到的概率。
2024-02-25 17:43:46
1045
原创 Anaconda的安装和配置
在介绍之前,我们得要区别Anaconda和Python是什么关系,怎么描述这个关系呢,就拿汽车和发动机来做比喻吧,Anaconda就相当于汽车,而Python相当于是汽车的发动机。你安装Anaconda后,就像买了一台车,无需你自己安装发动机和其他零配件,而Python作为发动机提供Anaconda工作所需的内核。
2023-07-12 10:34:26
1006
原创 二维码在物资管理中的应用以及实现
在物资管理中,我们经常需要对物资通过二维码,一码一物的方式进行管理,这样的管理方式非常方便。每个二维码都记录了整个物资设备的生命周期。
2023-07-11 17:09:30
496
原创 Sa-Token,一款更加轻量的权限认证框架
Sa-Token 是一个轻量级 Java 权限认证框架,主要解决:登录认证、权限认证、单点登录、OAuth2.0、分布式Session会话、微服务网关鉴权 等一系列权限相关问题。// 会话登录,参数填登录人的账号id StpUtil . login(10001);就仅仅这一行代码即可搞定,无需实现任何接口,无需创建任何配置文件,只需要这一句静态代码的调用,便可以完成会话登录认证。
2023-07-06 15:24:36
2061
原创 持续集成工具Jenkins安装和部署
目前新版本的Jenkins对JDK的要求基本上都在JDK11以上,所以我这边将我服务器的JDK版本升级成为JDK11。将 git 加入环境变量中,修改 /etc/profile 文件,在 profile 文件末尾追加配置内容。如果修改以后,不行的话,就不能用自己安装的JDK,采用如下方式安装JDK。如果之前有安装,想升级版本或者重新安装,就得先卸载。官网可能需要注册账号,这里我为大家提供了下载链接。如果报如下错误,就是jdk安装不对或者配置不对。如果报错如下,可以执行如下命令。再重新启动,执行如下命令。
2023-07-02 15:03:03
743
原创 接口文档这几点我们一定要注意
我们在做开发的时候,经常需要输出接口文档,我们的接口文档,如果输出的有问题,首先给别人的感觉就是觉得你不专业,另外好的接口文档,给了他人以后,就完全可以按照你接口文档去做对接,而不是反复地再去问你,这样浪费了你的时间,也浪费人家时间。所以好的接口文档输出至关重要,但是怎么才算好的接口文档,我们在设计接口文档的时候都应该注意哪些点?!
2023-06-25 17:27:27
512
原创 网络编程的无冕之王-Netty入门和核心组件介绍
Netty是 一个异步事件驱动的网络应用程序框架,用于快速开发可维护的高性能协议服务器和客户端。Netty框架是基于Java原生NIO技术的进一步封装,对Java-NIO技术做了进一步增强,充分结合了Reactor线程模型,将Netty变为了一个基于异步事件驱动的网络框架。Netty至今共发布了五个大版本,目前最常用的并非是最新的5.x系列,而是4.x系列的版本,原因是Netty本身就是基于Java-NIO封装的,而JDK本身又很稳定,再加上5.x版本并未有太大的性能差异,因此4.x系列才是主流。
2023-06-25 06:09:04
420
原创 Spring事件机制让你的代码更优雅
*** @Description: 创建事件} }这里就定义我们监听器需要的业务参数,我们需要监听器监听哪些参数的变化,我们就在这里定义哪些参数。
2023-06-24 22:27:03
402
原创 面试必问:四种经典限流算法
今天给大家分享一下限流方面的,大家都知道,在分布式系统中,高并发场景下,为了防止系统因突然的流量激增而导致的崩溃,同时保证服务的高可用性和稳定性,限流是最常用的手段。!。但是对于他们之间的具体优缺点,以及适用的场景,还有具体的实现可能就不是特别的清楚了,所以我今天为大家详细地分享一下其中的根本区别,以及优缺点还有具体场景,以及最终的实现。
2023-06-24 22:26:44
885
原创 返回值封装,异常统一处理优雅解决接口所有问题
所以今天我会给大家展示如何对返回值进行统一封装,如何对异常进行统一拦截,异常码定义,根据自己的业务自行定义即可。
2023-06-24 22:26:21
912
原创 一个工具类让你彻底解决bean深拷贝
深拷贝是我们在代码开发当中经常需要使用到的,但是市面上的对象拷贝方法,比如spring自带的,或者其他工具类带的对象拷贝,大部分都是浅拷贝,根本无法满足咱们的业务需求,我们就只能对里面的引用对象进行专门的赋值动作,比较麻烦。今天我会为大家分享我在工作当中经常使用到的深拷贝工具类,并会为大家一一分析讲解,当前类已经在生产中实践过,没有什么问题,大家可以基于自己的实际情况进行使用。!
2023-06-24 22:25:59
1386
原创 JDK 8到JDK 17都有哪些吸引人的特性?
从JDK 8到JDK 17,Java语言和平台经历了许多变化和改进,引入了许多吸引人的新特性和功能。在这里,给大家列举一些我认为最有趣或最有用的新特性,并会以实际使用案例为大家展示新用法。!
2023-06-24 22:23:46
802
原创 提高生产力,Java的这10个Lambda表达式必须掌握
今天为大家介绍的非常具有实操意义,Java的Lambda表达式自从引进以来,给Java的书写的效率上得到了极大的提升,可以简化代码、提高生产力。这篇文章将介绍10个我们必须掌握的Lambda表达式,这些表达式都是我根据实际使用情况,涵盖了在实际编程中的常见场景,比如列表操作、函数组合、条件筛选等。通过对这些的学习,你将更加深入地理解函数式编程的思想,能够更加高效地编写代码。
2023-06-21 19:36:11
300
Redis-x64-window.zip
2019-12-12
小程序基础代码.zip
2024-02-25
简历模板,总共14种,均为word版本
2023-07-03
windows:nacos-server-2.2.3.zip Linux:nacos-server-2.2.3.tar.gz
2023-06-12
apache-skywalking-apm-8.3.0.tar.gz安装包 elasticsearch-6.7.0.tar.gz
2023-06-11
私服搭建nexus安装包
2023-06-08
windows-x64_FineBI5_1-CN.exe
2022-04-18
FineBI Windows版安装手册
2022-04-18
Kafka详细课程讲义
2022-01-21
Sharding Sphere课堂笔记.zip
2021-10-26
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人