js 实现 LRU缓存
LRU是Least Recently Used的缩写,即最近最少使用,是一种常见的缓存置换算法,淘汰最久未使用的数据。 实现思路 1. 设定缓存的最大数据量maxSize 2. 数据按照最近访问时间进行排序,最近访问的数据放在最后 3. 访问时若数据存在则将数据移动到最后 4. 添加数据时: 1. 数据存在,则移动到最后 2. 不存在,若队列中数据量已到最大值
LRU是Least Recently Used的缩写,即最近最少使用,是一种常见的缓存置换算法,淘汰最久未使用的数据。 实现思路 1. 设定缓存的最大数据量maxSize 2. 数据按照最近访问时间进行排序,最近访问的数据放在最后 3. 访问时若数据存在则将数据移动到最后 4. 添加数据时: 1. 数据存在,则移动到最后 2. 不存在,若队列中数据量已到最大值
收集关于低代码的文章
首先吐槽一下又拍云的文档,需要有亿点改进。 由于我是前端上传,官网没有js sdk,所以需要结合后端来生成签名和policy。 前端使用的是form api的方式上传。 后端 直接上后端代码(golang): go package application import ( "crypto/hmac" "crypto/md5" "crypto/sha1" "
以前的页面定位都是基于元素进行的,比如通过targetid,打开页面时自定定位到对应的位置。如果想定位到文本的某个位置并且高亮显示,这个就没法实现。 chrome提供了一个新特性,支持基于文字内容的锚点技术。 选中要分享的内容,然后右键会出现“ 复制指向突出显示的内容链接”。 比如:我要喝“哇哈哈”饮料  { Function.prototype.bind = function(that) { if (typeof this === 'function') {
事件发布/订阅是常用的一种模式,可以通过监听触发事件降低代码的复杂度。有很多开源的npm库可以使用,也可以尝试手写一个。 常用方法 + on(eventName, listener): 注册事件 + off(eventName, listener): 删除事件 + dispatch(eventName, ...params): 触发事件 原理 原理主要是将事件回调添加(on)
通过border来实现。 1. <code>border: 40px solid transparent</code>设置border的宽度和样式。 2. <code>border-top-width</code>设置顶部的border宽度为0。 3. <code>border-bottom-color: ff0000</code>设置底部border的颜色为红色 css width: 0
很多页面滚动之后刷新页面会发现页面自动定位到了滚到的位置,但是有些交互需要刷新之后滚动到顶部,可以使用提供的*History.scrollRestoration *实现这个功能. + <code>auto</code>: 将恢复用户已滚动到的页面上的位置。 + <code>manual</code>: 不还原页面上的位置,需要手动滚动。 js if (history.scrollRest
git commit报错: js npm ERR! could not determine executable to run npm ERR! A complete log of this run can be found in: 可以删除.git目录下的hooks目录 js m -rf .git/hooks npm install
安装brew时 shell /bin/bash -c "$(curl -fsSL https:raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)" 如果报错 shell HEAD is now at 8175e404e Merge pull request 7942 from sjackman/bottl