自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

xumingxsh的专栏

人生无限烦心事,使我如此不自由

  • 博客(60)
  • 资源 (15)
  • 收藏
  • 关注

原创 60 路并发出图率从 20% 到 90%:我踩的四个坑

文章摘要:作者分享了在排查串行排队调度模块性能问题时犯的四个典型错误:一是未做对照实验就盲目编码,二是混淆瞬时并发冲击与吞吐量上限问题,三是先入为主地相信直觉而忽视数据分布,四是找到解决方案后未深入分析其本质。这些错误暴露了技术人员在性能优化中容易陷入的思维陷阱——用编码替代科学方法。文章提炼出一个可复用的四层排查框架(硬件层、服务层、调度层、下游层),强调"失败分布决定排查方向"的核心原则,指出工程问题往往源于默认配置而非技术差距。最终启示:性能优化应先做科学验证,而非本能地写代码。

2026-07-27 09:14:18 212

原创 业务智能体实战笔记:分层消除不确定性(五·终)|完全脱离 LLM 的确定性判定 + 评测闭环

本文总结了业务智能体准确率优化系列的第四层方法论——完全脱离LLM的确定性判定,通过工程化手段解决结构化数据处理和业务规则校验问题。核心方案包括: data_filter工具:将数据运算完全迁移至Java代码,LLM仅负责触发工具调用,避免数值计算错误和图表结构混乱,实测提升准确率10-13个百分点。 业务硬约束:针对无法通过通用语义解决的业务口径问题,采用代码硬编码兜底,配合轻量级"记账法"管理规则膨胀,拦截高风险错误场景。 评测闭环(关键教训):强调真值集共建和自动化测试需优先于业务优化,通过开发测试协

2026-07-22 09:49:23 173

原创 业务智能体实战笔记(四):兜底修复——LLM 错了怎么救

本文是智能体准确率优化系列第四篇,聚焦兜底修复环节,通过后置纠错解决LLM输出异常问题。文章提出三大优化手段:工具加强(补充工具配置与参数校验)、响应验证(代码层识别伪调用/假阴性/图表错乱)、双时间字段补跑(合并不同统计口径数据)。这些措施可提升5~9个百分点的指标,并将随机报错转为标准化流程。作者特别指出后端映射越界的反例,强调用户意图透明的重要性。兜底修复虽能处理格式异常,但无法校验业务数值准确性,需结合后续的确定性判定方案。文末预告下一篇将详解数据过滤硬编码与评测闭环设计。

2026-07-21 11:16:17 232

原创 业务智能体实战笔记(三):收窄 LLM 决策空间

本文分享了提升业务智能体准确率的核心方法——收窄LLM决策空间。通过提示词工程(+5-8%)、采样参数调整(0.6→0.3)、业务数据预加载(+1-3%)和工具分层注册(两阶段路由+旁路开关)四项措施,将准确率从65%提升至75%。核心逻辑是压缩LLM的决策候选集以提高稳定性,但需注意提示词优化的收益边界,并保留兜底机制应对剩余失稳情况。文章预告下篇将探讨兜底修复的具体方案。

2026-07-20 08:45:52 239

原创 GB28181 跨不对称链路倍速拉流:UDP丢包→TCP断连→录像截断

摘要: 视频平台跨网级联下载历史录像时,遭遇UDP丢包导致大量丢帧,切换TCP后虽解决丢包,但出现中途断连和录像提前结束问题。断连原因是TCP发送缓冲区堆积,通过流媒体服务器增加发送完成状态检查实现自我节流修复;提前结束问题源于SIP信令与RTP媒体通道时序不同步,通过延迟信令发送和上级平台增加等待机制解决。经验包括:应用层需主动管控TCP速率、双通道协议需绑定数据状态、故障排查需覆盖完整链路。最终实现稳定下载且录像100%完整,无额外性能开销。

2026-07-19 17:29:39 231

