获得徽章 15
8月24日 打卡day29
package.json 是前端每个项目都有的 json 文件,位于项目的根目录。许多脚手架在搭建项目时也会自动帮我们自动初始化好 package.json。
package.json 里面有许许多多的配置,与项目息息相关,了解它们有助于了解项目,提效开发,规范代码。
package.json 是前端每个项目都有的 json 文件,位于项目的根目录。许多脚手架在搭建项目时也会自动帮我们自动初始化好 package.json。
package.json 里面有许许多多的配置,与项目息息相关,了解它们有助于了解项目,提效开发,规范代码。
评论
1
8月22日 打卡day28
关于 Tapable 的源码其实并没有多少代码量,学习它的原理首当其冲的一定是可以让你在日常 Webpack Plugin 开发中更得心应手,解决相关问题更加顺畅。
其次,Tapable 的内部以特别巧妙的方式实现了发布订阅模式,这之中会有非常多的知识点:比如懒编译或者叫动态编译,关于类与继承抽象类的面向对象思想以及 this 指向的升华等等...
关于 Tapable 的源码其实并没有多少代码量,学习它的原理首当其冲的一定是可以让你在日常 Webpack Plugin 开发中更得心应手,解决相关问题更加顺畅。
其次,Tapable 的内部以特别巧妙的方式实现了发布订阅模式,这之中会有非常多的知识点:比如懒编译或者叫动态编译,关于类与继承抽象类的面向对象思想以及 this 指向的升华等等...
展开
评论
1
8月21日 打卡day27
在 JavaScript 中,对象是很方便的。它们允许我们轻松地将多个数据块组合在一起。 在ES6之后,又出了一个新的语言补充-- Map。在很多方面,它看起来像是一个功能更强的对象,但接口却有些笨拙。
然而,大多数开发者在需要 hash map 的时候还是会使用对象,只有当他们意识到键值不能只是字符串的时候才会转而使用 Map。因此,Map 在当今的 JavaScript 社区中仍然没有得到充分的使用。
在 JavaScript 中,对象是很方便的。它们允许我们轻松地将多个数据块组合在一起。 在ES6之后,又出了一个新的语言补充-- Map。在很多方面,它看起来像是一个功能更强的对象,但接口却有些笨拙。
然而,大多数开发者在需要 hash map 的时候还是会使用对象,只有当他们意识到键值不能只是字符串的时候才会转而使用 Map。因此,Map 在当今的 JavaScript 社区中仍然没有得到充分的使用。
展开
评论
1
8月20日 打卡day26
MPA(Multi-page application) 即多页应用,是从服务器加载多个 HTML 页面的应用程序。每个页面都彼此独立,有自己的 URL。当单击 a 标签链接导航到另一个页面时,浏览器将向服务器发送请求并加载新页面。例如,传统的模板技术如JSP、Python、Django、PHP、Laravel 等都是基于 MPA 的框架,包括目前比较火的 Astro 也是采用的 MPA 方案。
MPA(Multi-page application) 即多页应用,是从服务器加载多个 HTML 页面的应用程序。每个页面都彼此独立,有自己的 URL。当单击 a 标签链接导航到另一个页面时,浏览器将向服务器发送请求并加载新页面。例如,传统的模板技术如JSP、Python、Django、PHP、Laravel 等都是基于 MPA 的框架,包括目前比较火的 Astro 也是采用的 MPA 方案。
展开
评论
1
8月19日 打卡day25
docker client: 即 docker 命令行工具
docker host: 宿主机,docker daemon 的运行环境服务器
docker daemon: docker 的守护进程,docker client 通过命令行与 docker daemon 交互
image: 镜像,可以理解为一个容器的模板,通过一个镜像可以创建多个容器
container: 最小型的一个操作系统环境,可以对各种服务以及应用容器化,是镜像的运行实例
registry: 镜像仓库,存储大量镜像,可以从镜像仓库拉取和推送镜像
docker client: 即 docker 命令行工具
docker host: 宿主机,docker daemon 的运行环境服务器
docker daemon: docker 的守护进程,docker client 通过命令行与 docker daemon 交互
image: 镜像,可以理解为一个容器的模板,通过一个镜像可以创建多个容器
container: 最小型的一个操作系统环境,可以对各种服务以及应用容器化,是镜像的运行实例
registry: 镜像仓库,存储大量镜像,可以从镜像仓库拉取和推送镜像
展开
评论
1
赞了这篇文章
8月18日 打卡day24
如果想简单,客户能同意留白,选用 scale 即可
如果需要兼容不同比例的大屏,并且想在不同比例中都有比较好的效果,图表占满屏幕,类似于移动端的响应式,可以采用 vw vh 的方案
至于 rem,个人觉得就是 scale 和 vw vh 的综合,最终的效果跟 scale 差不多
如果想简单,客户能同意留白,选用 scale 即可
如果需要兼容不同比例的大屏,并且想在不同比例中都有比较好的效果,图表占满屏幕,类似于移动端的响应式,可以采用 vw vh 的方案
至于 rem,个人觉得就是 scale 和 vw vh 的综合,最终的效果跟 scale 差不多
展开
评论
1
8月17日 打卡day23
Appsmith 是一款开源低代码框架,主要用于构建管理面板、内部工具和仪表板等,允许拖放 UI 组件来构建页面,通过连接到任何 API、数据库或 GraphQL 源,并使用 JavaScript 语言编写逻辑,可以在短时间内创建内部应用程序。
Appsmith 是一款开源低代码框架,主要用于构建管理面板、内部工具和仪表板等,允许拖放 UI 组件来构建页面,通过连接到任何 API、数据库或 GraphQL 源,并使用 JavaScript 语言编写逻辑,可以在短时间内创建内部应用程序。
评论
点赞
8月16日 打卡day22
今日学习
在数组对象形式中我们需要给一个父节点添加一个子节点我们首先需要拿到这个父节点的key,然后对整个数组结构进行遍历查找来找到对应的item拎出来push进他的children中,然后需要重新构造一个新的数组对象。
由于实在是太麻烦了我就列了大概思路,相信大家都会,我们会发现非常繁琐,接下来我会着重讲一下Map形式。
今日学习
在数组对象形式中我们需要给一个父节点添加一个子节点我们首先需要拿到这个父节点的key,然后对整个数组结构进行遍历查找来找到对应的item拎出来push进他的children中,然后需要重新构造一个新的数组对象。
由于实在是太麻烦了我就列了大概思路,相信大家都会,我们会发现非常繁琐,接下来我会着重讲一下Map形式。
展开
评论
点赞
8月15日 打卡day21
今日学习
在第一种结构中我们的子节点都是在父节点的children数组下的每一项,而每一项还会有各自的子节点存在于对应的children中。
而在第二种结构中每一项都可以当成是子节点,他们各自都拥有一个parentId,而根节点的parentId为空代表它没有父节点,他们的各自的childrenIds存储了他们各自item的子节点id。
今日学习
在第一种结构中我们的子节点都是在父节点的children数组下的每一项,而每一项还会有各自的子节点存在于对应的children中。
而在第二种结构中每一项都可以当成是子节点,他们各自都拥有一个parentId,而根节点的parentId为空代表它没有父节点,他们的各自的childrenIds存储了他们各自item的子节点id。
展开
评论
点赞
8月14日 打卡day20
今日学习
pnpm 内部使用基于内容寻址的文件系统来存储磁盘上所有的文件,这个文件系统出色的地方在于:
不会重复安装同一个包。用 npm/yarn 的时候,如果 100 个项目都依赖 lodash,那么 lodash 很可能就被安装了 100 次,磁盘中就有 100 个地方写入了这部分代码。但在使用 pnpm 只会安装一次,磁盘中只有一个地方写入,后面再次使用都会直接使用 hardlink(硬链接,不清楚的同学详见这篇文章)。
即使一个包的不同版本,pnpm 也会极大程度地复用之前版本的代码。举个例子,比如 lodash 有 100 个文件,更新版本之后多了一个文件,那么磁盘当中并不会重新写入 101 个文件,而是保留原来的 100 个文件的 hardlink,仅仅写入那一个新增的文件。
今日学习
pnpm 内部使用基于内容寻址的文件系统来存储磁盘上所有的文件,这个文件系统出色的地方在于:
不会重复安装同一个包。用 npm/yarn 的时候,如果 100 个项目都依赖 lodash,那么 lodash 很可能就被安装了 100 次,磁盘中就有 100 个地方写入了这部分代码。但在使用 pnpm 只会安装一次,磁盘中只有一个地方写入,后面再次使用都会直接使用 hardlink(硬链接,不清楚的同学详见这篇文章)。
即使一个包的不同版本,pnpm 也会极大程度地复用之前版本的代码。举个例子,比如 lodash 有 100 个文件,更新版本之后多了一个文件,那么磁盘当中并不会重新写入 101 个文件,而是保留原来的 100 个文件的 hardlink,仅仅写入那一个新增的文件。
展开
评论
点赞
8月13日 打卡day19
今日学习
console 是我们开发中经常使用的功能,用来输出打印和调试开发,比较熟悉的有log、error、warn,这几个是常用的,但是如果你仅仅只是了解这几个那就挺可惜了,错过了那些有助于调高开发效率的功能,今天我们列举一些常用又可以提高开发效率的功能。
今日学习
console 是我们开发中经常使用的功能,用来输出打印和调试开发,比较熟悉的有log、error、warn,这几个是常用的,但是如果你仅仅只是了解这几个那就挺可惜了,错过了那些有助于调高开发效率的功能,今天我们列举一些常用又可以提高开发效率的功能。
展开
评论
点赞
8月11日 打卡day17
今日学习
在使用mouseout时还需要考虑 dom 嵌套结构,因为这些事件在父级 -> 子级的过程中仍然会触发,总之,细节会非常多,很容易误触发。
现在转折来了,如果借用 CSS 就可以有效地避免上述问题,如下,先给需要触发的元素加一个有延时的transition
今日学习
在使用mouseout时还需要考虑 dom 嵌套结构,因为这些事件在父级 -> 子级的过程中仍然会触发,总之,细节会非常多,很容易误触发。
现在转折来了,如果借用 CSS 就可以有效地避免上述问题,如下,先给需要触发的元素加一个有延时的transition
展开
评论
1
8月10日 打卡day16
今日学习
人脸特征提取就是针对人脸的某些特征进行判断(以下的动作判断仅供参考,实际情况下需要多个特征点来判断某个动作)
人脸的远近
取4帧 人脸占画面的比例,判断这组值是递增或递减,取第一帧和最后最后一帧的占比,根据阈值判断人脸的远近。
今日学习
人脸特征提取就是针对人脸的某些特征进行判断(以下的动作判断仅供参考,实际情况下需要多个特征点来判断某个动作)
人脸的远近
取4帧 人脸占画面的比例,判断这组值是递增或递减,取第一帧和最后最后一帧的占比,根据阈值判断人脸的远近。
展开
评论
1