近期参与开源的心得体会

news2025/1/9 1:48:04

引言

最近随着Kepler项目加入CNCF sandbox,写一篇blog来记录下参与这个项目半年的发展的心得体会。

运营

项目的运营最好还是专注于项目自身的发展,围绕项目的特点,创新点入手,为大家提供价值,从而自然而然的扩大自身影响力。

我们没有专业运营

我们的文档写的,并不好。这是Thoughtworks技术雷达对我们项目的评价, 而我们项目,目前还没写正式的中文文档。

衡量能源消耗是团队减少软件碳足迹的重要步骤。云碳足迹 (CCF) 通过从云 API 检索的账单和使用数据估计能源消耗。Kepler 是基于 Kubernetes 的高效功率级别导出器(Kubernetes-based Efficient Power Level Exporter)的缩写。它通过使用软件计数器(RAPL, ACPI 和 nvml)来测量硬件资源的功耗,并采用基于 eBPF 的方法来将功耗归因于进程、容器和 Kubernetes Pod。然后,使用自定义的 ML 模型和 SPEC Power 基准测试数据将功率使用转换为能量估算。最后,将 Pod 级别的能量消耗报告作为 Prometheus 度量标准公开。在 Kubernetes 运行在虚拟机上的情况下,例如不使用裸机实例时,Kepler 使用 cgroups 来估计能源消耗。我们对云碳足迹有着丰富的经验,并且可以证明其有用性,但我们对 Kepler 项目的方法感到好奇。

再来看看英文文档。
在这里插入图片描述
作为初创项目,目前核心的维护着们主要都还专注在项目本身,解决项目发展过程中遇到的问题。文档,固然重要,只不过受限于优先级和精力,目前有待完善。
我们也欢迎大家帮忙构建这个项目,比如文档。

是金子总会发光

创新,可以是一种新的思路,新的方法,新的方式去解决现有问题。也可以是通过现有技术去解决一个新的问题,抑或其他方式。
但无论如何,“解决问题”便是项目对于大家所产生的价值。场景(边界),方式(做法),效果(评价标准)。

在空间不受限的情况下(边界),散列算法(方式)会是最佳,因为时间最短(标准)。

从一个算法,放大到功能,应用,项目同理。只不过,考察的范围在变大。

前期运营依旧重要

不容忽视的一点仍旧是项目的前期运营和起步。诚然我是从一位同事那里听说了这个项目,并逐渐成为维护者之一的。
因此对于早期项目,宣传依旧很重要。

在项目成为CNCF sandbox项目前,我们就通过向kubecon等峰会投稿,并开展演讲的方式对项目进行了宣传。

协作

对于软件业,疫情期间大家应该多少也都锻炼出一些远程离线沟通技能了吧。

远程沟通

这里推荐两本书,《重来》,《重来2》。每本书都以一个一个小故事的的方式。讲述了不同的远程协作观点,技巧。
写这本书的37 Signal公司,如果我没理解错,应该在疫情前就是一家完全远程办公的公司,甚至做到了上市。
这是我为这个项目准备的一个录像。由于这个会在我凌晨的时间举行,因此我通过录像的形式进行内容介绍。

工地英语

可怕的不是工地英语,而是自我设限。

在windows上通过podman起一个nginx container

这句中英混合的例句,对于大家不是很难吧?
全世界那么多人,英文不是所有人的母语。大多数的研发人员实际上都是在用工地英语,进行交流。
中式英语,日式英语,印度英语,欧洲人的英语。。。都不是母语,只要不是影响阅读和表意的语法问题。
考过高考英语,四六级的,写个小作文表意应该不是大问题,何况这个作文还有很多专有名词凑字数。
比如以下专有名词

Dockerfile, Ansible playbook

主动承担

项目的核心成员在不同方面,对项目进行分工协作。让项目在半年内有了明显的发展和提高。
麻雀虽小,五脏俱全
一个项目如果需要快速发展,从今日来看,基本的CI,部署方式,核心应用模块都是必不可少的。

成长

作为兴趣爱好成了职业的人。“用爱发电”或者说要有收益,这个角度我并不想过多评论。

玩儿手机玩儿到半夜你开心不?

只不过我是在“玩”开源项目嘛,所以下边主要在个人体会方面。

长期主义