原创 业务智能体实战笔记(二)|前置拦截:别让 LLM 做不该做的决策

摘要 本文探讨业务智能体场景下LLM静默错误的解决方案。针对LLM因信息不全生成看似合理但实际错误的回答(如漏检索、概念混淆、状态误判等无法通过后置校验捕获的问题),提出了三层前置拦截机制: 消息预处理:在意图识别前同步阻塞消除业务对象歧义,并规范化格式,可提升准确率2-4个百分点; 两步RAG:强制前置检索业务背景知识,避免LLM自主决定检索时机的不可预测性,提升1-3个百分点; 状态歧义拦截:在工具选择前按业务规则移除歧义候选工具。 三层机制整体可提升准确率5-10个百分点(区间存在重叠),核心价值在于

2026-07-14 17:07:16 371

原创 一个人的江湖:我与代码生成器的涅槃之路

《代码生成器的进化之路:一个程序员的自我重塑》记录了作者十几年间开发代码生成器的历程,从最初的字符串拼接工具到ORM框架,再到拆解为独立库的过程。文章揭示了技术演化的深层逻辑:通过不断否定旧我实现成长,如剥离过度设计的基类、重构耦合模块、引入模板引擎等。作者总结出两个核心思维模板——代码生成与框架抽象,这些方法论在后续开发中反复复用。文章强调"君子不器"的哲学,工具终将过时,但锻造工具的思维能力和破立勇气才是开发者真正的财富。这段"一个人的江湖"印证了"自胜者强"的道理,展现了技术人通过持续自我颠覆实现专业

2026-07-13 09:04:52 148

原创 DAB 项目复盘 —— 三个被埋藏在流水账下的工程判断

文章摘要: 本文通过三个关键决策点复盘了DAB设备自动化协议开发项目的核心经验。首先,作者在协议学习阶段就通过"场景验证"思维发现V1版本在多设备场景下的设计缺陷,这一判断后来被协议委员会V2版本采纳,体现了前瞻性技术评审的价值。其次,作者将Netflix的C语言OOP风格实际应用到接口设计中,又在评审过程中通过"讲解成本"这一信号识别出过度设计,主动撤回改为直接函数,展现了借鉴与克制的平衡能力。最后,作者提炼出跨部门协作的五件套方法,强调将横向需求转化为对方纵向目标才是协作杠杆,而非沟通技巧本身。这三个案

2026-07-11 10:29:50 167

原创 回顾我的软件开发经历:开发DAB

本文详细介绍了DAB(Device Automation Bus)协议的开发全过程。面对设备认证的紧迫需求,团队先后采用Node.js和C++两套方案实现:Node.js版本快速支撑了认证需求但存在兼容性问题;C++版本通过适配层设计实现了多平台支持,并将安全逻辑内聚。开发过程中,团队通过单元测试、正交性设计提升质量,采用Jira管理进度,最终在保证灵活部署的同时加快了开发速度。项目亮点包括多平台支持、文档生成代码等创新实践,但也存在安全性依赖度高等遗憾。该项目为智能家居设备自动化测试提供了有效解决方案。

2026-07-11 10:20:47 151

原创 把 20 个第三方库的交叉编译,从手工活做成框架

本文总结了作者将20个第三方开源库交叉编译到嵌入式Linux平台的经验。面对库间构建系统、依赖关系和产物形态的差异,作者没有重复手工编译,而是设计了一个Shell框架,核心包括: 用关联数组集中管理库元数据(路径+产物模式) 根脚本统一调度,各库独立实现编译适配 支持选择性编译和自动聚合产物 统一接口适配Autotools/CMake/Meson等异构构建系统 该框架使后续维护成本降低80%,编译时间减少30%,并沉淀为团队知识资产。作者强调"先抽象后实现"的工程思维,以及通过针对性练习快速掌握Shell特

2026-07-11 09:33:23 170

原创 给Skill工作流编辑器加 AI 助手

