怎么取名都不队-Alpha阶段项目展示

一、项目亮点

  1. 项目的典型应用场景

典型应用场景1-个人开发尝试

应用场景案例实现链接:QuickStart:跟我一起来部署第一个函数吧

守好嘉今年18岁了,高考结束后如愿进入北航信息类,以计算机学院为目标的TA最近在自学Python后端,希望能够先人一步,获得实战经验。

但是在了解到传统后端都需要服务器支撑后,守同学陷入了麻烦,TA并不清楚自己的数据库是否真的会投入使用,以及为此是否值得去购买24h不停运转的服务器,并且在了解到部署时的复杂工作和可能面临的配置问题后,守同学更希望能跳过这些复杂的准备工作,而是直接编写代码并验证。

幸运的是,守同学了解到了本平台。经过简单的注册登录,守同学直接进入了代码编写阶段,在终端输入学到的指令后,项目所需要的依赖也完成了自动注入,完美跳过了服务器的准备与配置工作,并且按使用计费,完全不用担心服务器闲置造成的资源浪费。

在快速写完一个简单的函数后,守同学又想到了一个问题,该怎么由前端发送请求触发呢?TA在函数触发器配置界面找到了答案,将触发形式设置成网络API请求触发,TA获得了一个由服务器自动分配的用于测试的API,可由前端轻松调用,快速的验证了自己的学习成果。

典型应用场景2-邮件整理

应用场景案例实现链接:使用SimDep部署定时邮件聚合推送服务

支支是刚刚考研到北航马院的研一新生,目前大四下尚在努力准备毕设,同样在组里的几位新生是来自其他省份的跨考学生,鉴于大家时间难以错开安排,导师要求在目前这个工作并不是很急的情况下用邮件联系,这下支支不得不每天关注邮箱,但是邮箱每天总会收到各种其他邮件,平时不整理邮箱的TA犯了难。

支支是典型的文科生,并不擅长编程,只会简单的python,但是TA了解到了本平台后,有了一个有趣的想法。支支从网上找到了如何使用python读取解析邮件内容并将题目收件人保存到指定文件的方法,在把其copy到本平台新创建的函数后,选择触发形式为每日定时触发,完成了一个定期自动任务的创建,这样每天的邮件都可以被自动整理了,每天晚上只需要看当日的总结即可了解到是否有有用的邮件。

典型应用场景3-NLP应用

应用场景案例实现链接:部署一个前后端分离的简单NLP应用

最近ChatGPT的大火提起了TD同学对NLP的浓厚兴趣,于是TD同学选择找一位研究NLP方向的导师做项目,导师很高兴能有人坚持学习NLP,于是分配他到一个简单的任务组——提取论文的摘要。TD在研究了几个深度学习模型后,修改并训练了自己的第一个NLP模型。

TD找到了本平台并将自己的模型布置在了一个独立的函数服务中,将函数设置为http请求触发,每次直接将本地的论文POST上传至平台,自动触发模型解析流程。最重要的是,需要使用该处理结果的另一个组可以随时调用接口,TD真正感受到部署服务并被人使用的快乐。

然而TD的导师并不满意,认为应当比较多个模型,而这些现有的模型居然连基本依赖包的版本都互不相同!TD考虑到本平台各函数服务的环境之间独立封装互不干扰,因此干脆直接将需要比较的多个模型分别部署在不同的http函数服务中,供随时调用。

尽管完成了导师布置的任务,但TD认为自己的http服务尚有提升空间。TA在研究过程中发现有的模型提取英文论文摘要准确率更高,而有的模型提取中文论文准确率更高。不想调参重新训练的TD,决定再写一个http函数,作为任何论文的统一输入接口,先判断论文语言,传给指定模型,即已部署接口的互相调用,优化了自己的服务。

  1. 项目的杀手级功能

功能/平台SimDep华为云腾讯云阿里云
上手难度简单复杂较复杂较复杂
计费规则简单复杂复杂很复杂
框架知识掌握需求
需要的前置准备工作很多较多很多
依赖配置复杂度简单复杂简单简单

