如何看待GitHub更新了免费私人存储库?
WARNING: 这是一篇没有什么营养的博文。请酌情观看。
我的基友前几天GitHub的私有存储库到期了,于是他花了七美刀续了一个月,打算把私有库里的代码迁移出去。然而就在他续了没多久之后,GitHub的私有库免费了。
基友吐槽垃圾微软,当然了,这只是表面上的开一个玩笑,对于我和我的基友而言,这都是一件喜大普奔的事情。
WARNING: 这是一篇没有什么营养的博文。请酌情观看。
我的基友前几天GitHub的私有存储库到期了,于是他花了七美刀续了一个月,打算把私有库里的代码迁移出去。然而就在他续了没多久之后,GitHub的私有库免费了。
基友吐槽垃圾微软,当然了,这只是表面上的开一个玩笑,对于我和我的基友而言,这都是一件喜大普奔的事情。
我上线的一个网站BiliOB观测者受到了基友的攻击。
攻击方式其实非常简单,写一个小爬虫,不间断地POST注册请求,我的网站就直接崩了。好在对方并不是真的怀有恶意,一天时间也只往我服务器里打了几十万条数据。至少后台的核心爬虫业务没有受到很严重的影响。不过确实导致了一天之内网页无法正常访问。
出现这种情况的原因其实在于我的防范措施几乎没有,并且服务器配置极低,单机也完全可以打爆。因此需要紧急上线防御方案。
上一篇关于异常处理的文章其实理解的不是特别清晰。现在的我在新的一轮查阅资料后,终于可以说是基本会用异常了。这里就单刀直入地直接下结论:
异常只在真正异常时使用,不应使用异常控制业务逻辑。
我在一个项目中用到了Spring Boot,需要处理一系列的业务。业务如果正常执行则不必多说,倘若出现一些意外的情况:比如说创建一个用户但是用户已经存在,比如说本该输入一串数字但却接收到一串字符,又比如说本该从数据库里取出一条数据但是却什么都没有得到……在这些情况下,到底是应该抛出一个自定义的Expection还是使用一系列的Else if语句之类的对这些意外的情况进行判断呢?Expection下又有很多子类,自定义异常到底应该继承RuntimeException还是IOException呢?虽然实际使用中无论哪种方式都能解决问题,但到底有没有一个最佳实践?这就是本篇文章讨论的问题。