2021-05-26

开发工具与关键技术:C#和Visual Studio
作者:朱海丁
撰写时间:2021年05月28日
前言
预处理
dns-prefetch (dns预解析)
preconnect (预连接)
preload(预加载)
prefetch(预提取)
prerender(预渲染)
精度处理
parseInt
再会
前言
某项技术或者某个知识点是否有用,不应该取决于市场主流,而应该取决于你当前的业务场景。

跟随主流的那些知识点,只能说是常用。但主流之外,那些冷知识就真的不重要吗?

非也,只是因为知道的人少。

前端开发中的冷知识挺多的,本文只介绍三个。

预处理
HTML中的link标签神奇的很,通过设置一些预处理命令,可以提升页面渲染速度。

常用的有五个,分别是:dns-prefetch,preconnect,prefetch,preload,prerender。

dns-prefetch (dns预解析)
将link标签的rel属性设置为dns-prefetch,href属性设置为某个域名后,浏览器就会对该域名进行预先解析并缓存。

这样的话,当浏览器在请求同域名下的资源时,就不必再走一次域名解析。

对于那种多个资源在同一个域名下加载的场景十分有效。

看一下京东首页,已经安排上了。

这里还有一个小知识点,京东使用了不具体指定http或者https的相对协议//。

这样做的好处是: 浏览器可根据当前网站采用的协议去目标地址加载与之匹配的资源,灵活性比较强。

preconnect (预连接)
浏览器中请求不是直接通过网络进程发出去的,而是先tcp三次握手一波,建立间接通道后才会发起请求。

此外,如果是https的,还需要tls握手建立加密通道,这两个过程都是比较耗时的。

如果开启预连接,就会提前建立请求所需要的连接通道,在真正发送请求的时候会更快。

preload(预加载)
预加载就是在某个资源真正使用前先加载一波(不会阻塞页面加载),等到真正使用时执行。

preload需要指定as属性,告诉浏览器加载的是什么类型的东西,这样有助于浏览器在发送请求时控制优先级。

简单来说,你可以使用这个属性将你想尽快加载的资源提前加载。

掘金使用了preload,打开network看的话,这几个资源加载是比较靠前的。

prefetch(预提取)
这东西和preload有点像,但不太一样。

prefetch是可能会加载的资源,preload是一定会加载的资源。

这两个东西不要同时对一个资源用,否则会加载两次,没什么必要。

prerender(预渲染)
预先加载页面并进行解析,这部分是浏览器在后台完成的一系列不可见的页面解析操作。

等导航到目标页面,呈现出渲染好的页面。

精度处理

js的小数计算刺激吧,这里涉及二进制与十进制的转换以及精度问题。

我们不讨论过细的原因,只关注解决方法。

比较容易想到的是转成整数计算,像这样

然后我今天发现了一个新的方式

Number.toPrecision

果然,这世间的东西,存在即合理。

parseInt
这个api你肯定用过,用来把字符串转成数字。

但这个小东西不止表面那么简单,暗藏玄机的。

假定有一个由年龄和姓名组成的数组,需要求年龄和

const arr=[‘24-tom’,‘20-jack’]
arr.reduce((a,b)=>parseInt(a)+parseInt(b)) //44
1
2
这是利用了parseInt识别到无法解析成数字的字符串自动截断的特点。

2021-03-26 20:54:33,596 - Model - INFO - Epoch 1 (1/200): 2021-03-26 20:57:40,380 - Model - INFO - Train Instance Accuracy: 0.571037 2021-03-26 20:58:16,623 - Model - INFO - Test Instance Accuracy: 0.718528, Class Accuracy: 0.627357 2021-03-26 20:58:16,623 - Model - INFO - Best Instance Accuracy: 0.718528, Class Accuracy: 0.627357 2021-03-26 20:58:16,623 - Model - INFO - Save model... 2021-03-26 20:58:16,623 - Model - INFO - Saving at log/classification/pointnet2_msg_normals/checkpoints/best_model.pth 2021-03-26 20:58:16,698 - Model - INFO - Epoch 2 (2/200): 2021-03-26 21:01:26,685 - Model - INFO - Train Instance Accuracy: 0.727947 2021-03-26 21:02:03,642 - Model - INFO - Test Instance Accuracy: 0.790858, Class Accuracy: 0.702316 2021-03-26 21:02:03,642 - Model - INFO - Best Instance Accuracy: 0.790858, Class Accuracy: 0.702316 2021-03-26 21:02:03,642 - Model - INFO - Save model... 2021-03-26 21:02:03,643 - Model - INFO - Saving at log/classification/pointnet2_msg_normals/checkpoints/best_model.pth 2021-03-26 21:02:03,746 - Model - INFO - Epoch 3 (3/200): 2021-03-26 21:05:15,349 - Model - INFO - Train Instance Accuracy: 0.781606 2021-03-26 21:05:51,538 - Model - INFO - Test Instance Accuracy: 0.803641, Class Accuracy: 0.738575 2021-03-26 21:05:51,538 - Model - INFO - Best Instance Accuracy: 0.803641, Class Accuracy: 0.738575 2021-03-26 21:05:51,539 - Model - INFO - Save model... 2021-03-26 21:05:51,539 - Model - INFO - Saving at log/classification/pointnet2_msg_normals/checkpoints/best_model.pth 我有类似于这样的一段txt文件,请你帮我写一段代码来可视化这些训练结果
02-06
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值