暑期2021优秀学生专访:热衷实践的“开源老将”——张奇夫
开源软件供应链点亮计划-暑期 2021已经收官,在为期三个月的开源实践中,我们不仅收获了529个结项项目,还收获了各位参与项目的宝藏同学们。为了进一步巩固这些新生的开源力量,组委会特邀请指导委员会老师从4个方向评选出了具有代表性的20位优秀学生。
本次采访,我们邀请最佳质量奖获奖者张奇夫,分享自己的开源故事和活动感悟。
优秀学生迷你简历
姓名:张奇夫
性别:男
年龄:20岁
学校:西安电子科技大学
兴趣爱好:看动漫玩游戏 自娱自乐写一些小工具
-- 自我介绍 --
1、首先,请简单介绍一下自己
大家好,这里是Apache553,或者在现实中被称为张奇夫。现在仍然在西安电子科技大学就读本科。主要使用的语言是c++,兴趣摇摆不定。鄙人才疏学浅,还请多多指教。
2、最开始是在哪里了解到开源的,是什么让你决定参与开源?
最开始是初中的时候想自制一个用来看小说的设备(笑),当时了解到了树莓派这一神奇的设备,就决定用树莓派来做,最后我度过了一个相对不那么无聊的初中时光。在做的过程中,由于很多相关的资料都在Github上,就逐渐了解到了开源这回事。参与的话,感觉就很顺其自然地,遇到有别人没发现过的问题就去issue问一下之类的,自己觉得能修然后还感觉上修好了就提个pr,就参与进去了吧。
3、在GitHub上看到,2015年你就已经提过issue,那时你应该年纪不大,可以简单介绍一下这个项目吗?最后issue得到解决了吗?对你有什么影响吗?
当时是想试着做一个l4d2的mod,要用到一个在Maya上导入导出Source引擎模型的插件,在我电脑上始终工作不对劲。提了issue过后作者说是我系统Locale的问题,改了过后确实能工作了。对我最大的影响就是切身体验到了英语教育的重要性了吧(笑),到现在也许其他科目会摆烂,但是英语课都还比较认真对待了。
4、可以简单介绍一下你第一次深入参与开源的项目吗?
是一个处理ass字幕的库叫libass,很多开源的视频播放器和库都对他有依赖。当时是因为我电脑上由于各种原因装了一堆字体,导致播放视频的时候要卡很长一段时间才能开始,经过一些测试发现问题出在这个库初始化的时候把整个Windows系统中安装所有字体枚举了一遍,非常低效。然后我就凭着我半吊子的水平上去糊了一个patch开了个issue,和维护项目的人交流和写代码做试验,虽然过程中由于种种原因一度搞坏了原有的功能,不过到最后还是把问题解决了。另外还在这个过程中发现了另一个没有关系的问题,帮助维护者做了下测试。初衷是想愉快看片,到最后对一个开源库的改进做出了一点贡献,这也算是使用开源软件的魅力所在吧。
-- 关于暑期2021 --
5、请简单介绍一下暑期2021中你的开源项目
暑期2021我的项目是要实现一个windows上的通用ssh agent协议翻译层。因为windows有不少ssh客户端和agent的实现存在,但是他们的client和agent通信用的机制几乎是各家有一套,如果想要混合使用就不得不重复配置并运行多个ssh agent,使用和管理上都有些不便。这个项目可以像反向代理一样工作,将某一个agent所使用的通信协议翻译为其他的client/agent实现所使用的协议,并能够让其他client可以使用,能够减少管理和使用上的不便。并在此之外有比如聚合多个agent和对于wsl环境的支持之类的增强功能。
6、在项目进行中遇到的印象最深刻的困难是什么?如何解决的?有什么收获吗?
是当时处理WSL支持的时候遇到问题:Windows这边没有公开地提供设置WSL内的POSIX权限的API,并且在WSL下设置drvfs文件或者目录权限的时候需要额外的配置,在使用的时候为确保连接到agent的socket不被其他人访问到会需要额外的手工操作很不方便。最后是在反复搜索msdn和Github过后找到了一些没有直接开放的API,了解到了drvfs上wsl内权限信息的存储方式,最后实现了相关信息的写入并测试成功。主要的收获是对于windows内部的实现又实际了解了一点吧,找到的API其实是在msdn的驱动开发文档那一块找到的,wsl这一套文件系统依赖于好几个我听都没听过的ntfs特性,后来又去找了一下相关博客来看,很有收获。
7、在项目进行中,社区和导师对你的评价都很高,说你积极主动,对项目有很大的贡献,可以分享一下经验吗?
这个项目的内容和我以前的一个想法是很类似的,所以本身就对这个项目比较有兴趣,脑子里也有一定的想法,要解决什么问题和要怎么做比较清晰,就比较投入。
8、之后会继续丰富这次活动的文档和代码吗?对这个项目的内容有更高的期待和计划吗?
就现在的情况而言我觉得已经比较完善了,所以除了修理发现的bug和实现一些未来可能被提出需要的新功能以外应该不会有什么变动了。如果大家对于它有什么意见或者建议也请务必反馈至我,我会尽快采取相应的行动。
9、暑期2021活动已经不是你第一次参与开源了,通过这次活动你对开源有什么新的理解?
开源这一模式对于学习者来说实在是有很大的助益,项目中有好几个功能的实现都离不开其他开源项目的思路和实现,而我也能从中学习到新的知识,并且也许在未来会有某人也能从我的代码中获得些许的启发。我想这可能就是开源精神的精髓吧。
-- 关于开源和学习 --
10、对于提高代码质量、可读性和文章的完整性,有什么可以分享的学习方法吗?
在这方面我自以为还做的不是很好,不过我认为要提高这方面的能力可以多看一些别人写的代码和文档从中学习,可能的话在造自己的轮子的时候能够用上,然后再找两个好基友一起看一下有没有什么问题,应该是不错的办法吧。

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
云智慧运维管理平台OMP荣获OSC中国开源项目评选「最受欢迎项目」奖
近日,开源中国公布了“2021 年度 OSC 中国开源项目评选最受欢迎项目奖项”名单,云智慧运维管理平台OMP荣获DevOps组织通道下最受欢迎项目奖!一同获奖的还有Apache Doris、Apache Flink、Nacos等业内知名开源项目。 开源中国是国内知名的开源技术社区,拥有 500 万开发者,长期致力于推动国内开源软件的应用和发展,提升本土开源能力,为开源生态环境的优化提供支持。 运维管理平台-OMP OMP(Operation Management Platform)平台是云智慧公司自主设计、研发的轻量级、聚合型运维管理平台。设计的初衷是为了减轻交付难度,提升运维自动化、智能化,从而整体提升运维效率,保障业务运行的连续性和安全性。 OMP GitHub 地址: https://github.com/CloudWise-OpenSource/OMP OMP 国内镜像地址: https://gitee.com/CloudWise/OMP OMP核心功能特性 通过OMP,开发者们可以进行主机资产纳管、服务部署管理、服务自动监控、定时深度巡检等运维操作,在大幅降低运维成本的同时...
- 下一篇
Redis OM .NET Redis对象映射框架
Redis OM Redis OM 是 Redis 官方推出的对象映射框架,即:Object Mapping。让开发人员更简单、方便的操作 Redis 数据。Redis 存储的数据抽象为对象映射,支持基于对象的 Redis 数据持久化、流式查询操作。 目前只支持 4 种开发语言: Redis OM for Spring Redis OM for .NET Redis OM for Node.js Redis OM for Python Redis OM .NET Redis OM .NET 是.Net 平台的 Redis OM,依赖 StackExchange.Redis 实现。借助 Redis OM .NET 可以实现对象操作的方式操作 Redis 数据,脱离 key/value 的操作方式。 查询支持大部分.Neter 最爱的 LINQ。 快速开始 安装对应包 dotnet add package Redis.OM Redis 环境准备 直接使用 Docker 的方式安装 Redis 环境。 docker run -p 6379:6379 redislabs/redismod:pr...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- CentOS7,CentOS8安装Elasticsearch6.8.6
- MySQL8.0.19开启GTID主从同步CentOS8
- CentOS8安装Docker,最新的服务器搭配容器使用
- CentOS关闭SELinux安全模块
- Springboot2将连接池hikari替换为druid,体验最强大的数据库连接池
- Docker使用Oracle官方镜像安装(12C,18C,19C)
- Docker安装Oracle12C,快速搭建Oracle学习环境
- CentOS8,CentOS7,CentOS6编译安装Redis5.0.7
- 设置Eclipse缩进为4个空格,增强代码规范
- CentOS8编译安装MySQL8.0.19