竞品出于什么样的原因达成这些目标

当一个系统具有高自由度的强大功能的时候,它就不可能是简单的。

我们的竞品主要是国内大型的云计算服务提供商,他们的业务主要面向企业、政府及组织。

他们需要各种各样的功能来支持单体服务向函数平台的无损迁移,需要复杂完备的鉴权体系来保障高价值数据的安全,需要暴露代码的部署细节来支持工程师的优化客制,需要精打细算的计费逻辑来面对企业的成本考量和政府的招标竞争。

例如华为云对函数的鉴权Token需要先行调用其提供的Token获取接口来获取,并且需要配置IAM权限管理。

请添加图片描述

同时其对函数的依赖管理需要购买配置OBS服务或通过手动打包zip文件上传来实现

请添加图片描述

而腾讯云的代码完全对用户进行了暴露,面对纷繁复杂的框架代码、依赖代码让人有些束手无策

请添加图片描述

而阿里云的代码则需要使用第三方git库管理,在使用前需要配置完成git仓库

请添加图片描述

这些功能都是自由度的体现,能更好地满足产品的需求,但问题在于,开发的心智成本过高,对于个人开发者或者是学习过程中的新手来说,非常不友好

  1. 项目推广方式与实际效果

推广平台曝光度实际用户收益
小红书152阅读量14赞+收藏0无法引流
微博3阅读,带链接被限流了0
抖音358播放量 5赞+0收藏0 无法引流
CSDN博客34阅读无法统计
微信推广发布推广信息后,文档阅读量增加约13013人加入微信群2人表达使用期望,但无行动

最终的用户统计结果

  • 项目介绍文档阅读人数/阅读次数:144人/208次
  • 实际注册用户数:12人
  • 实际函数创建数:12个
  • 已函数总访问次数:@鲁文澔
  1. 项目演示demo

【待展示】

二、团队亮点

  1. 团队成员介绍与个人博客地址

成员角色个人博客地址
@鲁文澔Dev+Ops+PMhttps://blog.csdn.net/LGJ1617026914?type=blog
@张峻源DevOps+Testhttps://blog.csdn.net/weixin_45757456?type=blog
@咸永飞Devhttps://blog.csdn.net/qq_52042480?type=blog
@孙靖懿Devhttps://blog.csdn.net/weixin_46653352?type=blog
@杜品豪Devhttps://blog.csdn.net/aaicy64/
@徐楚鸥Dev+Testhttps://blog.csdn.net/bonny0510
@刘骁Devhttps://blog.csdn.net/weixin_46473364?type=blog
  1. 团队软件工程与代码质量

项目有完善的文档吗,是否有约定代码规范?

Python仓库约定的代码风格为black,并使用mypy、black、flake8等工具执行代码检查和格式化,约定每个非私有函数必须提供注释(未完全执行)。

项目文档部分使用sphinx构建,目前仅包括主要模块的部分API:
请添加图片描述

项目是否有出现代码混乱,没有注释,没有详细文档的问题?明年的同学继续开发这个项目,会不会出现以上抱怨?如果一个新学生在一台新机器上想编译并运行你的项目, 请问能顺利完成么?有什么样的文档能指导新学生?

存在部分函数没有注释的问题。针对部分函数没有注释的问题,我们认为不会出现开发或理解上的困难,因为该部分代码行为单一、内容简洁且可读性佳。对于新同学指导的问题,我们在代码仓库的README.md中提供完善的环境配置,开发工具链使用的指导,也在构建的文档中设有该部分。并在utility/文件夹中提供部署时的依赖安装脚本,极大的简化了用户环境配置的流程与时间。

项目是否有单元测试,测试用例数目,代码覆盖率等。

我们使用pytest进行单元测试,并使用coverage生成单元测试报告。我们的测试用例数目为

模块条数
log9
user29
monitor1
总计39

代码覆盖率最终为90.31%,其中alpha版本尚未完善的log和monitor模块是覆盖率偏低的部分。