价格和价值是两个事情,长期主义看的是价值。
我最近看了篇帖子,讲的是双鱼座号潜水器事故救援的故事。
两位幸存者如何利用数理化的专业知识在水下设法延长了12.5小时最终获救的故事。
在最初的26秒内的应对,和接下来72小时的应对。
假设你参与深海探索活动,随身携带的现金,可能不如知识/技能重要。

一分耕耘一分收获

如果非得要建立个经济学模型的话
你所做的,写成稿子,作为最佳实践去投稿,投个kubecon。
中了,那么恭喜你,多了一分收获。
没中,那么你也没什么损失。
你已经贡献/计划到开源的是成本,基于投入的成本,去分享。每多一个平台,就是多一份回报,扩大了个人的影响力。
开源节流,开源节流。
构建影响力,扩大影响力,把事情做大。(开源)
比如
当我们在讨论OpenSSF的时候我们在讨论什么?
聊下自己的开源实践和The apache way
总结下混迹TWGC学到了什么?

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/680581.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【计算机网络】计算机网络期末自测题(一)答案

2019-2020 学年第 2 学期自测题答案及评分标准 (卷 1) 计算机网络 一、 填空题: 参考答案: 1 、 01000101 、11100111 3 、 100Mbps、双绞线、基带、全双工 [10Mbps 要求单位] 4 、 报文 5 、 ICMP 6 、 虚电路 7 、 距离矢量、链路状态 …

什么是网络安全?

文章目录 一、概述1.1 网络安全的指标1.2 网络安全的特征 二、网络安全威胁2.1 黑客能破坏的2.2 Internet安全手段2.2.1 端口扫描2.2.2 分组嗅探sniffing2.2.3 IP欺骗Spoofing 2.3 Internet安全威胁2.3.1 DOS拒绝服务 三、密码学3.1 对称加密算法3.1.1 传统加密3.1.2 现代加密技…

Redis(七):Redis基础入门

Redis基础入门 Redis用途Redis优缺点docker运行RedisRedis常用命令String命令Hash命令List命令Set命令ZSet命令全局命令 Redis事务Redis持久化机制RDBAOFRDBAOF(默认) Redis内存淘汰机制Redis对过期Key的处理 Redis用途 Redis是一种开源的NoSQL内存数据库…

【MySql】多版本并发控制MVCC前置知识——隐藏字段、undo日志与Read View

文章目录 3个记录隐藏列字段undo日志模拟 MVCCRead View 数据库并发的场景有三种: 读-读 :不存在任何问题,也不需要并发控制 读-写 :有线程安全问题,可能会造成事务隔离性问题,可能遇到脏读,幻读…

UOS系统下搭建qtcreator编译环境

文章目录 前言一、依赖包说明二、No valid kits found 问题现象三、No valid kits found 问题解决1.查找qt安装路径2.设置Qt Versions3.构建套件(kit)下选择Qt版本4.重新添加工程 前言 本文记录了在UOS系统下如何安装qtcreator以及涉及的依赖包安装&…

冷静期or跌落神坛:净水市场纠结,“易开得”们路在何方?

文丨琥珀消研社 作者丨余二 1986年11月1日,一场火灾拉开了世界三大水污染——莱茵河水污染的序幕。 是夜,位于瑞士巴塞尔市的桑多兹化学公司的一个化学品仓库发生火灾,装有约1250吨剧毒农药的钢罐爆炸,大火持续了4个多小时&…

SpringBoot 线上服务假死,CPU 内存正常,什么情况?

背景 开发小伙伴都知道线上服务挂掉,基本都是因为cpu或者内存不足,出现GC频繁OOM之类的情况。本篇文章区别以上的情况给小伙伴们带来不一样的服务挂掉。 还记得哔哩哔哩713事故中那场诡计多端的0吗? 图片 对就是这个0,和本次事…

团体程序设计天梯赛-练习集L2篇③

🚀欢迎来到本文🚀 🍉个人简介:Hello大家好呀,我是陈童学,一个与你一样正在慢慢前行的普通人。 🏀个人主页:陈童学哦CSDN 💡所属专栏:PTA 🎁希望各…

【golang中的变量 全局/局部/4中声明】

