心谭
码龄7年
关注
提问 私信
  • 博客:230,272
    社区:7,491
    237,763
    总访问量
  • 143
    原创
  • 638,272
    排名
  • 138
    粉丝
  • 0
    铁粉

个人简介:公众号搜索:「心谭博客」 专注前端与算法,一起 day day up!

IP属地以运营商信息为准,境内显示到省(区、市),境外显示到国家(地区)
IP 属地:山东省
  • 加入CSDN时间: 2017-06-05
博客简介:

GodBMW的博客

博客描述:
个人技术小站: https://godbmw.com 有兴趣便来看看, 我一直都在
查看详细资料
个人成就
  • 获得53次点赞
  • 内容获得39次评论
  • 获得338次收藏
创作历程
  • 7篇
    2020年
  • 29篇
    2019年
  • 49篇
    2018年
  • 60篇
    2017年
成就勋章
TA的专栏
  • 深入nodejs模块
    4篇
  • 剑指Offer·JS题解
    9篇
  • JavaScript
    10篇
  • 前端面试手记
    5篇
  • webpack 系列教程
    16篇
  • 每天一个设计模式
    10篇
  • NodeJS
    4篇
  • 云开发
    1篇
  • React
    1篇
  • 数据库
    4篇
  • Git 实战手册
    3篇
  • 算法与数学
    9篇
  • 网站搭建与运营
    5篇
  • UI设计
    4篇
创作活动更多

如何做好一份技术文档?

无论你是技术大神还是初涉此领域的新手,都欢迎分享你的宝贵经验、独到见解与创新方法,为技术传播之路点亮明灯!

180人参与 去创作
  • 最近
  • 文章
  • 代码仓
  • 资源
  • 问答
  • 帖子
  • 视频
  • 课程
  • 关注/订阅/互动
  • 收藏
搜TA的内容
搜索 取消

深入Nodejs模块fs - 文件系统操作

node 的fs文档密密麻麻的 api 非常多,毕竟全面支持对文件系统的操作。文档组织的很好,操作基本分为文件操作、目录操作、文件信息、流这个大方面,编程方式也支持同步、异步和 Promise。本文记录了几个文档中没详细描写的问题,可以更好地串联fs文档思路:文件描述符同步、异步与 Promise目录与目录项文件信息stream???? 关注公众号“心谭博客” / ???? 前往 xxo...
原创
发布博客 2020.01.29 ·
443 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

有趣的NodeJS模块 - os

读了 os 模块的文档,研究了几个有意思的问题:???? 识别操作系统平台???? 理解和计算“平均负载”???? 理解和计算“cpu 使用率”???? 理解和计算“内存使用率”???? 查看运行时间???? 关注公众号“心谭博客” / ???? 查看原文: xxoo521.com / 欢迎交流和指正识别操作系统平台nodejs 提供了os.platform()和os.type(),可以用来识别操作系统平台。推荐...
原创
发布博客 2020.01.19 ·
646 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

有趣的NodeJS模块 - Buffer

Buffer 作为 nodejs 中重要的概念和功能,为开发者提供了操作二进制的能力。本文记录了几个问题,来加深对 Buffer 的理解和使用:认识缓冲器如何申请堆外内存如何计算字节长度如何计算字节长度如何转换字符编码理解共享内存与拷贝内存???? 关注公众号“心谭博客” / ???? 查看原文: xxoo521.com / 欢迎交流和指正认识 Buffer(缓冲器)Buffer ...
原创
发布博客 2020.01.18 ·
456 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

有趣的Nodejs模块之events

读了 events 模块的文档,研究了几个有意思的问题:????️ 事件驱动模型????️ 优雅的错误处理????️ 监听器器队列顺序处理????️ 内存管理与防止泄漏引用/转载 请声明出处:原文链接: xxoo521.com事件驱动模型Nodejs 使用了一个事件驱动、非阻塞 IO 的模型。events模块是事件驱动的核心模块。很多内置模块都继承了events.EventEmitter。自己无需...
原创
发布博客 2020.01.10 ·
316 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

剑指offer - 二进制中1的个数 - JavaScript

