
软件开发基础与架构
文章平均质量分 72
安意诚Matrix
软件工程师出身,专注三维几何造型、三维建筑设计软件、AI技术。
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
选错开源协议=埋雷!1分钟看懂GPL/MIT/Apache核心差异
具有“传染性”,任何衍生作品(包括动态链接)必须开源并采用GPL。:分为二条款版和三条款版。:要求修改后的文件必须开源,但允许其他部分闭源,介于GPL与MIT之间。:学术研究、需兼顾开源与商业化的项目(如FreeBSD操作系统)。:企业级项目(如Hadoop、Kafka),需避免专利纠纷的场景。:简单易用,商业兼容性强,适合希望广泛传播代码的项目。:需部分闭源的混合开发项目(如Firefox浏览器)。:商业软件需避免直接集成GPL代码,否则需全面开源。方式闭源商业软件,但修改后的库代码仍需开源。原创 2025-03-19 20:00:00 · 1170 阅读 · 0 评论 -
对Revit事务机制的一些推测
首先,什么是事务机制。软件事务机制是指一种在软件系统中用于管理一系列操作的方法,这些操作要么全部成功完成,要么全部失败,不会出现部分完成的情况。事务机制确保了数据的一致性和完整性,特别是在并发操作和系统故障的情况下。(Atomicity):事务中的所有操作要么全部完成,要么全部不发生。如果事务中的任何一个操作失败,整个事务都会回滚到开始前的状态。(Consistency):事务必须使数据库从一个一致性状态转移到另一个一致性状态。在事务开始和结束时,数据库的数据完整性约束必须保持不变。原创 2025-02-22 19:59:14 · 842 阅读 · 0 评论 -
个人经验:如何保证软件的质量?
软件的质量保证是个系统性的工程,在软件研发的整个流程中,都必须严阵以待,不能忽视其中任一环节。原创 2024-09-27 22:00:00 · 1053 阅读 · 0 评论 -
学习笔记 - COM 资料整理
CComPtr和CComQIPtr的区别对于操作原始的接口指针是比较麻烦的,需要我们自己控制引用记数、API 调用、异常处理。于是 ATL 提供了2个智能指针的模板包装类,CComPtr<> 和 CComQIPtr<>,这两个类都在 <atlbase.h> 中声明。CComQIPtr<> 包含了 CComPtr<>的所有功能,因此我们可以完全用 CComQIPtr<> 来使用智能接口指针,唯一要说明的一点就是:CComQIPtr&l原创 2021-03-01 05:41:19 · 277 阅读 · 0 评论 -
程序语言:类型转换(C++、C#、JavaScript)
前言工作多年,主要接触三种语言C++、C#、JavaScript,分析一下它们类型转换的异同。内容下面介绍 C++、C#、JavaScript 的类型转换,多为引用他人博客和总结。C++、C#为强类型语言,JavaScript 为弱类型语言。弱类型语言和强类型语言C++不是类型安全的,因为两个不同类型的指针之间可以强制转换。如果使用空类型指针或者在两个不同类型指针间做强制转换,很可能引发类型不安全的问题。C#是类型安全的!CLR一个很重要的特性就是Type安全。CLR在任何时候都知道某个对象的类型原创 2020-07-03 20:30:45 · 545 阅读 · 0 评论 -
软件安装包制作工具 NSIS (nullsoft scriptable install system)
前言软件开发,最后还是免不了要发布,要做个安装,无奈 Revit 是个桌面软件,因此插件也只能是桌面软件的一部分。NSIS网上资料就不说了,本来想快速上手,结果没找到合适的。下载中文文档居然都要积分或者收费,也是醉了。直接去下载因为原版安装:https://sourceforge.net/projects/nsis/上图是安装完成之后的界面,直接点击“Documentation” 下面的...原创 2020-04-22 12:07:58 · 1236 阅读 · 0 评论 -
软件架构:资料收集
前言如何证明你是一个有实力的软件开发人员?算法肯定是需要的,对语言的熟悉也是需要的,但是如果被限定在这两个里面,那么你也只能是一个好的程序员。但如果你了解架构,知道如何安排软件的布局,并且可以站在其它程序员,和项目经理的角度看待开发,那么你就可以更上一个楼层,成为一个合格的架构师。个人建议把自己做的项目用下面这些材料套一遍,看看效果。资料收集书籍架构整洁之道设计模式重构人月神话...原创 2020-04-12 18:42:32 · 279 阅读 · 0 评论