首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏全栈程序员必看

    武侠世界2-健壮性

    前几周就获得的武侠世界2的源代码,一直没有时间表去看。从网上搞来的武侠世界2的源代码,能编译通过,大的问题没有,小问题还是挺多。其它的细节,大家其实可以在网上搜索一下。 下面的游戏运行的截图: 我还把角色升到2级呢,废话少说,直奔主题。 1、在windows下代码的健壮性 打开World.sln,工程的main函数在World.cpp里面。 include <crtdbg.h> using namespace std; void main() { int * c = new int[5]; c[0]=1; c[1]=2; 2、在linux下代码的健壮性 看到上面的代码,这只是在windows下运行才会这样,那样在linux下武侠世界又是怎样做的呢?根据我过往的经验,我搜索一下程序有关信号的代码,果然,给我搜索到了。 ShowCrash::CrashFunction(int) { void *traceback[MAX_CALLSTACK_DEPTH]; char cmd[512] = "addr2line

    82810编辑于 2022-07-21
  • 来自专栏屌丝程序媛

    简说代码健壮性

    针对第三方接口,例如数据库对象初始化,打开text文件,请求服务等均会存在接口请求或者连接请求失败的情况,请求失败后通用处理方式是捕获异常,然后设置一定的等待时间(避免压力过大,造成接口雪崩),给予合理的重试次数,例如下图中redis对象初始化失败,等待20ms后发起一次重试。

    43420编辑于 2023-03-21
  • 来自专栏宜信技术实践

    论程序的健壮性——就看Redis

    多年的IT生涯,一直希望自己写的程序能够有很强的健壮性,也一直希望能找到一个高可用的标杆程序去借鉴学习,不畏惧内存溢出、磁盘满了、断网、断电、机器重启等等情况。 今天我们就一起来看看Redis的设计者,一名来自意大利的小伙,是如何打造出一个超强健壮性和高可用性的程序,从而不惧怕这些情况。 删除这20个键中过期的键; (3)如果过期键的比例超过 25% ,重复步骤 1 和 2; 具体逻辑如下图: ? 足见Redis的程序健壮性已经足够强大。但Redis的设计者,在面向高可用面前,仍继续向前迈进了一步,那就是Redis的高可用集群方案——哨兵模式。 这就是Redis,一个“高可用、强健壮性”的标杆程序!

    85131发布于 2020-09-18
  • 来自专栏呆呆熊的技术路

    如何建设一个健壮性系统

    提供快速的恢复机制以尽量减少故障的影响 思考: 日常代码回滚, 定时任务数据比对处理、报警手段 监控(性能、错误率) 思考: 不仅仅是机器系统指标的监控, 我们业务类的监控也应当完善起来 推行管理流程并加以培训 2. 功能性需求 即系统需要实现什么, 各种存储、检索、数据处理等. 2.

    99320发布于 2020-05-17
  • 来自专栏IMWeb前端团队

    如何快速提高页面健壮性

    本文将结合腾讯课堂个人中心页面,分享一些测试和提高页面健壮性的技巧。 2. :plan_list.json(相信你已经发现了,通过这种方式可以任意修改响应数据) { "retcode": 0, "result": { "ts": 0, "page": 2, ,升级whistle也不会丢失~ 结束语 在平时的需求开发中,我们往往容易忽略这些极端情况(放到现网中去检验是十分危险的),想要去做往往又觉得构造起来相当繁琐,如果有一种工具能帮我们构造,那么提升页面健壮性的成本无疑小了很多

    77510发布于 2019-12-03
  • 来自专栏Python无止境

    如何通过测试提升 Python 代码的健壮性

    “Python猫” ,一个值得加星标的公众号 花下猫语:本文是《提升你的 Python 项目代码健壮性和性能》系列的第二篇。该系列主要讲解一些提升代码健壮性的姿势和小技巧。 本文目录如下: ▼ 如何通过测试提升 Python 代码的健壮性 : section 0x00 前言 : section ▼ 0x01 测试的分类 : section 后端主要关注哪些测试 黑盒 2. 白盒 按照测试目的: 1. 功能测试 单元测试 功能测试 集成测试 场景测试 A/B 测试 2. 『未注册的用户能看见』 tests # 测试文件目录 ├── __init__.py ├── conftest.py # 这里存放可能被子目录引用到的集合 ├── e2e # 『端对端测试』 │ ├ 相对独立的测试,就是新建一个 User 的 Thread, 删除 Reply, 拉起来测试就是 1/2/3/4 一个测试就完了。 前者比较简单,后者相对而言更加靠近集成测试。各有利弊。

    1.2K20发布于 2019-08-15
  • 来自专栏斑斓

    引入Option优雅地保证健壮性

    REA的Ken Scambler在其演讲《2 Year of Real World FP at REA》中,总结了选择函数式编程的三个原因:Modularity, Abstraction和Composability parseLocation(str: String): Location = { val parts = str.split(",") val secondStr = parts(1) val parts2 = secondStr.split(" ") Location(parts(0), parts2(0), parts(1).toInt)} 仔细阅读这段代码,你会发现这段代码是不健壮的,可能存在如下错误 : 作为input的str可能为null parts(0)和parts(1)可能导致索引越界 parts2(0)可能导致索引越界 parts(1)未必是整数,调用toInt可能导致类型转换异常 这段代码隐含的错误还可能被广泛地蔓延到系统的其他地方

    77450发布于 2018-03-07
  • 来自专栏用户6296428的专栏

    通用性接口健壮性扫描方案

    1.2 本文解决的问题     为了解决上述问题,本文介绍了通用性接口健壮性扫描方案。本方案也为质量保证、高效测试奠定了基础。      通用性接口健壮性扫描主要围绕这三个过程展开。主要分为以下几个核心流程: 1.数据源数据拉取及处理:该步骤基于各种平台,比如网关、流量回放等,主要为了获取基线测试用例。 根据2的模型与算法,生成所有的用例数据,然后进行接口的调用及记录执行结果。 4.结果分析:通用性接口健壮性扫描方案,对结果也是进行无业务逻辑的通用性的结果分析。 "sbattr1":100, "sbattr2":"subobjectnullcases" } } 用例2: { "paattr1":3, "paattr3": 三、总结与展望     通篇介绍了通用性接口健壮性扫描的方案,基本能够自动化解决部分接口通用性问题,整个过程无需人工干预,节省了不少人工成本,提高了应用的健壮性等。

    86530发布于 2021-04-26
  • 来自专栏家劲

    Python 单元测试 增强系统健壮性

    db = DBUtil() self.assertEqual(db.is_chapter_saved(xchapter_id='7lqcoydR9AdMs5iq0oQwLQ2' db = DBUtil() self.assertEqual(db.is_free_chapter(xchapter_id='7lqcoydR9AdMs5iq0oQwLQ2' 2.JulyNovel需要在爬取书籍时判断这些书籍、章节是否能正确按照规则被解析 pass

    36030发布于 2019-09-19
  • 来自专栏Python无止境

    用 Type Annotation 提升 Python 代码健壮性

    如今 Python 也引入了一些类型检查的辅助,那么,类型检查对于提升 Python 代码健壮性,有没有帮助呢? 图 | 《借东西的小人阿莉埃蒂》剧照 0x00 前言 本文是《提升你的 Python 项目代码健壮性和性能》系列的第一篇文章。 本系列仅仅从笔者的项目经历来讲解一些提升代码健壮性的姿势和小技巧。 不能,但适当的使用可以极大的提升代码的健壮性。 Pythonist: 我自己打脸一下,动态类型花点时间写 type annotation 代码健壮性杠杠的。 Javaer: 你走开… 你怎么不去解决 GIL 的问题。

    1.9K20发布于 2019-08-12
  • 来自专栏蛋未明的专栏

    Node.js如何处理健壮性

    在极客教育出版了一个视频是关于《Node.js 异常处理-健壮性》,本文章主要是从内容上介绍如何来处理Node.js异常问题。 服务器致命危害 这里主要说的是由于代码健壮性问题,常常会由于局部的代码问题,导致整个服务功能异常退出,可简单说明为一个用户的异常请求,会影响到整个服务的功能,一个用户会将整个服务失效。 objArr[0]['test']; objArr[2]; if(typeof objArr[2] == 'object'){ console.log(objArr[2]['test']); 保证 Node.js 健壮性的方案 这里主要是针对代码异常做的一个健壮性,对于Node.js内存异常的问题,我们会下节课进行讨论分析。 var arr = [1, 2, 3]; var obj = {'1' : '1', '2' : '2', '3' : '3'}; console.log(arr[4]); console.log(obj

    1.3K50发布于 2018-06-07
  • 来自专栏进击的Coder

    如何通过测试提升 Python 代码的健壮性

    本文目录如下: ▼ 如何通过测试提升 Python 代码的健壮性 : section 0x00 前言 : section ▼ 0x01 测试的分类 : section 后端主要关注哪些测试 黑盒 2. 白盒 按照测试目的: 1. 功能测试 单元测试 功能测试 集成测试 场景测试 A/B 测试 2. 『未注册的用户能看见』 tests # 测试文件目录 ├── __init__.py ├── conftest.py # 这里存放可能被子目录引用到的集合 ├── e2e # 『端对端测试』 │ ├ 相对独立的测试,就是新建一个 User 的 Thread, 删除 Reply, 拉起来测试就是 1/2/3/4 一个测试就完了。 前者比较简单,后者相对而言更加靠近集成测试。各有利弊。 发布了一个 Thread thread = publish_thread_by_org() with switch_as_user(user) as user: # 2.

    80420发布于 2019-08-23
  • 来自专栏Java后端技术栈

    关于Java健壮性的一些思考与实践!

    来源公众号:一名叫大蕉的程序员 | 作者:大蕉 程序健壮性非常重要,要怎么玩怎么写才能让程序更加鲁棒呢?我又这么几点小建议。 1、isSuccess:调用是否成功 2、data:返回的响应数据 3、errorCode:错误码 4、errorMsg:错误信息 这就要求我们的接口要有标准的统一的 response ,那怎么实现呢? 1、Spring 切面, JDK 动态代理,Cglib 动态代理等用代理类实现 2、匿名子类,使用一个公共的 Executor 来负责处理所有的请求。

    50820发布于 2018-08-09
  • 来自专栏贾维斯Echo的博客

    Go 函数的健壮性、panic异常处理、defer 机制

    Go 函数的健壮性、panic异常处理、defer 机制 一、函数健壮性的“三不要”原则 1.1 原则一:不要相信任何外部输入的参数 函数的使用者可能是任何人,这些人在使用函数之前可能都没有阅读过任何手册或文档 因此,为了保证函数的健壮性,函数需要对所有输入的参数进行合法性的检查。一旦发现问题,立即终止函数的执行,返回预设的错误值。 同时当待释放的资源个数较多时,整个代码逻辑就会变得十分复杂,程序可读性、健壮性也会随之下降。 /defer1.go:20:2: defer discards result of complex(2, -2) . 返回后,deferred 函数被调度执行时,上述压入栈的 deferred 函数将以 LIFO 次序出栈执行,这时的输出的结果为: 3 2 1 0 然后我们再看 foo2

    72520编辑于 2023-10-23
  • 来自专栏ai时代的云故事

    论轻量一键龙虾的健壮性

    bash<(curl-fsSLhttps://cloudcache.tencent-cloud.com/qcloud/tea/app/data/scripts/preflight.4525d2cb.sh cat~/.openclaw/openclaw-weixin/accounts.json2>/dev/null||echo"[]"好,这个时候他就返回了空,也就是这个地方开始模型就全没了。 #1.验证JSON文件格式是否正确jq.~/.openclaw/openclaw.json>/dev/null&&echo"JSON文件语法正确"||echo"JSON文件语法有误,请检查"#2.如果有误 ,查看文件的第1行附近head-5~/.openclaw/openclaw.json执行第1个发现他返回了错误,然后执行第2个去查看他的命令,发现变成了微信插件的配置,而不是本身的龙虾配置。 执行第2条,看内容,发现确实变成了微信插件的内容。由于这个是一键部署的虾,所以肯定是没有手动备份的,之前没有去做这些深度的设置。现在我们要赌一下他有没有自动的备份。

    40110编辑于 2026-03-25
  • 掌握Linux Shell函数的健壮性(边界测试入门指南)

    我们可以从以下几个方面增强函数的健壮性:1. 检查参数数量add() { if [ $# -ne 2 ]; then echo "错误:需要恰好两个参数!" >&2 return 1 fi echo $(($1 + $2))}2. 验证参数是否为数字is_number() { [[ $1 =~ ^-? [0-9]+$ ]]}add() { if [ $# -ne 2 ]; then echo "错误:需要两个参数!" >&2 return 1 fi if ! is_number "$1" || ! is_number "$2"; then echo "错误:参数必须是整数!" >&2 return 1 fi echo $(($1 + $2))}3.

    15310编辑于 2025-11-24
  • 来自专栏bisal的个人杂货铺

    一则简单示例看Oracle的“无私”健壮性

    2. 执行select id from tbl_plan;查看它的执行计划: ? 因为创建了B树索引,正常讲可以从索引中获得id的值,不用全表扫描,但这里使用了全表扫描的方式。

    33620发布于 2019-01-29
  • 来自专栏Java与Android技术栈

    为了程序的健壮性,我们可以使用空对象模式

    如果它为空,那么我们在第二个判断中增加了如下的代码,来保证返回的connection不为null,提高程序的健壮性

    78921发布于 2018-08-24
  • 来自专栏前端达人

    如何利用 TypeScript 的 Exclude 提升状态管理与代码健壮性

    在 TypeScript 中,Extract 工具类型是我们精确选择联合类型中特定类型的利器,而 Exclude 则像一个筛子,过滤掉不需要的类型,只保留我们所需的部分。这是一种非常有价值的工具类型,能够从联合类型中移除指定的类型,使我们的类型定义更加简洁,并让代码库更加易于管理和减少错误。

    47510编辑于 2024-06-14
  • 来自专栏软件研发

    C++异常处理:提高代码健壮性和可维护性

    C++异常处理:提高代码健壮性和可维护性异常处理是一种重要的编程技术,它可以帮助我们提高C++代码的健壮性和可维护性。 2. 异常处理的最佳实践在使用C++异常处理时,遵循以下最佳实践能够提高代码的健壮性和可维护性:选择合适的异常类型选择恰当的异常类型是异常处理的关键。 结论通过合理地使用C++异常处理机制,我们可以提高代码的健壮性和可维护性。合适的异常处理能够使程序在面对意外情况时更加稳定,并能够更好地定位和解决问题。 当处理文件读写时,异常处理在保证代码健壮性和可维护性方面非常重要。假设我们有一个文件操作的类 FileHandler,其中包含了读取和写入文件的函数。 希望这个示例代码能帮助你理解如何在具体应用场景中使用异常处理来提高代码的健壮性和可维护性。如有进一步疑问,请随时提出。假设我们正在开发一个图书馆管理系统,我们需要处理用户借阅图书的情况。

    73110编辑于 2023-12-01
领券