- 博客(54)
- 收藏
- 关注
原创 SOA还是微服务?别瞎选!这份实战选型清单让你少走3年弯路
本文聚焦SOA与微服务的选型难题,明确二者并非先进与否的对立关系,而是适配性匹配问题。二者核心共性为“拆分解耦”,通过拆分复杂系统实现松耦合、高内聚,以标准化接口通信并支撑业务扩展;关键差异体现在拆分粒度(SOA粗粒度按业务域、微服务细粒度按单一职责)、部署方式(SOA可集中共享中间件、微服务独立部署无共享依赖)、治理模式(SOA集中式、微服务去中心化)、运维要求(SOA依赖传统运维、微服务需容器化等自动化能力)及数据管理(SOA允许适度共享、微服务强调完全隔离)五个核心维度。选型部分提供8项核心决策维度
2025-11-18 00:48:33
667
原创 Shapr3D新手必看:面均分+半拉,3步做出立体层次感!
摘要:本文提供3D建模中将面均分并拉伸其中一半的保姆级教程。核心步骤为:1)进入原面草图环境编辑;2)利用吸附功能精准绘制分割线;3)删除多余部分并拉伸目标半面。重点提示需准确进入原面草图、善用吸附功能,以及删除前确认选中面而非实体。教程适用于制作手机壳纹理等不对称造型,新手通过3步即可掌握这项基础但实用的建模技巧。
2025-11-01 22:42:36
480
原创 Shapr3D分割技巧:从实体均分到底面半拉,新手也能秒会!
作为一名长期用Shapr3D做建模的设计师,我发现很多新手伙伴在遇到“分割”需求时总会卡壳——要么是想把一个完整实体切成对称的两半做组合设计,要么是想把某个面拆分后单独拉伸做造型,折腾半天还总出现“分割不均”“拉伸错位”的问题。其实这两个高频操作压根不算复杂,今天就把我实战总结的“实体均分+面分割拉伸”保姆级教程分享给大家,不管你是做产品原型还是创意建模,学会这两招都能效率翻倍!
2025-11-01 22:37:54
528
原创 中文编程:特定场景的“桥梁”,而非通用工具的“替代者”
中文编程并非“取代主流语言”的挑战者,而是“填补场景空白”的补充者。它的价值不在于“泛用性”,而在于“精准性”——精准服务于英语薄弱的群体、浅度编程的需求、中文强相关的业务,成为连接“非专业开发者”与技术世界的桥梁。评价中文编程的价值,不能用“能否替代Python”“能否用于大型开发”等泛用性标准,而应回归其核心场景:它是否让中老年群体学会了控制智能设备?是否让小学生快速理解了编程逻辑?是否让传统行业从业者用技术解决了业务痛点?如果答案是肯定的,那么它就具备不可替代的价值。
2025-10-31 21:27:04
737
原创 凌晨 7 点的通勤纠结:两条路,到底哪条更省钱?
摘要: 本文探讨了通勤路线选择中的成本优化问题。作者通过对比45公里(拥堵)和60公里(畅通)两条路线的油耗和折旧成本,发现油耗与里程呈反比关系。经过计算,得出51.2公里的“成本交叉点”:低于此里程选短路线更省,超过则选长路线更划算。这一发现颠覆了“近=省钱”的直觉,为通勤选路提供了科学依据。
2025-10-30 17:13:56
610
原创 蒙 A 还是蒙 C?4 道选择题的概率玄学,原来我们都想多了!
原来当年纠结蒙 A 还是蒙 C,根本是 “无用功”—— 固定选一个选项和随机乱选,命中率居然完全一样。不过想想也挺有意思,那些考场里的小纠结、小迷信,如今都成了可以用概率解释的回忆。下次再遇到 “蒙答案” 的场景,或许可以坦然选一个喜欢的选项,毕竟概率面前,所有随机选择都平等~
2025-10-29 23:03:58
567
原创 Spring Boot 迁移 HTTPS 全流程:从证书生成到自动跳转,附代码案例
准备证书 → 配置应用 → 测试验证 → 进阶优化。开发环境用自签名证书快速验证,生产环境用权威证书保障安全,再通过 HTTP 自动跳转提升用户体验。按照本文步骤操作,10 分钟即可完成迁移,遇到问题可参考「避坑指南」快速排查。如果你的应用涉及外部接口调用、负载均衡等复杂场景,欢迎在评论区留言,我会补充对应的配置方案!
2025-10-29 13:31:03
1057
原创 SpringBoot JAR 反编译替换文件
《SpringBoot JAR文件替换指南:避免报错的正确方法》 摘要:针对SpringBoot JAR包文件替换常遇失败的问题,本文提供专业解决方案。传统WinRAR直接修改会破坏JAR包结构,正确方法应分三步:1)使用jar命令解压原始JAR;2)精准定位并替换BOOT-INF\lib中的目标文件;3)通过jar命令重新打包(注意包含末尾的".")。该方法严格遵循JAR规范,确保替换后文件正常运行,解决了开发者常见的JAR修改难题。(149字)
2025-07-14 11:38:35
583
原创 PMBOK中的20个常用英文缩写及其含义
PMBOK: Project Management Body of Knowledge(项目管理知识体系)- PMBOK是项目管理的标准、最佳实践和方法论的集合,对项目管理专业人士至关重要。PMP: Project Management Professional(项目管理专业人士)- PMP是由PMI颁发的全球认可的项目管理资格认证,对于职业发展和项目管理职位至关重要。BAC: Budget at Completion(完工预算)- BAC是项目计划中的总预算,用于控制项目的成本。
2023-05-30 15:44:45
2435
原创 PMP认证与企业项目管理的进化之旅
本文将带您回顾PMP认证的不同版本及其对应的时间,以及这些版本在企业项目管理环境中所带来的变化和趋势。让我们一起穿越时间,探索PMP认证与企业项目管理的精彩演变。
2023-05-26 14:32:15
863
原创 从JAR到WAR:让你的Spring Boot应用在Tomcat中飞翔!
作为有着丰富Java开发经验的你,是否曾经遇到过将Spring Boot应用从JAR打包为能够在Tomcat中运行的WAR文件的需求呢?这项技能将为你的应用程序带来全新的可能性!本文将带领你踏上这一激动人心的转变之旅,让你的Spring Boot应用在Tomcat中释放真正的潜力!
2023-05-24 19:01:09
1130
原创 PMP学习计划:6个月带你顺利通过考试!
本文介绍了一份为期6个月的PMP学习计划,旨在帮助那些准备参加PMP考试或刚刚开始PMP学习的人顺利通过考试。文章详细概述了每个月的学习内容和重点,以及如何进行复习和模拟考试,最终准备迎接PMP考试的建议。通过遵循这个计划,读者将能够有序地学习和复习PMP考试所需的知识,提高考试准备的效率。
2023-05-18 10:23:04
617
原创 什么是项目治理 - GPT and I
项目治理是指在项目实施过程中,通过制定一系列的规章制度、流程和标准,对项目进行管理和监督,以确保项目能够按照预期目标和计划顺利完成。项目治理涉及到对项目的战略规划、决策制定、风险管理、资源分配、绩效评估、沟通协调、质量保障等方面的管理和监督。项目治理通常由一系列组成部分构成,包括项目管理办公室(PMO)、项目委员会、项目经理、项目组成员等。项目治理可以根据不同的项目特点和要求,制定适当的治理框架和流程,以确保项目的高效管理和成功交付。项目治理在项目管理中扮演着至关重要的角色,能够有效地提高项目的成功
2023-05-12 16:11:05
1630
原创 矢量、栅格、瓦片地图傻傻分不清
矢量地图通常具有更高的精度和更好的交互性,可以支持各种地图操作,如放大、缩小、平移和选择。栅格地图通常具有更高的表现力和更广泛的应用领域,可以用于显示真实的地形和地貌信息,以及大面积的卫星影像等。瓦片地图数据的优点在于其能够支持快速、流畅的地图浏览和交互,并且可以实现大范围地图数据的高效存储和传输。矢量数据是由点、线、面等基本几何要素以及这些要素属性数据构成的地图数据,它通常用来表示地理现象的几何形状和属性信息。矢量数据和栅格数据是两种不同的地图数据类型,它们有各自不同的特点和适用范围,并不能混淆使用。
2023-04-27 23:20:57
12618
原创 allatori8.0文档翻译-第十五步:定制加密字符串
在第一步的基础上修改,定制加密字符串。custom.jar 包含一个带有加密解密样例方法的类。配置文件如下:其中是改变的部分。你可以在指定的包中应用定制化的字符串加密方法:也可以使用多种字符串加密方法:加密方法只在混淆过程中需要,运行过程中不需要。解密方法在运行时是需要的,你可以把它们放到你程序的任何地方。定制化加密方法可以使用国际化信息。在Allatori的methodCall方法中,你可以在加密方法中跟踪并翻译字符,也可以在运行时的解密方法中对字符串进行国际化处理。...
2022-07-05 10:21:15
351
原创 allatori8.0文档翻译-第十四步:Eclipse IDE插件
在Eclipse IDE中使用Allatori是很容易的:默认情况下配置文件allatori.xml 在第一次运行时,在项目跟目录生成。你可以在配置文件中使用 eclipse−input∗、∗{eclipse-input}* 、 *eclipse−input∗、∗{eclipse-classpath} ,像下面这样:...
2022-07-05 10:20:58
290
原创 allatori8.0文档翻译-第十三步:Android Studio整合
相关文件位于“tutorial/step12-maven/files/mouse-gestures ”目录下:按照下面的步骤在Android Studio中进行配置:
2022-07-05 10:20:35
468
原创 allatori8.0文档翻译-第十二步:在maven中运行
相关文件位于:“tutorial/step12-maven/files ”目录中:maven项目的示例位于“tutorial/step12-maven/files/mouse-gestures ”目录下
2022-07-05 10:19:41
193
原创 allatori8.0文档翻译-第十一步:混淆android应用
相关文件位于“tutorial/step11-android/files”目录下:与Android Studio的整合见第十三步通过三步完成于Android应用的整合:你可以对allatori.xml 进行调整。可以使用 ${PropertyName}在Allatori的配置文件中引用ant构建文件中的属性。完整的build.xml如下:其中是修改的地方。......
2022-07-05 10:19:00
459
原创 allatori8.0文档翻译-第八步:使用堆栈跟踪工具
相关文件位于tutorial/step08-stacktrace/files 目录下:在执行混淆过程后会创建一个日志文件。 此文件用于存储混淆过程的原始堆栈信息。例如,堆栈程序可以捕获下列信息:并将结果输出为:信息中所有名称、行号被存储,这在发现混淆过程中的错误是非常有用。...
2022-06-27 08:30:00
181
原创 allatori8.0文档翻译-第九步:apache ant集成
相关文件位于“tutorial/step09-ant/files”目录下:MouseGestures-1.2 鼠标手势发布源码在这里,我们将混淆工具整合到apache ant构建工具的构建过程里面。使用“鼠标手势”类库源码作为示例,这里修改build.xml其中:这部分是关于混淆的内容。ant脚本构建了混淆后的jar文件。注意,你也可以将${PropertyName}用在ant构建文件中,作为引用属性。...
2022-06-27 08:30:00
216
原创 allatori8.0文档翻译-第十步:增加过期日期
相关文件位于“tutorial/step10-expiry-date/files”目录下:这里基于第二步修改配置文件:混淆后的文件超时,不可运行。超时检查不仅修改了main方法,这使得跳过检查也不是很容易。这个特性能够使用在所有类库中,而不仅仅限于main方法。如果你希望在构建后30天超时,你可以这么做:这会在ant中根据你的需要创建一个日期...
2022-06-27 08:30:00
439
原创 allatori8.0文档翻译-第五步:水印介绍
文件位于tutorial/step05/files目录下下面说明如何添加水印首先,是配置文件,主要关注watermark的部分在watermark标签中增加了一些属性:key——用于写入应用中的水印的密钥value——将嵌入到应用程序 jar 中的字符串。它可以是版权,客户名称,公司名称或唯一标识构建的任何其他信息。水印可用于识别软件的所有者或跟踪盗版副本的来源。提取水印我们需要另一个配置文件:我们指定了包含水印和密钥的 jar 文件。该密钥应与用于嵌入的配置文件中的密钥匹配。如果指定了错误的密钥,则不
2022-06-26 08:30:00
490
原创 allatori8.0文档翻译-第六步:加水印但不混淆
相关文件位于 tutorial/step06/files 目录下:从结果中提取水印的配置文件已经在第五步中有介绍。运行 AddWatermark.bat为程序添加水印,运行ExtractWatermark.bat 可以提取结果中的水印。
2022-06-26 08:30:00
353
原创 allatori8.0文档翻译-第七步:多个jar文件不混淆加水印
相关文件位于tutorial/step07/files目录下:与第六步为单个jar添加水印不同,下面配置文件为两个jar文件添加水印:提取水印的配置文件ExtractWatermark.xml 如下:上面两个jar文件都被添加了水印,并且,在提取水印时,必须同时使用两个jar文件,不能仅从一个jar文件中提取水印。...
2022-06-26 08:30:00
344
原创 allatori8.0文档翻译-第四步-单一jar打包
下表文件位于tutorial/step04/files目录下面操作的内容基于第二步。它展示了一个有趣的特征,将你的应用使用到的类文件打包到一个单一的jar中。让我们看看配置文件中改变了什么:在程序执行后,得到一个single.jar.这个jar包含了test.jar以及mousegestures-1.2.jar。你可以通过MouseGesturesSingle.bat进行测试...
2022-06-25 11:38:00
248
原创 allatori8.0文档翻译-第三步-混淆时设置Classpath
下面表格中的文件位于tutorial/step03/files目录下面,我们混淆test.jar作为一个独立的应用程序。同时,mousegestures-1.2.jar作为被test.jar引用的第三方类库存在。让我们看看在配置文件中都改变了些什么:我们从jars标签中删除了 mousegestures-1.2.jar ,增加了新的classpath标签引用鼠标手势的类库。不需要将这个应用所有使用到的类库都在classpath中声明。但缺少classpath元素会生成较弱的混淆结果。如果你删除了class
2022-06-25 11:20:18
568
原创 allatori8.0文档翻译-第二步-基础应用混淆
下面文件位于tutorial/step02/files目录:在第一步里,将“鼠标手势”作为类库混淆,下面,我们将“鼠标手势”作为独立的应用进行混淆。这意味着,那些“public”的API将不再可见。事实上,我们可以只保留main类的名称。在你开发独立应用程序,并尽可能多的重命名类、方法、成员时,这种情况很常见。让我们看看配置文件都改变了什么:我们改变了keep-names标签,只保留了“com.smardec.mousegestures.test.TestFrame”类没有重命名。我们使用了*这种通配符语
2022-06-25 11:08:13
598
原创 allatori8.0文档翻译-第一步-基本类库混淆
下面表格中的文件位于: tutorial/step01/files第一步,我们将混淆“鼠标手势”这个典型的类库,其中所有public API方法不会被重命名。所有使用“鼠标手势”这个类库的应用都可以使用混淆后的jar。当开发用于第三方产品的类库时,这种情况很常见。运行RunAllatori.bat会产生3个文件:obf-mousegestures-1.2.jar 和 obf-test.jar是被混淆后的“鼠标手势”jars ,log.xml是混淆处理过程的日志文件。现在,你可以运行 MouseGesture
2022-06-25 10:52:08
363
原创 Mongodb 3.6安装过程(centos7.9)
Mongodb 3.6安装过程(centos7.9)1. centos 版本为了尽可能一致,首先记录centos版本:[root@bogon ~]# uname -r3.10.0-1160.62.1.el7.x86_64[root@bogon ~]# cat /etc/redhat-releaseCentOS Linux release 7.9.2009 (Core)[root@bogon ~]# rpm -q centos-releasecentos-release-7-9.2009.1.
2022-04-19 10:46:27
1559
原创 记录一次spring boot的环境初始化
初始化spring alibaba web环境地址访问阿里巴巴初始化地址Aliyun Java Initializr选项第一次启动第一次启动项目第一次访问第一个访问路径增加一个控制器控制器访问结果用mybatis链接数据库增加表DROP TABLE IF EXISTS user;CREATE TABLE user( id BIGINT(20) NOT NULL COMMENT '主键ID', name VARCHAR(30) NULL DEFAULT
2022-03-02 07:00:00
427
原创 软件复用笔记01
历史软件复用最早在1969年Mcllroy提出:开发尺寸合适的组件系统,并复用这些组件,然后扩展“组件系统”的思想,使其超出单纯的代码范畴,扩展到需求、分析、模型、设计和测试。软件复用渐进过程软件复用的上下文环境投资回报一个组件经过3-5个项目收回成本需要2-3个产品周期,一般3年左右收到显著效益...
2022-03-01 10:11:51
116
原创 Docker创建私有仓库
Docker创建私有仓库1.安装dockerdocker私有库本身就是一个docker镜像,所以,首先要安装docker,然后启动这个镜像。关于安装docker的过程,参考另外一个文章:安装docker过程记录2.安装私有镜像库首先,拉取私有镜像库[root@iZ0jl6svdf9rj5xwb0nscoZ ~]# docker pull registry:22: Pulling from library/registry79e9f2f55bf5: Pull complete 0d96da.
2021-12-13 07:30:00
2974
原创 记录Docker容器转镜像
记录Docker容器转镜像1.默认镜像中安装wgetDocker镜像可以通过Dockerfile构建出来,也可以通过现有容器生成新的镜像。这里记录一次基于centos镜像的修改版本的生成过程。$ docker imagesREPOSITORY TAG IMAGE ID CREATED SIZEtomcat latest b0e0b0a92cf9 6 weeks ago 680MBnginx latest
2021-12-07 19:40:23
1432
原创 一次jenkins触发器的实验
DevOps中有很多工具,对工具的使用已经有了很多的描述,而如果能够将这些工具自动化的串联起来就成了整个devops的关键。在jenkins中,任务是可以被自动触发的。通常,在代码被提交,或者定时触发开始一个jenkins的任务。
2021-12-01 13:33:36
1210
原创 jenkins 安装记录
jenkins 安装记录jenkins的安装有很多种方式,这里采用tomcat的war包形式。在基础centos 7.9下进行安装。1.操作系统首先,查看centos系统版本:[root@iZ0jl95ealcklifdcxa5etZ ~]# lsb_release -aLSB Version: :core-4.1-amd64:core-4.1-noarchDistributor ID: CentOSDescription: CentOS Linux release 7.9.20.
2021-11-29 15:56:46
1322
2
原创 Centos下安装oracle jdk
Centos下安装oracle jdk安装jdk环境就那么几步:下载jdk解压缩设置环境变量其中设置环境变量又包括配置java_home配置class_path配置系统path非要说麻烦的话,最麻烦的就是下载jdk了。oracle的jdk下载要登录账号,而账号要注册,比较繁琐。下面一步一步记录。0.查看centos版本看一下centos版本信息:[root@iZ0jl95ealcklifdcxa5etZ jdk1.8.0_311]# lsb_release -.
2021-11-28 12:24:47
1212
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