云服务器内容精选

  • 背景 企业随着业务的扩张,需要新员工不断加入,经常会遇到这样的问题,其开发组长要对每一位新人交代相关的知识点、工作方式以及团队信息等,工作量在短期内激增。在一个项目中,随着时间推移、业务的扩张,项目中的核心成员,如项目经理、开发组长等往往都会面临如下几种情况和挑战: 新员工加入,需要诸多方面的培养(培训),以便能快速进入工作状态。 老员工的离职,导致项目中缺少能了解和掌握关键技术和业务的人员。 员工在工作了一段时间后,对自己的规划有了新的想法,从而想要转换工作方向。 那么,项目负责人应该如何应对这些事件呢?
  • 问题分析 一个项目在从小到大的过程中,项目团队也势必扩张,面临新员工的加入。新员工对刚接触的项目不够熟悉,所以针对新员工的培养(培训)是非常有必要投入人员配置的。 项目发展过渡到平稳期的时候,可能会因为公司体制、薪资待遇、员工身心疲惫等原因,出现老员工的离职等情况,如果离职的老员工是核心骨干,就可能导致某些如业务无人知晓、关键技术断层等风险,在此期间,也包括老员工随着项目的延续,慢慢产生了对原来工作厌倦,或者因认知的提升以想要寻求一些新的工作内容,进而做了转型的打算。所以上述问题,如果没有得到较好的解决,将会影响到项目的进度和造成不必要的开销,甚至对于团队内部成长、自组织能力的发展建设也是不利的。 所以问题的关键,仍旧是新人的培养。
  • 解决措施 一般来说,在针对新员工加入所带来的内耗、关键核心人员的离职风险、个人发展转型等情况的应对,可以从团队信息、工作方式以及知识管理三方面来通过建立信息管理库进行解决。 CodeArts是集华为研发实践、前沿研发理念、先进研发工具为一体的研发云平台(更多了解请见参考文档)。以CodeArts为例,在CodeArts中提供了知识库服务。知识库本身是一种以知识库文档为中心,共同创作为手段,依靠众人不断地更新修改为实现的多人协作的工具。我们可以通过知识库来管理和搭建项目或团队内的信息管理库,以达到有知识点可留存,有基本信息可查的目的,参考如下: 团队信息 用来记录项目团队的职能划分,职责担当等。当新人入职时,可以通过在知识库中的团队信息,了解团队的组织分工等。这样一方面可以让新员工对团队人员分工有所了解方便日后的交流,另一方面也能让具备较高能力的新员工根据团队组织分工现状提出改善意见等。 图1 团队信息 工作方式 团队需要制定团队内的工作方式,如对开发流程、代码的管理、需求的变更等,团队统一按照要求进行工作。当有新员工加入,可以通过知识库中的工作方式,了解相关流程等进而快速开展工作,同时也减轻了老员工在工作方式上对新员工的培训所带来的消耗。 图2 工作方式 知识管理 知识管理对于项目和团队是最重要的,大部分的产品都需要技术相关的输出整理,无论是基于现有项目进行维护,还是重构,开发新的应用,做知识整理都是不可或缺的。这种必要性在于,当新员工加入后,可以通过知识管理的学习了解项目所用技术框架,进而快速上手工作;当老员工离职,团队因有了知识库对技术、框架、业务等知识的相关管理,可以较好的应对离职所带来的没有backup、没有其他人懂某项技术、没有其他人知道某段业务逻辑等影响;当员工内部转岗或转变业务技术方向时,可以帮助其了解相关知识,有助于更好的帮助提升跨专业技能。 图3 知识管理 更多关于知识库的相关内容请参考需求管理用户指南-知识库。
  • 更多操作 部门添加成功后,您还可以执行以下操作。 表1 部门管理 操作 操作步骤 编辑部门 选择待修改的部门,单击“操作”列的“编辑部门”。 修改部门信息,单击“更新”。 说明: 组织创建成功后,会默认生成一个一级部门,该一级部门不支持编辑。 添加子部门 单击待添加子部门的部门所在行“操作”列的“添加子部门”。 输入部门名称、设置部门CODE(可选),单击“确认”。 删除部门 单击待删除部门所在行“操作”列的“删除”。 单击“确认”。 说明: 删除部门前,需先删除该部门下所有子部门。 删除部门后,数据无法恢复,请谨慎操作。
  • 添加方式二 进入Classroom个人中心,在“成员管理”选择“学生”,单击“添加学生”。 输入下表中的基本信息,单击“添加”,完成单个添加。 参数名 说明 用户名 必填。且必须唯一,长度5到32位,首位字符需为字母,其他位可以是-或_或字母或数字。 说明: 可使用学生姓名首字母+学号的方式创建用户名。 邮箱 必填。且必须唯一,邮箱地址需符合一般邮箱规范。 姓名 必填。可重复,长度为1到32位。 学号/工号 选填。且必须唯一,长度为1-18位,可为数字或大小写字母。 学校 选填。可在下拉栏中选择。 学院 选填。 专业 选填。 班级 选填。可选择已存在的班级。 单击批量导入学生,下载批量导入模板文件。 填写模板中成员信息。 需要学生信息如下: 鼠标悬浮在表头处可以查看对应信息的填写要求。 教师勾选已阅读并同意相关协议,单击导入模板,在本地选择已经添加好的学生模板,单击导入。 导入后,右上角会提示“成员批量添加完成,请在下载的文件中查看详情”,已导入的账号会同步显示在当前页面。 导入完成后,系统会生成一个压缩包,解压可以查看导入结果。 若“是否创建成功”列显示“创建成功”,则该账号成功导入。 若导入结果中“是否创建成功”列显示“创建失败”,可能会出现下表情况。 表1 创建失败解决方法 提示信息 解决方法 此班级不存在 说明该班级在Classroom中不存在,需要在Classroom中新建该班级,重新导入模板。 已存在此用户名 说明该用户名在Classroom中已存在,需要修改模板中用户名,且用户名唯一,重新导入模板。 已存在此学号 说明该学号在Classroom中已存在,需要修改模板中学号,且学号唯一,重新导入模板。 邮箱已经存在 说明该邮箱在Classroom中已存在,需要修改模板中邮箱,且邮箱唯一,重新导入模板。 手机号已经存在 说明该手机号在Classroom中已存在,需要修改模板中手机号,且手机号唯一,重新导入模板。 (可选)添加成员时,有信息填写错误,有两种解决方式: 将已有成员删除,重新添加班级成员。 若不方便登录IAM用户,先删除成员,重新添加班级成员。 添加时学号、用户名、邮箱等信息不能与之前删除的成员信息相同。
  • URI DELETE /v1/{project_id}/service-items/{item_id} 表1 路径参数 参数 是否必选 参数类型 描述 project_id 是 String 租户项目id item_id 是 String 服务组成员id 表2 Query参数 参数 是否必选 参数类型 描述 enterprise_project_id 否 String 企业项目id,用户支持企业项目后,由企业项目生成的id。 fw_instance_id 否 String 防火墙实例id,创建云防火墙后用于标志防火墙由系统自动生成的标志id,可通过调用查询防火墙实例接口获得。具体可参考APIExlorer和帮助中心FAQ。默认情况下,fw_instance_Id为空时,返回帐号下第一个墙的信息;fw_instance_Id非空时,返回与fw_instance_Id对应墙的信息。
  • 响应参数 状态码: 200 表4 响应Body参数 参数 参数类型 描述 data IdObject object 删除服务组成员数据 表5 IdObject 参数 参数类型 描述 id String id值 状态码: 400 表6 响应Body参数 参数 参数类型 描述 error_code String 错误码 最小长度:8 最大长度:36 error_msg String 错误描述 最小长度:2 最大长度:512
  • 请求示例 删除项目id为9d80d070b6d44942af73c9c3d38e0429,服务组成员id为6b37ed55-1e21-46a5-a7dc-a59ef418d359的服务组成员 https://{Endpoint}/v1/9d80d070b6d44942af73c9c3d38e0429/service-items/6b37ed55-1e21-46a5-a7dc-a59ef418d359
  • 请求示例 查询项目id为9d80d070b6d44942af73c9c3d38e0429的项目的地址组id为8773c082-2a6c-4529-939a-edc28ef1a67c的地址组成员信息 https://{Endpoint}/v1/9d80d070b6d44942af73c9c3d38e0429/address-items?set_id=8773c082-2a6c-4529-939a-edc28ef1a67c&limit=10&offset=0
  • 响应示例 状态码: 200 查询地址组成员返回值 { "data" : { "limit" : 10, "offset" : 0, "records" : [ { "address" : "1.1.1.1", "address_type" : 0, "description" : "", "item_id" : "294fab71-34bf-4858-a380-8f7530e1c816", "name" : "ceshi" } ], "set_id" : "8773c082-2a6c-4529-939a-edc28ef1a67c", "total" : 1 }} 状态码: 400 Bad Request { "error_code" : "CFW.00200005", "error_msg" : "操作内容不存在"}
  • URI GET /v1/{project_id}/address-items 表1 路径参数 参数 是否必选 参数类型 描述 project_id 是 String 租户项目id 表2 Query参数 参数 是否必选 参数类型 描述 set_id 是 String 地址组id key_word 否 String 关键字 limit 是 Integer 每页显示个数 offset 是 Integer 偏移量:指定返回记录的开始位置,必须为数字,取值范围为大于或等于0,默认0 address 否 String ip地址 enterprise_project_id 否 String 企业项目id,用户支持企业项目后,由企业项目生成的id。 fw_instance_id 否 String 防火墙实例id,创建云防火墙后用于标志防火墙由系统自动生成的标志id,可通过调用查询防火墙实例接口获得。具体可参考APIExlorer和帮助中心FAQ。默认情况下,fw_instance_Id为空时,返回帐号下第一个墙的信息;fw_instance_Id非空时,返回与fw_instance_Id对应墙的信息。
  • 响应参数 状态码: 200 表4 响应Body参数 参数 参数类型 描述 data data object 查询地址组成员返回数据 表5 data 参数 参数类型 描述 offset Integer 偏移量:指定返回记录的开始位置,必须为数字,取值范围为大于或等于0,默认0 limit Integer 每页显示个数 total Integer 总数 set_id String 地址组id records Array of records objects 成员信息 表6 records 参数 参数类型 描述 item_id String 地址组成员id name String 地址组成员name description String 描述 address_type Integer 地址组类型,0 ipv4,1 ipv6 address String 地址组 状态码: 400 表7 响应Body参数 参数 参数类型 描述 error_code String 错误码 最小长度:8 最大长度:36 error_msg String 错误描述 最小长度:2 最大长度:512
  • 样例 请求 { "CorpCode": "0008", "Timestamp": "20220929100252", "Version": "3.0", "LoginName": "sysadmin", "MsgID": "0008120220929071248283828", "Employee": { "LoginName": "10215118", "Name": "颜敏", "Surname": "YAN", "GivenName": "MIN", "Gender": "M", "Type": "0", "Nationality": "156", "Birthday": "19881111", "Mailbox": "yanmin@**.com", "Cellphone": "18500000001", "Telephone": null, "CertificateInfoList": [{ "CertificateType": "1", "CertificateNum": "110101********1018" }], "DeptList": [{ "DeptNum": "1", "DeptName": "产品与解决方案" }], "EmployeeNum": "10234118", "EmployeeUID": "1011118", "Role": 2, "RoleGroupList": [{ "Name": "职级", "RoleList": [{ "Name": "领导" }] }], "EmployeeLevel": "1", "EmployeeVIPLevel": null, "Remark": null }, "LoginCorpCode": "0008"} 返回 { "ResultCode": "0", "Description": "成功"}