Closed wj-Mcat closed 3 years ago
请各位通过考核的同学按照以下模板编写比赛心得,在11.10前在此issue区评论发布,后续社区会有专门的人员整理成文章并发布。
- 姓名 + 学校 + 年级
- 个人靓照(尽量是全身照,上传到issue的评论区)
- 项目名称
- 项目描述
- 心得体会
孔祥哲 清华大学大二
个人照片:见照片
项目名称:CHAssisT(基于python-wechaty的群聊助手机器人)
项目描述:本项目基于python-wechaty实现了一个群聊助手机器人。该机器人主要由四个插件组成。第一个插件是群聊消息打标插件,通过群成员引用重要消息回复机器人的方式记录重要信息,以便之后以问答的方式进行查找。第二个插件是定时消息插件,用于定时消息的发放。第三个插件是群成员的管理插件,当有新人进群时进行欢迎,当一定人数群成员对某位群成员言行表示不适时自动从群聊中删除该位群成员。第四个插件用于提升交互,为帮助系统插件,提供自定义的功能文档,辅助前三个插件工作。四个插件也可单独使用。
心得体会:
本次SoC活动让我接触了开源社区,并进行了一次软件工程的简单实践。从刚开始的需求确认、项目技术确认,到每周的迭代更新、单元测试,到最后的项目文档书写、CI配置,整个过程和基本的软件工程是一致的。
在项目前期,最重要的是确定好项目的需求,并根据现有需求和以后可能增加的需求进行项目的架构。这步虽然不涉及实质性代码书写,但对之后的整个开发过程都有非常大的指导意义。需求是否明确,架构是否合适,会决定开发过程的难度和代码量,因此一定要认真对待。就我自己而言,我花费了近两周的时间进行需求确认和项目架构。确认需求时可以用用户故事的形式,容易发现需求文档中的细节问题,项目架构可以用UML图、泳道图等。项目架构多采取OOP的思想,保证有较好的扩展性。在架构完成之后,可以根据不同模块的难度和依赖关系进行开发排期。有了详细的计划,之后才能更注重于开发本身,从而提升效率。
项目真正进入开发之后,可能会时不时遇到问题,大多数问题都能用搜索引擎解决,百度搜不到的可以用google,如果是具体的第三方库的问题,则通常可以通过查阅文档和github的issue解决。如果实在无法解决,也可以在例会中向导师寻求帮助。在代码书写的过程中,最好能提前配置好社区的代码风格检查,如果社区没有配置这类检查的惯例,也最好能先多学习社区的代码,保证开发过程中代码的规范性和可读性。同时,对于大型项目而言,由于整体统调debug的难度较大,因此单元测试是非常必要的,在一个模块完成之后,一定要配置相应的单元测试,保证该模块实现没有问题,这样最后把所有模块组合起来之后出bug的概率就很小了。
开发完成后,还需要进行文档的书写和CI的配置。这两项内容其实社区一般都会有范例提供,文档保证和社区风格相近或一致即可。写文档的时候还是要先从使用者的角度考虑,再给出开发者需要的说明文档。因为多数人选择项目时肯定会先看项目的使用方法和功能说明,当真正选中项目进行后续开发时,才会去参考开发者所需的接口和项目架构。
范蕊 南开大学 大四
照片见:照片
项目名称:基于开放 API 封装 Wechaty 接口下的飞书聊天机器人
项目描述: 本项目主要实现飞书版本的puppet,帮助开发者快速将 Wechaty 微信机器人移植到飞书上。实现的主要思路是根据飞书开放平台提供的API实现puppet内的功能函数。
心得体会: 这是我第一次在开源社区贡献代码,感谢活动主办方和Wechaty社区的帮助和支持。虽然只有短短三个月的时间,但我在这个项目中收获了很多。在与导师的交流中学习到了很多优秀的开发思路和习惯,也认识到了很多优秀的同伴。目前这个项目还没有达到我预期的水准,后续我还会继续跟进、完善,希望能完成一套完整的飞书机器人框架。 这是我第一次严格意义上自己独立开发,在开发过程中遇到不少问题,如前后接口不一致、项目后期修改了前期的逻辑等等。在为新的bug焦头烂额的过程中我越来越理解到了工程化的重要性,希望自己能汲取教训,在今后的开发中做得更好。 最后,希望“开源软件供应链点亮计划”系列活动越办越好,相信未来的开发者们也能从中获得成长。
唐光彬 华南农业大学 大二
项目名称:Go-wechaty Github Action optimization
项目描述: Go-wechaty Github Action optimization 主要通过使用 Github Actions 的特性实现跨仓库的 CI 优化,旨在为开发者减轻负担。
心得体会 作为一个对项目开发来说都没多少经验的小白,第一次为开源项目出一份微薄的力。在这三个月里,陆陆续续学习了 Github Actions 和 Docker 有关的知识。特别感谢导师丁小雨的付出,在他的指导下我也感受到开源社区的温暖和力量。 尽管这次开发的代码量比较少,我从中收获的是开源项目协作的流程以及开源社区的互助共享精神,收获颇丰。这一次规范又专业的多人协作,让我体验了一把充满效率的开发之旅。这次活动也让我了解到许多优秀的开发者,让我愈发决心磨练自己的开发技术。 最后,再一次感谢开源软件供应链点亮计划系列活动、Wechaty社区给我这次机会,也十分感谢丁小雨老师和其他老师、同伴给我带来的指导和帮助。
肖子霖(issue内容里名字打错啦) 四川大学 大三
个人靓照:
项目名称:基于Python-wechaty建立一个斗图机器人
项目描述:本项目基于OCR与自然语言生成技术,实现了一个能基于使用者发送的图片表情内容进行即时交互的斗图机器人,项目主要使用了GPT2作为语言生成模型,chineseocr_lite作为OCR模块,同时支持多轮对话与对话回复的互相关损失计算,此外还提供了RESTFul API接口,可以为Wechaty多语言计划、甚至是其他的chatbot提供斗图服务;
心得体会:与很多参与活动的同学一样,我也是第一次参与到开源社区的工作中来,在此之前我的Github可以说只算得上是个人的项目仓库;在为期三个月的开发过程中,我学习了许多与开源社区、Wechaty生态相关的内容,同时也了解到了CI/CD流程、代码风格等很难在本科课本中找到的内容;尽管作为本科生,我并未接触过太多开源社区,但在与社区核心成员、同样参加暑期2020活动的同学沟通的过程中,我逐渐发现Wechaty社区成员间相互交流的氛围深深吸引了我。尽管暑期2020活动已落下帷幕,但我们所有参与活动同学的开源之旅却才刚刚开始,我希望我个人在今后不断的磨练中能提高开发水平,能继续为包括Wechaty社区在内的开源社区做出力所能及的贡献! 最后,再次感谢中科院软研所与OpenEuler社区主办的暑期2020活动,感谢Wechaty社区全体成员、特别是社区导师黄老师的悉心指导,感谢其余参与活动小伙伴的踊跃分享与积极交流!
林昊翰 西安电子科技大学 大三
个人照片
由于个人隐私原因,暂不提供哦,非常抱歉。
项目名称
为 go-wechaty 设计实现插件体系
项目描述
wechaty 是一款支持多协议的微信接入方案,随着社区多语言生态的建立,吸引了更多的开发者和爱好者的加入;同时需求的推动和技术的发展,插件系统逐渐完善,但是在多语言系统中 Plugin 体系尚未完成,我们希望通过这个任务,能够让更多的人加入 go-wechaty 的建设。目前 go-wechaty examples/ding-dong-bot.go 有一个 ding-dong bot, 但是我们希望这个 ding-dong 是通用的,如果我们的 Plugin 体系能编写出来,也许实现 ding-dong 就只需要一行代码。例如:go bot.Use(DingDong{})
go-wechaty 是 Go 语言实现 wechaty 的项目,同样支持多协议接入;同时借助 gorountine 和 channel 的语言特性,实现了更加合理的封装和设计。
心得体会
我在大学的前两年时间里并没有参与过大项目的开发,更别提要求较高的开源项目。开源项目的远程协作开发对我来说有极大吸引力,但我一直没有一个合适的机会参与其中(水平不足、不知道如何参与等情况让我屡次放弃跨出第一步)。本届开源软件供应链点亮计划正好提供了这次机会,让我参与到 Wechaty 社区中进行项目开发。Wechaty 社区是一个包容度很高的社区,社区内的导师们对学生提出的问题都会耐心解答。这次活动的经历增加了我参与开源软件开发的经验,同时争强了我的沟通交流能力。在以后的开发历程中,我会为继续为开源社区贡献代码。
在本项目的开发过程中,我遇到的主要问题来自对 Go 程序开发的不熟悉,在许多细节上会产生疑惑。实际测试程序时,也有一些小问题需要解决,比如 Docker 的使用、排错。我的解决方案主要是自己学习、查阅资料。这次项目开发的经历大大提升了我的编程能力,以及一些计算机相关知识。
对于部分无法自己解决的问题,社区里的导师们给了我很大帮助,导师们在阅读我的代码后给出了许多具有针对性的建议,这对我完成项目的开发是十分必要的,感谢导师们的付出。
We have published a blog post that includes comments from this issue at https://wechaty.js.org/2020/12/31/summer-2020-student-developers/
结项审核结果
经过3个月的努力,wechaty社区9位同学最终通过了结项审核,可喜可贺。 🎉 🎉 🎉 为鼓励更多高校学生参与开源、贡献开源,为开源社区注入更多年轻的力量,组委会特邀请指导委员会老师从4个方向评选出具有代表性的20位优秀学生,在此要再祝贺wechaty社区有2名同学入选优秀学生名单,详细可在官网查看。
审核通过学生名单
优秀学生名单 🎉🎉🎉