健如牛
文章平均质量分 63
曹牧
从牙牙学语到灵活运用,风风雨雨
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
软件测试:冒烟测试
1. 测试时机不一样:冒烟测试在新版本构建后立即执行,决定能否进入正式测试;4. 测试失败处理不一样:冒烟测试不通过直接返回开发,不做进一步测试;2. 测试目的不一样:冒烟测试是准入测试,快速发现阻塞型缺陷;1. 冒烟测试最早来自硬件行业,电路板焊好后通电检查,如果短路会冒烟就说明有问题,没问题才能继续测试。冒烟测试是软件开发中对新版本进行的基本功能快速验证,确认软件能启动并执行核心操作后才进入正式测试。4. 涉及角色包括测试架构师、测试工程师、开发工程师、持续集成工程师、质量工程师等。原创 2026-10-28 08:41:23 · 214 阅读 · 0 评论 -
在Win7上找回SVN密码
下载一个小工具 TSvnPwd.exe([官方下载地址](http://www.leapbeyond.com/ric/TSvnPD/)),把它放到上面那个`svn.simple`文件夹里,双击运行,就能看到解密后的用户名和密码了。- 如果运行报错,可能需要先开启系统的 `.NET` 功能,在“控制面板-程序和功能-启用或关闭Windows功能”里勾选`.NET Framework`。在Win7上找回SVN密码,最稳妥的办法是让管理员重置,如果之前在本机保存过密码,也可以用工具解密本地缓存找回。原创 2026-10-21 10:42:44 · 132 阅读 · 0 评论 -
F5集群上重启网站服务
验证后端节点状态:在F5管理界面进入「Local Traffic > Pools」,找到对应网站的业务池,确认所有后端节点当前健康状态为绿色(可用),记录当前在线节点数量。进入池内成员列表,选中第一个要重启的后端网站节点,点击「State」下拉菜单,选择「Disable」(禁用),该节点将不再接收新流量,已有连接会等待超时释放。回到F5节点配置页,将该节点状态改回「Enable」(启用),等待F5的健康检查连续3次探测成功,节点状态恢复为绿色可用。检查F5业务池所有节点状态均为绿色可用,无异常标记。原创 2026-10-09 11:51:06 · 275 阅读 · 0 评论 -
开发健壮性:闰秒
定义与分类:分为正闰秒(增加1秒,时间显示为23:59:60,1分钟共61秒)和负闰秒(减少1秒,时间直接从23:59:58跳至00:00:00,1分钟共59秒),调整通常安排在协调世界时6月30日或12月31日的最后一分钟进行。历史实施情况:自1972年闰秒机制正式启用以来,全球已累计完成27次正闰秒调整,从未实施过负闰秒;闰秒是为协调原子时与地球自转时间差异,人为对协调世界时(UTC)增加或减少1秒的时间调整机制,用于让基于原子振荡的精准时间与基于地球自转的天文时间偏差控制在±0.9秒以内。原创 2026-09-20 08:51:49 · 165 阅读 · 0 评论 -
SVN 生成和应用代码补丁
应用补丁:在项目根目录执行 `patch -p1 < fix.patch`(补丁路径带 `a/` 前缀时),或 `patch -p0 < fix.patch`(不带前缀时)。- 包含新增/删除文件(必须加 `-N`):`svn diff -r 100:105 -N > full-change.patch`- 新增/删除文件必须标记:不加 `-N` 参数(或小乌龟不勾选选项),补丁里不会包含新增或删除的文件。- 补丁不是提交:应用补丁后只是本地修改,必须手动 `SVN Commit` 才能真正入库。原创 2026-09-02 16:22:53 · 481 阅读 · 0 评论 -
CXF:org.apache.cxf.service.factory.ServiceConstructionException
org.apache.cxf.service.factory.ServiceConstructionException 是 Apache CXF 框架中的一个异常,通常在尝试构建或配置 Web 服务时遇到问题时会抛出。在 CXF 的 cxf.properties 或 Spring 的日志配置中设置更详细的日志级别。确保你的 beans.xml、cxf-servlet.xml 或其他 Spring 配置文件中的配置正确。确保 XML 配置文件中的所有 XML 命名空间都已正确声明,并且符合 CXF 的要求。原创 2026-06-05 14:15:05 · 226 阅读 · 0 评论 -
Bug定位
用户环境层:先确认基础环境是否符合业务要求,比如JDK版本是否兼容、网络代理是否正常、测试环境是否切对分支,排除环境不匹配导致的问题。后端服务层:检查服务器配置是否符合业务部署要求,比如Tomcat、Nginx、JDBC配置是否正确,再通过服务日志定位具体的报错信息。数据库层:最后结合业务数据检查表结构、字段是否正确,对比入库数据和业务要求是否一致,确认是否存在字段名不匹配、默认值错误等问题。排除低级错误:先检查host配置、网络连接、测试数据是否正确,排除误操作、脏数据等非代码问题。原创 2026-05-22 10:50:34 · 187 阅读 · 0 评论 -
Nginx 504
增加超时时间:在Nginx配置中增加proxy_read_timeout和proxy_connect_timeout的值。监控后端服务器:使用工具如Prometheus, Grafana, Nagios等监控后端服务器的状态和性能。使用负载均衡器:如果有多台后端服务器,可以使用负载均衡器来分散请求,提高整体的可用性和响应速度。优化配置:调整Nginx和后端服务器的配置,例如减少工作进程数量,优化缓存设置等。优化后端应用:检查并优化后端应用的性能,确保它能够更快地处理请求。原创 2026-05-21 15:49:37 · 71 阅读 · 0 评论 -
SVN:Checkout Depth
在 SVN 中,--depth=files 参数通常对应于图形界面中的“Only this item”选项。它允许你检出指定目录本身,但不包含其下的任何文件或子目录。这与 --depth=empty 不同,后者创建一个空的目录结构,但不包含目录本身。在弹出的对话框中,找到“Checkout Depth”下拉菜单。选择“Only this item”选项。选择“SVN Checkout...”。这里的 . 表示将检出的内容放置在当前目录下。右键点击目标文件夹。原创 2026-04-16 14:31:07 · 109 阅读 · 0 评论 -
日志内容的多字段输出格式
timestamp:日志生成时间,建议使用 ISO 8601 格式(如 2025-04-05T10:30:45.123Z)。// {"level":"info","msg":"用户登录成功","user_id":"12345","ip":"192.168.1.1"}context(可选):附加上下文信息(如 user_id、request_id、ip)。level:日志级别(如 DEBUG、INFO、WARN、ERROR、FATAL)。logging.info("测试日志")原创 2026-04-13 14:41:18 · 472 阅读 · 0 评论 -
svn: svn relocate 之externals
若工作副本中包含 externals(外部引用),还需特别处理这些外部依赖项的地址更新。可通过 svn info 查看当前 URL,通过 svn propget svn:externals . 列出所有 externals 定义及路径。externals 不会随主工作副本自动重定位,必须逐个进入 externals 对应的子目录,分别执行 relocate 操作。关键步骤:若包含 externals,需逐一进入每个 externals 目录(通常显示为带右上箭头的文件夹)原创 2026-04-09 09:06:06 · 157 阅读 · 0 评论 -
svn:“relocate”操作中出现“no uuid but wc has”的错误
考虑使用更现代的版本控制系统如Git,如果可能的话,因为SVN在一些方面有其局限性,特别是在大型团队和多分支管理方面。这里,FROM-URL是当前仓库的URL,TO-URL是你想要切换到的新的URL,PATH是工作副本的路径。仓库迁移或重命名:如果你将SVN仓库从一个路径移动到另一个路径(例如,通过更改URL),而。错误的仓库URL:在切换仓库分支或标签时,如果使用了错误的URL,也可能导致这种问题。如果在团队环境中工作,通知所有相关人员关于仓库的变更和你的操作,以避免数据丢失或冲突。原创 2026-04-09 09:02:44 · 101 阅读 · 0 评论 -
Linux内核开发中的核心“铁律”
Linux内核开发的“铁律”通过严格的代码质量控制、AI辅助测试和协作规范,确保系统在复杂环境下的稳定运行。编码规范:严格遵循Linux编码标准,避免使用危险函数(如strcpy),优先使用安全版本(如strncpy)。4、 静态分析:使用Coverity、Cppcheck等工具检测潜在漏洞(如缓冲区溢出、空指针解引用)。AI工具理性:AI提升效率但无法替代人类协作灵魂,技术是骨架,协作是灵魂。提交时机控制:Linus对“提交时机”铁腕管控,拒绝最后一天的提交。3、代码质量保障。原创 2026-01-06 14:15:08 · 421 阅读 · 0 评论 -
模块化方法论-通用功能设计
本文系统阐述了软件设计中的核心原则与实践方法。在通用设计准则方面,提出公平使用、灵活性等七大原则;在技术实现层面,强调SOLID原则与模块化架构设计。文章重点介绍了避免不必要约束的方法论,包括模块化设计、决策框架和约束验证流程,并借鉴芯片化设计理念提出IP核复用、标准化接口等创新思路。同时提供了从架构设计到维护演进的完整实施路线图,并警示了过早优化、过度设计等典型反模式。这些设计原则和方法体系为构建灵活、可维护的软件系统提供了系统化的指导框架。原创 2025-08-12 09:14:33 · 557 阅读 · 0 评论 -
软件系统的芯片化模块集成:原理、方法与实现
本文探讨了软件系统借鉴芯片模块化设计理念的方法与优势。模块化设计通过功能分解、标准化接口实现高内聚低耦合,提升系统可维护性和开发效率。文章分析了芯片模块化特点(如高度集成、可编程性)及其对软件设计的启示,提出模块化集成、增量式集成和接口集成三种实现方法,并结合Broadcom SoC设计等案例说明其应用效果。虽然模块化设计面临接口标准化、性能优化等挑战,但随着AI与EDA融合、Chiplet技术发展,该模式将推动软件系统设计向更智能、更灵活的方向演进。原创 2025-08-12 09:06:00 · 934 阅读 · 0 评论 -
多版本服务接口发布策略
多版本服务接口发布策略原创 2025-08-09 09:29:34 · 786 阅读 · 0 评论 -
Java Getter 与 C# Getter 比较
两者本质上实现的功能相同,但 C# 的属性语法更加简洁优雅,而 Java 的方式则更加显式和传统。// Getter 方法。原创 2025-08-04 11:08:57 · 856 阅读 · 0 评论 -
Fiddler拦截post请求的命令
Fiddler拦截post请求的命令原创 2025-05-21 09:39:56 · 485 阅读 · 0 评论 -
Oracle表的别名不能用as,列的别名可以用as
在 Oracle 数据库中,表的别名和列的别名在使用 AS 关键字时确实有不同规则原创 2025-04-17 15:56:01 · 1042 阅读 · 0 评论 -
CREATE TABLE ... AS SELECT
在 Oracle 中,使用 CREATE TABLE ... AS SELECT 语法可以通过子查询从现有表快速创建新表。原创 2025-04-17 13:05:16 · 2011 阅读 · 0 评论 -
Ambiguous mapping found
Spring Boot/MVC 应用中常见的控制器映射冲突错误,通常由多个控制器或方法定义了相同或冲突的请求路径引发。原创 2025-04-16 10:35:22 · 1144 阅读 · 0 评论 -
ArrayIndexOutOfBoundsException: x
ArrayIndexOutOfBoundsException: 0 表示代码尝试访问数组索引为 0 的元素时,数组为空或长度为 0。原创 2025-04-16 10:31:39 · 601 阅读 · 0 评论
分享