获得徽章 1
- 好无语,没开始时说要高可用,至少3台服务器,配置还不能能太低,我在阿里云选好,加上数据库也才1年2万不到,报给他又说成本太高了,然后说,其实买一台也不错的,配置低点就低点,ps:前公司老板找我帮忙弄一下
评论点赞 - #青训营笔记创作活动#
2月17日 打卡day13
今日学习
mysql的分层设计,网络连接层,系统服务层,存储引擎层,文件系统层,了解了各层之间的职能,为后续深入学习mysql做一个基础铺垫。展开评论点赞 - #青训营笔记创作活动#
2月16日 打卡day12
今日学习
抓不到baidu的数据包其实是因为https协议,host和实际的request body都被加密了,所有没办法通过http.host进行过滤,那有没有什么办法可以抓到呢?当然是解密了,虽然被加密了,但是我们依然可以筛选,最后解密数据包即可展开评论点赞 - #青训营笔记创作活动#
2月15日 打卡day11
今日学习
写出漂亮代码的一些小技巧
1、写好代码注释,为什么这么写,写来做什么,入参代表什么,出参代表什么,另外还有警示左右,提示代码的坑和注意事项。
2、try中的代码过多,可以抽成一个方法,多用return,例如if嵌套过多,可以用一个if对应一个return,而不是写很多if嵌套在一起。
3、if表达式不要太复杂
4、优雅的参数校验,统一返回值,统一异常处理
5、尽量不要传递和返回null值
6、日志打印要规范,可搜索性,需要明确关键字信息,异常日志要打印堆栈信息,日志内容太大不要打印
7、尽量使用工具类
8、类和方法单一职责,一个类或方法只做单一的功能。
9、尽量使用聚合或组合代替继承,使用设计模式优化代码,但是不要滥用设计模式
10、面向接口编程,经常重构旧的代码,而不是写完后放着就不管了
11、防止空指针
12、魔法值用常量表示
13、使用线程池代替手动创建线程,线程设置名称,在日志打印的时候可以把名称打印出来,更容易排查问题,在使用线程时一定要考虑线程安全性
14、慎用异步
15、经历缩小锁的范围,减少加锁的时间,从而可以较少锁互斥的时间,提高效率。
16、有类型区分时定义好枚举。
17、远程接口调用设置超时时间。
18、集合使用应当指明初始化大小。
19、使用StringBuilder进行字符串拼接。
20、不循环调用数据库,正确的方法应该先批量查出来,然后转成map。
21、用业务代码代替多表join。
22、装上阿里代码检查插件。
23、有问题及时跟同事沟通。展开评论点赞 - #青训营笔记创作活动#
2月14日 打卡day10
今日学习
探讨的是UDP一定比TCP快吗?在其中涉及了大量前置知识,比如使用socket进行数据传输,对于异常情况如何处理,着重介绍了TCP的重传机制,流量控制机制,滑动窗口机制,拥塞控制机制,分段机制,乱序重排机制,连接机制,最后根据前置知识,推导出UDP在某些情况下,甚至比TCP还要慢得多,知识涵盖很多,收藏了,后面多多复习展开评论点赞 - #青训营笔记创作活动#
2月13日 打卡day9
今日学习
如何攻克阅读英文文档的困难,可以通过阅读理解,手抄记录,并能够随时随地的利用碎片化时间将自己记录的内容拿出来看一看加深理解和记忆,不过这种方法还是需要有一定的英文功底。
其次就是如何利用搜索引擎来帮助自己解决问题。展开评论点赞 - #青训营笔记创作活动#
2月10日 打卡day8
今日学习
kafka特别重要的两个概念,主题(Topic)和分区(Partition)。
kafka的术语:生产者(Producer)、消费者(Consumer)和服务代理节点(Broker)。
一个kafka体系包含若干Producer,若干Broker,若干Consumer,以及一个ZooKeeper集群。展开评论点赞
![[捂脸]](http://lf-web-assets.juejin.cn/obj/juejin-web/xitu_juejin_web/img/jj_emoji_28.8981538.png)