- 博客(605)
- 资源 (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 1977
原创 斯坦福研究员:9.5% 的软件工程师几乎什么正事也不做?简直一派胡言!
最近斯坦福大学研究软件工程生产力一名成员声称自己拥有来自 100 多家公司的 5 万多名工程师的绩效数据。研究表明:约 9.5% 的软件工程师几乎什么都不做,并且已经剔除了一些主要工作不做代码相关的人员:这群人被称作幽灵工程师。量化方法也很简单,就是查看工程师的代码提交量,而且自己做了一套这样量化程序员工作的工具链。很多国内公司的管理层看到这个新闻后,老想着对号入座,想着自己的公司是不是也存在着类...
2024-12-11 07:38:58 75
转载 告别复杂性:k0s带来低成本、高效率的Kubernetes解决方案
随着Kubernetes作为容器化应用的事实上的编排平台持续增长,并被大、中、小型企业广泛采用,社区对轻量级、灵活且易于管理的Kubernetes发行版的需求变得更加明显。介绍 k0sk0s是这样一种发行版,它作为一个强大而简约的解决方案脱颖而出,满足了希望轻松高效部署Kubernetes集群的开发者和企业的需要。在这篇博客中,我们将深入探讨k0s,包括它的特性、优势以及它与其他Kubernete...
2024-12-10 07:46:31 6
原创 阿里合伙人:爹味发言,尺度太大,张口就来!!
阿里樊路远分管灵犀互娱后,今天去给灵犀开全员会,疯狂话语频出,台下员工被莫名其妙的训了两个小时,有员工反馈说人都是懵的,有员工把完整会议记录发出来了,确实抽象⋯⋯感觉就是在酒桌上喝多了几杯,然后开始疯狂输出,又像是老大在给老二一个下马威,但是这里不是酒桌,这里是全员会议,貌似场合不太正确,不过好在已经进行了道歉,本意是活跃气氛,但是在言语上没有把握好尺度,伤害了员工的感情,并声称自罚 3 个月工资...
2024-12-09 08:08:06 84
原创 3个理由告诉你,AI大模型将颠覆传统软件开发!
最近在 X 上看到一个叫做宝玉的博主分享,看完之后非常受用,他提到的观点非常多,其中有以下三点让我印象深刻,这里再做个简单总结。1 编程领域AI 领域发展迅猛,其中最大的突破之一应该是编程领域,出现了像 Copilot、Cursor、Dev 等编程工具,不仅大幅降低了普通人编程的门槛,也让专业程序员的开发效率大幅提升。就像我自己平时在写代码的时候,不喜欢写文档,但是 QA 又要求我解释这些接口...
2024-12-08 19:52:43 218
原创 微服务的迷思:为何我们应该说“不”?
过去 10 多年里的每个开发人员都认为他们需要构建基于微服务的架构,我们需要水平扩展、需要松耦合架构、最重要的是我们要支撑海量用户。微服务是一种软件开发的架构和组织方法,其中软件由小型独立服务组成,这些服务通过定义明确的 API 进行通信。这些服务由小型、独立的团队负责。现在让我们做一个小小的思维实验。假设你有一个购物网站的代码库,现在有数万名开发人员都在尝试更新它。迭代将陷入停滞。因为没有办法支...
2024-12-06 08:15:09 789
原创 Go 开发人员必备的小工具
在编写 Go 程序之前,您必须设置编辑器并安装必要的工具。简短的列表包括 staticcheck、gosec、govulncheck、gofumpt。1 gofumptgofumpt 强制执行比 gofmt 更严格的格式,同时向后兼容。也就是说,gofumpt 可以接受 gofmt 所接受的格式的子集。安装:go install mvdan.cc/gofumpt@latestgofumpt -...
2024-12-05 08:54:11 384
转载 Kubernetes 与数据库:为何数据库容器化正变得流行?
在过去的几十年中, 数据库 管理已从单片硬件上的传统关系数据库转变为云原生分布式环境。随着微服务和容器化的兴起,现代数据库需要无缝融入更复杂、更动态的系统,需要先进的解决方案来平衡规模、性能和灵活性。对于在这些复杂环境中导航的大型组织来说,大规模管理数据库带来了无数挑战。拥有大量 数据 运营的公司经常面临确保高可用性、灾难恢复和有效扩展资源等问题。为了解决这些问题,许多公司采用混合方法,将本地基础...
2024-12-04 08:29:49 18
转载 突破边界:OpenTelemetry 如何从服务端扩展到移动应用领域 ?
OpenTelemetry 过去主要在后端系统上采用,它是一种很好的解决方案,通过开放标准收集遥测数据,可以深入了解生产过程中发生的事情。这避免了可怕的供应商锁定成本,因为只要供应商支持 OTel 数据格式,您就可以轻松切换并控制自己的数据。到目前为止,OTel 在移动设备上的采用还不是很广泛。然而,有早期迹象表明这种情况正在迅速改变,工程师采用该标准的原因与后端可观察性类似。与后端开发相比,移动...
2024-12-03 20:46:22 21
原创 10大原则|持续集成与 DevOps:如何实现无缝对接
探索持续集成如何与 DevOps 理念相结合,推动组织文化变革。1 最大化 CI 管道的十大规则让我们深入研究每条规则,看看它如何帮助增强您的 CI 管道。2 1. 对共享核心存储库使用版本控制可靠的 CI 管道始于坚实的基础:版本控制的核心存储库。版本控制(如 Git)可帮助团队维护单一事实来源,确保所有代码更改都可追溯且易于审查。版本控制允许开发人员在合并更改之前处理分支、创建拉取请求...
2024-12-02 08:20:23 858
转载 2024 年 Rust、Go、Java、C#、Python、Node.js 运行 100 万个并发任务各需要多少内存?...
你还记得 2023 年各流行语言异步编程的内存消耗对比吗?参考(1)现在已经是 2024 年底了,我想知道在一年的时间里,随着语言最新版本的推出,情况发生了怎样的变化。让我们再次进行基准测试并查看结果!1 基准此次对标的程序与去年相同:让我们启动 N 个并发任务,每个任务等待 10 秒,然后在所有任务完成后程序退出。任务数量由命令行参数控制。这次我们来关注一下协程,而不是多线程。所有基准测试代...
2024-12-01 09:50:26 36
原创 记一次 Golang pkg 性能提升 38147125738.8 倍之旅
我正在使用 linux-open-ports 项目来获取系统上当前打开的端口列表。不过我注意到实现速度比我预期的要慢一点,所以我开始调查、分析、修改并使整个过程,使其性能提升了 38147125738.8 倍。下面我对整个过程做一个详细叙述。1 基线Go 提供了通过基准测试建立基线的工具,因此让我们利用它并编写一个基准测试:package linuxopenportsimport "testi...
2024-11-29 08:17:34 1057
原创 几个步骤| Golang GC频率从350降低到30,STW从峰值 40ms 减少到 400µs
性能调优和垃圾收集方面的经验教训1 背景我正在开发一个项目,该项目用于消费 Kafka 消息并将它们写入 Google Cloud Storage。当我将它与同一环境下的现有解决方案 Confluent Google Cloud Sink Connector(数百万条消息主题,5000 万条以上)进行比较时,它的性能表现并不好 ????。它基本在一小时才完成写入。当我尝试调查为什么会有这样的延迟时,...
2024-11-27 21:54:30 568
原创 如何抵御 Linux 服务器黑客威胁和攻击
1 介绍Linux 服务器以其可靠性和安全性而闻名,这使得它们在企业和个人部署中都很受欢迎。然而,没有哪个系统能够免受攻击。随着网络威胁不断演变,服务器管理员必须采取主动措施来保护其系统免受漏洞和攻击。本指南深入探讨了一系列强化技术和最佳实践,以创建一个能够抵御各种威胁的强化 Linux 环境。2 了解威胁形势在深入研究具体措施之前,必须了解 Linux 服务器可能遇到的威胁类型。这些包括...
2024-11-05 08:01:01 1018
转载 Kubernetes深度探索:两本让我一读再读的顶级神作|赠书
今年6月份,在Kubernetes十周年之际,云原生领域的神书、人人都想拥有的Kubernetes重磅级案头手册——《Kubernetes权威指南》全新升级到第6版,其上册率先与大家见面!当时,有不少小伙伴问下册什么时候可以出版?想要迫不及待地看到下册的内容!今天,博文菌开心地告诉大家,《Kubernetes权威指南(第6版)》下册终于和大家见面啦!这样不仅在云原生领域内几乎人手一本,甚至还客串了...
2024-10-29 08:30:52 156
原创 扎心真相:99%的运维,不会用这些监控指标
1 监控指标重要么?在现代 IT 运维中,有效的监控系统是保障服务稳定性的关键。根据行业数据,一个设计良好的监控体系能够帮助团队提前识别 85%以上的潜在问题,这意味着在大多数情况下,我们可以将故障扼杀在摇篮之中,从而极大地减少了对用户的影响。以一家拥有中等规模在线业务的企业为例,通过实施全面的性能监控,该企业成功地将平均修复时间(MTTR)从 30 分钟降低到了 10 分钟内,同时提高了系统...
2024-10-27 17:28:36 768 1
原创 实战分享:Golang中实现高性能日志记录与错误跟踪的艺术
1 Golang 日志库简介在 Golang 的世界里,优秀的日志记录是开发者的得力助手。标准库log简洁而强大,足以满足基本需求,但随着项目复杂度的增加,你可能会寻找更强大的解决方案。这时候,像zap、logrus这样的第三方库就派上用场了。这些库提供了更多的配置选项和更高的性能,帮助开发者轻松应对复杂的日志记录场景。1.1 标准库:log 包Go 的标准库提供了一个名为 log 的简单...
2024-10-24 08:20:42 873
原创 应用程序性能优化:从操作系统到算法的全方位攻略
作为一名应用程序性能优化专家,我将带你踏上一段生动有趣的旅程,探索如何从操作系统、编程语言、数据库和算法四个方面提升你的应用性能。准备好了吗?让我们开始吧!
2024-10-20 23:04:12 218
原创 如何将 Docker 镜像的大小减少 99.82%
部署应用程序时,减小 Docker 镜像的大小对于缩短下载时间、提高网络性能和提高存储效率至关重要。在本文中,我们将以 Golang 中的简单“Hello World”程序为例,探讨几种优化 Docker 镜像的技术。2 代码库package mainimport ("fmt")func main() {fmt.Println("Hello World")}3 步骤 1:基本 ...
2024-10-19 09:10:26 385
转载 理解 Go 内存的魔法
内存管理是编程的一个重要部分。它通过确保程序有足够的内存可供使用但不会浪费太多内存来帮助程序平稳高效地运行。由 Google 设计的 Go 编程语言有一个内置的系统来为您管理内存。本指南将用简单的术语解释 Go 如何处理内存。Go 的内存模型由堆和栈组成。堆用于动态分配的对象,而栈则存储局部变量和函数参数。Go 运行时会自动处理堆上对象的分配和释放,让开发人员更轻松地进行内存管理。1 Go 中...
2024-09-24 08:30:27 96
转载 揭穿 10 个关于 Docker 的误解
容器似乎是一项相对较新的技术突破,但其起源可追溯到 20 世纪 70 年代,当时 Unix 系统首次使用类似容器的概念来隔离应用程序。时间快进到 2013 年,Docker 通过推出便携式、用户友好的容器平台彻底改变了这一理念,并引发了广泛的采用。2015 年,Docker 在创建开放容器计划 (OCI)方面发挥了重要作用,旨在促进容器生态系统内的开放标准。凭借 OCI 提供的稳定性,容器技术在整...
2024-09-23 08:28:09 81
原创 流行编程语言的优点和缺点
我使用过很多种编程语言,我以不同的方式使用它们来完成不同的事情,因为它们是完成某项工作的工具,就像锤子是用来钉钉子的工具,而螺丝刀(令人震惊的是)是用来拧螺丝的……虽然你可以用螺丝刀来钉钉子,也可以用锤子来拧螺丝……但它们并不是完成这些工作的最佳工具。那么让我们来看看某些特定语言擅长什么工作,不擅长什么工作……1 C优点:低级控制C 语言对内存和硬件等系统资源提供了无与伦比的控制能力。因此,C...
2024-09-16 09:17:59 1204
原创 听说过“惊群效应”吗?Facebook 就是这么解决的!
在数字世界中,数百万人可以同时收看直播活动,流畅地播放而不发生服务器崩溃是一项重大挑战。这里的一个关键问题是“惊群效应”。如果管理不当,它可能会导致严重的中断。在这篇文章中,我将解释这个问题是什么、如何解决它,以及 Facebook 如何确保直播期间一切顺利运行。1 ???? 惊群效应到底是什么?想象一下举办一场聚会,每个人都同时吃同一种零食,造成混乱。在科技领域,雷群问题也类似——许多用户同时请求...
2024-09-12 08:14:56 367
原创 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 1080
转载 现代 Kubernetes 网络策略指南
在 Kubernetes 世界中,网络策略对于控制集群内的流量至关重要。但它们到底是什么?为什么、何时以及如何实施它们?无论您是现有的 Kubernetes 用户并想要更好地了解网络,还是试图将您的知识映射到 Kubernetes 的传统网络工程师,您来对地方了。本指南适用于任何有兴趣详细了解基于策略的 Kubernetes 网络流量控制的人。您将了解不同类型的策略及其重要性、每种策略的优缺点、如...
2024-09-01 21:11:17 288
转载 在 eBPF 中重新实现我的 Linux Rust 调度程序
1 概述用 Rust 编写的 Linux 调度程序的主要瓶颈 scx_rustland 是内核和用户空间之间的通信。BPF_MAP_TYPE_RINGBUF 即使使用环形缓冲区( / )可以大大改善通信本身,但 BPF_MAP_TYPE_USER_RINGBUF 多级队列不可避免地会导致调度程序以不太节省工作量的方式运行。这具有双重效果,使得基于 vruntime 的调度策略更有效(能够积累更...
2024-08-22 08:22:34 90
原创 新手使用 Prometheus 时应避免的 6 个坑
让我们来谈谈新手刚刚开始使用基于 Prometheus 监控指标时应避免的 6 个常见错误:1 错误 1:基数炸弹这是每个人在开始使用 Prometheus 时至少会遇到一次的典型陷阱。一旦您发现 Prometheus 基于标签的数据模型的实用性,您可能会试图按各种有用的标签维度拆分指标,直到您创建的时间序列远远超过 Prometheus 服务器可以处理的数量。例如,您可能有一个 HTTP 服...
2024-08-20 08:25:19 870
转载 背压(Back Pressure)原理与流量控制
春节期间,高速上动不动就堵车,这是一种“背压”的现象。背压(back pressure),也叫“反压”,指的是下游系统处理过慢,导致上游系统阻塞的现象。我们来聊聊背压后面的流控吧。1 流控策略如上图,系统中存在三方:生产者(Producer)产生数据,通过管道(Pipeline)传输给消费者(Consumer)。Producer Consumer 此时生产的速率(100/s)大于消费的速率(7...
2024-08-19 08:03:32 484
转载 谈谈以 Kubernetes 为核心的云计算未来
云计算彻底改变了企业的运营方式,提供了前所未有的可扩展性、灵活性和效率。展望未来,有一项技术脱颖而出,成为这一演变的基石:Kubernetes。Kubernetes 最初由 Google 开发,现在由云原生计算基金会 (CNCF) 维护,已成为容器编排的事实标准。它能够管理、扩展和自动化跨主机集群部署应用程序,正在改变云格局。在这篇博客中,我们探讨了 Kubernetes 为何是云计算未来的核心,...
2024-08-18 10:04:25 83
原创 Kubernetes在虚拟机和裸机上的性能比较
在本文中,我们旨在通过展示 Kubernetes 在虚拟机(SMTX Kubernetes 服务,简称 SKS)和裸机服务器上运行有状态和无状态应用程序的实证性能数据来解决这一差距。总体而言,结果表明 SKS 的性能范围是基于裸机的 Kubernetes 的 82% 到 96%,这表明基于虚拟机的 Kubernetes 可以有效满足生产环境中大多数容器化应用程序的要求。1 1 测试目标在相同的...
2024-08-14 21:34:21 646
转载 使用 Kubernetes 上的 Helm 部署微服务应用程序
Helm 通常被称为 Kubernetes 的软件包管理器,它简化了 Kubernetes 集群内应用程序的部署和管理。本指南将引导您使用 Helm 部署微服务应用程序,并说明创建 Helm 图表、管理依赖项和部署多服务应用程序等关键概念。1 先决条件在开始之前,请确保您已安装以下工具:kubectl:Kubernetes 命令行工具。minikube:用于开发和测试的本地 Kubernete...
2024-08-12 08:22:14 173
转载 2024 年值得关注的三大边缘 AI 趋势
2023 年是人工智能技术成为主流的一年。曾经在电影中看到的东西现在已成为日常业务运营中不可或缺的一部分。人工智能已融入手机、购物体验和日常的日常办公工作中。从科技巨头到电子商务商店再到服务提供商,每个人都在使用人工智能来简化运营、提高生产力并创造引人入胜的客户体验。展望 2024 年,很明显,人工智能的影响力只会继续增长。最令人兴奋的发展之一是人工智能与边缘计算的融合。MSys 高管最近参加了 ...
2024-08-11 10:00:48 122
原创 使用 Go 1.23 中的 unique pkg 减少分配并比较性能
我一直在研究即将发布的 Go 1.23 版本,因此我很想了解这个新 unique 软件包以及它旨在解决的问题。下面是对该调查的总结,我希望它对其他有兴趣了解更多信息的人有用。1 Interning 和 GoInterning,最初由 Lisp 引入的一个术语,是指在内存中只存储一个值并共享对它的唯一引用的过程,而不是分配多个副本并浪费内存。例如,Go 编译器已经在编译时执行了字符串常量的驻留,...
2024-08-06 08:09:26 666
原创 未来几十年,软件工程师是否真的比其他类型的 IT 人员更容易被人工智能取代?...
IT 领域最有可能被人工智能取代的工作(不是完全取代,但大概是 60-70%):项目经理(充当售前的传话筒,每天把客户说的话传递到研发那里,然后静待花开)产品交付经理(把项目经理的工作进行排期,然后催问什么时候完成,有没有风险)SCRUM 教练(每日站会,统计程序员的 Bug 数量,产品研发进度的合理性,搞个到现在都不知道有什么用的 CMMI)自称是 IT 人员但实际上不知道发生了什么事的无知人士...
2024-08-05 08:15:09 382
原创 Linux 几乎与 Unix 没什么区别,为什么 Linus Torvalds 却获得如此多的赞誉?
虽然这肯定需要大量的技术专长才能实现,但似乎并不需要太多的创新。关于他的工作和实际所做的事情,已经有很多很好的答案,但我想谈谈关于 Linux 和 Unix 难以区分这一点。Unix 和 Linux 之间的关系非常复杂,但下面的家族树有助于将其概括为:如您所见,有大量操作系统基于原始 Unix 发行版。颜色在这里特别重要,因为绿色是开源操作系统,而红色是闭源操作系统(橙色是混合源)。请注意,Min...
2024-08-04 08:00:38 291
转载 eBPF 能否拯救我们免于 CrowdStrike 式的灾难?
在 CrowdStrike Windows 安全事件发生后,安全专家和开发人员都在寻找一种更安全的方式来运行低级安全程序。一种可能的解决方案是 eBPF。英特尔院士兼系统专家 Brendan Gregg 认为,eBPF 可以预防未来类似 Crowdstrike 的灾难。其他人则不那么肯定。在 CrowdStrike Windows 安全惨败之后,安全专家和开发人员都在寻找一种更安全的方式来运行低级...
2024-08-03 10:00:58 69
原创 老板永远不应该对程序员说什么?
有一句话,一说出来,我和我认识的所有开发人员都会吓出一身冷汗。这句话让开发人员瞬间上头,只有那些不熟悉开发过程中难以言喻的恐怖的人才会知道这句话的来历:“嗨,这很容易。只需要 5 分钟就可以完成,对吧?”当你听到这句话时,几乎总是意味着熬夜即将来临。瞧,这句话的可怕之处不在于编程只需花几分钟就能完成的简单事情,而在于每当有人同时说出这几个字时,几乎肯定会是一个看似无辜的请求,但却会变成一场无休止的...
2024-08-01 08:19:18 356
原创 微软蓝屏内幕:来自周五的空指针部署
1 发生了什么?2024 年 7 月 19 日 04:09 UTC,作为持续运营的一部分,CrowdStrike 向 Windows 系统发布了传感器配置更新。传感器配置更新是 Falcon 平台保护机制的持续组成部分。此配置更新触发了逻辑错误,导致受影响的系统崩溃和蓝屏 (BSOD)。导致系统崩溃的传感器配置更新已于 2024 年 7 月 19 日星期五 05:27 UTC 修复。此问题不是...
2024-07-30 21:34:07 503
原创 如何使用自修复代码减少技术债务
使用 LLM 进行自我修复代码的想法令人兴奋,但平衡自动化和人工监督仍然至关重要。到 2028 年,一些估计表明 75% 的企业软件工程师将积极使用 AI 代码助手,而 2023 年初这一数字还不到 10%。在时间就是金钱的行业中,使用生成式 AI 是一种有价值的工具,可以简化工作流程并提高生产力。然而,对于我们这个行业的人来说,重视项目速度可能会付出代价。技术债务是选择速度而不是花费更多时间的更...
2024-07-29 23:20:09 354
原创 已经10岁的K8S,在很多方面仍需努力
/ K8S 已经 10 岁了,但仍然有许多方面要继续努力 /Kubernetes 于 2014 年 6 月推出,自那时起,它在推广云原生应用设计和支持更多微服务部署方面发挥了巨大作用。容器部署的增长非常迅速,而 Kubernetes 对于企业管理这些部署至关重要——根据 CNCF 上一份报告的调查结果,84% 的组织正在使用或评估 Kubernetes,而 66% 的潜在和实际消费者在生产中使用 ...
2024-07-28 19:10:22 425
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关注的人