WEB-
FALSE
首页
前端
后端
移动端
数据库
AI
计算机
程序员
资源
我要分享
登录
最新
Node.js的底层原理
Node.js
前言:本文根据最近做的一次分享整理而成,希望能帮忙大家深入理解Node.js的一些原理和实现。大家好,我是一名Node.js爱好者,今天我分享的主题是Node.js的底层原理。在大前端的趋势下,Node.js不仅拓展了前端的技术范围,同时,扮演的角色也越来越重要,深入了解和理解技术的底层原理,才能更好地为业务赋能。今天分享的内容主要分为两大部分,第一部分是Node.js的基础和架构,第二部分是Node.js核心模块的实现。一 Node.js基础和架构Node.js的组成 Node.js代码架构 Node.js启动过程 Node.js事件循环二 Node.js核心模块的实
webfalse
2021-06-19
1112
前端开发
JavaScript
Node.js
RabbitMQ由浅入深入门全总结(二)
RabbitMQ
阅读目录6.2.1 应用场景6.2.2 实现方式6.4.1.1 confirm 确认模式6.4.1.2 return 退回模式6.4.2.1 ack 确认机制 写在最前面 距离上一次发文章已经很久了,其实这段时间一直也没有停笔,只不过在忙着找工作还有学校结课的事情,重新弄了一下博客,后面也会陆陆续续会把文章最近更新出来~ 这篇文章有点长,就分了两篇 PS:那个Github上Java知识问答的文章也没有停笔,最近也会陆续更新 文章目录: RabbitMQ由浅入深入门全总结(一) RabbitMQ由浅入深入门全总结(二) 6. 进阶补充 6.1 过期时间设置(TT
webfalse
2021-06-17
708
RabbitMQ
RabbitMQ由浅入深入门全总结(一)
RabbitMQ
阅读目录1.1.1.1 什么是集中式系统1.1.12 什么是分布式系统1.2.1.1 业务解耦1.2.1.2 削峰填谷2.1.2.1 命令小结2.2.2.1 步骤2.2.2.2 Docker 常见命令2.2.3.1 一步一步安装2.2.3.2 一句话安装3.1.1.1 网络协议的三要素4.2.1.1 如何理解4.2.1.2 代码实现4.2.2.1 如何理解4.2.2.2 代码实现4.2.3.1 如何理解4.2.3.2 代码实现4.2.4.1 如何理解4.2.4.2 代码实现4.2.5.1 如何理解4.2.5.2 代码实现5.1.2.1 轮询模式5.1.2.2 公平模式(按能力分配) 写在
webfalse
2021-06-15
861
RabbitMQ
00后程序员摸爬滚打近一年,为学弟学妹们总结出了以下 8 条人生建议(建议收藏)
程序员
前言 各位学弟学妹们大家好,我是一名出生于千禧年的00后程序员,因为个人极特殊原因,现已毕业并在职场中摸爬滚打一年。在社会近一年的不断探索中,让我明白了很多人生哲理,看透了很多人间现实。借助这次分享,我梳理了以下几个方面的主题内容,希望对你们有所帮助,在前往优秀的道路上少走弯路。 文章目录 前言1、重视底层基础能力2、学会打造自己的知识体系
webfalse
2021-05-17
748
Electron 生命周期介绍
Electron
常见应用都有启动、激活、关闭这些事件,Electron 作为一个跨平台的 GUI 框架,为了兼顾不同的场景,需要的事件就会更多。如果想要更深入的了解 Electron 整个生命周期的流程,需要对应用生命周期,窗口的生命周期以及页面内的生命周期的时机有一个清晰的理解。一图胜千言:一、应用启动退出的事件介绍这里把这些事件分成三部分,App 事件、BrowserWindow 事件以及 Renderer 进程中的 Web 事件。这些都是对官方文档的整理和实际的经验总结的:1. App 事件介绍事件:will-finish-launching返回:event: Event在 Windows/Linux
webcontainer
2021-02-24
753
Electron
跨平台
图形用户界面
跨地域场景下,如何解决分布式系统的一致性?
计算机网络
简介:跨地域,即常说的“异地双活”、“异地多活”中的异地概念。在业务发展较快的情况下,我们的服务便需要跨地域部署,以满足各区域就近访问和跨地域容灾等需求,在此过程中,不可避免会涉及到跨地域下的分布式一致性问题。由跨地域所带来的网络延迟问题,以及由于网络延迟而衍生的一系列问题,对于设计和构建一个跨地域分布式一致性系统是极大的挑战,业界有很多针对此问题的解决方案,都希望能解决跨地域场景下的一致性问题。一 跨地域需求和挑战1 需求跨地域问题是在集团全球化战略下,业务快速发展带来的挑战。像是淘宝单元化业务,或是AliExpress区域化业务,都有一个无法回避的问题——数据跨区域读写一致性。其核心
webcontainer
2021-01-20
632
存储技术
监控
前端开发
解读容器的 2020:寻找云原生的下一站
计算机
作者 | 张磊 来源|阿里巴巴云原生公众号 2020 年注定是不凡的。它在阴霾中开始,在惊叹中结束,也让未来变得更加扑朔迷离。那么,容器与云原生的 2020 年呢?你是否记得它是怎样开始的?它又将走向何方? Kubernetes:企业基础设施的标准抽象 在 2020 年,没有人再会去质疑一个平台团队采纳 Kubernetes 作为自己的基础设施的合理性。事实上,2020 年的 Kubernetes 项目已经非常接近于地完成了它最重要的使命,即:为云计算基础设施带来一层可以让平台团队基于此构造“一切”的平台层抽象。 我们已经能够看到,今天的云原生社区已经开始广泛认可 Kuber
geekshare
2021-01-15
1226
容器
云原生
2021十大科技趋势来了!阿里巴巴达摩院全新发布
AI
阿里巴巴达摩院发布2021十大科技趋势,这是达摩院成立三年以来第三次发布年度科技趋势。2020年是不平凡的一年,经历疫情的洗礼,许多行业重启向上而生的螺旋,但疫情并未阻挡科技前进的脚步,量子计算、基础材料、生物医疗等领域的一系列重大科技突破纷至沓来。后疫情时代,基础技术及科技产业将如何发展,达摩院为科技行业提供了全新预测。
webcontainer
2020-12-29
643
科技趋势
达摩院
速度提高几百倍,记一次数据结构在实际工作中的运用
数据结构
这段时间写了一堆源码解析,这篇文章想换换口味,跟大家分享一个我工作中遇到的案例。毕竟作为一个打工人,上班除了摸鱼看源码外,砖还是要搬的。本文会分享一个使用恰当的数据结构来进行性能优化,从而大幅提高响应速度的故事,提高有几百倍那么多。 事情是这样的,我现在供职一家外企,我们有一个给外国人用的线下卖货的APP,卖的商品有衣服,鞋子,可乐什么的。某天,产品经理找到我,提了一个需求:需要支持三层的产品选项。听到这个需求,我第一反应是我好像没有见到过三层的产品选项,毕竟我也是一个十来年的资深剁手党,一般的产品选项好像最多两层,比如下面是某电商APP一个典型的鞋子的选项: 这个鞋子就是两层产品
geekshare
2020-11-24
740
数据结构
还不懂Redis?看完这个故事就明白了!
Redis
我是Redis 你好,我是Redis,一个叫Antirez的男人把我带到了这个世界上。 说起我的诞生,跟关系数据库MySQL还挺有渊源的。 在我还没来到这个世界上的时候,MySQL过的很辛苦,互联网发展的越来越快,它容纳的数据也越来越多,用户请求也随之暴涨,而每一个用户请求都变成了对它的一个又一个读写操作,MySQL是苦不堪言。尤其是到“双11”、“618“这种全民购物狂欢的日子,都是MySQL受苦受难的日子。 据后来MySQL告诉我说,其实有一大半的用户请求都是读操作,而且经常都是重复查询一个东西,浪费它很多时间去进行磁盘I/O。 后来有人就琢磨,是不是可以学学CPU,给数据
geekshare
2020-09-14
1091
Redis
解Bug之路-Nginx 502 Bad Gateway
Linux
解Bug之路-Nginx 502 Bad Gateway 前言 事实证明,读过Linux内核源码确实有很大的好处,尤其在处理问题的时刻。当你看到报错的那一瞬间,就能把现象/原因/以及解决方案一股脑的在脑中闪现。甚至一些边边角角的现象都能很快的反应过来是为何。笔者读过一些Linux TCP协议栈的源码,就在解决下面这个问题的时候有一种非常流畅的感觉。 Bug现场 首先,这个问题其实并不难解决,但是这个问题引发的现象倒是挺有意思。先描述一下现象吧, 笔者要对自研的dubbo协议隧道网关进行压测(这个网关的设计也挺有意思,准备放到后面的博客里面)。先看下压测的拓扑吧: 为了压测笔
geekshare
2020-07-31
1310
Nginx
PWA技术理论+实战全解析
前端
导读随着互联网技术的发展,web应用已经越来越流行,技术的发展越来越迅速,尤其是移动互联网的到来使得HTML5技术,Hybrid混合开发,更加火爆起来,但是web应用没能摆脱PC时代的一些根本性的问题,所需的资源依赖网络下载,用户体验始终要依赖浏览器,这让web应用和Native应用相比尤其在移动手机端的体验,总让人感觉"不正规",而PWA技术的到来,让下一代web应用终于步入正轨!基于此,本文主要有以下几部分内容:PWA基本概念讲解Service Worker原理讲解Web Push协议讲解将一个SPA项目改造为PWAmanifest.json配置解析Service Worker资源缓存添加
webcontainer
2020-05-29
808
渐进式网络应用程序(PWA)
HTML5 应用
网页应用
CPU瞒着内存竟干出这种事
操作系统
还记得我吗,我是阿Q,CPU一号车间的那个阿Q。 今天忙里偷闲,来到厂里地址翻译部门转转,负责这项工作的小黑正忙得满头大汗。 看到我的到来,小黑指着旁边的座椅示意让我坐下。 坐了好一会儿,小黑才从工位上忙完转过身来,“实在不好意思阿Q,今天活太多,没来得及招待你” “刚忙什么呢,看你满头大汗的”,我问道。 “嗨,别提了,老是发现内存页面错误,不停地要通知操作系统那边去处理,真是怀念以前啊,没有这么多破事儿要管”,小黑叹了口气。 我一听来了兴趣,“小黑你给我说说你们的工作呗,地址翻译是怎么一回事儿,为什么怀念以前呢?” 小黑调整了下坐姿,咕噜咕噜喝了几口水说道,“这话说
geekshare
2020-05-15
688
CPU
不要把异常当做业务逻辑,这性能可能你无法承受
Java
一:背景 1. 讲故事 在项目中摸爬滚打几年,应该或多或少的见过有人把异常当做业务逻辑处理的情况(┬_┬),比如说判断一个数字是否为整数,就想当然的用try catch 包起来,再进行 int.Parse,如果抛异常就说明不是整数,简单粗暴,也不需要写正则或者其他逻辑,再比如一个字符串强制转化为Enum,直接用Enum.Parse,可能是因为对异常的开销不是特别了解,这种不好的使用习惯也许被官方发现了,后续给我们补了很多的Try前缀的方法,比如:int.TryParse , Enum.TryParse, dict.TryGetValue ,用代码展示如下: /
geekshare
2020-05-11
663
esbuild:一款快 10-100 倍的 JavaScript 打包 / 压缩工具推荐给你
前端
为什么又造个轮子?为什么又要构建一个 JavaScript 构建工具呢?因为当前用于 Web 的构建工具比用户期望的性能至少慢一个数量级。我希望这个项目可以作为一种“存在证明”,证明我们的 JavaScript 工具实际上能比现在快得多。基准测试我想到的用例是打包用于生产的大型代码库。这个流程包括压缩代码以减少网络传输时间,以及生成源映射(对于调试生产中的错误是非常重要的)。理想情况下,构建工具还应该具备快速构建能力,而不必先预热缓存。我的主基准测试会将 three.js 库复制 10 次并从头开始构建单个包,过程中没有任何缓存,从而模拟一个大型代码库。在这个基准测试中,esbuild 比我测
webcontainer
2020-03-11
756
esbuild
JavaScript
前端开发
达摩院2020十大科技趋势
AI
“达摩院2020十大科技趋势”正式发布!去年,我们预测的科技趋势正一一变为现实:AI芯片崛起、智能城市诞生、5G催生全新应用场景……科技新十年开启,AI、芯片、云计算、区块链、工业互联网、量子计算等领域,将出现多个振奋人心的颠覆性技术创新。世界正被科技改变,一起细品:
webcontainer
2020-01-03
612
科技趋势
达摩院
快速掌握mongoDB(三)——mongoDB的索引详解
MongoDB
阅读目录1 mongoDB索引的管理2 mongoDB中常用的索引类型1 单键索引2 复合索引3 多键索引 4 哈希索引3 mongoDB中常用的索引属性1 唯一索引2 局部索引2 稀疏索引4 TTL索引 回到顶部1 mongoDB索引的管理 本节介绍mongoDB中的索引,熟悉mysql/sqlserver等关系型数据库的小伙伴应该都知道索引对优化数据查询的重要性。我们先简单了解一下索引:索引的本质就是一个排序的列表,在这个列表中存储着索引的值和包含这个值的数据(数据row或者document)的物理地址,索引可以大大加快查询的速度,这是
webcontainer
2019-07-19
653
MongoDB
除了迅雷外,还有什么靠谱的下载软件?
工具资源
2020年5月12日更前几天介绍了许多:BT种子、磁力、ED2K链接搜索工具合集今天接着介绍各平台的BT种子、磁力、ED2K下载工具,包括Windows、Mac、安卓、IOS端的软件虽然一些软件阿虚原来早就分享过了,但今天连着原来的内容进行了大幅更新,建议看完!!!下方所有软件,有「官方地址or上传了应用市场的」均提供官方地址or应用市场地址其他的地址则更新到储物间:https://axutongxue.com/,大家直接到储物间下载即可▍一、Windows国内资源,由于迅雷服务器的优势,是其他下载器始终比不过的,一些很老的国内资源可能只有迅雷下的动。具体为什么以后阿虚可能会写篇文章科普一下但
webcontainer
2019-06-02
740
迅雷(软件)
下载工具
阿里巴巴达摩院发布2019十大科技趋势
AI
2018的冬天有点冷,但科技依然拥有瞬间点燃人们激情的魔力。近日,阿里巴巴达摩院发布了“2019十大科技趋势”,涵盖了智能城市、数字身份、自动驾驶、图神经网络系统、AI芯片、区块链、5G等领域。在经济下行压力增大的大环境下,阿里巴巴达摩院让人们聚焦到真正创造价值的前沿技术,为2019年的发展提供理论支撑和想象力源泉。 趋势1:城市实时仿真成为可能,智能城市诞生城市
webcontainer
2019-01-04
694
科技趋势
达摩院
探讨npm依赖管理之peerDependencies
JavaScript
引言 想必前端同学对npm的devDependencies和dependencies都比较熟悉,但是对peerDependencies可能就有点陌生,尤其是没有写过npm包插件的同学,比如之前使用grunt自动化工具的相关插件(如grunt-contrib-jasmine等)或者目前基于某个框架的ui组件库等等,这些都是需要对peerDependencies有一定了解的。下面我们就来说说peerDependencies。 npm2中dependencies与peerDependencies区别 假设我们当前的项目是MyProject,项目中有一些依赖,比方其中有一个依赖包Packag
webcontainer
2018-09-23
747
peerDependencies
npm
首页
2
3
4
推荐文章
面试官都震惊,你这网络基础可以啊!
MySql知识体系总结(2021版)
Web 动画原则及技巧浅析
JavaScript 事件循环:从起源到浏览器再到 Node.js
Serverless For Frontend 前世今生
Node.js的底层原理
解读容器的 2020:寻找云原生的下一站
还不懂Redis?看完这个故事就明白了!
解Bug之路-Nginx 502 Bad Gateway
热门分享
面试官都震惊,你这网络基础可以啊!
ElasticSearch 让人叹为观止的分布式系统架构设计
Electron 12 和 13 新特性介绍
Windows CMD常用命令大全(值得收藏)
性能优化:关于缓存的一些思考
前端进入深水区,视频自定义截帧
小程序调试技术详解(基于小猴小程序)
MySql知识体系总结(2021版)
一张图带你搞懂Node事件循环
MySQL授权命令grant的使用方法
解Bug之路-Nginx 502 Bad Gateway
Go语言入门分享
Pnpm: 最先进的包管理工具
基于filebeat + logstash的日志收集方案
科普文:Koa Callback 新手不完全指南
十分钟入门 Kafka,通俗易懂地理解分布式消息系统!!
Web 动画原则及技巧浅析
4999元起,小米MIX4回归,还要发3.7亿元红包,雷军:三年拿下全球第一!
Serverless For Frontend 前世今生
解读容器的 2020:寻找云原生的下一站
友情链接
Webfalse
博客园
知乎专栏
CSDN
OSCHINA