异常处理遇到过的那些坑 (mp.weixin.qq.com)

【简介】

今年有个目标之一就是提升团队代码的质量,所以时常会思索如何把这件事做到更好,不想教条主义,也不想搞出一个代码规范,强制团队照着做,落地的效果不好,反而把大家的积极性给弄没了。所以我的原则是,我们一起看看什么事是我们不能做的,排除掉,剩下的就是我们可以做的,同时真正搞清楚问题在哪里,而不是简单的模仿。从我个人的经验看,代码优化中最重要的一点就是对异常情况的处理。今天,我就借这个话题,谈谈如何来优化我们的代码。

点击查看原文 >>

@谢东升Forest 2017-08-03 13:48 / 0个评论
赞过的人: @技术头条
要不要再学学下面的文章?
Go 中的高速数据包处理:从 net.Dial 到 AF_XDP (colobu.com)
最近编写了一个Go程序,向数百万个IP地址发送ICMP ping消息。显然,希望这个过程能尽可能快速高效地完成。因此,这促使我研究各种与网络栈交互和快速发送数据包的各种方法。这是一个有趣的旅程,所以在本文中,我将分享一些学习成果,并记录下来供将来参考:)你将看到,仅使用8个内核就可以达到1880万数据包/秒。这里还有一个GitHub仓库,其中包含了示例代码,可以方便地跟随学习。
by @技术头条 2024-03-21 22:55 查看详情
高效I/O并发处理:双缓冲和Exchanger (colobu.com)
双缓冲(double buffering)是高效处理I/O操作的一种并发技术,它使用两个buffer,一个goroutine使用其中一个buffer进行写,而另一个goroutine使用另一个buffer进行读,然后进行交换。这样两个goroutine可能并发的执行,减少它们之间的等待和阻塞。

本文还提供了一个类似Java的java.util.concurrent.Exchanger的Go并发原语,它可以用来在两个goroutine之间交换数据,快速实现双缓冲的模式。 这个并发原语可以在github.com/smallnest/exp/sync/Exchanger找到。
by @技术头条 2024-01-17 23:05 查看详情
优雅的处理Git多帐号与代理问题 (www.iots.vip)
  在工作中,常常会容易遇到一台电脑用多个 Git 账号的场景,比如账号 company 账号是工作用的,而账号 personal 是自己个人用的。 由于 Git 本身并没有多账号的机制,导致我们在默认设置下无法很好的区分哪个仓库使用哪个账号。 同时,在某些众所周知的场景下,我们无法直接访问到 Github 仓库,需要走一层 proxy 来加速我们的代码拉取与推送速度, 本文将使用 SSH config 相对优雅的解决这些问题。
by @技术头条 2023-08-18 23:09 查看详情
Spring AOP 处理流程概述 (www.diguage.com)
AOP 是 Spring 框架的最核心的两个功能之一,这里来细致分析一下 Spring AOP 的实现原理和处理流程。
by @技术头条 2023-06-24 23:29 查看详情
智能文档处理IDP关键技术与实践-高翔 (www.52nlp.cn)
什么是智能文档处理?针对文本数据处理尤其是纯文本,大家通常会想到使用自然语言处理(Natural language processing,NLP)技术来解决语义理解及分析处理工作。关于自然语言处理技术的研究有很长历史,针对不同层面文本处理和分析有很多技术点,常见技术例如分词与词性标注、命名实体识别、句法结构分析、文本分类、文本摘要等功能。
by @技术头条 2022-12-10 22:41 查看详情
处理Exception的几种实践,被很多团队采纳! (mp.weixin.qq.com)
在 Java 中处理异常并不是一个简单的事情。不仅仅初学者很难理解,即使一些有经验的开发者也需要花费很多时间来思考如何处理异常,包括需要处理哪些异常,怎样处理等等。

这也是绝大多数开发团队都会制定一些规则来规范对异常的处理的原因。而团队之间的这些规范往往是截然不同的。

本文给出几个被很多团队使用的异常处理最佳实践。
by @code小生 2022-06-26 11:31 查看详情
正确处理全球五大互联网注册机构的 IP 数据 (soulteary.com)
如果我们不需要精准判断服务请求来源和用户 IP 归属地,使用全球五大 RIR 机构每日更新的 IP 分配数据,相比较使用商业 IP 数据库而言,会是一个低成本的方案(免费)。本文将聊聊如何正确对 APNIC、ARIN、RIPE NCC、LACNIC 和 AFRINIC 这五个全球顶级互联网注册机构(RIR)的 IP 注册数据进行处理。
by @技术头条 2022-06-19 19:25 查看详情
ECS 中同类关联数据的处理 (blog.codingnow.com)
ECS 模式下最难处理的是同类 Component 之间有相互联系的情况。

最方便 ECS 处理的数据是相互独立的,每个数据单元都不和其它数据单元产生联系;如果多个数据单元会有故有的联系时,当可以把它们看作是同一个实体(Entity)下的不同组件(Component)时,那么就可以借用 Entity 的概念来处理它们。我们依旧可以按固定的次序去迭代这些数据。

但是,在复杂系统中,无可避免的,同类数据相互之间也可以产生联系。例如:场景管理中,节点之间有父子关系,计算节点的空间状态的过程对数据的遍历次序有要求。且计算过程还需要访问父节点的状态。解决这类需求是 ECS 框架的一大挑战。
by @技术头条 2022-02-03 13:12 查看详情
老旧的API,该如何处理? (mp.weixin.qq.com)
万物都会有终结,HTTP API 也不例外。不论你的 API 今天看上去多么伟大,迟早有一天你会想发布一个全新的版本,新版本能更好地解决相同问题,在各方面可能都会有所改善,但是它因为有了新参数,与旧版本也无法兼容,或者你只是想彻底关闭旧的 API。总而言之,你现在的 API 不会永远存在。
by @code小生 2022-01-27 19:54 查看详情
公司这套架构统一处理try...catch,很牛逼! (mp.weixin.qq.com)
软件开发springboot项目过程中,不可避免的需要处理各种异常,spring mvc 架构中各层会出现大量的try {...} catch {...} finally {...}代码块,不仅有大量的冗余代码,而且还影响代码的可读性。这样就需要定义个全局统一异常处理器,以便业务层再也不必处理异常。
by @code小生 2022-01-16 11:02 查看详情