那些年开发的时候踩过的坑

  • 可能发生的错误一定会发生,所以能尽早想到,就尽早采取措施预防

  • 系统默认的环境被人改了,例如有人默认把 python 指向了2或者3

  • 各节点时间不一致

  • 用语言相关的RPC或者缓存,例如Java RMI或者pickle,导致与语言强相关而提高了耦合度

  • 对分布式情况下的远程调用做太多假设,例如以为内网会没什么故障。然而现实告诉你,即便网络没有故障,也许被调用的服务也会 发生故障,不加超时就准备哭吧。其实开发软件,对假设做的越少,稳定性和耦合性就会越低,但是相对应的,复杂度就会提升。软件 开发永远是一种理想和现实的权衡,而权衡下做的选择,只有更好,没有最好。


更多文章
  • 数据库事务
  • 把网站去掉CSS之后
  • 处理并发的方式
  • 常见的索引方式
  • Golang 实践经验
  • 高性能MySQL笔记第一章
  • 面试的一些技巧
  • HTTP/2 简介
  • 独立运营博客一年的一些数据分享
  • To B(usiness) 和 To C(ustomer)
  • Cookie 中的secure和httponly属性
  • 常见的软件架构套路
  • Google Ads使用体验
  • Go的custom import path
  • 如何挖掘二级子域名?