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

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

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

  • 各节点时间不一致

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

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


微信公众号
关注公众号,获得及时更新

更多文章
  • Kubernetes 笔记
  • go mod 和 logrus 路径大小写的问题
  • Flask自动加载Blueprint
  • 在KVM里安装Minikube
  • 搞定面试中的系统设计题
  • Crontab + Sendmail实现定时任务并且通知
  • Nginx设置Referer来防止盗图
  • Graphviz dot简明教程
  • jQuery简明教程
  • Python RQ(Redis Queue)添加gevent支持
  • 读《超级运营术》- 如何做社区?
  • 技术人,光有技术是不行的
  • 搭建aria2服务器
  • 使用shairport-sync搭建airplay音频服务器
  • VirtManager Windows自适应屏幕