浏览器与服务器通信的方式为应答模式,即浏览器发起请求,服务端响应请求,那么浏览器第一次发起请求后拿到请求结果, 会根据响应报文中http头的缓存标识决定是否缓存结果. 浏览器在每次发起请求,都会在浏览器缓存中查找该请求的结果以及缓存标识 浏览器每次拿到返回的请求结果都会将请求结果以及标识存入浏览器缓存 强制缓存 向浏览器缓存查找结果,并根据该结果的缓存规则来决定是否使用缓存结果 不考虑协商缓存的情况下,存在以下三种情形: 不存在强制缓存结果以及缓存标识,强制缓存失败,此时直接向服务器发起请求,与第一次向服务器发起请求相同 存在强制缓存,但是已失效,则使用协商缓存 存 ...
前端知识点总结
vue组件通信1.props/$emit父传子:props 子传父:emit 2.provide/inject在父组件用provide提供数据,在子组件用 inject 接收数据 3.vuex数据管理模式 4.$parent/$child子组件内部通过$parent对父组件操作 父组件内部通过 $children 对子组件操作 5.eventbus使用一个空的vue实例作为中央事件总线, 使用$emit 发送事件 使用$on来接收 6.$attrs/$listenerscss垂直居中设置行高(适用于单行文本)#parent { height: 100px; line-he ...
algorithmLearing
数组相关二分查找对应leetcode题目https://leetcode-cn.com/problems/binary-search/ 思路将有序排列的不重复的数组从中间分开,每次和要找的值在中点比较,如果值小于中点,则上修改有边界,否则修改左边界. function search(nums: number[], target: number): number { let l = 0; let r= nums.length-1; while(l<=r){ let m = (l+r)>>1; if(nums[ ...
bootstrap grid布局
no 类型 属性 1 xs <576px 2 sm >=576px 3 md >=768px 4 lg >=992px 5 xl >=1200px 6 xxl >=1600px
群辉dsm7.0 videoStation启用truehd/dts音轨
通过安装dsm7.0对应的 ffmpeg,启用videostation对dts/truehd等音轨的支持. ds218+实测成功. 效果如下: 操作流程确认设备型号首先到这个页面https://github.com/SynoCommunity/spksrc/wiki/Architecture-per-Synology-model 确认自己群辉nas的型号. 接着到 https://github.com/th0ma7/synology/tree/master/packages/dsm7-beta 找到对应的spk文件,下载,并在套件中心手动安装 安装插件通过ssh连接到群辉,并切换到root ...
react中memo/useMemo/useCallback的使用
memo使用memo包裹函数子组件,保证子组件只在props变化时重新渲染. import React, { useState,memo } from 'react';import { render } from 'react-dom';//如果Child组件不用memo包裹的话,即使App组件里面的age更新,与Child没有关系,Child还是会重新渲染//使用memo包裹以后,App中 age的更新并不会引起Child的重新渲染const Child = memo((props) => { console.log('child r ...
实用React.memo来阻止函数式组件不必要更新
对于一个函数组件来说,props和state的变化都会引起组件的重新渲染,如果我们只关心props变化,而组件内部state变化我们不想此组件重新渲染,可以使用React.memo,它类似于class组件中的生命周期shouldComponentUpdate,但是它不是一个hook. const Button = React.memo((props) => { // 你的组件}); 这不是一个 Hook 因为它的写法和 Hook 不同。React.memo 等效于 PureComponent,但它只比较 props。(你也可以通过第二个参数指定一个自定义的比较函 ...
如何自定义地图geojson数据
在工作中我们可能会遇到一些需求,需要某些特定的地图,并且在地图上要加一些特殊的标记. 获取指定区域的地图https://datav.aliyun.com/tools/atlas/index.html 可以选择指定区域的地图,精确到区,这个网站的geo数据更新比较及时,21年杭州区划变更以后,数据也得到了更新. 复制对应的 json数据. 格式类似如下: { "type": "FeatureCollection", "features": [ { "type": "Feature", "properties": { "a ...
在树莓派中使用homebridge
安装树莓派系统将sd卡插入电脑 官方下载页面https://www.raspberrypi.org/downloads/ 直接选择自己操作系统需要的安装包并进行烧录操作即可 通过上面的工具,可以选择对应的镜像进行下载,也可以通过这里https://www.raspberrypi.org/downloads/来手动下载镜像. 写入完成后软件提示可以拔出sd卡,这个时候系统安装完成,将sd卡插入到树莓派就完成了. 为树莓派设置wifi连接&SSHwifi第一次开机前将sd连接电脑,在 /boot下新建一个wpa_supplicant.conf文件,文件中的内容如下: country& ...
react项目安装配置 antd-mobile
使用 create-react-app,react-router-dom,postcss-px-to-viewport,antd-mobile构建项目. 相关文档: create-react-app reactRouterDom antd-mobile 项目构建&依赖安装使用 create-react-app构建项目(typescript)yarn create react-app my-app --template typescript 安装 postcss-px-to-viewportyarn add postcss-px-to-viewport 安装 babel-plugin- ...