blog
blog copied to clipboard
记录工作与生活
### 首先来看一下 vue 提供的 nextTick api ```js Vue.nextTick( [callback, context] ) • 参数: ◦ {Function} [callback] ◦ {Object} [context] • 用法: 在下次 DOM 更新循环结束之后执行延迟回调。在修改数据之后立即使用这个方法,获取更新后的 DOM。 // 修改数据 • vm.msg =...
# 关系树的加载时间优化方案 ::祖源->基因寻踪入口->宗亲树 存在超长时间的加载问题。 大约在5-10秒之间。:: ## 存在的比较明显的问题 1. 加载时间慢 2. 每次进来都要加载 3. 没有loading等友好的提示信息缓解焦虑 ## 最初的方案猜想 - **前端缓存** 前端通过客户端存储实现缓存,通过 ::http协商缓存:: 修复数据更新问题。 - 优点: 投入成本相对较低 - 缺点: 无法解决第一次加载慢的问题 - **后端分片前端缓存** 后端将数据分片,前端使用并发,将数据进行拆分请求,客户端再聚合处理成整条数据。前端存储数据,通过后端diff文件 给出文件是否有更新...
Mongodb安装报错 ```https://repo.mongodb.org/yum/redhat/#releasever/mongodb-org/4.0/x86_64/repodata/repomd.xml: [Errno -1] Error importing repomd.xml for mongodb-org-4.0: Damaged repomd.xml file``` 解决方法: ```sudo rm -rf /etc/yum.repos.d/mongod*``` ```sudo yum clean all``` 然后重新创建源文件 ``` vim /etc/yum.repos.d/mongodb-org-4.0.repo [mongodb-org-4.0] name=MongoDB Repository baseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/4.0/x86_64/ gpgcheck=1...
## 倒计时函数 ### setTimeout和setInterval如何选择? javascript单线程的理解 setTimeout是延迟一定毫秒后执行,setInterval是每隔一定毫秒后执行。但是真相并不像这两句话一样简单。比如我们这个倒计时例子里该选哪一个作为定时调用呢? 首先我们都知道javascript是单线程执行的,所以以上这2个方法都是会被线程阻塞的。 比如setInterval延迟设置为1000,如果内部的执行是一个耗时超过1秒的操作,那么每次重复执行的时候会造成2个问题: 1,是执行被阻塞,预期是1000毫秒执行一次,实际上必须在阻塞结束后才执行。 2,阻塞时,setInterval回调会被堆积,当阻塞结束后,堆积只会被消费一个,那么之后的堆积等于浪费了性能和内存。 如何解决堆积问题呢?因为阻塞是不可能被解决的,那么最简单的方法就是把setInterval换成setTimeout,使用一个递归来造成每隔多久执行一次的功能。当然阻塞是无法被解决的,这里的阻塞不仅仅有回调中的,还有浏览器中的方方面面的阻塞,比如用户的一些操作行为,其他定时器等外部的阻塞,所以这也就是无论我们如何做,页面开久了,定时器都会不准,或者说,变慢的根本原因。 ```js const startStamp = 1571368820000 const endStamp = new Date("2019/10/18,11:20:30").getTime() const CountDown = { addZero: function(n) { var n...
## 简介 SEO是英文Search Engine Optimization的缩写,中文意译为“搜索引擎优化”。简单地说,SEO是指从自然搜索结果获得网站流量的技术和过程。 在某种意义上看,SEO是和搜索引擎博弈的过程。做SEO,虽然不需要会编程,也不需要了解搜索引擎的技术细节,但理解搜索引擎的基本工作原理是必需的,不然只能是知其然,而不知其所以然,不能从根本上理解SEO技巧。了解搜索引擎原理,很多看似“新”的问题都可以迎刃而解。 网站的优化包括站内和站外两部分。站内优化指的是站长能控制的所有网站本身的调整,如网站结构、页面HTML代码。站外优化指的是外部链接建设及行业社群的参与互动,这些活动不是在网站本身进行的。 SEO的研究对象是搜索引擎结果页面上的自然排名部分,通常在页面左侧,所以有百度左侧排名、Google左侧排名等说法,与付费的搜索广告没有直接关系。 获得和提高关键词自然排名是SEO效果的表现之一,但最终目的是获得搜索流量,没有流量的排名是没有意义的。因此,关键词研究(针对有人搜索的关键词优化)、文案写作(吸引用户点击)十分重要。进一步说,SEO追求的是目标流量,能最终带来赢利的流量。 网站的最终目标是完成转化,达到直接销售或品牌建设的目的。SEO、排名、流量都是手段。SEO是网络营销的一部分,遇到与用户体验、业务流程等有冲突的情况时,一切以完成最多转化为最高原则,切不可为SEO而SEO。 ## 为什么要做SEO 1. 虽然付费广告,社交媒体和其他在线平台可以产生网站访问量,但大多数在线访问量是由搜索引擎驱动的。 2. SEO也是免费的在线营销渠道,只要正确设置,它就可以随着时间的流逝继续派发红利。如果您提供了可靠的内容,值得对正确的关键字进行排名,那么您的访问量会随着时间的推移而滚滚而来,而广告需要持续的资金才能将访问量发送到您的网站。 3. 搜索流量质量高。其他方法是把网站推到用户眼前,用户本没有访问你的网站的意图。来自搜索的用户是在主动寻找你的网站,目标非常精准,转化率高。 4. 提高网站易用性,改善用户体验。SEO是很少的(如果不是唯一的话)必须修改网站才能实现的推广方法之一,而SEO对页面的要求很多是与易用性相通的。 ## 从哪里入手 ? **SEO人员没有必要也不可能解决百分之百的问题。一般来说,解决了最基本的问题,就解决了95%的SEO问题。** 这里所说的基本问题主要包括: - 整体方向的::关键词研究::。 - 网站结构及内部链接,解决收录问题。 -...
1. 通过chrome 访问 `chrome://flags/#allow-insecure-localhost` 2. 将高亮选项设置为enable
## 下载 apk https://www.python.org/downloads/ ## 修改终端配置  添加下面代码 到上图终端打开的文件中 `alias python="/Library/Frameworks/Python.framework/Versions/3.7/bin/python3.7"` 在终端中执行 `source ~/.bash_profile` ## 重启终端 输入 `python` 验证版本 
```html 代理模式-图片懒加载 var myImage = (function () { var imgNode = document.createElement('img'); document.body.appendChild(imgNode); return { setSrc: function (src) { imgNode.src = src; } } })(); var proxyImage = (function ()...
**当我们在终端执行 git ck 'branch' 的时候经常会补全一些很久没有用过的分支出来** 如图:  我们怎么清除这些本地已经删除,但是远程还存在的冗余分支呢。 `git remote show origin` 先查看所有分支情况  有两个关键提示 **tracked** 跟踪,追踪(track的过去式) **stale** 陈腐的;不新鲜的 后面跟了一个提示信息 `use 'git remote prune' to remove` ### 执行 `git remote...
fixed: 限制input输入 `maxlength = 6` 😁