专注前端与算法的系列干货分享,欢迎关注(¬‿¬):「微信公众号:心谭博客」| xxoo521.com | GitHub题目描述输入一个整数,输出该数二进制表示中 1 的个数。其中负数用补码表示。解法 1: 判断每一位依次判断数字的每一位,统计其中 1 的数量。整体思路如下:数字先和 1 相与,结果为 0 说明改位是 1,结果为 1 说明该位是 1将 1 左移一位,再和数字相与。...
原创
发布博客 2020.01.02 ·
240 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

剑指offer - 青蛙跳台阶 - JavaScript

专注前端与算法的系列干货分享,欢迎关注(¬‿¬):「微信公众号:心谭博客」| xxoo521.com | GitHub题目描述一只青蛙一次可以跳上 1 级台阶,也可以跳上 2 级。求该青蛙跳上一个 n 级的台阶总共有多少种跳法(先后次序不同算不同的结果)。解法 1: 斐波那契数列这题其实就是在求斐波那契数列。理解起来也很简单。假设跳到 n 级台阶有 f(n)种方法。根据题目,青蛙在跳...
原创
发布博客 2020.01.02 ·
284 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

剑指offer - 斐波那契数列 - JavaScript

专注前端与算法的系列干货分享,欢迎关注(¬‿¬):「微信公众号:心谭博客」| xxoo521.com | GitHub题目描述大家都知道斐波那契数列,现在要求输入一个整数 n,请你输出斐波那契数列的第 n 项(从 0 开始,第 0 项为 0)。n<=39。解法 1: 数学定义根据数学定义:f(n) = f(n - 1) + f(n - 2)。最初始情况是f(0) = 0和f(1...
原创
发布博客 2020.01.02 ·
327 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

剑指offer-旋转数组的最小数字-JavaScript

题目描述把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转。输入一个非递减排序的数组的一个旋转,输出旋转数组的最小元素。例如数组{3,4,5,1,2}为{1,2,3,4,5}的一个旋转,该数组的最小值为 1。NOTE:给出的所有元素都大于 0,若数组大小为 0,请返回 0。解法 1:暴力法遍历一次,直接找到比较出最小的数字。时间复杂度是 O(N),空间复杂度是 O(1)。...
原创
发布博客 2019.12.28 ·
220 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

剑指offer - 用两个栈(队列)实现队列(栈) - JavaScript

专注前端与算法的系列干货分享,欢迎关注(¬‿¬):「微信公众号:心谭博客」| xxoo521.com | GitHub题目描述用两个栈来实现一个队列,完成队列的 Push 和 Pop 操作。 队列中的元素为 int 类型。解法 1: 利用栈的特性栈的特性是:后入先出。根据题目提示,使用 2 个栈即可。一个栈inStack用来存储插入队列的数据,一个栈outStack用来从队列中取出数...
原创
发布博客 2019.12.25 ·
620 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

剑指offer - 重建二叉树 - JavaScript

题目描述输入某二叉树的前序遍历和中序遍历的结果,请重建出该二叉树。假设输入的前序遍历和中序遍历的结果中都不含重复的数字。例如输入前序遍历序列{1,2,4,7,3,5,6,8}和中序遍历序列{4,7,2,1,5,3,8,6},则重建二叉树并返回。解法 1: 递归首先前序/后序遍历 + 中序遍历可以重建二叉树。题目考察的就是前序+中序来重建二叉树,后序+中序的思路是类似的。例子与思路假设有二...
原创
发布博客 2019.12.21 ·
197 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

剑指offer - 从尾到头打印链表 - JavaScript

题目描述输入一个链表,按链表从尾到头的顺序返回一个 ArrayList。解法 1: 栈题目要求的是从尾到头。这种“后进先出”的访问顺序,自然想到了用栈。时间复杂度 O(N),空间复杂度 O(N)。// ac地址:https://www.nowcoder.com/practice/d0267f7f55b3412ba93bd35cfa8e8035// 原文地址:https://xxoo52...
原创
发布博客 2019.12.21 ·
180 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

剑指offer - 二维数组中的查找 - JavaScript

题目描述在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。解法 1:暴力法遍历数组中的所有元素,找到是否存在。时间复杂度是 O(N^2),空间复杂度是 O(1)// ac地址:https://www.nowcoder.com/practice/ab...
原创
发布博客 2019.12.20 ·
206 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

剑指offer - 替换空格 - JavaScript

题目描述请实现一个函数,将一个字符串中的每个空格替换成“%20”。例如,当字符串为 We Are Happy.则经过替换之后的字符串为 We%20Are%20Happy。解法 1:正则表达式第一反应肯定正则表达式,在真正项目中,肯定也会选用正则来做匹配和替换。// ac地址:https://www.nowcoder.com/practice/4060ac7e3e404ad1a894ef3e...
原创
发布博客 2019.12.20 ·
223 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

「超全」手写Promise的相关方法

原文发布在:手写Promise的相关方法。摘要Promise 作为 JS 社区的异步解决方案,为开发者提供了.then()、Promise.resolve()、Promise.reject()等基本方法。除此之外,为了更方便地组合和控制多个的 Promise 实例,也提供了.all()、.race()等方法。本文会在 Promise 的基本方法上,手动实现更高级的方法,来加深对 Promis...
原创
发布博客 2019.12.13 ·
295 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

一文说清「VirtualDOM」的含义与实现

本文来自《一文说清VirtualDOM的含义与实现》,如果觉得不错,欢迎给Star Github仓库。摘要随着 React 的兴起,Virtual DOM 的原理和实现也开始出现在各大厂面试和社区的文章中。其实这种做法早在 d3.js 中就有实现,是 react 生态的快速建立让它正式进入了广大开发者的视角。在正式开始前,抛出几个问题来引导思路,这些问题也会在不同的小节中,逐步解决:????️...
原创
发布博客 2019.11.30 ·
271 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

《MongoDB实战》读书笔记

在国庆前后看了《MongoDB实战》,结合上半年工作中的云数据库的工作和自己使用mongo的一些的经验,做一下总结。本文来自「心谭博客」的《基础、编码和优化》和《进阶:索引、复制和分片》,更多文章放在了Github仓库。欢迎Star。MongoDB特性和介绍1. 简介MongoDB的特点:扩展策略、直观的数据模型。在mongodb中,编程语言定义的对象能被“原封不变”地持久化,消除对象...
原创
发布博客 2019.10.12 ·
386 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

前端动画专题(三):撩人的按钮特效

本文来自「心谭博客」的《动画设计·按钮特效》,更多文章放在了Github欢迎交流和Star特效一览滑箱:果冻:脉冲:闪光:气泡:滑箱特效效果图原理因为 button 元素可以使用 before/after 伪元素,所以借助伪元素,可以实现动态图中的遮盖层。为了避免回流重绘,滑箱的运动方向是垂直方向,所以使用scaleY属性。对于动画的方向,需要借助trans...
原创
发布博客 2019.08.02 ·
747 阅读 ·
2 点赞 ·
1 评论 ·
12 收藏

前端动画专题(二):输入框特效

本文来自「心谭博客」的《动画设计·输入框特效》,更多文章放在了Github欢迎交流和Star特效一览划线动态:动态边框:划线动态效果图原理和代码:before 和 :after伪元素指定了一个元素文档树内容之前和之后的内容。由于input标签不是可插入内容的容器。所以这里下划线无法通过伪元素来实现。需要借助其他 dom 节点。<div> <inpu...
原创
发布博客 2019.07.31 ·
524 阅读 ·
0 点赞 ·
0 评论 ·
2 收藏

CSS动画设计专题(一):字体特效

本文来自《动画设计·字体特效》,更多文章放在了Github欢迎交流和Star特效一览划线动态:背景高亮:色块进出:划线动态效果图原理首先,利用::after和::before就可以画出上下两条线,所以只需要一个 dom 元素即可。其次,对于鼠标移入的动画,要给上面两个伪元素设置:hover选择器。最后是处理动画方向。我们以上面的线条为例,在鼠标移入的时候,是从右到...
原创
发布博客 2019.07.29 ·
1228 阅读 ·
0 点赞 ·
0 评论 ·
6 收藏

深入koa源码(二):核心库原理

最近读了 koa2 的源码,理清楚了架构设计与用到的第三方库。本系列将分为 3 篇,分别介绍 koa 的架构设计和 3 个核心库,最终会手动实现一个简易的 koa。这是系列第 2 篇,关于 3 个核心库的原理。本文来自《心谭博客·深入koa源码:核心库原理》所有系列文章都放在了Github。欢迎交流和Star ✿✿ ヽ(°▽°)ノ ✿is-generator-function:判断 ge...
原创
发布博客 2019.06.24 ·
226 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏
加载更多