请添加图片描述

项目是否采用了CI/CD,并说明理由(可选)。

项目集成了三类CI:

  • 代码风格检查类:使用flake8, mypy, black等工具进行代码风格检查。自动化的检查有助于开发者形成良好的代码风格,并及时修改。
  • 代码质量检查类:使用codeql工具静态扫描代码中可能出现的bug。使用codeql这类代码质量检查工具,可提前发现潜在的代码漏洞等问题,有助于开发者写出高质量的代码。
  • 单元测试集成:运行Pytest,Coverage,并使用codecov工具自动生成并提交报告。运行pytest、coverge自动化单元测试流程降低了开发者的负担,同时使用codecov工具自动报告单元测试结果,让每一个提交PR的人都永远不会忘记—写单元测试!!!!!!!

CD部分暂时未纳入考量范围,beta版本可考虑。

除了CI/CD之外,由于github Action比较耗时。我们也曾考虑过使用git pre-commit hook工具在本地提交时进行如代码风格检查的工作,但由于依赖仓库位于github,而git的代理配置不是特别友好,因此我们放弃了该方案。全面转向github Action。

学到的经验和教训:整个团队在Alpha阶段学到了什么,对软件工程有什么样的经验教训,Beta阶段有什么大体计划?

  • 不可以对仓库的代码质量过于放松。在敏捷开发后期,因为进度问题,我们放弃了之前养成的写注释的好习惯。这加大了不同同学对于同一份代码的协商代价,也进一步拖慢了我们的开发速度。
  • 不同模块需要不同的负责人把控,且负责人之间需要经常沟通。我们开发伊时时,前端和后端是两组人员分拨开发,沟通的桥梁仅限于API文档,所提出的问题也仅围绕API文档展开。这样的模式在前后端联调时出现了大问题,由于前期具体细节的沟通不足,导致前后端对对方的功能预期以及各自的运行流程出现偏差,造成牛头不对马嘴的尴尬境地,增加了联调同学的负担。

Beta阶段我们希望进一步提升工程的质量,并做到以下要求:

  • 严格遵守“怎么起名都不对”团队口头约定的《代码质量开发与规范协议》,不允许任何同学以任何借口绕过该协议进行开发,保证良好的代码规范和代码质量,降低后期部署与维护的成本。
  • 加强建设不同模块间的沟通,建立以模块—负责人一一对应的责任制度,负责人做到对模块内部方向有见解,对模块外部的实际情况有把握,实现软件开发工程的协调。
  1. 团队分工协作与沟通交流

团队使用飞书来进行协作,通过飞书群组、云文档、飞书会议等工具来实现分工与协作交流

  • 飞书群组聊天

请添加图片描述

  • 协作文档列表以及评论与提及信息

请添加图片描述请添加图片描述
请添加图片描述

通过飞书的评论功能进行沟通

请添加图片描述
通过文档的提及功能指派任务owner

请添加图片描述

  • 飞书妙记会议记录

请添加图片描述

  • 代码管理

  • 本项目使用微服务架构实现,各模块单独作为一个服务来运行,所以也有其独立的仓库,我们主要采用Gitlab和Github两个平台来托管我们的代码。如此我们的人力就可以拆分为各不同的开发小组,针对单一模块同时进行开发。

    • 计算资源管理模块
    • 用户管理模块
    • 代码与镜像管理模块
    • 前端
    • 触发器模块
  • 燃尽图

请添加图片描述

其中4.21号的进度倒退是由于发现触发器并没有之前设想的那样简单,现有产品还是有一些无法满足的需求,需要我们自行编写,导致了工作量的增加,不过好在在1人·日的工作量内完成了触发器功能。

  1. 团队贡献分

