6 星河子_YumWisdom

尚未进行身份认证

我要认证

菩提本无树,明镜亦非台。 本来无一物,何处惹尘埃。

等级
TA的排名 990

面试官:怎么改进哈希算法实现负载均衡的扩展性和容错性?我:...

面试官:怎么改进哈希算法实现负载均衡的扩展性和容错性?什么是哈希算法数据结构中我们学习过哈希表也称为散列表,我们来回顾下散列表的定义。散列表,是根据键直接访问在指定储存位置数据的数据结构。通过计算一个关于键的函数也称为哈希函数,将所需查询的数据映射到表中一个位置来访问记录,加快查找速度。这个映射函数称做「散列函数」,存放记录的数组称做散列表。散列函数能使对一个数据序列的访问过程更加迅速有效,是一种空间换时间的算法,通过散列函数数据元素将被更快定位。下图示意了字符串经过哈希函数映射到.

2020-08-08 17:27:10

前端面试:你应该了解的JS算法相关的知识 

前端面试:你应该了解的JS算法相关的知识时间复杂度通常使用最差的时间复杂度来衡量一个算法的好坏。常数时间 O(1) 代表这个操作和数据量没关系,是一个固定时间的操作,比如说四则运算。对于一个算法来说,可能会计算出如下操作次数aN + 1,N代表数据量。那么该算法的时间复杂度就是 O(N)。因为我们在计算时间复杂度的时候,数据量通常是非常大的,这时候低阶项和常数项可以忽略不计。当然可能会出现两个算法都是 O(N) 的时间复杂度,那么对比两个算法的好坏就要通过对比低阶项和常数项了。...

2020-08-08 16:40:00

JS 数据结构之旅 :通过JS实现栈、队列、二叉树、二分搜索树、AVL树、Trie树、并查集树、堆

