获得徽章 1
#青训营笔记创作活动#
2月8日 打卡day23
今日学习跨域问题,当协议、域名、端口号任意一个不同时,就是跨域。有很多种方法实现跨域,使用@CrossOrigin注解的方法跨域,但是只能局部跨域;使用配置文件跨域,可以进行全局的跨域,还有一些其他的方法实现跨域。跨域问题其实是浏览器的保护机制,上述所有采用的方法都是告诉浏览器这个访问是安全的行为。
展开
评论
#青训营笔记创作活动#
2月7日 打开day22
今日学习了限流,限流就是限制到达系统的并发请求数量,保证系统能够正常响应部分用户的请求,从而拒绝服务超过流量的用户。常见的限流方式有:计数器,在一段时间内对请求限制次数,当超过阈值时就拒绝服务,一旦到达了时间限制,就将计数器清零。这个方法的弊端就是在时间临界点时可以发起2倍的阈值的请求,这样就会达到一个高峰。会遭到恶意用户攻击的隐患。;还有滑动窗口、漏桶、令牌桶等。
展开
评论
#青训营笔记创作活动#
2月6日 打卡day21
今日学习了缓存。所有业务数据和用户配置数据都存储在数据库中,当用户量增多时,系统的响应的速度就越来越慢。为了解决这个问题,可以使用本地缓存。但是使用本地缓存在集群多节点场景下会出现缓存漂移的情况。就是多次刷新可以出现的页面内容不一样,这是因为可能有的节点更新了缓存,有的节点没有更新缓存。于是就采用了集中式缓存,可以解决多个节点之间写操作,各个节点本地缓存不一致问题。采用集中式缓存,所有业务节点都会集中读取或更新同一份缓存内容。
展开
评论
#青训营笔记创作活动#
2月5日 打卡day20
秒杀的定义:一般是在促销活动中,有很少的物品数量,价格很低,有大量的用户参与活动,但是只有极少数用户获得抢到物品。秒杀系统会有瞬时高并发特性,在秒杀时间点用户并发量会达到顶峰;大量的用户同时请求页面,服务器会挂掉的,所以可以将活动页面做成静态的。并将采用内容分发网络技术CDN。让全国各地的用户都能即时访问到。
展开
评论
#青训营笔记创作活动#
2月4日 打开day19
今天学习了对称加密和非对称加密。从数学原理上来讲,用公钥加密过的密文只有私钥能解密,反过来来说,用私钥加密过的密文只有公钥能解。HTTP协议中传输的信息都是明文,通过抓包可以抓取信息,这样很不安全。所以在HTTP协议中加TLS加密,就是HTTPS了。然后就学习了一下HTTPS加密的过程,首先TCP三次握手,然后就是TLS四次握手。TLS加密目前最常用的是TLS1.2版本,加密过程中主要有三个随机数比较重要。
展开
评论
#青训营笔记创作活动#
2月3日 打开day18
今天学习了数据库变更管理平台bytebase,它可以直观的看到数据库的变更记录;能够检查SQL语句的语法规范;能够查看数据库和表的内容;还有人工审核功能,可以避免开发人员错误操作。
评论
#青训营笔记创作活动#
2月2日 打开day17
今日学习了SQl优化,多数SQL慢是与索引有关,如不加索引,索引不合理,这个时候可以优化索引;如果是数据太多,可以考虑分库分表;还有可能是sql语句写的不合理,如in元素写的过多等。
评论
#青训营笔记创作活动#
2月1日 打卡day16
今日学习,了解到状态码5xx原来不是服务器返回的,是网关nginx发的,服务器本身并不会有5xx报错的日志信息的。如果发现了502报错,可能是服务器过早的断开连接(服务器设置的超时时间过短;服务器应用进程崩了);如果不是服务器的问题,可以查看nginx日志,看看是否是将请求打到了其他的ip端口上了。
展开
评论
#青训营笔记创作活动#
1月31日 打卡day15
学习了一些优秀的开发习惯,比如写注释;有功能代码重复使用时可以封装通用模板,减少代码冗余;项目按照功能拆分成合理的目录结构;学会优化性能;控制算法的复杂度;打印日志;处理异常。
评论
#青训营笔记创作活动#
1月30日 打卡day14
今日学习了计算机网络的相关内容,包括数据传输方式(报文交换,电路交换,分组交换)。以及计算机网络的协议,计算机网络的相关硬件,计算机网络的分层等内容。
评论
#青训营笔记创作活动#
1月29日 打开day12
今天学习了mysql的整体架构,对MySQL的整体架构有一个基本认知。从上往下看,依次会分为网络连接层、系统服务层、存储引擎层、以及文件系统层。
评论
#青训营笔记创作活动#
1月28日 打卡day11
今天巩固了如何使用wireshark抓包,HTTP三次握手,TLS加密的原理。在抓包时遇到加密的数据,可以采用加入环境变量SSLKEYLOGFILE干预TLS的行为,就可以导出一份含有pre_master_key的文件。实际上,也并不是所有应用程序都支持将SSLKEYLOGFILE。只是目前常见的curl和chrome浏览器都是支持的。
展开
评论
#青训营笔记创作活动#
1月27日 打卡day10
今日学习 优化代码格式的一些小技巧。包括规范命名,规范代码格式,写好代码注释,try catch 内部代码抽成一个方法,方法别太长,抽取重复代码,多用return,if条件表达式不要太复杂,优雅地参数校验,统一返回值,统一异常处理等
展开
评论
#青训营笔记创作活动#
1月26日 打卡day9

接收方的接收到数据之后,会不断处理,处理能力也不是一成不变的,有时候处理的快些,那就可以收多点数据,处理的慢点那就希望对方能少发点数据。毕竟发多了就有可能处理不过来导致丢包,丢包会导致重传,这可是下下策。因此我们需要动态的去调节这个接收窗口的大小,于是就有了滑动窗口机制。

展开
评论
#青训营笔记创作活动#
1月23日 打卡day8
今天学习了kafka。在 Kafka 中还有两个特别重要的概念——主题(Topic)与分区(Partition)。Kafka 中的消息以 topic 题为单位进行归类,生产者负责将消息发送到特定的 topic (发送到 Kafka 集群中的每一条消息都要指定一个主题),而消费者负责订阅主题并进行消费。
展开
评论
#青训营笔记创作活动#
1月21日 打卡day7
今天学习了websocket协议和http协议的区别。
HTTP虽然是基于TCP的协议,但它是半双工的,对于大部分需要服务器主动推送数据到客户端的场景,都不太友好,因此我们需要使用支持全双工的websocket协议。
展开
评论
#青训营笔记创作活动#
1月20日 打卡day6
我学习了里面一些插件的使用,比如vscode_icon ,将不同的文件配上不同的图标,非常好看
评论
#青训营笔记创作活动#
1月19日 打卡day5
今天上课学习了GO语言在编写过程中的性能优化。上完课之后意犹未尽,于是自己有找了相关帖子看了下。
常规的for循环是通过获取集合内的元素s[i],这种索引指针的方式,要比for range对循环元素拷贝,好的多。
展开
评论
下一页