三次架构迭代搭建工作流 AI 助手,8 类代码化机制根治大模型结构性幻觉,采用无状态独立智能体实现可控、可增量的自然语言流程编排。

2026-07-11 08:16:50 307

原创 驻场客户现场一年复盘:混乱环境下的个人实践与事后反思

驻场多厂商混办公环境一年复盘:客观梳理现场各类效率损耗,区分当年落地的个人、团队简易手段与事后总结的标准化管理方案,复盘人员管理、工时规划、跨方沟通的误区与优化思路

2026-07-10 06:52:32 171

原创 业务智能体实战笔记:分层消除不确定性(一)|总纲:把不确定性从LLM 侧转移到工程侧

本文为业务智能体优化系列开篇总纲,基于运维场景 ReactAgent 落地实践,复盘端到端准确率从 65% 提升至 85% 的工程方案,核心思路是将不确定性从 LLM 侧转移至工程侧。文中说明项目技术栈、双场景真值评测集与三段式打分规则,85% 为通用可复用优化下限。文章搭建四层优化框架:前置拦截 LLM、收窄决策空间、兜底修复输出异常、工程侧独立完成确定性计算,详解预处理、采样收敛、data\_filter 等落地手段,配套架构图标注模块位置,并量化分层优化收益,纠正提示词万能误区。全文核心反思:评测闭环

2026-07-07 18:14:58 449

原创 从两天到十几分钟:一套 YT Crash 自动化分析工具完整工程复盘

以一款主流芯片平台为例,每周从市场回收 **2700 条** YT 线上 Crash 日志,全人工分类、汇总、跨版本核对需占用**两个完整工作日**;依托我持续迭代的 Python 处理工具,整套分析流程压缩至**十几分钟**,彻底消除每周数据处理带来的业务决策停滞。

2026-07-03 09:56:00 165

原创 一键部署不是为了省时间 —— 它是把“买来的 PaaS“变成“自己的平台“的拐点

本文复盘了一套外部采购实时音视频PaaS系统的一键部署改造历程。原本1-2个月未能完成的环境搭建,经过2周手工梳理后,最终实现了15分钟自动化部署,效率提升数十倍。文章揭示了"一键部署"的真正价值不在于省时,而是通过系统考古、脚本编写和边界显式化,将组织从依赖外部转变为自主掌控系统的关键拐点。作者结合视频监控打包、Docker容器化和通信设备自动化三方面经验,采用类似IaC的思路实现了本土化解决方案,并延伸建立了基于业务特性的监控体系,使系统状态可观测、可维护。

2026-07-02 22:35:29 217

原创 为电视研发团队搭一套“统一开发环境“——一次工程效率的复盘

一句话:把散在每个人硬盘、脑子、习惯里的东西,搬到团队共享的底座上;把日常重复的操作固化成脚本、交给自动化——让新人第一天就拿到老兵三年攒的工具箱,也让老兵从重复动作里脱身,日常效率保守提升 50%。

2026-07-02 13:26:11 170

原创 软件开发总结--一些关于需求的感想

一些比较细碎的感想用户/客户是谁,我们用什么打动用户/客户?我们用价值打动用户/客户,如果我们不了解用户/客户, 不去关心他们真正需要的是什么,则不知道什么对用户/客户有价值。如果我们不清楚用户/客户是谁,不知道价值是什么,很可能我们会将力气用偏。【开发人员都是完美主义者,用户不一定需要这样的完美主义者, 用户怕不能给他们提供价值,不能尽快给他们提供价值】紧盯用户和价值...

2020-03-26 10:08:34 474

原创 软件开发总结--需求与开发

需求不是越多越好,也不是越详细越好。一个好的需求属于一系列关联需求的一部分。 这一系列需求关联一个要发布的版本,这个版本要有自己希望达到的目标,这个目标的一个主要表现就是为一个或多个用户提供实用,重要或紧迫的价值。 这个需求要有验收条件,达到这些验收条件,该需求也就完成了。 该需求应该有允许讨论(妥协)和不允许讨论(妥协)的两部分。用户价值是不允许讨论(妥协)的,具体实现方案是允许讨论...

