- 博客(38)
- 收藏
- 关注
原创 springAI学习:Advisors
spring AI Advisors类似于拦截器,会对请求的prompt做出特定的修改和增强(比如传入历史沟通记录、搜索信息等等),以达到完善prompt的目的。通过Advisors API,开发人员可以创建更为复杂、可重用、可维护的AI组件。
2025-07-07 19:53:27
424
原创 系统工程与信息系统基础
产生阶段(提出建设信息的初步想法、对需求进行调研和分析)、开发阶段(单个系统开发:总体规划、系统分析、系统设计、系统实施、系统验收)、运行阶段(通过验收、移交之后)、消亡阶段(更新改造、功能扩展、废弃重建)高层管理人员接入原则(CIO介入)、用户参与开发原则(用户确定范围、核心用户全程参与、用户深度参与)、自顶向下规划原则(减少信息不一致现象)、工程化原则(软件工程)、其他原则。系统工程生命周期阶段:探索性研究、概念阶段、开发阶段、生产阶段、使用阶段、保障阶段、退役阶段。企业向政府提建议、申诉。
2025-03-12 19:59:02
313
原创 软件工程基础知识
严格定义法:所有需求能够被预先定义、开发人员和用户之间能够准确清晰的交流、采用图形/文字可以充分体现最终系统原型法:并非所有需求都能在开发前被准确的说明、参与者之间有交流上的困难、需要实际的可供用户参考的模型、有合适的系统开发环境、反复是需要和值得提倡,需求一旦确定,就应尊从严格的方法。
2025-03-06 19:28:58
762
原创 知识产权与标准化
区域标准:PASC(太平洋地区标准会议)、CEN(欧洲标准委员会)、ASAC(亚洲标准咨询委员会)、ARSO(非洲地区标准化组织)国家标准代号:GB(强制性标准代号)、GB/T(推荐行标准代号)、GB/Z(指导性标准代号)、GSB(实物标准代号)行业标准:GJB(中国军用标准)、MIT-S(美国军用标准)、IEEE(美国电气电子工程师协会)法律、法规、国家机关的决议、决定、命令和其他具有立法、行政、司法性质的文件,及其官方正式译文。国家标准:GB(中国)、ANSI(美国)、BS(英国)、JIS(日本)
2025-02-26 20:05:45
848
原创 项目管理简介-盈亏平衡、进度管理、软件质量管理、软件配置管理
优点:甘特图直观、简单、易于制作,便于理解,能很清晰的标识出每一项任务的起始时间和结束时间,一般适用于比较简单的小型项目,可用于WBS的任何层次、进度控制、资源优化、编制资源和费用计划。估算方法:专家判断法、三点估算法((乐观时间+最可能时间*4+悲观时间)/6)、功能点估算法、自上而下估算法、自下而上估算法。DCMM 8个核心能力域:数据战略、数据治理、数据架构、数据应用、数据安全、数据质量、数据标准、数据生存周期。活动定义、活动排序、活动资源估算、活动历时估算、制定进度计划、进度控制。
2025-02-25 19:51:35
906
原创 系统质量属性与软件架构评估
可修改性战术:局部化修改(维持语义一致性、预期期望的变更、泛化模块、限制可能的选择、抽象通用服务),防止连锁反应(隐藏信息、维持现有的接口、限制通信路径、使用仲裁者),推迟绑定时间(运行时注册、配置文件、多态、组件更换、遵守已定义的协议)安全性战术:抵抗攻击(身份验证、用户授权、数据加密、数据完整性、限制暴露、限制访问)、检测攻击(入侵检测)、从攻击中恢复(识别:审计追踪、恢复:冗余)、异常),错误恢复(表决、冗余【主动/被动】、备件),错误预防(进程监视器、事务、从服务器删除)
2025-02-24 19:59:32
540
原创 IDEA中查询Maven项目的依赖树
在Maven项目中,查看项目的依赖树是一个常见的需求,特别是当你需要了解项目中直接或间接依赖了哪些库及其版本时。这个命令会列出项目中所有依赖的树状结构。2)mvn dependency:tree -Dincludes xxxxxxx 只对某个特定的依赖或其子依赖感兴趣,你可以使用-Dincludes参数来过滤输出。1) mvn dependency:tree 这个命令会列出项目中所有依赖的树状结构,包括直接依赖和传递性依赖。
2025-02-20 19:07:30
2376
原创 系统架构设计基础
ABSD能很好的支持软件重用,是一个自顶向下、递归细化的方法,软件系统的体系结构通过该方法得到细化,直到能产生软件构件和类。文档的注意事项:文档要从使用者的角度进行编写、必须分发给所有与系统有关的开发人员、必须保证开发者手上的文档是最新的。优点:松耦合【高内聚-低耦合】,良好的重用性/可维护性,可扩展性【标准接口适配】,良好的隐蔽性,支持并行。1)体系结构需求:需求评审的重点是需求是否真实的反映了客户的要求,组的分类是否合理,构件合并是否合理等。2)可传递和复用的模型,通过研究软件架构可预测软件的质量。
2025-02-18 19:53:02
1010
原创 软件可靠性基础知识
软件可靠性建模方法:种子法、失效率类、曲线拟合类、可靠性增长、程序结构分析、输入域分析、执行路径分析方法、非齐次泊松过程、马尔可夫过程、贝叶斯分析。N版本程序同步、N版本程序之间通信、表决算法(全等表决、非精确表决、Cosmetie表决)、一致比较问题、相异性问题。影响软件可靠性的因素:软件的开发方法和开发环境、运行环境、软件规模、软件内部结构、软件的可靠性投入。特征:基于可靠的假设、简单、计算一些有用的量、给出未来失效行为好的映射、可广泛应用。可靠性:R= 1-(1-R1)*(1-R2)*……
2025-02-14 18:18:07
770
原创 信息安全技术
信息安全5个基本要素:机密性、完整性、可用性、可控性、可审查性 信息安全范围:设备安全、数据安全、内容安全、行为安全 网络安全漏洞表现:物理安全性、软件安全漏洞、不兼容使用安全漏洞、选择合适的安全哲理 网络安全威胁:非授权访问、信息泄露或丢失、破坏数据完整性、拒绝服务攻击、利用网络传播病毒 安全措施目标:访问控制、认证、完整性、审计、保密 对称加密:加密强度不高、但效率高、易破解;密钥分发困难 用途:对消息明文进行加密发送,DES、3DE
2025-02-13 19:44:16
457
原创 PdfStamper----PDF添加图片或者水印
注意:对于pdf设置背景色的情况,使用PdfStamper.getUnderContent()添加图片会被覆盖,显示不出来。PdfStamper.getUnderContent()用于获得pdf底层的内容,以便在有内容的下方添加图片或者水印。PdfStamper.getOverContent()用于获取pdf指定位置的覆盖内容。
2024-12-25 14:12:31
459
原创 数据库系统
目或度(关系模式中属性个数)、候选码/键(唯一标识元组,且无冗余,属性集合,可以有一/多个)、主码/键(实体完整性,候选码中任选一个,主键唯一且非空)、主属性与非主属性、外码/键(参照完整性,其他关系的主键)、全码。,Rk}是关系模式R的一个分解,F是R的函数依赖集,如果{F1,F2,。其中,虚线代表产出;解决方案:封锁协议,S封锁(共享锁,读锁)、X锁(独占锁、排他锁),一/二/三级封锁协议,两段锁协议。如果候选键是单个属性,满足1NF的前提下,至少能达到2NF(不存在对候选码的部分函数依赖)……
2024-11-22 18:07:36
658
原创 csv文件通过python转sql语句
工作或学习中有遇到需要把csv文件中的数据转成sql语句,可以通过第三方工具批量处理(如dbeaver),也可以通过python进行处理。下面就是一个把csv文件转为insert的sql脚本的示例,需要安装pandas。2. 表头需要看好,有的包含空格或者其他字符,需要带上这些字符,比如上述代码中的'name ','mobile '1. 编码格式不对,导致数据读取报错,此时可以用记事本打开->另存,就可以看到编码格式,默认是ANSI,需要调整成UTF-8。
2024-10-30 18:12:28
635
原创 TCP/IP协议簇
TCP:可靠的传输层协议,3次握手、4次挥手,差错校验、错误重传、顺序检查,可靠性高、 性能差。TCP:Telnet:23 SMTP:25 FTP:20(数据)/21(控制) HTTP:80 POP3:110。网络接口层(物理层、数据链路层):CSMA/CD、TokingRing。网际层(网络层):IP、ICMP、IGMP、ARP、RARP。UDP:不可靠的传输层协议,可靠性差,性能较好。ip->MAC ARP协议。4. 域名->ip DNS协议。
2024-10-25 15:53:51
198
原创 计算机基础-存储管理、磁盘管理、文件系统
假设数据块/索引块大小1kb,每个地支项大小是4bit,所以每个块中逻辑页有256个(1024/4)。一级间接索引逻辑页号从10 -- 265(x-10+1= 256 => x = 265), 二级间接索引结构逻辑页号从266 -- 65801 (x-266+1 = 256*256 => x= 65801)。按字长分组,0代表空闲,1代表被磁盘块占用。注:字的编号、位的编号、磁盘块的编号,都是从0开始的。编号:字:编号3 位:1。段的逻辑地址:(段号,段内偏移量)注:编号 -- 个数 => +1。
2024-10-25 15:13:39
223
原创 计算机系统基础-进程、线程、PV信号量
P(s) :申请/锁定资源 V(s):释放/解锁资源。一个进程下的两个线程(线程1 和 线程2),可共享:内存地址空间、代码、数据、文件;信号量表示资源数量,信号量初值最大是资源的总数,表示没有任何操作。前趋A执行后需要通知后继V(s),有过少个后继通知多少个V(s)后继B开始前检查前趋P(s), 有多少个前趋检查多少个P(s)A是前趋,B是后继,记录为(A,B)有多少个箭头就会有多少个信号量。
2024-09-30 11:33:17
248
原创 计算机系统-指令集
RISC(简洁指令系统): 新指令从已有指令中寻找组合,形成子程序库,支持多寄存器寻址。CISC(复杂指令系统): 创建新指令,可以使用流水线 只是不适合。微程序(可以对指令集进行解释)机器的cpu只能识别机器语言。
2024-09-26 17:23:43
167
原创 langChain学习笔记——StuffDocumentsChain、ReduceDocumentsChain、MapReduceDocumentsChain、RefineDocumentsChain
MapReduceDocumentsChain首先传递每个文档到LLM,然后通过ReduceDocumentsChain简化文档,使用场景和ReduceDocumentsChain类似,但是在简化文档之前需要进行LLM的初始化调用。reduceDocumentsChain通过迭代简化组合文档,将文档分成小于某个context长度的小块并传入LLM,得到响应后继续进行此操作,直到将所有内容传到最后一个LLM,适用于有很多文档,并且可以并行执行。顺序操作,不能并行操作。
2024-04-03 16:00:06
1142
原创 linux常用命令
2. 查询压缩包指定时间内的日志:zcat c*.gz| sed -n '/2020-12-15 16:30:00/,/2020-12-15 17:30:00/p'。6. 查询目录下所有文件中包含某个关键字的日志:grep -r "{关键字}" {路径}。4. 安装sftp: yum install openssh-clients。
2022-09-23 14:13:13
388
1
转载 vector
vector类为内置数组提供了一种替代表示,与string类一样 vector 类是随标准 C++引入的标准库的一部分 ,为了使用vector 我们必须包含相关的头文件 :#include 使用vector有两种不同的形式,即所谓的数组习惯和 STL习惯。一、数组习惯用法1. 定义一个已知长度的 vector :vector ivec( 10 ); //
2014-11-01 15:42:59
558
转载 error LNK2019: 无法解析的外部符号 ___glutInitWithExit@12,该符号在函数 _glutInit_ATEXIT_HACK@8 中被引用 1>GEARS.obj : er
error LNK2019: 无法解析的外部符号 ___glutInitWithExit@12,该符号在函数 _glutInit_ATEXIT_HACK@8 中被引用 1>GEARS.obj : error LNK2019: 无法解析的外部符号 ___glutCreateWindowWithExit@8,opengl的高级菜鸟问题 看了一本书《OpenGL三维图形系统开发与应用技
2014-08-27 09:52:37
896
转载 VC++中Format函数详解
函数说明 Format是CString类的一个成员函数,它通过格式操作使任意类型的数据转换成一个字符串。函数声明 function Format(const Format: string; const Args: array of const): string; overload;函数功能 事实上Format方法有两种形式,另外一种是三个参数的,主要区别在于它是线程安全的
2014-08-19 22:13:18
836
转载 编写读取XML文件的简单入门
#import named_guids using namespace MSXML; class CTestDlg : public CDialog { ...... protected: CTreeCtrl m_tree; MSXML::IXMLDOMDocumentPtr m_pl
2014-08-16 20:31:29
513
转载 CScrollView
调用SetScrollSizes() 让 CScrollView 知道你的“逻辑视图”的大小,获得大小信息后,操纵传递给 OnDraw() 的DC,从而支持滚动 CScrollView 如何运作: CScrollView ( VIEWSCRL.CPP ) · m_nMapMode —— 在 SetScrollSizes(
2014-07-16 22:11:17
983
转载 CDC::SetBrushOrg设置画刷的原点用来干什么?
为什么要这样?Brush有很多种,用得最多的是纯色画刷,但是有很多图形画刷, 如 BOOL CreatePatternBrush( CBitmap* pBitmap ); 就是用一块图片建立一个画刷,那个原点就是针对这个用作画刷的图片而言的。建立一个bitmap资源,用CBitmap 的Load将该资源装入,然后用该Bitma
2014-07-08 17:14:58
1178
转载 Invalidate(),UpdateAllViews(),UpdateWindow( )
void Invalidate( BOOL bErase = TRUE ); 该函数的作用是使整个窗口客户区无效。窗口的客户区无效意味着需要重绘,例如,如果一个被其它窗口遮住的窗口变成了前台窗口,那么原来被遮住的部分就是无效的,需要重绘。这时Windows会在应用程序的消息队列中放置WM_PAINT消息。MFC为窗口类提供了WM_PAINT的消息处理函数OnPaint,OnPaint负责重绘窗
2014-07-08 16:39:55
808
转载 BLENDFUNCTION结构体
AlphaBlend是Window自带的GDI函数,在作GUI的时候为了达到更漂亮的效果我们常常用它。 这种结构的混合控制通过指定源和目标位图的混合功能。 typedef struct _BLENDFUNCTION { BYTE BlendOp; BYTE BlendFlags; BYTE SourceConstantAlpha; BYTE AlphaFor
2014-07-08 15:56:22
1411
转载 透明位图--SRCINVERT用法
如果一个单色位图向彩色位图转换,那么单色位图为1的部分(也就是白色部分),会转换为彩色位图的背景色,单色位图为0的部分(黑色部分),会转换为彩色位图的前景色。如果一个彩色位图向单色位图转换,那么彩色位图的背景色转换到单色位图中则为1(白色),其他的则转换为0(黑色)。当然上面的1和0都是指bit位的值,还有这些转换是在设备上下文间的块数据操作前就进行的。由于windows上所有的位图操
2014-07-08 15:43:28
852
转载 常用的鼠标操作
2008-07-23 09:17:58| 分类: VC|举报|字号 订阅1.非客户鼠标事件:非客户区域包括客户区域以外的所有窗口部分,包括标题栏、菜单栏、滚动条等。在客户鼠标的事件前面加上NC的内容是非客户事件,行为之间的差别是根据鼠标按钮被单击时的鼠标位置决定的。例如:WM_NCLBUTTONDOWN2.俘获和释放鼠标调用CWND成员函数SETC
2014-07-06 19:53:02
807
转载 static作用
在C语言中,static的字面意思很容易把我们导入歧途,其实它的作用有三条。(1)先来介绍它的第一条也是最重要的一条:隐藏。当我们同时编译多个文件时,所有未加static前缀的全局变量和函数都具有全局可见性。为理解这句话,我举例来说明。我们要同时编译两个源文件,一个是a.c,另一个是main.c。下面是a.c的内容char a = 'A'; // global variable
2014-07-02 19:51:16
439
转载 CTreeCtrl
VC6中树状控件相较其它的控件如编辑框、按钮、IP地址来说编程实现复杂一点,但是相应的可以实现的功能也多一些,最近我在学习利用VC6进行SNMP编程过程中就需要用到树状控件,另外还需要利用CString类来对字符串进行一些处理,由此就萌生了一个想法,即利用树状控件作一个程序,该程序左边是一个树状控件,里面列出了对字符串的各种操作(如获取字符串的长度,去掉左边/右边的空字符等),右边是对应的各种操作
2014-06-23 15:57:01
504
转载 TV_ITEM结构
作用:该结构是CTreeView的一个项。结构原型:typedef struct _TV_ITEM { tvi UINT mask; HTREEITEM hItem; UINT state; UINT stateMask; LPSTR pszText; int cchTextMax; int iImage; int iSelectedImage; int cChildren;
2014-06-20 17:22:46
2216
转载 VC通用控件编程之CImageList控件
2008-03-20 13:39:47| 分类: VC|举报|字号 订阅图像列表控制(CImageList)是相同大小图像的一个集合,每个集合中均以0为图像的索引序号基数,图像列表通常由大图标或位图构成,其中包含透明位图模式。可以利用WINDOWS32位应用程序接口函数API来绘制、建立和删除图像,并能实现增加、删除、替换和拖动图像等操作。图像列表控制提供了控
2014-06-20 16:38:34
625
转载 WM_Notify与消息反射
关于WM_NOTIFY与消息反射—耗费我两天时间才解决的问题www.firnow.com 时间 : 2010-06-22 作者:佚名 编辑:壹枝雪糕 点击: 1306 [ 评论 ]综合资源电子书社区 其实,问题很简单,我想在listctrl响应NM_SETFOCUS的同时通知其父窗口(其实我这句话说错了,listctrl只能响应=NM_SETFOCUS,为什么有个“=”呢?稍后解释),最幼
2014-06-19 15:50:00
569
转载 Window下拖放操作Drag & Drop 全解析
一、基本概念拖放,是指用鼠标拖动的方法,在不同程序的窗口之间、同一个程序的不同窗口之间或同一程序同一窗口的不同控件之间,进行移动、复制和粘贴等操作的技术。拖放操作是在操作系统的帮助下完成的。被拖动的对象首先向操作系统注册它使用的数据格式,并按指定的数据格式提供数据,拖放操作结束时,接收拖放的窗口按指定的数据格式提取有关数据,并根据提取的数据生成相应的对象。二、两种拖放方式拖
2014-06-17 11:04:58
3446
转载 MoveWindow()
MoveWindow只能设置窗口的大小和位置;SetWindowPos拥有MoveWindow的全部功能之外,还可以设置窗口的层叠关系(如,把指定的窗口放在所有窗口的最上层--always on top就可以用这个函数、或者把指定的窗口放在另一个窗口的下层,等等)。 没有什么优缺点可言,只是功能上的大小有别。你完全可以不用MoveWindow,而只用SetWindowPos;但是,在只
2014-06-15 10:04:20
996
转载 控件“树”中多选拖放功能实现
控件“树”中多选拖放功能的实现发布日期: 2/14/2002 | 更新日期: 6/30/2004控件”树”(tree)能够清晰地显示所包含数据的继承关系,是一个强有力的控件。但是真正掌握并能运用CTreeCtrl类的众多特性并不是一件容易的事情。在Visual C++ Developer杂志的9月份、10月份这两期中,Stephen介绍了两个类CBitmapTree和C
2014-06-15 09:43:33
599
转载 CBitmap::GetBitmap
CBitmap::GetBitmapint GetBimap( BITMAP* pBitMap );返回值:调用成功时返回非零值,否则为0。参数: pBitMap 指向BITMAP结构的一个指针,不能为NULL。 说明:本函数用于查看CBitmap对象的信息。返回的信息存放在pBitMap指向的BITMAP结构中。
2014-06-15 09:25:02
2565
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人