- 博客(585)
- 资源 (22)
- 问答 (1)
- 收藏
- 关注
原创 java原生序列化慢在哪里?
Java原生序列化和二进制序列化性能比较序列化速度package com.clq.netty.serializable;import java.io.ByteArrayOutputStream;import java.io.IOException;import java.io.ObjectOutputStream;import java.io.Serializable;im...
2018-07-20 16:42:29 1952
原创 流行编程语言的优点和缺点
我使用过很多种编程语言,我以不同的方式使用它们来完成不同的事情,因为它们是完成某项工作的工具,就像锤子是用来钉钉子的工具,而螺丝刀(令人震惊的是)是用来拧螺丝的……虽然你可以用螺丝刀来钉钉子,也可以用锤子来拧螺丝……但它们并不是完成这些工作的最佳工具。那么让我们来看看某些特定语言擅长什么工作,不擅长什么工作……1 C优点:低级控制C 语言对内存和硬件等系统资源提供了无与伦比的控制能力。因此,C...
2024-09-16 09:17:59 736
原创 听说过“惊群效应”吗?Facebook 就是这么解决的!
在数字世界中,数百万人可以同时收看直播活动,流畅地播放而不发生服务器崩溃是一项重大挑战。这里的一个关键问题是“惊群效应”。如果管理不当,它可能会导致严重的中断。在这篇文章中,我将解释这个问题是什么、如何解决它,以及 Facebook 如何确保直播期间一切顺利运行。1 ???? 惊群效应到底是什么?想象一下举办一场聚会,每个人都同时吃同一种零食,造成混乱。在科技领域,雷群问题也类似——许多用户同时请求...
2024-09-12 08:14:56 318
原创 24 年最快的 REST API Web 服务器:Node.js、Go、Rust 和 C# (.NET) 基准测试
随着我们进入 2024 年,Web 开发领域继续以惊人的速度发展。对于编写高性能 REST API 的开发人员来说,选择正确的技术堆栈不仅重要,而且至关重要。今天,我们将深入探讨主导市场的四个强大选项:Node.js、Go、Rust 和 C# (.NET)。1 设置阶段:我们的基准方法在讨论结果之前,我们先来了解一下背景。我们的基准测试是在严格控制的环境中进行的,以确保公平竞争:????️ 硬件:A...
2024-09-04 08:00:21 945
转载 现代 Kubernetes 网络策略指南
在 Kubernetes 世界中,网络策略对于控制集群内的流量至关重要。但它们到底是什么?为什么、何时以及如何实施它们?无论您是现有的 Kubernetes 用户并想要更好地了解网络,还是试图将您的知识映射到 Kubernetes 的传统网络工程师,您来对地方了。本指南适用于任何有兴趣详细了解基于策略的 Kubernetes 网络流量控制的人。您将了解不同类型的策略及其重要性、每种策略的优缺点、如...
2024-09-01 21:11:17 253
转载 在 eBPF 中重新实现我的 Linux Rust 调度程序
1 概述用 Rust 编写的 Linux 调度程序的主要瓶颈 scx_rustland 是内核和用户空间之间的通信。BPF_MAP_TYPE_RINGBUF 即使使用环形缓冲区( / )可以大大改善通信本身,但 BPF_MAP_TYPE_USER_RINGBUF 多级队列不可避免地会导致调度程序以不太节省工作量的方式运行。这具有双重效果,使得基于 vruntime 的调度策略更有效(能够积累更...
2024-08-22 08:22:34 43
原创 新手使用 Prometheus 时应避免的 6 个坑
让我们来谈谈新手刚刚开始使用基于 Prometheus 监控指标时应避免的 6 个常见错误:1 错误 1:基数炸弹这是每个人在开始使用 Prometheus 时至少会遇到一次的典型陷阱。一旦您发现 Prometheus 基于标签的数据模型的实用性,您可能会试图按各种有用的标签维度拆分指标,直到您创建的时间序列远远超过 Prometheus 服务器可以处理的数量。例如,您可能有一个 HTTP 服...
2024-08-20 08:25:19 824
转载 背压(Back Pressure)原理与流量控制
春节期间,高速上动不动就堵车,这是一种“背压”的现象。背压(back pressure),也叫“反压”,指的是下游系统处理过慢,导致上游系统阻塞的现象。我们来聊聊背压后面的流控吧。1 流控策略如上图,系统中存在三方:生产者(Producer)产生数据,通过管道(Pipeline)传输给消费者(Consumer)。Producer Consumer 此时生产的速率(100/s)大于消费的速率(7...
2024-08-19 08:03:32 124
转载 谈谈以 Kubernetes 为核心的云计算未来
云计算彻底改变了企业的运营方式,提供了前所未有的可扩展性、灵活性和效率。展望未来,有一项技术脱颖而出,成为这一演变的基石:Kubernetes。Kubernetes 最初由 Google 开发,现在由云原生计算基金会 (CNCF) 维护,已成为容器编排的事实标准。它能够管理、扩展和自动化跨主机集群部署应用程序,正在改变云格局。在这篇博客中,我们探讨了 Kubernetes 为何是云计算未来的核心,...
2024-08-18 10:04:25 36
原创 Kubernetes在虚拟机和裸机上的性能比较
在本文中,我们旨在通过展示 Kubernetes 在虚拟机(SMTX Kubernetes 服务,简称 SKS)和裸机服务器上运行有状态和无状态应用程序的实证性能数据来解决这一差距。总体而言,结果表明 SKS 的性能范围是基于裸机的 Kubernetes 的 82% 到 96%,这表明基于虚拟机的 Kubernetes 可以有效满足生产环境中大多数容器化应用程序的要求。1 1 测试目标在相同的...
2024-08-14 21:34:21 590
转载 使用 Kubernetes 上的 Helm 部署微服务应用程序
Helm 通常被称为 Kubernetes 的软件包管理器,它简化了 Kubernetes 集群内应用程序的部署和管理。本指南将引导您使用 Helm 部署微服务应用程序,并说明创建 Helm 图表、管理依赖项和部署多服务应用程序等关键概念。1 先决条件在开始之前,请确保您已安装以下工具:kubectl:Kubernetes 命令行工具。minikube:用于开发和测试的本地 Kubernete...
2024-08-12 08:22:14 59
转载 2024 年值得关注的三大边缘 AI 趋势
2023 年是人工智能技术成为主流的一年。曾经在电影中看到的东西现在已成为日常业务运营中不可或缺的一部分。人工智能已融入手机、购物体验和日常的日常办公工作中。从科技巨头到电子商务商店再到服务提供商,每个人都在使用人工智能来简化运营、提高生产力并创造引人入胜的客户体验。展望 2024 年,很明显,人工智能的影响力只会继续增长。最令人兴奋的发展之一是人工智能与边缘计算的融合。MSys 高管最近参加了 ...
2024-08-11 10:00:48 48
原创 使用 Go 1.23 中的 unique pkg 减少分配并比较性能
我一直在研究即将发布的 Go 1.23 版本,因此我很想了解这个新 unique 软件包以及它旨在解决的问题。下面是对该调查的总结,我希望它对其他有兴趣了解更多信息的人有用。1 Interning 和 GoInterning,最初由 Lisp 引入的一个术语,是指在内存中只存储一个值并共享对它的唯一引用的过程,而不是分配多个副本并浪费内存。例如,Go 编译器已经在编译时执行了字符串常量的驻留,...
2024-08-06 08:09:26 524
原创 未来几十年,软件工程师是否真的比其他类型的 IT 人员更容易被人工智能取代?...
IT 领域最有可能被人工智能取代的工作(不是完全取代,但大概是 60-70%):项目经理(充当售前的传话筒,每天把客户说的话传递到研发那里,然后静待花开)产品交付经理(把项目经理的工作进行排期,然后催问什么时候完成,有没有风险)SCRUM 教练(每日站会,统计程序员的 Bug 数量,产品研发进度的合理性,搞个到现在都不知道有什么用的 CMMI)自称是 IT 人员但实际上不知道发生了什么事的无知人士...
2024-08-05 08:15:09 250
原创 Linux 几乎与 Unix 没什么区别,为什么 Linus Torvalds 却获得如此多的赞誉?
虽然这肯定需要大量的技术专长才能实现,但似乎并不需要太多的创新。关于他的工作和实际所做的事情,已经有很多很好的答案,但我想谈谈关于 Linux 和 Unix 难以区分这一点。Unix 和 Linux 之间的关系非常复杂,但下面的家族树有助于将其概括为:如您所见,有大量操作系统基于原始 Unix 发行版。颜色在这里特别重要,因为绿色是开源操作系统,而红色是闭源操作系统(橙色是混合源)。请注意,Min...
2024-08-04 08:00:38 261
转载 eBPF 能否拯救我们免于 CrowdStrike 式的灾难?
在 CrowdStrike Windows 安全事件发生后,安全专家和开发人员都在寻找一种更安全的方式来运行低级安全程序。一种可能的解决方案是 eBPF。英特尔院士兼系统专家 Brendan Gregg 认为,eBPF 可以预防未来类似 Crowdstrike 的灾难。其他人则不那么肯定。在 CrowdStrike Windows 安全惨败之后,安全专家和开发人员都在寻找一种更安全的方式来运行低级...
2024-08-03 10:00:58 41
原创 老板永远不应该对程序员说什么?
有一句话,一说出来,我和我认识的所有开发人员都会吓出一身冷汗。这句话让开发人员瞬间上头,只有那些不熟悉开发过程中难以言喻的恐怖的人才会知道这句话的来历:“嗨,这很容易。只需要 5 分钟就可以完成,对吧?”当你听到这句话时,几乎总是意味着熬夜即将来临。瞧,这句话的可怕之处不在于编程只需花几分钟就能完成的简单事情,而在于每当有人同时说出这几个字时,几乎肯定会是一个看似无辜的请求,但却会变成一场无休止的...
2024-08-01 08:19:18 335
原创 微软蓝屏内幕:来自周五的空指针部署
1 发生了什么?2024 年 7 月 19 日 04:09 UTC,作为持续运营的一部分,CrowdStrike 向 Windows 系统发布了传感器配置更新。传感器配置更新是 Falcon 平台保护机制的持续组成部分。此配置更新触发了逻辑错误,导致受影响的系统崩溃和蓝屏 (BSOD)。导致系统崩溃的传感器配置更新已于 2024 年 7 月 19 日星期五 05:27 UTC 修复。此问题不是...
2024-07-30 21:34:07 469
原创 如何使用自修复代码减少技术债务
使用 LLM 进行自我修复代码的想法令人兴奋,但平衡自动化和人工监督仍然至关重要。到 2028 年,一些估计表明 75% 的企业软件工程师将积极使用 AI 代码助手,而 2023 年初这一数字还不到 10%。在时间就是金钱的行业中,使用生成式 AI 是一种有价值的工具,可以简化工作流程并提高生产力。然而,对于我们这个行业的人来说,重视项目速度可能会付出代价。技术债务是选择速度而不是花费更多时间的更...
2024-07-29 23:20:09 324
原创 已经10岁的K8S,在很多方面仍需努力
/ K8S 已经 10 岁了,但仍然有许多方面要继续努力 /Kubernetes 于 2014 年 6 月推出,自那时起,它在推广云原生应用设计和支持更多微服务部署方面发挥了巨大作用。容器部署的增长非常迅速,而 Kubernetes 对于企业管理这些部署至关重要——根据 CNCF 上一份报告的调查结果,84% 的组织正在使用或评估 Kubernetes,而 66% 的潜在和实际消费者在生产中使用 ...
2024-07-28 19:10:22 393
原创 如何实现 99.999999999% 的耐用性
这篇文章概述了 Amazon S3 如何提供令人难以置信的耐用性。如果您想了解更多信息,请滚动到底部并找到参考资料。1 背景故事2010 年 11 月 - 法国巴黎。一位名叫朱莉娅的年轻软件工程师在一家制药初创公司工作。他们每天都会创建许多日志文件。耐用性对他们的商业模式来说很重要。然而他们将数据存储在内部的一个小型服务器机房里。生活很美好。随着季节的流逝。但是有一天。他们的主数据服务器的硬盘...
2024-07-16 08:20:11 850
原创 解决软件性能问题的实用思路
我们的大脑有两种不同的工作模式,尤其是在我们解决问题时:直觉和分析。直觉是当我们没有积极和努力思考某事时,我们的大脑所处的模式。它是自动的。分析是我们真正付出努力并以专注的方式在大脑中勤奋工作的模式。例如,如果你看到一个非常简单的等式1+1 =你不会花任何力气去解决它。你从小就知道 1 + 1 = 2。答案是立竿见影的。这是你的大脑在自动模式下做的事情。然而,如果你看到19×35=你可能得花点脑力...
2024-07-04 08:28:11 783
原创 团队逼走一个程序员有多简单?
1 不信任程序员程序员做了一个方案,整个系统是用 Java 实现的,老板看到了说,为什么要用 Java,而不是 Golang,能不能证明一下 Java 的各个方面的指标真的比 Golang 强?自己选择 Redis 作为非关系型数据库存储,老板说为啥不用 Memcached,这 2 者之间的优劣势,是否需要做一个对比?总之就是咬死每一个细节问题。2 引入繁琐复杂的软件开发流程一个不到 10...
2024-06-27 08:37:48 377
原创 关于程序员的从不、偶尔和总是
在软件开发中,我们经常使用零、一、无穷、规则(或“零一多”)来决定应该允许多少个实例。例如,数据库中的客户记录可能没有与之关联的电子邮件地址,可能只有一个电子邮件地址,也可能有多个电子邮件地址。如果您目前支持一个电子邮件地址,而有人说他们需要两个,那么您应该跳过两个,直接无限增加。只添加对第二个电子邮件地址的支持是一个坏主意,因为您仍然需要处理可变数量(一个或两个),因此处理任何数量实际上都更简单...
2024-06-25 22:20:03 592
原创 软件监控发展简史
软件监控简史,从 00 年代开始。发生了什么变化?为什么事情变得如此神秘?终端设备上日益重要的用户体验通过边缘计算和分布式计算不断得到改善。然而,服务质量的测量仍然使用基于服务器的原语进行。我们的 2000 年软件监控是这样的:用户通过浏览器访问网络。互联网速度缓慢且不稳定,因此糟糕的体验不会导致客户流失。这个时间段,各种基建发展的不完善,大家主力对象都是PC,上网时间比较短,场景也比较少,慢是预...
2024-06-19 08:37:26 652
原创 OpenShift 与 Kubernetes的关键区别
介绍 在快速发展的 DevOps 和云原生应用程序领域,容器编排已成为管理和部署可扩展应用程序的关键组件。该领域的两个主要参与者是 OpenShift 和 Kubernetes。但它们有何不同?您应该为您的组织选择哪一个?让我们深入了解这两个平台的复杂性,以帮助您做出明智的决定。什么是 Kubernetes? 定义和核心功能Kubernetes,通常缩写为 K8s,是一个开源平台,旨在自动部署、扩...
2024-06-04 22:20:53 706
原创 Dockershim 与 Containerd:两种容器运行时的故事
在不断发展的容器化世界中,两个关键组件经常被混淆:Dockershim 和 containerd。虽然它们在管理容器方面都发挥着重要作用,但它们的用途却截然不同。本文深入探讨了它们的功能,深入探讨了 Dockershim 和 containerd 之间的区别。揭秘 Dockershim:Docker Orchestrator Bridge Dockershim 是 Docker 运行时垫片的缩写,...
2024-06-02 15:22:20 1172
原创 为什么您的监控成本很高?
如果你想降低监控成本,你需要改变工程决策瘫痪的局面。经过三年对 DevOps 和 SRE 领域的痴迷,我现在可以自信地说,公司为监控成本付出的成本比生产级代码的成本还要高。在之前我对此并没有信心,认为其中存在异常,而且这可能看起来有点离谱。但现在,我几乎可以肯定这一点;对于那些努力跟上数字化转型浪潮的大公司来说更是如此。对于那些从遗留系统迁移过来的人来说,他们受到了容器化、Kubernetes 和...
2024-05-26 22:45:02 285
转载 实现最佳成本和结果的云策略:公共云、私有云、混合云
在典型企业在云资源上超支 20% 到 30%的时代,找到控制云成本的方法至关重要。但究竟如何控制云支出呢?通常,有关此主题的建议侧重于进行小规模更改,例如调整云服务器实例的大小或利用成本较低的数据存储层 - 这些举措可以为您节省一些钱,但通常不会带来最大的整体效果。如果您确实想优化云支出,则需要通过评估整体云架构来进行更高层次的思考。您可能会发现进行架构更改(例如 将部分或全部工作负载迁移到私有云...
2024-05-20 08:11:24 89
转载 Docker 和 Kubernetes 之间的区别,了解一下
您曾经想知道 Docker 和 Kubernetes 之间的区别。过去当 Kubernetes 删除 Docker 支持时,我们感到很困惑。如果是这种情况,那么这篇文章适合您。在现代软件开发和 DevOps 领域,容器化已成为打包和部署应用程序的基本方法。Docker 和 Kubernetes 是该领域非常受欢迎的两种工具。虽然两者都与容器化相关,但它们具有不同的目的。让我们看看 Docker 和...
2024-05-18 17:23:13 73
转载 安全高于一切——Microsoft 的安全未来计划
2024 年 5 月,首席执行官萨蒂亚·纳德拉 (Satya Nadella) 向微软员工分享了以下信息。去年 11 月,我们启动了安全未来计划(SFI),为应对规模和风险不断增加的网络攻击做好准备。 SFI 汇集了 Microsoft 的各个部门,以推进我们公司和产品的网络安全保护。从那时起,威胁形势持续快速发展,我们学到了很多东西。美国国土安全部网络安全审查委员会 (CSRB) 关于去年 7 ...
2024-05-09 20:32:09 81
转载 上层应用的基石:分布式协议
故障模式故障发生和检测的方式对于许多算法都很重要。以下是最常用的:故障停止故障停止意味着如果节点出现问题,每个人都能知道并检测到它,并能从稳定的存储中恢复状态。这在理论和协议上都是简单的模式,但在实践中却很难实现(在某些情况下甚至是不可能的)崩溃故障崩溃故障意味着,如果节点或代理出现问题,它就会崩溃,然后再也不会回来。你要么永远正确,要么永远迟到。这在理论上比故障停止更容易设计(但操作起来非常麻烦...
2024-04-25 22:15:10 50 1
转载 ChatGPT是如何工作的?ChatGPT团队给出的解释
ChatGPT 如何运作? 对于我们这些过去几年没有从头开始构建 ChatGPT 的人来说,它是如何工作的?当您向 ChatGPT 询问问题时,会发生以下几个步骤:输入: 我们从文本输入中获取您的文本。代币化: 我们将其分成令牌。一个令牌大致映射到几个 unicode 字符。你可以把它想象成一个词。创建嵌入: 我们将每个标记转换为数字向量。这些称为嵌入。将嵌入乘以模型权重: 然后,我们将这些嵌入乘...
2024-04-24 08:17:37 74
转载 为什么 Windows 的安全性不如 Linux
Windows 本质上比 Linux 更难保护。我在那里说了。简单的道理。关于这个话题已经有数百万字的文字和言论。我有几张照片。基本论点是这样的。在其漫长的发展过程中,Windows 变得如此复杂,以至于更难以确保安全。这些图像很好地说明了这一点。两个图像都是当 Web 服务器提供带有单个图片的单个 html 页面时发生的系统调用的完整映射。相同的页面和图片。系统调用是寻址内存的机会。黑客会调查每...
2024-04-12 08:05:55 85
转载 15年程序员一朝变成外卖员,震撼的同时感觉震惊
一个程序员的编年史00-前言诗人问:“你见到过凌晨四点钟的太阳吗?”程序员:“见到过啊,那时候我通常刚下班。怎么了?”诗人无言以对。我做软件开发已经 15 年了,从小鲁到鲁工,到鲁经理,再到鲁总监。有些公司,做着做着就没了;有些项目,做着做着就黄了;有些团队,做着做着就散了。社会的浪潮汹涌澎湃,我们都是浪花中的一粒水珠,随着这个大潮起起伏伏。01 一行代码五万元2007 年,我在太皓电子担任....
2024-04-07 21:23:06 261 1
转载 您是否优先考虑内存安全的编程语言?
来自五个不同国家政府的网络安全机构去年 12 月呼吁开发人员使用内存安全的编程语言。你准备好了吗?去年 12 月,来自多个国家(美国、英国、加拿大、澳大利亚、新西兰)的网络安全机构共同发布了一份名为“内存安全路线图案例”的文件。虽然内存安全编程语言不是讨论主题,但它是一个重要的安全问题,应该被理解。首先,快速解释内存安全与内存不安全编程语言。在内存不安全语言中,开发人员负责手动分配和释放内存,这可...
2024-04-06 10:33:08 72
转载 Linux xz 库中的恶意代码危及 SSH
大多数用户不会受到此恶意软件的影响,但如果它再几个月未被发现,那么每个使用 Linux 的人都将面临有史以来最大的安全灾难。您可能从未听说过 xz 数据压缩代码,但它对许多程序至关重要,而且我们现在知道有人在其中植入了恶意代码。当红帽 首次爆料最新版本的 xz 数据压缩库包含陷阱时,人们感到担忧,但并没有太担心。毕竟,他们推断,许多人一开始似乎认为这只是另一个安全漏洞。而其他人则认为,如果它只影响...
2024-04-02 21:31:26 106
转载 xz-utils包被植入后门三年,跟网文一样精彩的攻击故事
下面来扒一下这位提交代码的作者。几个月就对这个 GitHub 账号有点印象。不是我马后炮,而是我当时正好在维护一个一键部署 frida-server 的脚本,有人反馈他们的发行版上没有自带 xz 命令;而 nodejs 的 lzma 包又有兼容性问题,我就考虑要不要把 lzma 用 wasm 编译到项目里去。我当时去 lzma 库的主页逛了一圈,就觉得有点奇怪,这个两个维护人,其中一个的名字看着像...
2024-03-30 15:19:26 93
原创 LinkedIn 互联网架构扩展简史
LinkedIn成立于 2003 年,其目标是连接到您的网络以获得更好的工作机会。第一周只有 2,700 名会员。时间快进了很多年,LinkedIn 的产品组合、会员基础和服务器负载都取得了巨大的增长。如今,LinkedIn 在全球运营,拥有超过 3.5 亿会员。我们每天每秒都会提供数以万计的网页。我们已经进入了移动时代,移动流量占全球流量的 50% 以上。所有这些请求都从我们的后端系统获取数据,...
2024-03-26 21:59:55 772
转载 Uber互联网架构扩展简史
2008 年巴黎一个寒冷的夜晚,特拉维斯·卡兰尼克 和加勒特·坎普打不到出租车。就在那时,Uber 的想法诞生了。如果你可以“按一下按钮就可以搭车”,那该多好啊?快进到今天,优步已成为世界上最大的移动平台。它在 70 多个国家和 10,500 个城市开展业务。Uber Eats 优食是全球除中国以外最大的外卖平台。它在 45 个国家/地区开展业务。我们将数百万司机合作伙伴和商家与超过 1.3 亿客...
2024-03-25 21:35:52 84
protoc使用说明
2018-07-25
sybase数据库
2016-06-06
百度地图API
2016-05-24
redis Java驱动
2015-08-14
mongodb工具类
2015-08-12
SSL双向认证证书制作过程流程
2015-08-07
SSHSecureShellClient-3.2.9
2015-05-08
ssdb的java驱动
2015-05-08
redis的java驱动
2015-05-08
数据库工具
2015-05-07
Mongodb底层java驱动框架工具类使用
2014-12-08
关于linux.pdf命令大全
2014-10-31
ssdb的java SDK
2014-10-30
软件设计师历年真题
2014-09-16
hbase权威指南
2014-07-28
《MySQL常用命令汇总》_非常详细
2013-10-27
实现班级的管理,以树形结构展现在jsp页面上
2013-10-26
TA创建的收藏夹 TA关注的收藏夹
TA关注的人