2020-03-23 13:38:46 1006

原创 对用户故事的理解及其他

概述这几年一直在思考敏捷开发中的用户故事,并尝试在工作中使用用户故事。 发现不论敏捷开发还是瀑布式开发,很多东西都是相通的(或者说一样的)。在本文的后半部分我根据对用户故事的实践和理解列出一些内容。 你会发现,这些内容与《系统分析与设计方法 第7版 》第7章 使用用例建模系统需求 P179 中的表格几乎一模一样。理解或原则下笔前,先列明几个理解或原则:1: 在开发一个...

2020-02-10 16:32:02 647

原创 根据对MVVM中ViewModel的理解写的一个前端脚本

这几天对MVVM模式做了简单的理解. MVVM中的MV是MVC中的MV, 而VM是在View之前添加了一层前端的逻辑层ViewModel. 该Model中的对象针对前端显示提供数据和接口. VM中有一部分功能是实现ViewModel和前端控件的自动绑定,包括读取和写入,我根据这个理解写了个简单的脚本,并进行了一次重构,写在这儿,权当整理.1: 展示对象展示对象很简单,本例中是一个用户信息...

2019-04-24 14:40:52 340

原创 我想写一个Linux下的C++程序库--记我的C++库设计历程:设计一个TCP服务程序

我想写一个Linux下的C++程序库,实现一些常用的功能。我首先想到的就是实现一个TCP监听程序。该程序应该具有哪些功能呢?1: 启动/停止监听2: 有客户端连接时,通知调用者3: 与客户端断开时,通知调用者4: 有消息到达时,通知调用者5: 尽量避免程序退出时有没有close的socket。该程序的大体接口及结构主要用一个类表示,内容如下:#pragma

2015-02-17 20:22:04 1244

原创 自定义快捷命令程序(VC++加批处理)

这是一个能提高用户工作效率的工具,以往需要用鼠标点击n次才能完成的操作,用它只需要敲击几下键盘就完成了。我的程序叫XBAT,在开机时自动运行。XBAT的界面为一个可见的文本框,位于左面的右上角,占据很小的位置。使用场景:1: 用户想用浏览器打开百度网站时,同时按下“Win + Z”键,XBAT文本框获得焦点2: 用户输入“bd”,按下Enter键。3: 浏览器打开百度站点。现在这个程序我自己用起来得心应手,没有这个程序,我感觉很不方便。我现在常用的是用它来打开iis,打开“服务”,打开“DE

2014-08-22 11:19:23 1688

原创 学习实践:使用模式,原则实现一个C++自动化测试程序

个人编程中比较喜欢重构,重构能够提高自己的代码质量,使代码阅读起来也更清晰。但是重构有一个问题,就是如何保证重构后带代码实现的功能与重构前的一致,如果每次重构完成后,对此不闻不问,则会有极大的风险,如果每次重构后,都进行一边测试,则工作量会很巨大,最终可能是即使代码有重构的欲望,也会尽量克制住,不去重构。除非代码能够进行自动化测试。实际上进行测试的是接口,而不是所有代码,只要能够保持接口不变,自动化测试的工作量也没有想象中的巨大。其实我们在单元测试的时候,会测试各种异常情况,只不过,没有将这些测试写成测试代

2014-08-20 17:23:05 4295

原创 学习实践:使用模式,原则实现一个C++数据库访问类

一、概述在我参与的多个项目中,大家使用libMySQL操作MySQL数据库,而且是源码即复用,在多个项目中有多套相同或相似的源码,这样的复用方式给开发带来了不变,而且libMySQL的使用比较麻烦,要应对很多的细节,很容易出错。我要写一个动态链接库,将对libMySQL的操作封装起来,以二进制复用代替源码级复用;要提供线程安全的接口,用户无需关系是否加锁这样细节性的问题,减少出错及

