获得徽章 1
- 1月21日 day10
.container:empty::after {
content: "暂无数据";
}通过 :empty 选中内容为空的容器,然后通过伪元素为空容器添加提示
background-clip: text 用来做带背景的文字效果
#青训营笔记创作活动#展开评论点赞 - #青训营笔记创作活动#
1月20日 day9
TinyPng提供两种压缩方法:
通过在官网上进行手动压缩;
通过官方提供的tinify进行压缩;
查找:找出所有的图片资源;
分配:均分任务到每个进程;
上传:把原图上传到TinyPng;
下载:从TinyPng中下载压缩好的图片;
写入:用下载的图片覆盖本地图片;展开评论点赞 - #青训营笔记创作活动#
1月19日 day 8
1. Golang 开发
2. 多核并行
3. 从零造轮子
4. 高效利用内存
场景:
1. 代码压缩工具
2. 代替 ts-node
3. 代替 ts-jest展开评论点赞 - #青训营笔记创作活动#
1月18日 day7
主要原理是通过 canvas 将视频中的每一帧画到画布上
可以通过指定 facingMode 来实现,facingMode 有 4 个值,分别是 user、environment 和 left、right,分别对应前后摄像头和左右摄像头展开评论点赞 - #青训营笔记创作活动#
1月17日 day6
总结:
抓包就是将网络传输发送与接收的数据包进行截获、重发、编辑、转存等操作
校验证书分为两步,证书的签发者校验和服务器实体证书校验
在 PC 电脑本地起一个服务器进程,监听一个端口比如 8899
在手机上连接同一个局域网,配置网络代理,指向 PC 端的 IP 地址和 8899 端口
这样一来,手机上所有的网络通信都会被先转发到 PC 端的 8899 端口,就可以对数据包进行分析处理
作者:jecyu
链接:juejin.cn
来源:稀土掘金
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。展开评论点赞 - #青训营笔记创作活动#
1月16日 day5
总结:
// 检测是否为一个安全数组,若不是返回空数组 这里借助isArray 方法
const safeArray = (array) => {
return Array.isArray(array) ? array : []
}展开评论点赞 - #青训营笔记创作活动#
1月15日 day4打卡
总结:
1.遇到了异步操作不会阻塞后面代码执行的,因为js是单线程的,所以你写的return成功或者失败并没有返回给requestData
2.当我发送网络请求的时候,需要拿到这次网络请求的数据,再发送网络请求,就这样重复三次,才能拿到我最终的结果。展开评论点赞 - #青训营笔记创作活动#
1月14日 day3打卡
总结
1.因为不同的仓库工作区的割裂,导致复用代码的成本很高,开发调试的流程繁琐
2.容易发现这些项目里的很多基建的逻辑都是重复的,各个项目间存在构建、部署和发布的规范不能统一的情况
3.工作流的一致性;项目基建成本的降低;团队协作也更加容易展开评论点赞 - #青训营笔记创作活动#
1月13日 day2打卡
工具总结:
1.pagespeed 根据各项指标可以得出我们网站的一个综合评分,让我们知道我们的网站在那些方面还可以进行优化
2.JSON在线格式化的网站 Json.cn展开评论点赞 - #青训营笔记创作活动#
1月12日 打卡day1
总结:
1. 利用滤镜 filter: brightness(90%); 调节明亮度可以快速实现一个鼠标覆盖的动态效果,无需额外制作遮罩
2. 使用伪类激活 cursor 的 grab 和 grabbing 可以设置抓取动作的图标
3. 但是给 ul (父层)中赋予点击事件,利用捕获冒泡的原理,触发 ul 的点击事件时,通过 e.target 判断点击的是哪个 li,就只需要注册一次方法即可(而且动态添加子节点无需绑定新的事件),这就是JS的事件委托机制
4. 我们还要让本体隐藏,同时DOM结构不能丢失,这时只需在按下拖动时给本体元素设置个 opacity: 0,结束时再改回透明度1就能搞定
5. 优化思路是利用浏览器加载过同一张图片就会优先读缓存的机制,先用一个Image加载原图,等其加载完毕再把拖拽元素的src改成原图展开评论点赞