什么是kafka?Kafka是一种高性能、分布式的流数据平台,用于处理、存储和传输实时数据流。世界上一些最大的数据管道都在使用 Kafka。Netflix和Uber等的工作流程都依赖它。
我们经常被要求设计高可用性、高可扩展性和高性能。上图包含了针对“三高”的常见解决方案。
Cgroups 是 Linux 系统内核提供的一种机制,这种机制可以根据需求将一些列系统任务机器子任务整合或分离到按资源划分登记的不同组内,从而为系统资源管理提供一个的框架。简单地说,cgroups 可以限制、记录任务组所使用的物理组员(比如 CPU、Memory、IO等),为容器实现虚拟化提供了基本保证,是构建 Docker 等一些列虚拟化管理工具的基石。今天我们就来详细介绍一下 cgroups 相关的内容。
归并排序的缺陷在于其需要额外存储空间。这引发了一个问题:能不能有一种算法,既不依赖额外空间,又能利用分治思想进行原地排序?快速排序正是这样一种算法。不同于归并排序,快速排序将重心放在“分”上,让“治”自然发生。
近期,第四届中国云计算基础架构开发者大会(China Cloud Computing Infrastructure Developer Conference – 简称 CID)在深圳举办。本届 CID 大会聚焦业界最前沿的云计算基础架构技术成果,围绕基础架构技术领域的技术交流,展示先进技术在行业中的典型实践。在主论坛上,作者以《云原生场景下内存多级卸载落地实践》为议题,分享内存多级卸载方案(内部称“Tencent OS悟净”)在公司业务落地过程中所遇到的实际问题、对应的解决方案,以及在容器平台上的落地数据。以下为分享重点。
随着AI的火热发展,涌现了一些AI模特换装的前端工具(比如weshop网站),他们是怎么实现的呢?使用了什么技术呢?下文我们就来探索一下其实现原理。
开宗明义,DDD 是一种技术方法论,不是某种具体的技术架构,也不是某种编程框架层面的东西。在本篇文章中,我们将重点阐述 DDD 的核心概念与关键方法。
尽管优质的货品、实惠的价格、精致的布景、有趣的内容输出都是非常关键的影响因素,内容电商也必须基于两个前提:画质要高清、播放要流畅。曾经,有不少商家和主播因为直播间画质较差的问题而苦恼,不了解如何实现高画质开播。在一系列前沿音视频技术的加持下,淘宝音视频技术团队解决了这个问题。
一次端口告警,发现 java 进程被异常杀掉,而根因竟然是因为在问题机器上 vim 查看了 nginx 日志。下面我将从时间维度详细回顾这次排查,希望读者在遇到相似问题时有些许启发。
过去的几十年,支付技术发生了很大的改变。下图给我们显示了 POS 终端的进化。从一开始的纸钞收银机,到刷卡机,再到如今的支持刷卡、扫码和数字钱包的一站式智能手机 POS 机,交易流程被彻底改变了。
容器使用 volume 和 bind mount 都可以将容器内的文件或者目录挂载宿主机上,但是 volume 可由 Docker 来管理,bind mount 是直接与 Linux 原生文件系统对接。tmpfs 与 volume、bind mount 不同的是 tmpfs 是将容器内的文件、目录挂载到内存中,不会将数据存放在文件系统中。下面详细看看这三种挂载类型的使用。
针对 OverlayFS 提供了两个存储驱动:最初的 overlay,以及更新更稳定的 overlay2 ,这里简单介绍下这两种驱动。
容器的文件系统在用户视角和宿主机的文件系统没有什么区别,但是其背后的原理却不同。在容器里运行 df 命令,可以看到在容器中根目录(/)的文件系统类型是 overlay,它不是我们在普通 Linux 节点上看到的 Ext4 或者 XFS 之类常见的文件系统。
多数人可能只有一个模糊的概念,普遍认为这是冯·诺依曼的成就。然而,关于这一发明的具体细节,甚至连维基百科都未能提供全面的解答。
在上一章中,我们巧妙的把大量的 JSX 逻辑处理封装在了 List 组件中,使得在页面组件的代码变得非常简单。这是针对 UI 层的逻辑处理,那么在数据的处理上,是否也能够进行一些封装呢?
对于 useEffect 的掌握是 React hooks 学习的**重中之重**。因此我们还需要花一些篇幅继续围绕它讲解。
"装饰器是一种结构设计模式,通过将对象置于包含行为的特殊包装器对象中,可以将新的行为附加到对象上"。© https://refactoring.guru/design-patterns/decorator
Base64编码和解码是一种常见的将二进制内容转换为适合Web的文本的形式。它通常用于data URLs,比如内嵌图片。当你在JavaScript中对字符串应用base64编码和解码时会发生什么?这篇文章探讨了这些细节和需要避免的常见陷阱。
今天分享一篇SQL优化的文章,用的数据库是mysql5.6。
作者通过本文聊聊自己写代码的要求及代码的可读性。
在本教程中,我们将探讨 Golang 中的前 20 个最佳编码实践。这将帮助你编写有效的 Go 代码。
在日常的开发中,作者总结了平常用到的一些低成本、保持扩展性的套路,分享出来,欢迎大家讨论。
类是C++中的主要抽象单位。你应该将抽象原则应用于你的类,尽可能将接口与实现分离。具体来说,你应该使所有数据成员私有,并可选择性地提供getter和setter方法。这就是SpreadsheetCell类的实现方式:m\_value是私有的,而公共的set()方法设置值,getValue()和getString()方法检索值。
C++ 提供了五种特定的类型转换:`const_cast<>()`、`static_cast<>()`、`reinterpret_cast<>()`、`dynamic_cast<>()` 和 C++20 引入的 `std::bit_cast<>()`。
调试是开发者需要掌握的一项重要的技能, 它能够帮助我们快速定位和修复代码中的问题。本文主要介绍前端调试的基本原理。
如今 Git 已经成为绝大多数开发者的选择, Tom Preston-Werner、Chris Wanstrath 和 PJ Hyett 在 2007 年 10 月推出的 Github 已经成为了全球最大的开发者网站。
Nginx是一款高性能、开源的 Web 服务器和反向代理服务器软件,大部分互联网网站都在使用它。NGINX 最初由Igor Sysoev于2002年创建,此后一直在发展,并广泛流行于 Web 托管、内容交付和应用程序部署领域。它的性能、可扩展性和多功能优势闻名于世,也因此成为提供 Web 内容和有效管理互联网流量的网站关键组件。
浏览器安全与Web安全标准紧密相关, 厂商在提升浏览器安全性的同时也积极参与安全标准的制定, 使自己的产品获得竞争优势,而新的安全标准又促使厂商积极更新自己的产品, 以免被市场淘汰, 这样便形成良性竞争, 使浏览器在安全性各方面越来越趋于完善。
Monorepo 是一种项目代码管理方式,指单个仓库中管理多个项目,有助于简化代码共享、版本控制、构建和部署等方面的复杂性,并提供更好的可重用性和协作性。
当我们在维护公司项目时,可能会遇到这样的场景:我正在开发一个新功能,突然需要修一个Bug。本文从分支管理解度进行说明。
那么到底什么是ebo呢?其实ebo就是当一个类的对象理想内存占用可以为0的时候,把这个类的对象作为另一个类的成员时,把其内存占用变为0的一种优化方法。
本着开源精神,如果我们想将自己开发的包共享出去,让其他人也能使用go get命令获取到它们,应该如何做呢?本文将以开源至 Github 平台为例,展示其流程。
每年的双11都会吸引亿级消费者、百万商家参与,会场、红包、优惠券,各类玩法目不暇接。作为大促的主阵地,淘天营销技术经过多年大促的历练沉淀,沉淀了丰富的业务能力,支撑了大促、营销频道等各种营销业务场景。本文将为大家介绍下营销技术体系。
准备条件:一台境外服务器,比如说腾讯云新加坡服务器;安装有Nginx环境,centos可以用yum install nginx安装;一个域名,比如说www.xxxx.com,以及对应的ssl证书(腾讯云可以在这里申请免费的证书)。
作为开发,我们都熟悉日志的重要性,良好的日志,能帮助我们快速定位到错误发生的详情和原因,并快速解决问题。
工作中经常要和第三方做对接,比如支付、电子合同等系统。操作成功之后,第三方会发送异步的通知,返回最终的处理结果,使用异步而不是使用同步通知,是为了加快系统响应速度,防止线程阻塞。任务处理完成后通过异步的通知,发送给对应的服务端。
HashMap相信所有学Java的都一定不会感到陌生,作为一个非常重用且非常实用的Java提供的容器,它在我们的代码里面随处可见。因此遍历操作也是我们经常会使用到的。
通过以上的回顾已经看到,中国企业在通过投资、并购,获得产品基础,开始增强自身实力,探索也早已起步。中国企业和韩国数据库企业的合作也早已经频繁展开。但是中国数据库最缺少的仍然是实践场景,只有当中国企业以国产数据库为首选时,中国数据库的春天才会真正到来。
我猜想,大多数阅读这篇博客的人们几乎每天都在使用 git。但你们有没有真正看过 git 生成的 .git 文件夹中的内容呢?现在,让我们一同探索,并理解里面发生了什么。
作为一名前端工程师, 没有个自己的网站怎么行, 接下来我就来带大家介绍一下如何从零到一, 配置并部署自己的网站到服务器.
最近在使用 Next.js 时遇到了一个问题,最后原因竟是 .env 取值问题,为这个问题花费了数小时的时间,希望看到这篇文章的朋友,如果遇到类似问题,不要重蹈覆辙吧。
计算机科学领域的任何问题都可以通过增加一个中间层来解决。所以需要一个比内存更快的存取设备做缓冲,尽量做到和CPU一样快,这样就不需要每次都从低速的内存中获取数据了。
纵观搜索的发展的历程,从最初的人工特征,到浅层的机器学习模型,再到不断加深的深度学习模型,我们对用户需求和候选内容的理解能力是持续的提升的,能力提升到一定程度就会影响架构的变化。近几年,架构最大的变化之一,是大规模的深层知识学习模型和系统的落地。
本篇文章全文约 1.5 万字,目的是系统化地介绍微前端及其核心技术,并介绍了什么是微前端以及为什么我们需要它。我们还讨论了在众多微前端框架中如何选择适合自己系统的框架,并分享了一些业界使用微前端的实践案例。最后,我们提到了微前端目前存在的一些局限性和争议点。总之,希望这篇文章能为大家提供有用的信息。
Spring对于每个Java后端程序员来说肯定不陌生,日常开发和面试必备的。本文就来盘点Spring/SpringBoot常见的扩展点,同时也来看看常见的开源框架是如何基于这些扩展点跟Spring/SpringBoot整合的。
那么到底该如何去阅读源码呢?这里我总结了18条心法,助你修炼神功。
OpenGL 的上下文(OpenGL context)是一个 OpenGL 绘图环境的抽象概念,它包括了所有 OpenGL 状态信息和资源,以便OpenGL能够正确地渲染图形。
React Query 为您提供了大量功能,如缓存、重试、轮询、数据同步、预取……以及数以百万计的其他功能,这些功能远远超出了本文的讨论范围。如果你不需要这些功能也没关系,但我仍然认为这不应该阻止你使用 React Query。
大文件的读写,咱还是老老实实用字节码文件存储吧。小文件可以使用 Json,反序列化速度够用,可读性也可以有明显的提升。
本文从浏览器架构演进、插件运行机制、插件基本介绍和一些常见的插件实现思路几个方向聊聊Chrome插件。
Copyright© 2013-2019