2014-08-18 17:18:57 3748

原创 从头开始学习JAVA 6--引入JQuery

5 JQuery:在Index.jsp中,使用到JQuery。1)添加taglib在页面头部添加如下代码:Taglib类似于自定义控件。2)添加Jquery     scripttype="text/javascript"src="c:urlvalue="/resources/jquery-1.7.2.min.js"/>">script>sc

2013-03-10 07:53:50 2880

原创 从头开始学习JAVA 5--Spring MVC

4 Spring MVC1)引入Jar在IVSMDemo中,引入如下jar包: 注意引入Java EE 5 Library2)配置Web.xmlxmlversion="1.0"encoding="UTF-8"?>web-appversion="2.5"    xmlns="http://java.sun.com/xml/ns/javaee"

2013-03-10 07:42:42 5238

原创 从头开始学习JAVA 4--创建Web程序

创建Web程序1)创建项目2)运行选择“Tomcat 6.x”:“Console”中,显示Tomcat启动情况:3)访问Web页面在IE中,输入“http://localhost:8080/IVSMWebDemo/”路径,打开Web页面。4)Web程序的配置文件welcome-file-list/ welcome-fi

2013-03-09 23:10:39 1210

原创 从头开始学习JAVA 3--MyEclipse

2 MyEclipse1)安装MyEclipse略2)配置MyElipse3)如何使MyEclipse更快取消自动校验取消build取消自动构建4)配置Web服务打开MyEclipse,在“windows/preferences”下选择“/MyEclipse Enterprise Workbench/Server/Tomcat/ Tomc

2013-03-09 23:05:10 1054

原创 从头开始学习JAVA 2--Tomcat

首先关注tomcat。1 Tomcat1)前提已经下载Tomcat压缩文件。已经安装JAVA JDK。已经设置JAVA_JOME环境变量。2)启动点击“bin”文件夹下的“startup.bat”批处理文件可以启动tomcat。在IE中,输入“http://localhost:8080”会打开Tamcat首页,如果首页显示,说明tomcat启动成功。

2013-03-09 23:00:54 1129

原创 从头开始学习JAVA

0前言1)概述本人有10年使用ASP.NET的经验,在2007年时,有三个月的Java使用经验,主要是做Swing的东西,当时感觉MyEclipse真不好用,Java和C#的语法差不多,但是Java对通用编程比C#好多了。由于需要,今年(2013)2月份开始,重拾Java,主要用来做Web程序。目标:尽快掌握Java Web开发的相关知识及各项技能2)学习策略l

2013-03-09 22:55:48 1946

原创 应用GeoServer(一)

1       下载并安装GeoServer1.1. 下载从http://geoserver.org/display/GEOS/Welcome网站中下载GeoServer安装文件。当前下载的是geoserver-1.7.0-RC3。 1.1. 安装:安装geoserver-1.7.0-RC3.exe文件,当遇到下图所示的弹出窗口时,点击“确定”即可。   

2008-11-28 17:16:00 1552 1

原创 对软件需求的点滴认识

做需求,首先需要了解用户需要的功能,在知道用户需要的(部分)功能后,根据这些推导出用户功能背后的业务逻辑,然后对业务逻辑做进一步的分析,根据分析结构与用户再做进一步的沟通。需求有三个特点:完整性,必须性,正确性,这三个特点是在对业务逻辑的分析后得出的  很多时候说用原型来调查需求,我想这个原型不是一段程序,而是一个完整的业务逻辑流程。  如果想创新,必须建立在对行业的理

2008-09-17 13:46:00 661

原创 ASP.NET中控件应用的思考