JS 数据结构之旅栈概念栈是一个线性结构,在计算机中是一个相当常见的数据结构。栈的特点是只能在某一端添加或删除数据,遵循先进后出的原则实现每种数据结构都可以用很多种方式来实现,其实可以把栈看成是数组的一个子集,所以这里使用数组来实现class Stack { constructor() { this.stack = [] } push(item) { this.stack.push(item) } pop() { t...

2020-08-08 16:28:43

Git使用中关于rebase 、stash 、reflog、reset的一些注意点

Git使用中关于rebase 、stash 、reflog、reset的一些注意点本文不会介绍 Git 的基本操作,会对一些高级操作进行说明。rebase 合并该命令可以让和merge命令得到的结果基本是一致的。通常使用merge操作将分支上的代码合并到master中,分支样子如下所示使用rebase后,会将develop上的commit按顺序移到master的第三个commit后面,分支样子如下所示Rebase 对比 merge,优势在...

2020-08-08 16:18:58

从UDP/TCP到HTTP/HTTP2,弄清楚网络层面上应该了解的知识。

前端面试知识: 从UDP/TCP到HTTP/HTTP2,弄清楚网络层面上应该了解的知识UDP协议面向报文UDP 是一个面向报文(报文可以理解为一段段的数据)的协议。意思就是 UDP 只是报文的搬运工,不会对报文进行任何拆分和拼接操作。具体来说在发送端,应用层将数据传递给传输层的 UDP 协议,UDP 只会给数据增加一个 UDP 头标识下是 UDP 协议,然后就传递给网络层了 在接收端,网络层将数据传递给传输层,UDP 只去除 IP 报文头就传递给应用层,不会任何拼接操作不可靠性.

2020-08-08 16:10:59

CSS性能优化:可以试一试内联CSS?

CSS性能优化:可以试一试内联CSS?在互联网的早期,网站主要用于显示基于文本的信息。慢慢地,我们的连接速度得到了提高,用户能够相当快地下载高分辨率图像和视频。现在,网站做的不仅仅是以文本形式提供必要的信息。随着CSS和JavaScript框架、插件的很多等等,网站变得越来越复杂。在播放所有这些操作后,加载所有这些所需的所有文件可能需要一些时间。更快的网站可以带来更好的用户体验,这可以使一个网站的成功产生巨大的变化。开发人员可以做什么来开始改进性能?开发人员可以做的一件事非常有帮助,就是内联关.

2020-08-07 23:02:04

Vue性能优化:图片与组件,如何实现按需加载?

Vue性能优化:图片与组件,如何实现按需加载?前沿:按需加载是性能优化其中的一个环节,可以是图片的按需加载,也就是lazyload来实现按需加载的场景,也可以是组件库的引入,只需部分组件的使用而无需全局引入整个组件库的场景,又可以是路由的按需加载,当路由被访问的时候才加载对应组件的场景,以此来实现更高效率的使用等等,本文把“懒加载”也划分为按需加载1.图片按需加载场景:当一个页面存在需要多个图片加载的场景时,可以通过我们经常看到的所谓“懒加载”,当滑动到图片相应的位置时再...

2020-08-07 22:51:18

你不知道的 20+ Chrome Devtools 技巧!

你不知道的20+ Chrome Devtools技巧!谷歌Chrome是目前开发者使用的最流行的网络浏览器之一。根据StatCounter的统计,截至2019年9月,谷歌Chrome浏览器在全球拥有63.72%的浏览器市场份额。Chrome DevTools 可帮助您在浏览器中开发、测试和调试网站,从而极大地改善您的工作流程。你们许多人可能定期使用ChromeDevTools,但请查看这些额外的提示和技巧,以提高您的工作效率。什么是谷歌开发工具 ?C...

2020-08-07 19:15:40

做前端性能优化,还不知道什么是Preload、Prefetch、Preconnect、Prerendering,你就out了?

做前端性能优化,还不知道什么是Preload、Prefetch、Preconnect?今天,我们将探讨当前的资源提示和指令,这是提高网站或 Web 应用程序性能的另一种好方法。您可能听说过Preload、Prefetch、Preconnect,但我们将会更加深入地了解它们之间的不同之处,以及如何从中获的性能提升。这些优点是,它们允许 Web 开发人员在用户浏览页面时优化资源交付、减少往返行程和获取资源以更快地交付内容。preload预加载是一种新的 Web 标准,它提供了对当前导航获..

2020-08-07 18:42:50

Dns-prefetch DNS 预解析优化页面加载速度

Dns-prefetch DNS 预解析优化页面加载速度浏览器访问一个链接时并不是直接将请求到网页对应的服务器上,而是先要做域名解析——将域名解析到网页对应的服务器 ip 地址,然后浏览器才能和服务器之间建立起通信交互,其过程大致如下图所示:做域名解析就要访问域名服务器(在没有缓存缓存的情况下),这就会出现网路开销,开销的大小新取决于你的 dns 服务器和你的距离,一般要要几十毫秒到几百毫秒之间,请求的域名比较少的时候可能对用户来说无感知,单请求的域名多了,尤其是请求之间有先后顺序,那延迟.

2020-08-07 17:57:06

如何让网站加载速度变快

如何让网站加载速度变快从刚学前端开始就开始折腾博客,一直在尝试如何让博客访问变快,本文总结了一些从前端的角度让站点打开速度变快的方案。这里的网站加载速度,指的是从输入地址栏,到页面完整展示整个页面的过程,包括加载HTML文档、加载页面静态资源等过程。参考首屏时间从12.67s到1.06s,我是如何做到的? 你必须懂的前端性能优化 《HTTP权威指南》读书笔记提前请求可以把一些资源提前准备好,当访问页面时就可以加快加载速度。DNS预解析DNS查询也是需...

2020-08-07 17:53:30

内存还剩余很多,却使用 swap 分区

内存还剩余很多,却使用 swap 分区原因今天早上 AI 部门工程师来找我说,你会给 ubuntu 设置 swap 分区吗,我们机器内存好像不咋够用了,给我搞个 swap 分区吧!我说好的,这么简单分分钟钟的事情,我三下五除二的就给他搞定了,给他说好了,你用吧,但是过一会他就跑来说,你给我弄好 swap 分区之后这台机器就特别特别卡,你能帮我看看什么问题吗?排查我登录到机器上,查看机器内存free -h结果如下图从结果可以看出来,机器在内存还剩 148G 但是 sw...

2020-07-27 15:50:00

如何使用Tree-shaking减少代码构建体积

如何使用Tree-shaking减少代码构建体积前言在实际配置Webpack过程中总会遇到一些坑,Tree-shaking就是其中之一,按照教程中一步步配置,你会发现配了半天还是不生效,本文 就是为了解决这个问题而写,希望看到这篇文章的同学能少走一些弯路。什么是Tree-shakingTree-shaking是Webpack用来删除冗余代码的一种手段,那冗余代码又是指什么,请看以下代码:// ~index.jsimport { foo } from './content...

2020-08-07 14:06:25

探索HTTP传输中gzip压缩的秘密

探索HTTP传输中gzip压缩的秘密为什么要开启gZip我们给某人发送邮件时,我们在传输之前把自己的文件压缩一下,接收方收到文件后再去解压获取文件。这中操作对于我们来说都已经司空见惯。我们压缩文件的目的就是为了把传输文件的体积减小,加快传输速度。我们在http传输中开启gZip的目的也是如此,但是一般文章介绍gZip时候总是结合一些服务端配置(nginx)或者构建工具插件(webpack)来说,列出一大堆配置让人看的云里雾里,以至于到最后还没搞懂为什么用,怎么用这些问题。...

2020-08-07 12:21:44

Git 原理详解及实用指南

Git 原理详解及实用指南什么是版本控制系统(VCS)很多人认为 Git 难以理解的第一个门槛在于:所谓的「Git 是一个分布式版本控制系统」这句话的具体含义不够清楚。其实分布式版本控制系统(Distributed Version Control System - DVCS)这个定义并不难,不过一步一步来,我先告诉你,什么是版本控制系统(Version Control System - VCS)。版本控制:最基本功能版本控制系统(VCS)最基本的功能是版本控制。所谓版本控制,意思就是.

2020-08-04 11:31:21

Nginx代理连接Redis失败

Nginx代理连接Redis失败遇到了一个客户端连接Redis总是失败的问题,由于是通过nginx代理连接的,又尝试不通过nginx代理连接直接连接redis地址,不过连接很不稳定,不时就断了。因为这部分配置跑了一年多了,也没想到是nginx的问题,各种排查网络情况,弄了半天也没有个结论。顺手看了一眼nginx的error日志,发现了新大陆。。。看来正式环境的nginx的error日志加上的必要性还是非常非常的大的。nginx的错误日志如下:2020/03/31 16:02.

2020-07-21 21:17:14

Vue项目构建开发入门

开篇:Vue CLI 3 项目构建基础大家好,当你点进这个标题,开始阅读本章的时候,说明你对 Vue.js 是充满好奇心和求知欲的。我之前写过一篇文章,这样评价 Vue.js,称它是“简单却不失优雅,小巧而不乏大匠”的作品,正如其官网介绍的“易用,灵活和高效”那样。其实框架是 Vue.js 的本质,而真正了解它的人则会把它当成一件作品来欣赏。Vue.js 作为一门轻量级、易上手的前端框架,从入门难度和学习曲线上相对其他框架来说算是占据优势的,越来越多的人开始投入 Vue.js 的怀抱,走进 Vue.js

2020-08-03 20:49:28

《机器学习训练秘籍》中文版58章节 完整开源 吴恩达

资源 | 吴恩达《机器学习训练秘籍》中文版58章节完整开源2019-10-15 17:50:23AI科技大本营阅读数 1226原文链接:https://bss.csdn.net/m/zone/bdtc2019?utm_source=aicamp整理 | Jane出品 | AI科技大本营(ID:rgznai100)一年前,吴恩达老师的《Machine Lea...

2020-08-03 19:10:34

Taro多端开发实现原理与项目实战(二)

Taro多端开发实现原理与项目实战(二)多端电商平台项目概述及开发准备学习了前面的基础知识和进阶后是否跃跃欲试?我们准备了一个电商平台的项目来和大家一起实践使用 Taro 开发电商平台。项目概述电商平台可以看到的部分大致分为三个方面:信息服务(商详、商品列表)、交易(下单、购物车)及支付(微信、支付宝)。电商品台应用非常广泛,大型的商家入驻平台如淘宝、天猫、京东,中型的自营电商、垂直电商为主如小米商城、华为商城、美的商城,小型如小红书。电商平台背后的商品管理系统、仓储系统、物流系统、统.

2020-08-03 18:55:25

Taro多端开发实现原理与项目实战(一)

Taro 多端开发实现原理与项目实战前端多端统一开发背景与趋势介绍背景「大前端」不仅会成为移动开发与 Web 前端的发展趋势,也会是未来的显示设备终端的开发技术趋势?越来越多的业内人士对此表示肯定,因为终端碎片化和 Serverless 让这一切看起来更加可信。终端碎片化顾名思义就是指终端越来越多样,比如 Apple Watch 手表、智能 TV、VR 眼镜等等。这些终端就和智能手机一样,支持第三方应用的嵌入。Serverless 字面意思是无服务架构,实际就是指用新的架构去代替..

2020-08-03 16:58:50

查看更多

勋章 我的勋章
  • GitHub
    GitHub
    绑定GitHub第三方账户获取
  • 脉脉勋章
    脉脉勋章
    绑定脉脉第三方账户获得
  • 签到新秀
    签到新秀
    累计签到获取,不积跬步,无以至千里,继续坚持!
  • 阅读者勋章Lv1
    阅读者勋章Lv1
    授予在CSDN APP累计阅读博文达到3天的你,是你的坚持与努力,使你超越了昨天的自己。
  • 专栏达人
    专栏达人
    授予成功创建个人博客专栏的用户。专栏中添加五篇以上博文即可点亮!撰写博客专栏浓缩技术精华,专栏达人就是你!
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
  • 1024勋章
    1024勋章
    #1024程序员节#活动勋章,当日发布原创博客即可获得
  • 勤写标兵Lv4
    勤写标兵Lv4
    授予每个自然周发布9篇以上(包括9篇)原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。
  • 学习力
    学习力
    《原力计划【第二季】》第一期主题勋章 ,第一期活动已经结束啦,小伙伴们可以去参加第二期打卡挑战活动获取更多勋章哦。
  • 原力新人
    原力新人
    在《原力计划【第二季】》打卡挑战活动中,成功参与本活动并发布一篇原创文章的博主,即可获得此勋章。
  • 原力探索 · S
    原力探索 · S
    在《原力计划【第二季】》打卡挑战活动中,发布 12 篇原创文章参与活动的博主,即可获得此勋章。(本次活动结束后统一统计发放)
  • 分享宗师
    分享宗师
    成功上传21个资源即可获取