成员角色量化工作贡献分
@鲁文澔Dev+Ops+PM容器管理、镜像管理、触发器三个模块,提交Go代码16000行;Mysql/Redis/RabbitMQ部署,Docker与Kubernetes部署与配置;功能规格书、技术规格书、7次会议博客、发布说明等博客53
@张峻源DevOps+TestPython开发框架、相应配置工具搭建与整理,仓库维护,CI/CD,分支合入管理,总计13个PR,3k+行代码。测试样例设计与实施包括:前端测试、场景测试、性能测试、压力测试等测试计划。近百余个测试样例,汇总BUG并撰写测试报告。日志功能容器内组件编写52
@咸永飞Dev用户管理模块设计,邮件发送功能用户管理模块代码Review前端;后期Bug修复与项目完善Nginx规则配置,前端部署用户管理模块部署51
@孙靖懿Dev用户注册、登录、修改密码等用户功能的后端实现,提交代码1700行最佳实践中个人博客、邮箱摘要整理、NLP应用等案例设计实现,提交300行代码功能规格书中典型应用场景设计50
@杜品豪Dev前端框架搭建,引入react-router按需加载以及local-forage本地存储等,提交jsx等代码约2400行。功能页面编写,调研引入Monaco-Editor(提出了2个被否决的选题)49
@徐楚鸥Dev+Test前端用户认证部分编写、主页设计编写部分测试文档48
@刘骁Dev日志查询部分代码及相应单元测试编写资源监控查询部分代码和相应单元测试编写47

三、总结与反思

  1. 开发

在开发上,Alpha版本的功能计划大致完成(85%),由于后期前端与联调的延期风险,日志模块的集成与测试推迟到Beta版本进行。

在Alpha阶段中,开发部分主要遇到的问题有以下几个

  1. 误认为微服务架构的并行开发是银弹,没有对模块之间的依赖关系的解决进行设计,导致开发过程中的并行性不足。
  2. 将前后端分离后仅依靠API文档进行对决,没有更细致的功能和体验上的聚合,导致了认知的偏差
  3. 模块内的分工不够明确,出现了一定程度上的重复劳动

同时不可否认的是,我们采取的模式虽然由于缺乏实践经验未达到预期的效果,但仍然在开发过程中起到了正向的作用:并行开发的模块让开发小组能够更专注地开发其对应模块的功能,针对业务场景进行设计。而小组内的合作也让具有开发经验的同学与开发经验并不那么足的同学能够结对开发。

  1. 管理

在本次开发的过程中,在管理存在的问题就是,PM的工作并没有很好的完成,对于前端进度的跟进不足导致了后续联调时较仓促,后续版本应该确定全职的PM,对项目进度进行管理以及相关小组间协调沟通。

  1. 宣传推广

对于toC的业务主打一个流量为王的战略,所以我们尝试了一些常用的流量平台进行宣传推广,例如小红书、微博、抖音等平台。曝光率数据比较满足需求,但是由于这些平台对于外链的要求十分严格,阻碍了流量引入我们的平台,导致转化率并不高。

发现这一问题后,我们采用了微信群聊、朋友圈的形式进行了推广,为我们引来了一些用户,但是由于时间较晚,用户量并不可观。

在Beta版本部分,应该转换思路,提供一些为校内程序设计课程的功能,提前与老师沟通推广,提高有效用户的数量。

  1. 用户体验

在用户体验上,相对于我们的竞品来说,我们算是不错的,主打一个简单好上手。

但是对于例如触发器配置、函数信息修改、代码版本更新、代码创建等部分的用户体验没有那么直观与自然。

对用户体验的优化应该作为Beta版本中的一个工作进行。

  1. Beta版本规划

我们对于Beta版本的规划主要从以下四个部分着手

  1. 用户体验部分
    1. 选定UX设计师,优化用户体验,修改上述部分的操作逻辑,让用户使用起来更自然。
    2. 优化主页逻辑,在主页更直观明了地展示我们的优势与实践
    3. 尽快落实域名审核,域名对于宣发的价值很大
  2. 新增功能部分
    1. 完善Alpha版本未完成的日志和监控功能
    2. 增加Nodejs与C语言的支持
    3. 提供一个持久化存储的功能,暂定KV或文件
  3. 人员分配部分
    1. 重构人力安排,其实并不需要那么多Dev,将人力分散到UI/UX、PM上
    2. 将人力分配到文档上去
  4. 宣发准备部分
    1. Alpha版本对公众平台的宣发尝试存在一定的失败
    2. 在Beta版本在域名落地后可以尝试进行一些SEO优化
    3. 尝试与校内课程合作,争取校内用户支持

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

