25、26、27届校招的朋友们,大战在即,你是不是也正苦恼没有一个像样的项目?别担心,近期我将更新几个开源硬核项目,助你一臂之力。从0到1,无论是练手还是实战,小白还是有点基础的都适用。
今天,为大家介绍第一个项目——飞书机器人。飞书整个大平台生态很强大,毕竟是接近十万人的大团队加班加点研发出来的,能力相当的丰富。
我们用到的也只是冰山一角,其实飞书机器人可以做很多事情,比如:
那我们的机器人需要具备哪些能力呢?在我们训练营学习群里,可以看到,我们的飞书机器人一个主要的能力就是监督提醒大家学习,确保不漏掉任何一位同学,会早晨提醒学习,也会晚上提醒提交代码。并且有好的学习资料更新,也会通过机器人广播给所有学员。
本项目我们会主要带着大家实现这几个功能,通过这几个功能的实现,你可以:
目标是通过本项目,帮助大家掌握这些技术的灵活运用。
项目肯定会越来越大,在最初我们就应该尽可能的考虑好如何匹配大多数需求。
学员的信息存储在哪里?我们肯定要按固定的结构存储在数据库中,这里我们选用最通用的MySQL数据库,但不使用它最常用的关系数据库形式,而是使用它的document collection
模式。
频繁操作MySQL数据库会带来很大的IO压力,一般都会在中间加一个Redis缓存层,这里我们不仅是使用它做缓存,还会利用它的TTL的map能力,来避免某个时间窗口内重复的处理请求。
我们会给机器人发送指令,机器人如何处理这些HTTP请求,肯定需要起一个HTTP的server
,这里会涉及到如何启用HTTP server
。
我们需要与飞书开发平台通信,需要向飞书开放平台发送HTTP网络请求,这里会涉及到如何在C++中发送HTTP client
网络请求。
飞书现在是非常流行的办公IM通信工具,很多公司都会使用飞书作为内部IM工具。
或者可以这样说,你的工作生涯中,大概率会用到飞书,所以熟悉飞书开放平台是很有必要的,利用飞书开放平台将飞书机器人集成到飞书应用中,可以极大的提高我们的工作效率。
如果你在企业中,能够在你的工作群中集成这样一个机器人,提高整个团队的工作效率,肯定可以让你更出彩。
这里其实就是后端的业务需求处理了,比如:
在做项目的过程中,我们会接触到很多相关的知识点,主要有:
chrono
相关操作