获得徽章 7
- #青训营笔记创作活动#
1月16日 day6打卡
通过whistle等PC端工具,对手机应用中发出的http请求进行分析,例如携带的参数,返回值,请求时间等,并进行具体的分析,这就是所谓的“抓包”。而whistle(意为哨子),就是这样的一类前端抓包工具展开评论点赞 - #青训营笔记创作活动#
1月15日 打卡day5
现有JS轮子:
计算距离下次生日还有多少天
回到顶部
复制文本
防抖/节流
过滤特殊字符
常用正则判断
初始化数组
将 RGB 转换为十六进制
检测是否是一个函数
检测是否为一个安全数组
测对象是否为一个安全对象展开评论点赞 - #青训营笔记创作活动#
1月14 打卡day4
async/await是写异步代码的新方式,以前的方法有回调函数和Promise。
async/await是基于Promise实现的,它不能用于普通的回调函数。
async/await与Promise一样,是非阻塞的。
async/await使得异步代码看起来像同步代码,这正是它的魔力所在。展开评论点赞 - #青训营笔记创作活动#
1月13日 打卡day3
Monorepo 简单的说,是指将公司的所有代码放到一个 Git / Mercurial / Subversion 的代码仓库中。对于很多没听说过这个概念的人而言,无异于天方夜谭。Git 仓库不应该是每个项目一个吗?对于很多用 monorepo 的公司,他们的 Git 仓库中不止有自己的代码,还包括了很多的依赖。基本上,只要把 monorepo 用 Git 拖下来,跑一下 ./scripts/install,就可以直接用 Buck / Bazel (在安装脚本中就装到了本地)编译仓库中的所有项目,并且提交修改(安装脚本配置好了代码提交环境,如果用的 Phabricator 的话,Gerrit 不用)。展开评论点赞 - #青训营笔记创作活动#
12月13日 day2
插件的便利可以减轻工作量,但最重要的还是本身基础得牢固哇!评论点赞 - #青训营笔记创作活动#
12月12日 打卡day1
今日学习了限流
什么是限流呢?限流是限制到达系统的并发请求数量,保证系统能够正常响应部分用户请求,而对于超过限制的流量,则通过拒绝服务的方式保证整体系统的可用性。
根据限流作用范围,可以分为单机限流和分布式限流;根据限流方式,又分为计数器、滑动窗口、漏桶限令牌桶限流,下面我们对这块详细进行讲解。
限流对比
下面我们就对常用的线程策略,总结它们的优缺点,便于以后选型。
计数器:
• 优点:固定时间段计数,实现简单,适用不太精准的场景;
• 缺点:对边界没有很好处理,导致限流不能精准控制。
滑动窗口:
• 优点:将固定时间段分块,时间比“计数器”复杂,适用于稍微精准的场景;
• 缺点:实现稍微复杂,还是不能彻底解决“计数器”存在的边界问题。
漏桶:
• 优点:可以很好的控制消费频率;
• 缺点:实现稍微复杂,单位时间内,不能多消费,感觉不太灵活。
令牌桶:
• 优点:可以解决“漏桶”不能灵活消费的问题,又能避免过渡消费,强烈推荐;
• 缺点:实现稍微复杂,其它缺点没有想到。
Redis + Lua 分布式限流:
• 优点:支持分布式限流,有效保护下游依赖的服务资源;
• 缺点:依赖 Redis,对边界没有很好处理,导致限流不能精准控制。展开评论点赞