图标
创作项目友邻自述归档留言
头像

Otstar Lin

站在时光一端,回忆过往记忆。

为Vuex添加同步Action

为什么要添加同步 Action? 在某些操作中,如获取内存中的数据时,需要立即返回对应的值,而 Vuex 的 Action 规定了只能返回一个 Promise,这时,如果我们想获取返回值就需要使用 then 或者 await,代码就会变得不直观,而如果触发 Mutation 再从...

浅谈B+树

前言 **B+树(B Plus Tree)**是 MySQL 数据库索引的底层数据结构,B+树也是一种平衡树和 AVL 树以及红黑树有着同样的性能,不用你说,我知道你肯定又个疑问,为什么数据库要使用 B+树作为数据库索引而不是其他平衡树呢?为什么需要使用 B+树呢?或许看完这篇文...

浅谈跳表

为什么使用跳表 **跳表是(skip list)**Redis 实现 sorted set 使用的数据结构,是一种平衡数据结构,其中常用的数据结构有:B 树,AVL 树,红黑树等,如果你了解过这些平衡结构,你或许会有个疑问,为什么要使用跳表?想象一下,给你一支笔,一张纸,一个编辑...

浅谈数据库索引

前言 提起索引我想你应该不陌生,当我们查阅一本大部头的时候我们应该如何快速的找到想要的内容呢?很简单,先找目录,通过目录我们就可以了解到我们要找的内容在书中的什么地方,而这个目录就担任着索引的功能。相同,数据库为了能快速的寻找到指定的数据必须要建立索引。对于少量的数据,没有合适的...

MySQL事务隔离

事务(Transaction)是由一系列对系统中数据进行访问与更新的操作所组成的一个程序执行逻辑单元。 或许这么说你可能难以理解,那我们举个经典例子来说明事务的用途吧: 用户 A 向用户 B 转账,我们需要进行以下操作:从 A 账号中把余额读出来。对 A 账号做减法操作。把结果写...

算法复杂度分析(1)

为什么需要算法复杂度分析,实际运行一遍然后收集运行的信息和统计不就可以了?这总事后分析的方法确实没有错,但是当环境发生变化,数据量发生变化,或者数据模型改变了,程序的执行效率就有可能发生巨大的改变,所以我们需要一种 粗略的 , 不需要具体测试数据 的估算程序执行效率的方法,而这种...

一年来的经验总结

自从进入大学已经接近一年的(还差几天),这一年中我从一个什么都不知道的小白变成了一个了解不多的菜鸡,写过许多谜之代码也写过几个垃圾项目,学过许多古董技术也用过一些神奇的东西或框架,这一年来我走过了不少弯路,浪费了不少时间,写这篇文章的目的是为了总结一下这一年的来走过的路和一年来的...

ace编辑器设置惯性滚动

上个月我写了 XK Editor 这个项目,使用了 ace 编辑器和 tinymce 编辑器作为基础编辑器,但是当项目进入适配移动端的时候,遇到了一个很头疼的问题,ace 编辑器不支持惯性滚动,用起来会非常变扭,于是便为之增加惯性滚动的功能。 原理 惯性滚动,即在触屏设备中滑动手...

上一页1...567...10下一页