GopherDaily

GopherDaily

2024-04-24

每日一谚:Write functions that do one thing and do it well


Go技术生态

C不是宿醉,Rust不是宿醉解药
文章强调在选择编程语言时需要考虑各种因素,包括经济因素和可替代方案的可用性。尽管C和C++存在重大安全风险,但完全消除它们在现有应用程序中的使用会带来高昂的成本和耗费时间。此外,作者认为编程语言的选择并不仅仅是在C和Rust之间的简单二选一,而是其他语言如Go可以在性能、安全性和对低级系统的访问方面提供平衡的选择。

Borrow checking, RC, GC, and the Eleven (!) Other Memory Safety Approaches
The article introduces the author's secret collection of memory safety techniques, known as the "memory safety grimoire", which includes techniques like borrow checking, reference counting, arena-only programming, and dynamic reference counting, and suggests that these techniques could be used to design new memory safety approaches in the future.

我更喜欢传递结构指针的两个原因
普雷斯拉夫·拉乔夫(Preslav Rachev)认为,在Go中,指针比复制语义更通用,更有益,应该用于一致性并避免不必要的技术复杂性。

Go 中 I/O 的基础知识:第 3 部分
该文档详细解释了 Go 中缓冲 I/O 的概念,解释了它如何通过将数据临时存储在缓冲区中来最小化系统调用,并详细说明了其三种主要类型:“bufio.作家','bufio。读者“和”bufio.扫描仪'。

使用 OPA 进入后台
本文讨论了将 Open Policy Agent (OPA) 集成到内部开发人员门户的 Backstage 工具中,重点介绍了使用 Opa 进行授权的好处、在系统中使用权限和授权的挑战,以及为 backstage 开发 Opa 插件。

失败者树数据结构:如何优化合并并使程序运行得更快
Grafana Labs 的杰出工程师 Bryan Boreham 讨论了使用失败者树数据结构来优化应用程序中的合并操作,这显着提高了 Greta Loki 和 Grafana Pyroscope 等开源项目的性能。

云原生技术

为什么没有人谈论移动可观测性?
本文讨论了移动开发的挑战,包括较长的发布和升级周期、有限的资源和控制、不断发展的隐私控制、时间/语言挑战以及计划外终止对应用性能的影响,并提出了移动可观测性的潜在前进道路。

数据网关 — 用于扩展和保护数据层的平台
Netflix 开发了一个名为 Data Gateway 的平台,用于简化和保护数据访问,增强安全性、可靠性和可扩展性,并促进数据存储之间的数据迁移,从而降低维护成本并提高应用程序开发人员使用的抽象级别。

CI/CD 成本优化指南
Semaphore 的指南提供了有关如何在 Semaphore 中优化 CI/CD 工作流的指南,重点介绍了依赖缓存、快速失败策略、自动取消策略和条件作业执行等策略,以减少构建时间和运营成本。

面向 Tableau 的 Einstein Copilot:构建下一代 AI 驱动型分析
Salesforce 软件工程副总裁 John He 讨论了 Einstein Copilot for Tableau 的开发,这是一个 AI 驱动的对话界面,可简化数据分析、克服基础架构复杂性,并与 Salesforce AI 研究团队一起应对准确性、效率和协作方面的挑战。

HAProxy 可抵御 HTTP/2 CONTINUATION Flood
HAProxy 是一种反向代理,可以抵御 HTTP/2 协议中最近的一个漏洞,该漏洞可能通过利用协议的 CONTINUATION 帧来允许拒绝服务 (DoS) 攻击,因为它可以有效地处理洪水并防止服务器意识到攻击。

回顾:KubeCon + CloudNativeCon Europe 2024
JYSK tech 参加了 KubeCon + CloudNativeCon Europe 2024,指出了 Kubernetes 生态系统的演变、从 DevOps 到平台工程的转变,以及了解多集群环境的重要性,同时也强调了北欧社区的存在以及 KCL 和 Vitess 项目的潜力。

Kubernetes 1.30:验证准入策略已正式发布
Kubernetes 1.30 版本已将 ValidatingAdmission Policy(验证准入 Webhook 的声明性替代方案)正式发布,并提供了有关如何使用它的详细指南,包括示例和测试。