目录 变量变量的分析1.变量的创建的四种形式1.1总结1.2第一种 var a int 声明1.3 第二种 var a string "XXXX" 初始化1.4第三种 var a "XXXX"1.5第四种 a : XXXX 2.一次性声明多个变量3.一次初始化多个变量3.1交换值 4.全局变量--局部变量5. 声明和初始化…

Kafka生产调优源码

一、Kafka硬件配置选择 1.1 场景说明 100 万日活,每人每天 100 条日志,每天总共的日志条数是 100 万 * 100 条 1 亿条。 1 亿/24 小时/60 分/60 秒 1150 条/每秒钟。 每条日志大小:0.5k - 2k(取 1k)。 1150 条/…

算法------排序算法------冒泡排序法

介绍 冒泡排序法又称交换排序法,原理是从第一个元素开始,比较相邻元素的大小,如大小顺序有误,则对调后再进行下一个元素的比较,一次扫描之后可以确保最后一个元素位于正确的位置。接下来进行的第二次扫描,…

SSMP整合案例(5) Spring Boot整合MyBatis-Plus实现条件查询

讲完条件查询 那么 我们整个数据层的代码就写完了 可以看到 我们之前的代码 查询语句都有一个 参数 QueryWrapper 这个就是查询条件 其实 我们可以直接这样写 QueryWrapper<book> Query new QueryWrapper<>(); bookDao.selectList(Query);QueryWrapper类需要手…

Spring加载后初始化的9种方式

本文来聊一下在spring中&#xff0c;当spring 容器启动后&#xff0c;我们有几种初始化操作的方式。 目录 Spring加载后初始化的几种方式 Component和Service加构造方法 ContextRefreshedEvent事件 代码如下&#xff1a; 输出结果&#xff1a; PostConstruct 注解 代码如…

基于骨骼关键点的动作识别(OpenMMlab学习笔记,附PYSKL相关代码演示)

一、骨骼动作识别 骨骼动作识别是视频理解领域的一项任务 1.1 视频数据的多种模态 RGB&#xff1a;使用最广&#xff0c;包含信息最多&#xff0c;从RGB可以得到Flow、Skeleton。但是处理需要较大的计算量 Flow&#xff1a;光流&#xff0c;主要包含运动信息&#xff0c;处理…

面向对象分析与设计 UML2.0 学习笔记

一、认识UML UML-Unified Modeling Language 统一建模语言&#xff0c;又称标准建模语言。是用来对软件密集系统进行可视化建模的一种语言。UML的定义包括UML语义和UML表示法两个元素。 UML是在开发阶段&#xff0c;说明、可视化、构建和书写一个面向对象软件密集系统的制品的…

Hyper-V虚拟机在wifi环境下的外网连接配置

目录 什么是虚拟交换机管理器了解虚拟交换机中的三个概念通过无线网卡创建虚拟交换机遇到的问题wifi环境下虚拟机外网连接方法 前面我们已经安装好了Hyper-V虚拟机和liunx操作系统&#xff0c;但是我们没有给虚拟机配置网络&#xff0c;本来我以为是一件很简单的事情&#xff0…

【Spring Boot学习】怎么配置文件,配置文件有什么用

前言&#xff1a; &#x1f49e;&#x1f49e;今天我们依然是学习Spring Boot&#xff0c;这里我们会更加了解Spring Boot的知识&#xff0c;知道Spring Boot的配置文件是什么样子的。有什么用&#xff1f;怎么使用Spring Boot的配置文件。 &#x1f49e;&#x1f49e;路漫漫&a…

Apache James 同时开启25、587、465端口

前提&#xff1a; 可以参考如下两篇文章在window或者linux上&#xff0c;先部署好Apache James Apache James邮件服务器搭建&#xff08;linux&#xff09;_Steven-Russell的博客-CSDN博客 Apache James邮件服务器搭建&#xff08;windows&#xff09;_Steven-Russell的博客…

Qt6.2教程——6.QT常用控件QLineEdit

一&#xff0c;QLineEdit简介 QLineEdit是Qt库中的一个控件&#xff0c;它提供了一个单行的文本输入框。用户可以在这个输入框中输入和编辑文本。它可以设置占位符文本&#xff08;Placeholder Text&#xff09;&#xff0c;当QLineEdit为空的时候显示这个占位符文本。它还可以…