foxmail错误信息:501 请登录exmail.qq.com修改密码

登录网页版腾讯企业邮箱,修改邮箱密码即可。 转载于:https://www.cnblogs.com/bignine/p/10095187.html

不需要邮箱 修改Gitlab账号密码(亲测可用)

突然忘记了gitlab的登陆用户密码,还在内网! 不要着急, 通过后台修改密码! 1. 进入gitlab 后台控制台,等到打开ruby控制界面,有点慢不要着急,也可去掉 sudo登入,但可能会失败(笔者就失败了)! sudo gitlab-rails console production 2 .登入…

Outlook添加新浪邮箱时的配置细节——登录密码

Outlook添加新浪邮箱时的配置细节——登录密码 提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言一、完整配置流程1.确认邮箱账号是否开通POP/IMAP/SMTP服务2.输入某一电子邮箱地址3.选择账户类型4.根据账户类型…

完美邮箱(@88.com/@111.com/email.cn):专用密码登录

完美邮箱该怎么在第三方客户客户端上进行登录使用?完美邮箱包含以下几个域名: 88.com/111.com/email.cn,出于安全方面的考虑,完美的邮局限制了密码直接,在第三方客户端登录时(如网易邮箱大师/dreammail/畅邮/Thunderbird等邮件客…

email 发送邮箱修改密码

首先是 index.php <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns"http://www.w3.org/1999/xhtml" xml:lang"en"> <h…

foxmail 企业邮箱密码修改

废了好大劲&#xff01;&#xff01;&#xff01; 登录腾讯企业邮 exmail.qq.com/login 如下图&#xff1a;

PGP加密解密QQ邮箱邮件

今天学习了PGP加密解密QQ邮箱邮件的方法&#xff0c;分享一下&#x1f601;&#x1f601;&#x1f601;&#x1f601; 涉及软件&#xff1a;PGP(PGP Desktop)、Outlook(office的) 加密&#xff1a; 第一步&#xff1a;安装PGP软件&#x1f602;&#x1f602;&#x1f602; 具体…

outlook 设置POP3/IMAP/SMTP服务 (账号密码-授权码)发送、获取授权码

1. 说明 三方应用账号密码连接邮箱时&#xff0c;此时的密码并不是真正的邮箱密码&#xff0c;而是授权码。授权码需要去对应的邮箱设置中开通&#xff0c;此处是outlook 的授权码获取方式2. 准备工作 2.1 申请邮箱 直接访问地址 https://www.microsoft.com/zh-cn/microsoft-…

webmail邮箱(webmail邮箱密码修改)

万网邮箱如何取消邮箱webmail的验证码功能 您需要以postmaster身份登陆企业邮箱的webmail&#xff0c;顺序点击“域管理”>“标志定制”,在选项“是否显示图形验证码”中进行设置。 如果存在设置无效的情况&#xff0c;请您返回“标志定制”栏目&#xff0c;检查首页面定制…

outlook2016邮箱怎么修改密码

打开网页版的邮箱 右上角有设置按钮 点击设置 选择“我的账户” 向下拉选择 “更改您的密码”

开启微软 Outlook 邮箱 POP, IMAP, SMTP 服务和获取服务密码(授权码)

微软 Outlook 邮箱各种服务详细信息 服务类型服务器地址端口加密方法POPoutlook.office365.com995TLSIMAPoutlook.office365.com993TLSSMTPsmtp.office365.com587STARTTLS 然而仅仅有以上信息还不够&#xff0c;需要获取服务密码(授权码)才能够使用 POP, IMAP, SMTP 这三种服务…

chatgpt赋能python:Python表格制作教程

Python表格制作教程 在今天的数字时代&#xff0c;数据是至关重要的。在各种领域的数据分析和科学研究中&#xff0c;表格是最常用的一种数据呈现形式。Python是一种功能强大的编程语言&#xff0c;它具有广泛的应用范围&#xff0c;其中一个应用就是制作数据表格。通过Python…

用chatgpt实现 java导出excel复杂表。

记录一次使用chatgpt解决实际问题的&#xff0c;需求是在页面添加一个订单导出excel的功能&#xff0c;订单编号、订单明细&#xff0c;相同订单编号合并单元格&#xff0c;模板如下 表头表尾不用说&#xff0c; 主要是表格内容部分&#xff0c;左边是订单编号&#xff0c;右边…

chatgpt赋能python:如何用Python制作表格

如何用Python制作表格 在编写数据分析报告或者制作科研论文时&#xff0c;经常需要使用表格来展示数据或者统计分析结果。在传统的Word或Excel软件中制作表格虽然简单易用&#xff0c;但是在大量的数据处理和自动化处理方面往往需要耗费大量的时间和精力。而Python作为一种高效…

小米辟谣武汉总部35岁以上员工只保留10%;丰田致歉!200万车主车辆数据遭泄露;jQuery 3.7.0 发布|极客头条...

「极客头条」—— 技术人员的新闻圈&#xff01; CSDN 的读者朋友们早上好哇&#xff0c;「极客头条」来啦&#xff0c;快来看今天都有哪些值得我们技术人关注的重要新闻吧。 整理 | 梦依丹 出品 | CSDN&#xff08;ID&#xff1a;CSDNnews&#xff09; 一分钟速览新闻点&#…

BlockCity联手天涯社区,国内元宇宙行业蓄势待发

据传王兴投资的元宇宙项目BlockCity区块城市将联手天涯社区&#xff0c;旨在加快市场拓展步伐&#xff0c;这是最近ChatGPT火爆、元宇宙“遇冷”的背景下颇引人注意的消息。 BlockCity区块城市是新近才崭露头角的社交元宇宙平台&#xff0c;虽然有区块链资产、Web3社交和DAO&am…

突发!OPPO 关停“造芯”业务 ZEKU:近 3000 名员工“原地失业”,赔偿 N+3

整理 | 郑丽媛 出品 | CSDN&#xff08;ID&#xff1a;CSDNnews&#xff09; 今天中午&#xff0c;据新浪科技报道&#xff0c;智能手机厂商 OPPO 将终止旗下芯片公司 ZEKU&#xff08;哲库&#xff09;业务&#xff1a; OPPO 称&#xff0c;面对全球经济、手机市场的不确定性&…

SegmentFault无法访问,因出现违规内容被网警要求停机!

作者&#xff1a;Hollis 公众号&#xff1a;Hollis 近日&#xff0c;有不少网友发现&#xff0c;开发者社区SegmentFault突然无法访问&#xff0c;用户进入网站会跳转到固定页面&#xff0c;并提示"维护中"。 &#xfffc;据官方微博发布公告称因为有用户发布了违规…

网警支队RFID机房资产管理系统解决方案-新导智能

某市网警支队作为全市负责公共信息网络安全监察、安全保护工作&#xff0c;负责监控信息网络有害信息和违法犯罪动态&#xff0c;组织、协调、指导和参与对网络违法犯罪案件的侦查工作&#xff0c;组织、指导和参与对计算机信息泄密、计算机病毒及其他计算机灾害事故的防范、处…

优盘中发现计算机病毒怎么办,【网警课堂】教你解决U盘使用中出现的各种问题!...

原标题&#xff1a;【网警课堂】教你解决U盘使用中出现的各种问题&#xff01; 在使用U盘的时候&#xff0c;我们经常会遇到各种问题。当我们遇到各种U盘问题时&#xff0c;该怎么办呢&#xff1f;今天文哥给大家分享一些解决U盘使用中出现相关问题的解决方法。 一、与U盘格式化…