简介
欢迎关注我的频道,不时发送垃圾消息
https://t.me/bboyapp
或者关注我的 twitter
https://twitter.com/bboysoulcn
-
The evolving landscape of API protocols in 2023
gpt: 这篇文章由Alex Xu撰写,他是《系统设计面试》系列书籍的作者。文章深入探讨了现今API协议的发展趋势,分析了REST、Webhooks、GraphQL、SOAP、WebSocket和gRPC等协议的优势、挑战以及使用情况。REST仍是最受欢迎的网页API架构风格,但GraphQL和gRPC等替代方案也正在逐步受到开发者的青睐。Webhooks和WebSockets等协议也因其实时通信的特性而越来越重要。尽管REST在许多常见的API使用场景中仍是一个坚实的基础,但随着应用变得越来越复杂,开发者们正在智慧地扩展他们的API协议工具箱,包括专门的解决方案如GraphQL和gRPC。作者强调,现代API开发者最好理解多种协议的优点和缺点,结合REST、webhooks、WebSockets、GraphQL等协议的独特优势来构建系统,以此创建出健壮、高效且易于维护的API。
https://blog.postman.com/api-protocols-in-2023/
-
Cloudflare Gen 12 Server: Bigger, Better, Cooler in a 2U1N form factor
gpt: 这篇文章介绍了Cloudflare即将在2024年部署的第12代服务器硬件,基于AMD EPYC Milan x86处理器。这次升级不仅包括处理器,还包括服务器的许多组件,以适应驱动Workers AI推理的GPU,并利用内存、存储和安全方面的最新进展。文章还讨论了服务器形状因素和处理器散热问题。新一代的x86处理器性能显著提升,但代价是更高的功耗和热量输出。为了解决这个问题,Cloudflare决定采用新的物理形状的服务器。此外,Cloudflare还面临着如何在保持机架电源预算的同时,提高机架内服务器的数量的挑战。解决方案是将机箱高度增加到2U形状(从1.75英寸高度增加到3.5英寸),这样可以装配更大的风扇,散热更有效,而且还能为PCIe附加加速器/GPU提供足够的空间。尽管2U形状的机箱需要更多的空间,但由于Cloudflare的限制是电源而不是空间,所以这个权衡并没有对设计产生负面影响。
https://blog.cloudflare.com/cloudflare-gen-12-server-bigger-better-cooler-in-a-2u1n-form-factor/
-
nftables 入门:从配置文件到端口转发
gpt: 这篇文章主要介绍了如何使用nftables进行防火墙配置和端口转发。文章首先解释了Netfilter和nftables的基本原理,然后详细介绍了如何编写和理解nftables的配置文件,以及如何在OpenWrt上使用nftables进行端口转发。作者还提供了一些实用的参考资源,包括nftables官方wiki和其他Linux发行版的相关文档。最后,作者分享了他的个人经验和教训,鼓励读者自己动手实践和探索nftables的更多功能。
https://blog.rachelt.one/articles/new-to-nftables-from-config-to-dnat/
-
How to (and how not to) design REST APIs
gpt: 这篇文章提供了设计REST APIs的最佳实践和常见错误。作者建议使用复数名词表示集合,避免在URL中添加不必要的路径段和扩展名,始终将顶级响应作为对象而非数组返回,并且不要返回映射结构。所有的标识符应使用字符串,而非数字。同时,作者强调不应使用HTTP 404表示“未找到”,而应选择其他400级错误代码。此外,API应保持一致性,使用结构化的错误格式,并提供幂等性机制。对于时间戳,作者建议使用ISO8601字符串格式。
https://github.com/stickfigure/blog/wiki/How-to-(and-how-not-to)-design-REST-APIs
-
mylens.ai
使用 ai 生成事件时间轴
https://mylens.ai/
-
Using Argo CD and Kustomize for ConfigMap Rollouts
gpt: 这篇文章讲述了如何使用Argo CD和Kustomize解决Kubernetes中的ConfigMap更新不会触发应用部署的问题。主要方法是通过在Kustomize中使用commonAnnotations,在ConfigMap更新时改变注解值,从而触发应用的部署。这种方法也适用于Secrets和Sealed Secrets,是一种使用Kubernetes内置工具的简单解决方案。
https://codefresh.io/blog/using-argo-cd-and-kustomize-for-configmap-rollouts/
-
How to Clean Up Old Containers and Images in Your Kubernetes Cluster
gpt: 这篇文章介绍了如何在Kubernetes集群中清理旧的容器和镜像。Kubernetes内置的垃圾收集系统,由Kubelet管理,可以自动清理未使用的镜像和停止或无法识别的容器。用户可以通过设置Kubelet标志来自定义垃圾收集的运行时机和容器的保留期限。然而,手动删除死亡容器或镜像是不推荐的,因为可能会导致Kubelet的运行出现问题。未来,Kubernetes计划用更强大的"驱逐"系统来替代垃圾收集,这将提供一种统一的方式来清理Kubernetes资源。
https://www.howtogeek.com/devops/how-to-clean-up-old-containers-and-images-in-your-kubernetes-cluster/
-
helm-dashboard
Helm Dashboard是一个开源项目,它提供了一种 UI 驱动的方式来查看已安装的 Helm 图表、查看其修订历史记录和相应的 k8s 资源。它还允许用户执行简单的操作,例如回滚到修订版或升级到更新版本。
https://github.com/komodorio/helm-dashboard
-
learnkubernetes.withgoogle.com
谷歌推出的一系列k8s教学视频
https://learnkubernetes.withgoogle.com/
-
Django 5.0 released
gpt: Django团队发布了Django 5.0,引入了众多新特性,如数据库计算默认值、生成的模型字段和模板系统的字段组概念。同时,Django 4.2的主流支持已结束,Django 4.1的扩展支持也已结束,鼓励用户升级到新版本。
https://www.djangoproject.com/weblog/2023/dec/04/django-50-released/
欢迎关注我的博客www.bboy.app
Have Fun