DongYuanxin's Blog

《MongoDB实战》读书笔记-基础、编码和优化

这是阅读《MongoDB 实战》所做的,关于基础、编码和优化方面的读书笔记。 MongoDB 特性和介绍 1. 简介 MongoDB 的特点:扩展策略、直观的数据模型。在 mongodb 中,编程语言定义的对象能被“原封不变”地持久化,消除对象结构和程序映射的复杂性。 2. 主要特性 数据模型 关系型与正规化:对于关系型数据库,数据表本质上是扁平的,因此表示多个一对多关系就需要...

CSS3动画设计 - 字体特效

特效一览 划线动态: 背景高亮: 色块进出: 划线动态 原理 首先,利用::after和::before就可以画出上下两条线,所以只需要一个 dom 元素即可。 其次,对于鼠标移入的动画,要给上面两个伪元素设置:hover选择器。 最后是处理动画方向。我们以上面的线条为例,在鼠标移入的时候,是从右到左变化的。这里是通过设置transform-origin属性来修改...

redis热key,缓存穿透,击穿,集群等问题研究

with Hongkai Redis 主要用途有 2 个 数据缓存,减轻 db 的压力 数据同步,在分布式系统中各个实例的信息同步 redis 的 QPS 量通常相当的大,动辄百万 QPS,一般企业都需要很庞大的 redis 集群资源。由于 redis 的使用相当频繁,经常会出现各种问题。根据目前积累的线上经验,redis 出现问题第一步就是要想到:redis 是单进程单...

半年总结:面试、实习和生活总结

这周,完成了大学中的最后一门考试。下周,就要回公司继续写代码,算是一半社会人、一半学生仔。2019 上半年经历了很多事情,虽然放在大群体里面平淡无奇,但对于我个人来讲,还是别开生面、值得回味。 TEG 工作 今年,是在腾讯深圳飞亚达大厦自己跨年的。截至 3 月初离开 TEG,已经在那里待了半年有余。第一次接触 React 开发,第一次开发团队的 UI 组件库,第一次开发富文本编辑器,记忆...

剑指Offer JavaScript-树专题

重建二叉树 1. 题目描述 输入某二叉树的前序遍历和中序遍历的结果,请重建出该二叉树。 2. 解题思路 前序遍历的第一个元素一定是树的根结点 在中序遍历中找到此节点,左边是左子树,右边是右子树 根据左右子树的长度,再次划分两个序列,进一步递归 3. 代码 /** * 二叉树结点类 */ class Node { constructor(value,...

剑指Offer JavaScript-字符串专题

替换空格 1. 题目描述 请实现一个函数,把字符串中的每个空格替换成”%20”。 例如输入“We are happy.”,则输出“We%20are%20happy.”。 2. 解题思路 一种是正则表达式:直接使用正则表达式全局替换,这种方法取巧一些。 另一种是先计算出来替换后的字符串长度,然后逐个填写字符。这种方法的时间复杂度是$O(N)$。 3. 代码 /** * 用正则...

剑指Offer JavaScript-栈和队列专题

用两个栈实现队列 1. 题目描述 用两个栈实现一个队列。队列的声明如下: 请实现它的两个函数appendTail和deleteHead,分别完成在队列尾部插入结点和在队列头部删除结点的功能。 2. 解题思路 一个栈用来存储插入队列数据,一个栈用来从队列中取出数据。 从第一个栈向第二个栈转移数据的过程中:数据的性质已经从后入先出变成了先入先出。 3. 代码 class Queu...