Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

SoC 2020 Final Report Result #23

Closed
wj-Mcat opened this issue Nov 6, 2020 · 7 comments
Closed

SoC 2020 Final Report Result #23

wj-Mcat opened this issue Nov 6, 2020 · 7 comments

Comments

@wj-Mcat
Copy link
Contributor

wj-Mcat commented Nov 6, 2020

结项审核结果

经过3个月的努力,wechaty社区9位同学最终通过了结项审核,可喜可贺。 🎉 🎉 🎉 为鼓励更多高校学生参与开源、贡献开源,为开源社区注入更多年轻的力量,组委会特邀请指导委员会老师从4个方向评选出具有代表性的20位优秀学生,在此要再祝贺wechaty社区有2名同学入选优秀学生名单,详细可在官网查看。

审核通过学生名单

项目名称 学生名称 导师
基于 RPA 封装 Wechaty 接口下的快手聊天机器人 毕凯乔 王凯峰,尹伯昊
基于RPA封装的Wechaty接口下的抖音聊天机器人 王俊伟 王凯峰,尹伯昊
基于开放 API 封装 Wechaty 接口下的企业微信聊天机器人 谢昱清 高原,李佳芮
基于开放 API 封装 Wechaty 接口下的飞书聊天机器人 范蕊 高原,李佳芮
编写一个“每日一句”插件 江姗姗 gcaufy
为 go-wechaty 设计实现 插件体系 林昊翰 丁小雨
Go-wechaty Github Action optimization 唐光彬 丁小雨
基于Python-wechaty建立一个斗图机器人 肖梓霖 黄纯洪
基于python-wechaty的群聊助手机器人 孔祥哲 吴京京

优秀学生名单 🎉🎉🎉

  • 恭喜 @univerone (江珊珊) 荣获暑期2020的优秀学生突出贡献奖!
  • 恭喜 @kxz18 (孔详哲) 荣获暑期2020的优秀学生最具潜力奖!
@wj-Mcat wj-Mcat changed the title SoC 2020 Final SoC 2020 Final Report Result Nov 6, 2020
@wj-Mcat
Copy link
Contributor Author

wj-Mcat commented Nov 6, 2020

心得体会

请各位通过考核的同学按照以下模板编写比赛心得,在11.10前在此issue区评论发布,后续社区会有专门的人员整理成文章并发布。

比赛心得模板:

- 姓名 + 学校 + 年级
- 个人靓照(尽量是全身照,上传到issue的评论区)
- 项目名称
- 项目描述
- 心得体会

完成进度统计

  • 毕凯乔
  • 王俊伟
  • 谢昱清
  • 范蕊
  • 江姗姗
  • 林昊翰
  • 唐光彬
  • 肖梓霖
  • 孔祥哲

@kxz18
Copy link

kxz18 commented Nov 9, 2020

  • 孔祥哲 清华大学大二

  • 个人照片:见照片

  • 项目名称:CHAssisT(基于python-wechaty的群聊助手机器人)

  • 项目描述:本项目基于python-wechaty实现了一个群聊助手机器人。该机器人主要由四个插件组成。第一个插件是群聊消息打标插件,通过群成员引用重要消息回复机器人的方式记录重要信息,以便之后以问答的方式进行查找。第二个插件是定时消息插件,用于定时消息的发放。第三个插件是群成员的管理插件,当有新人进群时进行欢迎,当一定人数群成员对某位群成员言行表示不适时自动从群聊中删除该位群成员。第四个插件用于提升交互,为帮助系统插件,提供自定义的功能文档,辅助前三个插件工作。四个插件也可单独使用。

  • 心得体会:

    本次SoC活动让我接触了开源社区,并进行了一次软件工程的简单实践。从刚开始的需求确认、项目技术确认,到每周的迭代更新、单元测试,到最后的项目文档书写、CI配置,整个过程和基本的软件工程是一致的。

    在项目前期,最重要的是确定好项目的需求,并根据现有需求和以后可能增加的需求进行项目的架构。这步虽然不涉及实质性代码书写,但对之后的整个开发过程都有非常大的指导意义。需求是否明确,架构是否合适,会决定开发过程的难度和代码量,因此一定要认真对待。就我自己而言,我花费了近两周的时间进行需求确认和项目架构。确认需求时可以用用户故事的形式,容易发现需求文档中的细节问题,项目架构可以用UML图、泳道图等。项目架构多采取OOP的思想,保证有较好的扩展性。在架构完成之后,可以根据不同模块的难度和依赖关系进行开发排期。有了详细的计划,之后才能更注重于开发本身,从而提升效率。

    项目真正进入开发之后,可能会时不时遇到问题,大多数问题都能用搜索引擎解决,百度搜不到的可以用google,如果是具体的第三方库的问题,则通常可以通过查阅文档和github的issue解决。如果实在无法解决,也可以在例会中向导师寻求帮助。在代码书写的过程中,最好能提前配置好社区的代码风格检查,如果社区没有配置这类检查的惯例,也最好能先多学习社区的代码,保证开发过程中代码的规范性和可读性。同时,对于大型项目而言,由于整体统调debug的难度较大,因此单元测试是非常必要的,在一个模块完成之后,一定要配置相应的单元测试,保证该模块实现没有问题,这样最后把所有模块组合起来之后出bug的概率就很小了。

    开发完成后,还需要进行文档的书写和CI的配置。这两项内容其实社区一般都会有范例提供,文档保证和社区风格相近或一致即可。写文档的时候还是要先从使用者的角度考虑,再给出开发者需要的说明文档。因为多数人选择项目时肯定会先看项目的使用方法和功能说明,当真正选中项目进行后续开发时,才会去参考开发者所需的接口和项目架构。