页面其实就做两件事情,第一件事情就是显示数据,第二件事情就是收集需要处理的数据。现在,假设有一个容器,能给页面提供显示所需要的数据,也可以收集页面的数据,则整个页面只需要与该容器打交到就可以了。后台页面甚至不需要一行代码。这只是理想状态,这种理想状态可以实现吗?别的不说,就说显示数据,至少需要this.txtName.Text="abc";这样的代码吧,总不成在页面上用吧?有这样合适的容器吗?当提

2008-08-22 17:25:00 637

原创 扩展TextBox控件

在做B/S开发中,大家经常用到TextBox控件,而且经常需要对输入其中的数据进行合法性检查。这种检查可以通过多种方式来实现。我喜欢用Javascript来检查。但是,每一个控件都要用一段Javascript代码来检查,太麻烦,可以不可以来一下抽象呢?我希望通过扩展TextBox来实现该控件数据合法性JavaSript的抽象。思路:1:扩展TextBox控件:  public class Text

2008-08-04 09:21:00 1597 2

原创 扩展DataGrid

在ASP.NET编程中,经常会用到DataGrid(或GridView)。其实,用的时候,这个DataGrid与那个DataGrid,很多功能都几乎是相同的。例如,分页,排序。例如:一般情况下,Int列应该居中显示,字符串列应该靠左排序,double等应该靠右排序,且应该取到小数点后两位,时间格式应该居中,且应该按一定格式显示,例如“YYYY-MM-DD”;如果某列允许排序,则该列的排序字段一般与

2008-08-02 10:06:00 1097

原创 咀嚼代码--图学Community Server2.0--Form控件类图

 咀嚼代码--图学Community Server2.0--Form控件类图  

2008-07-18 14:02:00 833

原创 咀嚼代码--图学Community Server2.0--Condition控件类图

 

2008-07-18 14:00:00 598

原创 咀嚼代码--图学Community Server2.0--Action控件类图

最近在看CommunityServer,下面是Action控件的类图: 

2008-07-18 13:33:00 903

原创 站在人的角度写代码

    今天在写一个程序,其中有几个类是原来的项目中已经存在的,为了图方便我就把这几个类一个一个的拷贝过来了。每当我拷贝一个的时候我都编译一遍。当拷贝第一个类的时候,编译时出现错误,提示找不到A类,把A类再拷贝过来,编译后又说找不到B类,找到B类又说找不到C类,如此拷贝了半天才把所需要的东西拷贝过来,编译成功。觉得:    这样A类调用B类,B类调用C类,...他们之间的这

2008-07-04 10:27:00 856

原创 CommunityServer中的代码页面分离

第一步:找一个页面。首先找到一个页面:CS2008_4.0.30417.1769.sdk/source/Web/Themes/calypso/Common/login.aspx 第二步:找一个处理逻辑的控件发现该页面中有个控件:CSControl:LoginForm。代码如下:

2008-06-21 11:20:00 664

我的数据库访问类源代码

在我参与的多个项目中,大家使用libMySQL操作MySQL数据库,而且是源码即复用,在多个项目中有多套相同或相似的源码,这样的复用方式给开发带来了不变,而且libMySQL的使用比较麻烦,要应对很多的细节,很容易出错。 我要写一个动态链接库,将对libMySQL的操作封装起来,以二进制复用代替源码级复用;要提供线程安全的接口,用户无需关系是否加锁这样细节性的问题,减少出错及死锁的机会,当然也要允许用户自己选择是否线程安全的访问数据库;要简化访问数据库的流程,接口越简单越好。 我从2011年开始写这个库,我给它起名字叫HiDB。

2014-08-18

我的自动化测试程序

个人编程中比较喜欢重构,重构能够提高自己的代码质量,使代码阅读起来也更清晰。但是重构有一个问题,就是如何保证重构后带代码实现的功能与重构前的一致,如果每次重构完成后,对此不闻不问,则会有极大的风险,如果每次重构后,都进行一边测试,则工作量会很巨大,最终可能是即使代码有重构的欲望,也会尽量克制住,不去重构。除非代码能够进行自动化测试。实际上进行测试的是接口,而不是所有代码,只要能够保持接口不变,自动化测试的工作量也没有想象中的巨大。其实我们在单元测试的时候,会测试各种异常情况,只不过,没有将这些测试写成测试代码罢了。 在Java中有JUnit,在C#中有NUnit,在C++中,笔者并不知道有哪些自动化测试工具(笔者的孤陋寡闻)。于是就产生了自己写一个自动化测试程序的想法。

