面试官问:怎么自动检测你使用的组件库有更新
大家好,我是若川。最近组织了源码共读活动,感兴趣的可以加我微信 ruochuan12
本文来自V同学投稿的源码共读第六期笔记,写得很有趣。现在已经进行到第十期了。你或许经常看见 npm 更新的提示
。
面试官可能也会问你,组件库更新了,怎么让使用组件的人都知道。本文分析这个提示的原理实现,很有趣。
1前言
Hello,大家好,这里是V同学
今天我们又来看源码了
今天若川大大没有写源码阅读的掘金文章
正好,可以让我们一试身手
考验一下我们之前跟随着川大的源码所锻炼的源码阅读能力
今天我们要看的是 update-notifier 的源码
老样子,在我们阅读源码之前,先分析一手,看看这个到底是干嘛用的吧
2分析
这个是我们本期源码阅读的代码仓库
大家可以先克隆下来,我们且慢慢分析
我们可以用5W1H分析法来试着去分析一下
5w1h
那么什么是5w1h呢,简单来说就是从
原因(Why)
对象(What)
地点(Where)
时间(When)
人员(Who)
方法(How)
这六个纬度去思考
那我们就一个一个来
What
首先,我们要来看看本期源码是什么
通过度娘,我们可以大致的了解到,我们本期要看的源码
似乎是一个和更新有关的工具,可以更新你的npm包和cli应用程序
我们在看一下仓库的readme
现在就非常的清晰明了了,这是一个以非入侵的方式通知你更新的这么一个工具
Why
那么我们为什么要读它的源码呢
有一下几点
1. 美化终端输出信息,描绘边框。
2. 我们可以学会怎么去开启子进程
3. 给一个node方法作为传参的几种方式
4. 通过configstore这个库我们能够持久化存储一些信息
5. 通过latest-version获取对应pkg包的最新版本信息
Who
谁应该去读他的源码
以下几类人适合去读他的源码,当然也适合来看看我的源码阅读的文章
1. 源码爱好者
2. 学习爱好者
3. 希望能学到东西的人
4. V同学的粉丝
面试官问:怎么自动检测你使用的组件库有更新相关推荐
- 【264期】面试官问:Spring Boot 启动时自动执行代码方式有哪几种?解释一二!...
点击上方"Java精选",选择"设为星标" 别问别人为什么,多问自己凭什么! 下方有惊喜,留言必回,有问必答! 每一天进步一点点,是成功的开始... 前言 目前 ...
- 面试官问:Kafka 会不会丢消息?怎么处理的?
点击上方蓝色"方志朋",选择"设为星标" 回复"666"获取独家整理的学习资料! Kafka存在丢消息的问题,消息丢失会发生在Broker, ...
- java执行sql文件_面试官问你MyBatis SQL是如何执行的?把这篇文章甩给他
初识 MyBatis MyBatis 是第一个支持自定义 SQL.存储过程和高级映射的类持久框架.MyBatis 消除了大部分 JDBC 的样板代码.手动设置参数以及检索结果.MyBatis 能够支持 ...
- eureka自我保护时间_阿里面试官问我:到底知不知道什么是Eureka,这次,我没沉默...
文章首发:阿里面试官问我:到底知不知道什么是Eureka,这次,我没沉默 什么是服务注册? 首先我们来了解下,服务注册.服务发现和服务注册中心的之间的关系. 举个形象的例子,三者之间的关系就好像是供货 ...
- 面试官问:跨域请求如何携带cookie?
大家好,我是若川.持续组织了6个月源码共读活动,感兴趣的可以点此加我微信 ruochuan12 参与,每周大家一起学习200行左右的源码,共同进步.同时极力推荐订阅我写的<学习源码整体架构系列 ...
- 面试阿里!妹子终面,阿里面试官问:有没有男朋友? 结果...
点击"开发者技术前线",选择"星标????" 在看|星标|留言, 真爱 作者: 前线小熙 | 责编: 可可 来源 :开发者技术前线 刚好要到端午节前 ...
- 面试官问:select......for update会锁表还是锁行?
欢迎关注方志朋的博客,回复"666"获面试宝典 select查询语句是不会加锁的,但是select .......for update除了有查询的作用外,还会加锁呢,而且它是悲观锁 ...
- 面试官问:数据库 delete 表数据,磁盘空间还是被一直占用,为什么?
以下文章来源方志朋的博客,回复"666"获面试宝典 最近有个上位机获取下位机上报数据的项目,由于上报频率比较频繁且数据量大,导致数据增长过快,磁盘占用多. 为了节约成本,定期进行数 ...
- 面试官问:Integer 如何实现节约内存和提升性能的?
点击上方"方志朋",选择"设为星标" 回复"666"获取新整理的面试资料 作者:Byte_Liu 来源:https://urlify.cn/ ...
最新文章
- Galaxy Release (v 21.05),众多核心技术栈变更
- 阿里云查看mysql版本_查看mysql版本
- 矩阵元算法科学家谢翔: Rosetta如何连接隐私计算与AI?
- Storing XML in Relational Databases(2)
- springboot多数据源动态数据源(主从)
- (常用API)正则表达式语法规则
- 10分钟搭建完成人脸通行系统 百度『乘风』人脸智能化平台了解一下
- c语言第八章函数程序设计,C语言程序设计-第八章 函数.ppt
- Linux操作系统进程模型分析
- SAI 串行音频接口学习
- 魔兽世界怀旧服务器最新,魔兽世界怀旧服夏一可在哪个服务器 魔兽世界怀旧服夏一可去哪个区玩...
- [转]新建一个Android工程项目
- 网络安全-利用sniffer抓包软件,分析IP头的结构(详解)
- 玄武中专计算机动漫与游戏制作,正青春,不散场——玄武中专信息技术系举办2016级计算机动漫与游戏制作专业“3+3”学生毕业作品展开幕式...
- python读取pdf内容转word_【python】python实现PDF转word
- 文件上传漏洞利用介绍
- 转——解决游戏王DL的steam版锁区问题
- 小程序发布之后无法生成海报问题
- ArcGIS基础实验操作100例--实验76按格网统计点要素
- Ubuntu Linux 下安装 Minecraft 我的世界
热门文章
- Blender建模与游戏换装(转载文)
- 抽屉之Tornado实战(5)--点赞与评论树
- sulin Python3.6爬虫+Djiago2.0+Mysql --实例demo
- CentOS安装glibc-2.14
- castle windsor学习----- Services and Components 两者的定义
- Android Bug分析系列:第三方平台安装app启动后,home键回到桌面后点击app启动时会再次启动入口类bug的原因剖析...
- 940mx黑苹果驱动_超详细黑苹果安装图文教程送EFI配置合集及系统
- 全国计算机等级考试题库二级C操作题100套(第72套)
- ppt倒计时_年终会议做一个这样的倒计时PPT,保证惊艳全场!1分钟就能学会
- linux最小安装桌面,Linux工作环境:CentOS7最小安装+Xfce桌面环境