@Roxanne718
Copy link
Contributor

Roxanne718 commented Nov 9, 2020

  • 范蕊 南开大学 大四

  • 照片见:照片

  • 项目名称:基于开放 API 封装 Wechaty 接口下的飞书聊天机器人

  • 项目描述:
    本项目主要实现飞书版本的puppet,帮助开发者快速将 Wechaty 微信机器人移植到飞书上。实现的主要思路是根据飞书开放平台提供的API实现puppet内的功能函数。

  • 心得体会:
    这是我第一次在开源社区贡献代码,感谢活动主办方和Wechaty社区的帮助和支持。虽然只有短短三个月的时间,但我在这个项目中收获了很多。在与导师的交流中学习到了很多优秀的开发思路和习惯,也认识到了很多优秀的同伴。目前这个项目还没有达到我预期的水准,后续我还会继续跟进、完善,希望能完成一套完整的飞书机器人框架。
    这是我第一次严格意义上自己独立开发,在开发过程中遇到不少问题,如前后接口不一致、项目后期修改了前期的逻辑等等。在为新的bug焦头烂额的过程中我越来越理解到了工程化的重要性,希望自己能汲取教训,在今后的开发中做得更好。
    最后,希望“开源软件供应链点亮计划”系列活动越办越好,相信未来的开发者们也能从中获得成长。

@Nebell
Copy link

Nebell commented Nov 9, 2020

  • 唐光彬 华南农业大学 大二

  • 项目名称:Go-wechaty Github Action optimization

  • 项目描述:
    Go-wechaty Github Action optimization 主要通过使用 Github Actions 的特性实现跨仓库的 CI 优化,旨在为开发者减轻负担。

  • 心得体会
    作为一个对项目开发来说都没多少经验的小白,第一次为开源项目出一份微薄的力。在这三个月里,陆陆续续学习了 Github Actions 和 Docker 有关的知识。特别感谢导师丁小雨的付出,在他的指导下我也感受到开源社区的温暖和力量。
    尽管这次开发的代码量比较少,我从中收获的是开源项目协作的流程以及开源社区的互助共享精神,收获颇丰。这一次规范又专业的多人协作,让我体验了一把充满效率的开发之旅。这次活动也让我了解到许多优秀的开发者,让我愈发决心磨练自己的开发技术。
    最后,再一次感谢开源软件供应链点亮计划系列活动、Wechaty社区给我这次机会,也十分感谢丁小雨老师和其他老师、同伴给我带来的指导和帮助。

@MrZilinXiao
Copy link
Member

  • 肖子霖(issue内容里名字打错啦) 四川大学 大三

  • 个人靓照:

  • 项目名称:基于Python-wechaty建立一个斗图机器人

  • 项目描述:本项目基于OCR与自然语言生成技术,实现了一个能基于使用者发送的图片表情内容进行即时交互的斗图机器人,项目主要使用了GPT2作为语言生成模型,chineseocr_lite作为OCR模块,同时支持多轮对话与对话回复的互相关损失计算,此外还提供了RESTFul API接口,可以为Wechaty多语言计划、甚至是其他的chatbot提供斗图服务;

  • 心得体会:与很多参与活动的同学一样,我也是第一次参与到开源社区的工作中来,在此之前我的Github可以说只算得上是个人的项目仓库;在为期三个月的开发过程中,我学习了许多与开源社区、Wechaty生态相关的内容,同时也了解到了CI/CD流程、代码风格等很难在本科课本中找到的内容;尽管作为本科生,我并未接触过太多开源社区,但在与社区核心成员、同样参加暑期2020活动的同学沟通的过程中,我逐渐发现Wechaty社区成员间相互交流的氛围深深吸引了我。尽管暑期2020活动已落下帷幕,但我们所有参与活动同学的开源之旅却才刚刚开始,我希望我个人在今后不断的磨练中能提高开发水平,能继续为包括Wechaty社区在内的开源社区做出力所能及的贡献!
    最后,再次感谢中科院软研所与OpenEuler社区主办的暑期2020活动,感谢Wechaty社区全体成员、特别是社区导师黄老师的悉心指导,感谢其余参与活动小伙伴的踊跃分享与积极交流!

@huan huan pinned this issue Nov 9, 2020
@FINCTIVE
Copy link

  • 林昊翰 西安电子科技大学 大三

  • 个人照片

    由于个人隐私原因,暂不提供哦,非常抱歉。

  • 项目名称

    为 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 的使用、排错。我的解决方案主要是自己学习、查阅资料。这次项目开发的经历大大提升了我的编程能力,以及一些计算机相关知识。

    对于部分无法自己解决的问题,社区里的导师们给了我很大帮助,导师们在阅读我的代码后给出了许多具有针对性的建议,这对我完成项目的开发是十分必要的,感谢导师们的付出。

@huan
Copy link
Member

huan commented Jan 11, 2021

We have published a blog post that includes comments from this issue at https://wechaty.js.org/2020/12/31/summer-2020-student-developers/

@huan huan closed this as completed Jan 11, 2021
@huan huan unpinned this issue Feb 8, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

7 participants