2014-08-20

自定义快捷命令程序(VC++加批处理)--Release

这是一个能提高用户工作效率的工具,以往需要用鼠标点击n次才能完成的操作,用它只需要敲击几下键盘就完成了。 我的程序叫XBAT,在开机时自动运行。XBAT的界面为一个可见的文本框,位于左面的右上角,占据很小的位置。 使用场景: 1: 用户想用浏览器打开百度网站时,同时按下“Win + Z”键,XBAT文本框获得焦点 2: 用户输入“bd”,按下Enter键。 3: 浏览器打开百度站点。 现在这个程序我自己用起来得心应手,没有这个程序,我感觉很不方便。 我现在常用的是用它来打开iis,打开“服务”,打开“DEPENDS.EXE”,打开自己常用的文件夹,常用的sln,打开命令行,打开常用站点,常用文件夹。

2014-08-22

自定义快捷命令程序(VC++加批处理)

这是一个能提高用户工作效率的工具,以往需要用鼠标点击n次才能完成的操作,用它只需要敲击几下键盘就完成了。 我的程序叫XBAT,在开机时自动运行。XBAT的界面为一个可见的文本框,位于左面的右上角,占据很小的位置。 使用场景: 1: 用户想用浏览器打开百度网站时,同时按下“Win + Z”键,XBAT文本框获得焦点 2: 用户输入“bd”,按下Enter键。 3: 浏览器打开百度站点。 现在这个程序我自己用起来得心应手,没有这个程序,我感觉很不方便。 我现在常用的是用它来打开iis,打开“服务”,打开“DEPENDS.EXE”,打开自己常用的文件夹,常用的sln,打开命令行,打开常用站点,常用文件夹。

2014-08-22

咀嚼代码--图学Community Server2.0--Action控件类图

咀嚼代码--图学Community Server2.0--Action控件类图

2008-07-18

咀嚼代码--图学Community Server2.0--Condition控件类图

咀嚼代码--图学Community Server2.0--Condition控件类图

2008-07-18

咀嚼代码--图学Community Server2.0--Form控件类图

咀嚼代码--图学Community Server2.0--Form控件类图

2008-07-18

我的C++自动化测试程序

个人编程中比较喜欢重构,重构能够提高自己的代码质量,使代码阅读起来也更清晰。但是重构有一个问题,就是如何保证重构后带代码实现的功能与重构前的一致,如果每次重构完成后,对此不闻不问,则会有极大的风险,如果每次重构后,都进行一边测试,则工作量会很巨大,最终可能是即使代码有重构的欲望,也会尽量克制住,不去重构。除非代码能够进行自动化测试。实际上进行测试的是接口,而不是所有代码,只要能够保持接口不变,自动化测试的工作量也没有想象中的巨大。其实我们在单元测试的时候,会测试各种异常情况,只不过,没有将这些测试写成测试代码罢了。 在Java中有JUnit,在C#中有NUnit,在C++中,笔者并不知道有哪些自动化测试工具(笔者的孤陋寡闻)。于是就产生了自己写一个自动化测试程序的想法。

2014-08-20

公交换乘的实现

<br> // 取得出发站点所经的公交车的字符串<br> // 取得目的地所经的公交车的字符串<br> // 取得两个站点都存在的站点,即可以直达的公交车<br> // 解析出发点与目的地的公交车的字符串,得到两个数组<br> // 分别以两个数组的元素作为参数,取得相交的站点,即可一次换乘到达的站点<br> // 计算路径信息

2008-07-23

