拥抱开源,构建未来:王嘉树与 TDengine 的开源之旅

在当代的技术浪潮中,开源文化不仅催生了无数创新技术,也为广大技术爱好者提供了一个展示才华、相互学习的平台。我们今天采访到的这位北京邮电大学电子工程学院的研究生,就是在这样的背景下,通过开源活动不断探索、学习并实现自我突破的典型代表,他就是王嘉树。

在开源布道者、程序员 Rick 的影响下,王嘉树决定将自身学习到的学术理论与前沿技术相结合,探索开源软件世界的无限可能。而他在 TDengine 开源社区的参与,更是让这段开源之路变得丰富多彩。

初识 TDengine,一场意义非凡的讲座

“我第一次接触到 TDengine 是在一次开源布道会上,涛思数据创始人、TDengine 核心作者陶建辉老师(Jeff)受邀至北京邮电大学进行讲座。当时很多人是为了凑学分才去听的,但我却被讲座内容深深吸引,我觉得这可能是我在本科和研究生期间听过的最赞的讲座了。讲座结束后我还有幸和陶老师进行了一次深入交流,他给了我一些关于开源和计算机学习方面的很实用的建议。因为数据库的复杂性,当时我仅仅去 GitHub 上为 TDengine 点了一个 star(开源地址:https://github.com/taosdata/TDengine),没有再做更多的贡献,但感触颇深,还在博客上记录了这次经历和感想。”

博客链接🔗:https://wjsvec.github.io/2021/10/11/拥抱开源,听技术-开源讲座的一点感想/

受到 Jeff 的影响,王嘉树开始在 GitHub 上寻找合适的项目进行贡献。他选择了文档和前端方面的工作,逐渐适应并深入到开源软件的开发中。2022 年,他正式参与进 TDengine 的开源,并在开源之夏活动中扮演了重要角色。

“我在 2022 年开始关注开源之夏,在预热阶段就主动给几位导师发送了邮件,之前有过接触的 TDengine 导师对我比较感兴趣,最后也是成功申请到了 TDengine 的开源项目。”

成为 TDengine 的 Contributor,更深入理解开源精神

王嘉树的任务是为 TDengine 开发一个 Visual Studio Code 插件,以便更好地管理和查询数据库。虽然这项任务颇具挑战,但他通过勤奋学习和实践,最终顺利完成了开发,并通过 Pull Request 的方式贡献了代码。

“要知道,国外的 InfluxDB 的 VSCode 插件有十几位 Contributor,而且已经开发了两年多了,不过好在对我的要求并没有那么高,我只需要实现增删改查就可以了。当时遇到的最大的麻烦是 VSCode 插件几乎没有什么中文资料,于是只好去啃一手的英文 API 文档。我之前都是偷懒看B站的那种手把手傻瓜教程,官方文档总是望而却步。最后啃完以后发现,官方的文档其实也并不是那么难懂,理解了文档,我最后大概只用了一个半月的时间就完成了开发,也认识了社区里 review 代码的小伙伴。”

在项目完成后,王嘉树还遇到了一次意外的挑战。一位用户在深夜报告说 VSCode 插件出现了问题。他毫不犹豫地开始远程协助用户,并最终发现问题出在用户对 SQL 的理解上。这次经历不仅增强了他解决问题的能力,也加深了他对开源社区精神的理解和认同。

“TDengine 有十几个用户群,我只加了一个,那个插件每天只有几个下载量,这种正好有问题还可以遇到作者的机率还是很小的,当时觉得真的是一种非常不得了的缘分。于是我就私聊了那位群友,现场开了一个腾讯会议为他解决这个问题。虽然问题很简单,不过排查了很久,结束时已经晚上十一点多了。其实我是一个非常讨厌加班和 On-Call 的人,居然能为了一个 bug 开腾讯会议加班到深夜,现在想来也觉得有趣,或许这就是开源的魅力。”

show me your code,开源贡献是最好的简历

参与 TDengine 开源社区的经历,尽管在学术上的贡献有限,但对王嘉树的职业发展产生了巨大的影响。与公司内部的项目相比,开源项目的贡献可以直接展示在简历上,大大增加了他在求职时的竞争力。

“我之前实习的内容大多是只能在公司的内网中看到,在简历上无论怎么去写都显得单薄,毕竟大部分实习生做的功能真的很简单。在 TDengine 社区做的贡献就不一样了,我在简历上只要放一个链接,就可以实实在在的看到我所做的贡献,这种 show me your code 的风格在秋招的时候派上了大用场,相比传统的代码项目,我的简历更受青睐。”

王嘉树的开源之旅不仅是技术成长的旅程,也是个人成长和职业发展的重要途径,因此他也在鼓励更多的大学生参与到开源活动中来。他认为开源不仅能够提供宝贵的项目经验,还能够帮助大家在个人成长、团队合作和解决实际问题方面获得进步。

“对职业发展的帮助绝对是立竿见影的,去年一起参加开源之夏的同学今年拿了四个大厂暑期的 offer。很多学生找实习或者秋招苦于没有很好的项目经历,那参与开源项目就是一个绝佳的机会。而且从个人成长的角度来讲,能够接触到业界的社区也是扩展自己眼界的有效途径。我自己参与开源之夏前是一个非常社恐的人,现在遇到了社区很多热心的朋友,像是 Rick、古思为 、Shuduo Sang 等非常厉害的工程师,还有像是 Fawei 、eVaz 这样热情的社区运营,和他们一起交流不仅让我得到了飞快的成长,同时也对“开源精神”这件事也有了更加深刻的体会。”

在聊到能否推荐一些值得参与的开源社区时,王嘉树也热心表示,“TDengine 就是一个对新手相当友好的社区,GitHub 上会定期有一些 good first issue,还是用的几乎每个同学都学过的C语言。而且 PR 的 review 速度也是非常积极的,很多有商业化背景的开源项目都做不到这一点。如果是对数据库领域感兴趣的同学可以试着参与其中,一定会有所收获。”

通过这次深度采访,我们看到了一个普通大学生如何通过参与开源项目,不仅在技术上得到成长,更在职业道路上走得更远。相信王嘉树的故事一定能鼓励许多像他一样的年轻人,积极参与到开源文化中来。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

C++中extern “C“的用法

目的 extern "C"是经常用到的东西,面试题目也经常出现,然则,实际用时,还是经常遗忘,因此,深入的了解一下,以增强记忆。 extern "C"指令非常有用,因为C和C的近亲…

python -- 异步、asyncio

文章目录 协程实现协成的方法greenlet实现协程yield 关键字asyncio async & await(**重点**) 协程的意义异步编程事件循环快速上手awaitTask对象asyncio.Future对象concurrent.futures.Future 对象 协程 协成不是操作系统提供的,是程序员…

LLM-不要错过,教你如何快速且精准生成提示词?(总结Singapore首届GPT-4提示工程获奖者Sheila Teo博客)

文章目录 前置理论精炼介绍1. CO-STAR框架CO-STAR框架简单介绍CO-STAR简单示例 2. 创建系统提示【优化LLM问答丰富度】何为系统提示?系统提示示例 3. 使用分隔符分段提示【优化问答准度】分割符作特殊字符及CO-STAR示例分割符作XML标记 仅数据的CO-STAR实操前置分析…

如何用西语问候呢,柯桥零基础西班牙语培训

正式问候 在正式场合,如工作会议、正式介绍或第一次见面时,通常使用更为尊敬和礼貌的问候语。以下是一些例子: 1. Buenos das(早上好):从早上到中午使用。这是一个非常常见和礼貌的问候。 2. Buenas tardes(下午好):…

HTML静态网页成品作业(HTML+CSS)—— 节日母亲节介绍网页(5个页面)

🎉不定期分享源码,关注不丢失哦 文章目录 一、作品介绍二、作品演示三、代码目录四、网站代码HTML部分代码 五、源码获取 一、作品介绍 🏷️本套采用HTMLCSS,未使用Javacsript代码,共有5个页面。 二、作品演示 三、代…

2024年3月电子学会青少年软件编程 中小学生Python编程等级考试二级真题解析(判断题)

2024年3月Python编程等级考试二级真题解析 判断题(共10题,每题2分,共20分) 26、元组中的元素可以是不同的数据类型 答案:对 考点分析:考查元元组相关知识,元组里面的元素是可以出现不同的数据…

流程设计的基本步骤

背景 公司为什么要流程,已经有专门章节进行阐述; 什么是流程,已经有专门章节进行专门阐述; 那么接下来这个章节讨论,流程设计的基本步骤,那么谁来设计流程呢,让一个部门的员工来设计一份流程…

30字以内免费翻译维吾尔语,汉维翻译工具推荐,维吾尔文字母OCR识别神器《维汉翻译通》App!

维吾尔文OCR文字识别 《维汉翻译通》App内置的OCR技术,能够快速识别图片中的文字和字母,无论是路标、菜单还是书籍,都能迅速转换为用户所需的语言,让语言障碍不再是问题。针对维吾尔语更是进行了专门的优化,即便是手写…

vue3+electron搭建桌面软件

vue3electron开发桌面软件 最近有个小项目, 客户希望像打开 网易云音乐 那么简单的运行起来系统. 前端用 Vue 会比较快一些, 因此决定使用 electron 结合 Vue3 的方式来完成该项目. 然而, 在实施过程中发现没有完整的博客能够记录从创建到打包的流程, 摸索一番之后, 随即梳理…

Android 14 系统启动流程 之 启动init进程、启动Zygote进程

Android 14 系统启动流程 之 启动init进程、启动Zygote进程 废话不多说,先上图,不清楚的可以在评论区留言。

C#下WinForm多语种切换

这是应一个网友要求写的,希望对你有所帮助。本文将介绍如何在一个WinForm应用程序中实现多语种切换。通过一个简单的示例,你将了解到如何使用资源文件管理不同语言的文本,并通过用户界面实现语言切换。 创建WinForm项目 打开Visual Studio&a…

ACL原理和基础配置

ACL(Access Control List,访问控制列表)是一种用于控制网络设备或操作系统上资源访问权限的方法。ACL能够基于规则和条件来允许或拒绝对资源的访问。 标准ACL(Standard ACL):基于源IP地址来进行流量过滤&a…

实现一个vue js小算法 选择不同的时间段 不交叉

以上图片选择了时间段 现在需要判断 当前选择的时间段 不能够是 有交叉的所以现在需要循环判断 //判断时间段是否重叠交叉 export function areIntervalsNonOverlapping(intervals:any) {// 辅助函数:将时间字符串转换为从当天午夜开始计算的分钟数function conver…

视频格式转换avi格式怎么弄?分享视频转换方法

视频格式转换avi格式怎么弄?AVI作为一种广泛支持的视频格式,能够在多种设备和播放器上顺畅播放,确保我们的视频内容能够无障碍地分享给朋友或上传至各大平台。其次,AVI格式通常具有较好的兼容性,能够避免格式转换过程中…

Coursera耶鲁大学金融课程:Financial Markets 笔记Week 01

Financial Markets 本文是学习 https://www.coursera.org/learn/financial-markets-global这门课的学习笔记 这门课的老师是耶鲁大学的Robert Shiller https://en.wikipedia.org/wiki/Robert_J._Shiller Robert James Shiller (born March 29, 1946)[4] is an American econ…

React+TS前台项目实战(七)-- 全局常用组件Select封装

文章目录 前言Select组件1. 功能分析2. 代码详细注释说明3. 使用方式4. 效果展示(1)鼠标移入效果(2)下拉框打开效果(3)回调输出 总结 前言 今天这篇主要讲全局select组件封装,可根据UI设计师要…

力扣148. 排序链表

给你链表的头结点 head ,请将其按 升序 排列并返回 排序后的链表 。 示例 1: 输入:head [4,2,1,3] 输出:[1,2,3,4] 示例 2: 输入:head [-1,5,3,4,0] 输出:[-1,0,3,4,5] 示例 3&…

谷粒商城实战(036 k8s集群学习2-集群的安装)

Java项目《谷粒商城》架构师级Java项目实战,对标阿里P6-P7,全网最强 总时长 104:45:00 共408P 此文章包含第343p-第p345的内容 k8s 集群安装 kubectl --》命令行操作 要进入服务器 而且对一些不懂代码的产品经理和运维人员不太友好 所以我们使用可视化…

私域引流宝PHP源码 以及搭建教程

私域引流宝PHP源码 以及搭建教程

怎么防止源代码泄露?9种方法教会你!

怎么防止源代码泄露?首先要了解员工可以通过哪些方式将源代码传输出去! 物理方法: — 网线直连,即把网线从墙上插头拔下来,然后和一个非受控电脑直连; — winPE启动,通过光盘或U盘的winPE启动,甚…