eBPF:可靠的策略制定和执行
新堆栈讨论了 eBPF(增强型 Linux 内核保护)在策略设置和执行中的作用,强调了它在安全性、可观测性、网络和其他应用程序中的影响,以及它在 Kubernetes 上设置和执行策略方面的应用。

系统调试的艺术 — 解码 CPU 利用率
Emmanuel Livingstone 的这篇博文讨论了一个案例研究,介绍了他们如何诊断、根本原因和缓解 API Gateway 应用程序中的性能问题,识别 CPU 使用率过高和“Runtime.availableprocessors”函数中的错误。

AI

如何在MacBook Pro上微调phi-3
这篇博文提供了有关如何使用 AutoTrain Advanced 在 MacBook Pro 上微调 Microsoft 的 Phi-3 模型的指南,包括安装必要的依赖项、获取必要的数据以及执行 SFT 和 ORPO 训练的过程。

2024 年最流行的 AI 编程语言适用于您的项目
本文讨论了 2024 年最流行的 AI 编程语言,包括 Python、Java、JavaScript、R、C++、Julia、Scala 和 Lisp,强调了它们的优势和应用,并建议语言的选择取决于项目的需求。

编码在 2024 年仍然值得学习吗,还是我们应该拥抱我们的新机器人霸主?
本文讨论了 2024 年编码和软件工程的未来,解决了人们对人工智能导致人类技能过时的担忧,并建议人工智能可以增强人类的能力,而不是取代它们。

流行工具与项目

ollama/ollama
使用 Llama 3、Mistral、Gemma 和其他大型语言模型启动并运行。

techschool/simplebank
后端大师班:用 Go 构建简单的银行服务

hashicorp/hcl
HCL 是 HashiCorp 配置语言。

rook/rook
Kubernetes 的存储编排

segmentio/kafka-go
Go 中的 Kafka 库

golang/go
Go 编程语言

rancher/rancher
完整的容器管理平台

jmoiron/sqlx
Golang 数据库/SQL 的通用扩展

IBM/sarama
Sarama 是 Apache Kafka 的 Go 库。

coroot/coroot
Coroot 是一个开源的 APM 和 Observability 工具,是 DataDog 和 NewRelic 的替代品📊。 🖥️ 👉由 eBPF 提供支持,可快速了解系统性能。毫不费力地监控、分析和优化您的基础架构,以实现任何规模的峰值可靠性。

grpc/grpc-go
gRPC 的 Go 语言实现。基于 HTTP/2 的 RPC

containers/podman
Podman:用于管理 OCI 容器和 Pod 的工具。

golang-migrate/migrate
数据库迁移。CLI 和 Golang 库。

panjf2000/gnet
🚀 gnet is a high-performance, lightweight, non-blocking, event-driven networking framework written in pure Go./ gnet 是一个高性能、轻量级、非阻塞的事件驱动 Go 网络框架。

coreybutler/nvm-windows
适用于 Windows 的node.js版本管理实用程序。具有讽刺意味的是,这是用围棋写的。

kubernetes-sigs/cluster-api
Cluster API 的主页,sig-cluster-lifecycle 的子项目

uber-go/zap
在 Go 中快速、结构化、分级的日志记录。

caarlos0/env
一个简单且零依赖的库,用于将环境变量解析为结构体

kubernetes/minikube
在本地运行 Kubernetes

cosmos/cosmos-sdk
⛓️ 构建高价值公共区块链✨的框架

sourcegraph/sourcegraph
Code Search 和 Cody 的 Code AI 平台

nats-io/nats-server
用于 NATS.io 的高性能服务器,云和边缘本机消息传递系统。

hashicorp/packer
Packer 是一种工具,用于从单一源配置为多个平台创建相同的机器映像。

grafana/mimir
Grafana Mimir 为 Prometheus 提供水平可扩展、高可用性、多租户的长期存储。

k3s-io/k3s
轻量级 Kubernetes


编辑:Tony Bai

编辑主页:tonybai.com

GopherDaily主页:gopherdaily.tonybai.com

GopherDaily归档:gopherdaily.tonybai.com/more

GopherDaily项目:github.com/bigwhite/gopherdaily

订阅GopherDaily

取消订阅GopherDaily

Copyright 2019-2024 GopherDaily