C++程序案例MFCFrmX

打算写一个C++程序 其实我是想用MFC静态库实现一个通过TXT配置文件在程序中动态创建界面的程序。<br><br>主要思路是:<br><br>提供一个基类CSearchBaseDialog,在基类中,程序从配置文件中读取界面控件的信息,然后根据配置文件中的信息在界面上创建相应的控件。<br><br>本文件是http://download.youkuaiyun.com/source/404250的升级版<br><br>对以前的代码进行了重构,修改的地方颇多。<br><br>有一点,在这版代码中用到了函数指针和宏,每个函数指针对应一个控件操作,我本来想写成控件事件的,最终没有成功【虽然用一定的技术能实现,但是该实现太罗嗦,不敢用】。每个窗体类中都有一个名称相同的静态函数,于是使用了宏,虽然这样使代码不直观,但是使代码更抽象,以后要对代码进行修改,也可以集中在一处进行修改。<br><br>此外,因为用到了函数指针,所以把一些虚函数写成了私有函数,这样会使代码更明了。<br><br>因为一个控件有很多属性,所以把属性单独写成一个类了,然后每个控件对象有一个属性成员,这样会使控件类实现的功能更明确,但是一定程度上增加了代码的复杂度。<br>其实把属性独立出来是有好处的,以后可以给控件增加一个属性SKinID【参考ASP.NET2.0中的皮肤】<br>我怎么感觉一定程度上像是在写一个特别简单的浏览器啊?

2008-07-10

设计模式迷你手册.chm

一本关于设计模式的书。设计没有模式。现有的设计模式只不过是开拓你的思路,或者你在想一个问题想不明白的时候的一个参考,千万不要迷信设计模式

2008-03-18

.net2.0版代码生成器

这是一个给予.net2.0及sql-server2000的代码生成器。 会自动生成SQL语句,存储过程,资源文件及增删改查页面。 一个代码生成器,后面要跟着一个整体框架,这样生成的代码才有地方可放。我的整体框架会在以后一步步提供。框架设计的好,生成的代码才会更少,更易理解,更灵活。整体架构的设计,其实是在抽象,耦合行,复杂性,性能之间权衡,项目的大小也是一个重要的考虑方面。 我理解的代码生成器,其实不仅仅是生成代码的一个工具,代码生成器可以加快开发的速度,把开发中某些重复性的工作交由代码生成器来完成,这样开发者就可以把更多的精力投入到需求调研和数据库设计上了,而且还可以加快开发人员的响应速度。 编写一个代码生成器,并对它进行持续的改进,其实也是个人对技术进行学习,沉淀的一种方式。通过编写代码生成器,我们会关心自己的代码是够已经很好的抽象了【因为抽象后,需要编写的代码就少了,这样代码生成器的代码也就少了】,代码是否很容易明白,是否解除了各个模块间的耦合【耦合松了,代码生成器生成的各种代码就会自由一些,不会受彼此的牵制】,代码的可配置是否好【如果程序可以配置,则放在配置文件里,生成配置文件比生成代码容易的多啊】。总之,编写代码生成器,会让自己更多的站在代码的使用者角度上看待代码。下载下来的朋友可以看看,添加,编辑页面的代码是不是很少啊?我觉得这就是这些思想的反映。 欢迎大家下载,并给我提供意见,不胜感激!!!

2008-08-26

Socket实例程序

Socket实例程序

2008-03-12

ASP中含flex的程序

ASP中调用Flex,actionscript与javascript交互,将flex放置在特定的位置。

2009-02-19

MFCFrm.rar

打算写一个C++程序 其实我是想用MFC静态库实现一个通过TXT配置文件在程序中动态创建界面的程序。<br><br>主要思路是:<br><br>提供一个基类CSearchBaseDialog,在基类中,程序从配置文件中读取界面控件的信息,然后根据配置文件中的信息在界面上创建相应的控件。<br>

2008-04-07

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除