jira

开发一个大型后台管理系统,应该用前后端分离的技术方案吗?

删除回忆录丶 提交于 2020-11-19 23:58:47
开发一个大型后台管理系统,应该用前后端分离的技术方案吗? 话说这天,我们团队开会讨论了一个问题,不,与其说“讨论”,不如说“争吵”更合适。 背景是这样的: 我们要开发一个 xxx 后台管理系统,这个系统业务复杂、功能又多,大家的争吵集中在“这个系统是否应该用前后端分离的方案”。 这次争吵的问题比较典型,于是我就写了这篇文章。为了大家好理解,把“xxx 后台管理系统”泛化一下,变成: 开发一个大型后台管理系统,应该用前后端分离的技术方案吗? 先说一下,本文中的观点肯定有人不认同,再加上我对前端技术掌握有限,所以大家批判的看吧。 1. 先审题,冷静的分析一下 前后端分离的优点多多,这不需要多说,大家人人都清楚。 来,讨论之前,我们先一起好好审审题。 结合“开发一个大型后台管理系统”这个约束条件,冷静的分析一下: • 什么是后台管理系统:首先后台管理系统这个称呼,意味着这是一个 B 端系统。可以小到部门级应用(客户投诉登记系统、办公设备台账系统),大一点可以是大集团级核心系统(500 强保险公司客服、呼叫中心),可以是 ERP、CRM、OA(SAP、用友、泛微协同),可以是一个 B2C 电商的商城后台、支付网关管理控制台,可以是 Saas 的管理后台(Salesforce、Teambition、Jira),可以大到阿里云控制台…… • 什么是大型:我理解大型系统是指功能模块多、交互复杂

项目失控全记录

不羁的心 提交于 2020-11-19 00:15:41
题外话 在此之前,笔者主要从事传统IT企业的研发技术管理工作,对项目管理虽然有一定的经验,但纯粹摸石子过河,没有系统的学习过项目管理理论,也很容易犯下技术人员对项目管理的一系列毛病。 之前带的项目一般都是非产品型项目,功能一般以实现为主,对细节没有太多要求。项目一般采用瀑布模型,项目之初一般会制定一个非常详细的研发计划,涵盖需求分析、设计、研发、测试、验收的全过程。由于用户验收测试往往需要花大量时间,因此会输出一份沉甸甸的需求说明书,然后让客户签字,并在验收阶段,在现场维持长时间的驻场开发,以便实时跟进需求的变化。曾经创造了带领10人研发团队、连续3个月,每天维持12个小时以上工时的工作记录。(堪称土劳模) 这是第一次参与互联网项目的开发,有明确的迭代周期和需求计划,但是由于各种原因,却逐渐走向失控,过程中究竟发生了什么原因? 失控全过程 话不多说,直接进入正题。 我将尽量以第三人称视角记录一个失控的项目,但事实上我实际是项目负责人,所以难免有失偏颇。 这是B公司一个面向特定行业的虚拟建站平台产品,虽然市面上建站产品非常多,但由于B公司在该行业颇有地位,能够获得一些比较实用的数据,这些数据是目标用户群体非常渴求的宝贵资源,因此如果将这些数据做成可视化组件然后打造这样的精准型建站产品,显然具有独特性的优势,能够为目标用户带来便利。 产品于2月底开始启动会,由研发部门内部碰头后

从需求出发设计一条开源持续部署流水线

夙愿已清 提交于 2020-11-17 14:34:35
本次实践从需求出发到部署,采用大部分开源工具链Jira+GitLab+Jenkins+Spinnaker. Jira作为需求和任务管理工具,集成GitLab实现需求与代码关联,自动创建特性分支和版本分支以及合并请求的创建。GitLab代码提交触发JenkinsCI流水线,这里CI指的是Jenkins来做构建、测试、扫描、生成镜像上传镜像操作。CD由Spinnaker对各个环境部署。 详细的内容在下面PPT:本此内容已经录制成视频教程,已经购买Jenkins实践课程的同学请耐心等待,预计两天内免费更新到课程中。欢迎更多的同学一起加入DevOps课程学习!目前还有优惠哦~ 该项目涉及到Jenkins共享库中的Gitlab接口,Jenkinsfile,SPinnaker Pipeline模板。仓库地址:https://github.com/zeyangli/devops-practice 欢迎点赞关注! 关于我们 泽阳,DevOps领域实践者。专注于企业级DevOps运维开发技术实践分享,主要以新Linux运维技术、DevOps技术课程为主。丰富的一线实战经验,课程追求实用性获得多数学员认可。课程内容均来源于企业应用,在这里既学习技术又能获取热门技能,欢迎您的到来!(微信ID: devopsvip) DevOps流水线实践课程 ????戳阅读原文,进入课堂 来源: oschina 链接:

Ozone Decommission原理过程

独自空忆成欢 提交于 2020-11-17 14:33:25
前言 在大规模的分布式集群节点中,出现机器损坏的现象是十分常见的。但为了保证数据的高可用性,系统在设计上往往采用多副本的形式来达到冗余的效果。对于那些“损坏”了的机器,正常的逻辑是走正常下线过程,即decommission流程。Decommission最为核心的一点是,它要保证节点内的数据完好无恙的复制到其它健康的节点上,然后最后将此节点标记为Decommissioned状态,随后就可以从集群中移除了。Decommission过程能够减小因为坏节点下线对于集群产生的不利影响。在我们所熟知的HDFS里面,就有相当完整的Decommission过程以及命令使用方式。本文笔者不聊HDFS的Decommission,而是聊聊新一代对象存储系统Ozone的Decommission原理过程。尽管Ozone在底层数据存储原理上与HDFS差异较大,但是在Decommission部分逻辑上还是有许多共通之处的,笔者会在下文中具体阐述其中的一些区别点。 Ozone Decommission原理过程 Ozone Decommission过程用更为具体清晰的解释:Ozone基于Container的Decommission过程。Ozone在数据replication是在Datanode的Container level来做的,那么Decommission过程也就自然同样是根据Container来做的。

五个高效实用的项目管理工具

我只是一个虾纸丫 提交于 2020-11-15 04:46:41
一、 JIRA JIRA 是 Atlassian 公司出品的项目与事务跟踪工具。 JIRA创建的问题类型包括New Feature(新功能)、Bug(缺陷)、Task(任务)和Improvement(改进)四种,还可以自定义,所以它也是一个过程管理系统。同时融合了项目管理、任务管理和缺陷管理。JIRA功能强大,可配合着一些组件及工具一起使用,如: Confluence 用于 wiki 管理需求, JIRA管理任务、进度和 Bug 。 JIRA设计以项目为主线,产品、测试结合管理,通过issues控制管理。因此它的核心诉求还是围绕issue展开的,以issue驱动管理、分工、以及团队协作,进而实现项目的规划、建设,终完成产品开发。 优点: 功能非常强大,众多的插件支持。 缺点: 本地化做的不太好,上手难度较高,价格昂贵。 二、Worktile 国产做项目管理比较早的工具,小清新界面,项目管理功能齐全。任务墙,进度打卡,数据统计。附赠打包社群互动功能,甘特图工具,让项目经理游刃有余的管理项目。体验版是免费,其他版本按人头收费,不便宜;支持 android iOS版本。 三、Masterlab Masterlab 是一款基于事项驱动和敏捷开发的项目管理工具,可将复杂的项目管理简单化。 可广泛应用于缺陷跟踪、客户服务、需求收集、流程审批、任务跟踪、项目跟踪和敏捷管理等工作领域。完全免费

如何从小白成长为 Apache Committer?

落花浮王杯 提交于 2020-11-10 06:45:54
我前面写过一系列关于参与开源项目和社区的文章,今天的这篇文章转载自Apache Flink 的 Committer 云邪的公众号,现身说法,为我们讲述 如何成长为一名Apache Committer 。 过去三年,我一直在为 Apache Flink 开源项目贡献,也在两年前成为了 Flink Committer。我在 Flink 社区成长的过程中受到过社区大神的很多指导,如今也有很多人在向我咨询如何能参与到开源社区中,如何能成为 Committer。这也是本文写作的初衷,希望能帮助更多人参与到开源社区中。 本文将以 Apache Flink 为例,介绍如何参与社区贡献,如何成为 Apache Committer。 我们先来了解下一个小白在 Apache 社区中的成长路线是什么样的。 Apache 社区的成长路线 Apache 软件基金会(Apache Software Foundation,ASF)在开源软件界大名鼎鼎。ASF 能保证旗下 200 多个项目的社区活动运转良好,得益于其独特的组织架构和良好的制度。 用户 (User): 通过使用社区的项目构建自己的业务架构的开发者都是Apache的用户。 贡献者 (Contributor): 帮助解答用户的问题,贡献代码或文档,在邮件列表中参与讨论设计和方案的都是 Contributor。 提交者 (Committer):

一家估值20亿美元的公司,竟然没有办公室?

瘦欲@ 提交于 2020-11-04 02:40:20
你相信吗?有一家公司估值接近20亿美元,超过500万用户,近800名员工,但却没有办公室!没错,你没有看错,这家公司没有总部,没有办公空间,或者可以说随处都有它的办公空间。 这家公司就是InVision——致力于打造全球领先的产品设计平台的软件初创公司。 作为新兴行业中的软件初创公司,InVision 在短短几年内成长为估值数十亿美元的商业领导者,而这亮眼的成绩却是由分布在全球40多个州和20个国家和地区完全远程的团队所创造的! InVision 是如何做的呢? InVision 的创始人兼首席执行官 Clark Valberg 认为屏幕已成为世界上最重要的地方。因此,他们不仅开发了用于创建屏幕和数字体验的协作设计和原型工具平台,而且还开发了完全通过屏幕运营的公司。 经过验证发现,远程工作的好处非常多:高效生产,节约成本,更好实现工作与生活之间的平衡等等。但是,这也带来了巨大的挑战,包括如何建立牢固的公司文化,保持清晰的沟通,以及在不坐一起或不经常见面的同事之间建立融洽的关系。 在 Atlassian 和 Slack 的帮助下,InVision 解决了所有这些挑战以及更多挑战。他们已经建立了一个能够相互联系,顺畅沟通,高效交流的团队和屡获殊荣的公司文化,以及可复用的流程和系统来扩展这种文化,因为它们将设计驱动的创新带给了世界各地的每家公司。 简化始于集中化 当 Wendy

FT 软件项目管理

只谈情不闲聊 提交于 2020-10-28 14:31:30
FT 软件项目: 以Feature Team形式组织起来的软件研发项目。 项目是临时组织不是长期组织。 人员临时组织起来, 无组织汇报关系。大家需要充分理解和认同项目的目标,通过项目获得技术、经验、认知、和心灵的成长, 除此之外,不能承诺任何的物质与金钱激励, 所以沟通方式也是直接高效, 不玩虚的,就事论事,直奔结果。 feature team形式与 organize team 的异同很明显。 典型的FT, 7~10人, 优点: 高效,迅速。 软件项目管理: 软件项目管理者 技术项目管理者通常也是架构师,需要深入了解技术细节,提出合理的技术选型和架构设计,为项目成员提供合理的建议,仲裁意见冲突,把人员有效地串联起来, 并且及时发现和解决项目进度有关的重大风险和潜在问题。 在技术项目管理中, 项目负责人在领导力方面,作为导航者作用应该是很突出的(领导力21法则)。 软件技术项目管理 “软件技术项目管理”, 通常更多是一种信息管理。 项目管理更多的是依赖“清晰有效的信息组织”和“高效的人员组织”。 项目管理的目的是按计划交付 项目管理的途径是让每一个成员有明确的整体大目标和各自的小目标。用一个个的小目标的积累达成大目标。 项目管理的手段是通过组织机构, 和项目安排,让每个成员有peer 压力,构成互相推动,互相支持的团队合力,促使整个团队共同向大目标前进。 项目的生命周期 启动立项阶段

一篇文章了解软件测试基础知识

こ雲淡風輕ζ 提交于 2020-10-27 18:56:11
今天带大家了解软件测试的基础知识。希望对你们有帮助,有说的不好的地方,还请多多指教! 一、基础知识点: 1.软件测试基础知识 2.测试流程 3.测试方法 4.测试用例设计 5.bug管理 二、课程内容 1.1 软件测试基础知识 1.1.1 软件测试分类 按测试技术分类 按测试技术,软件测试可分为:黑盒测试、白盒测试、灰盒测试 黑盒测试 :即功能测试,测试人员不必了解代码,只需要检查软件是否按照需求文档完成。 白盒测试 :测试人员需要了解代码程序结构和处理过程,按照代码逻辑进行测试,比如接口测试。 灰盒测试 :介于黑盒和白盒之间的测试,既要像黑盒测试关注功能的正确性,也要对代码结构有一定的了解。 按测试方式分类 按测试方式,软件测试分为:静态测试、动态测试 静态测试 :即需求文档下发到手以后,完成测试用例以前对需求文档进行检查的过程。 动态测试 :具体的测试过程,需要对软件进行运行。 按测试阶段分类 按测试阶段,软件测试分为:单元测试、集成测试、系统测试、验收测试 单元测试 :对代码的最小单元——模块进行正确性的验证工作。验证代码在语法、逻辑上的正确性。 集成测试 :即将各个单元组装到一起以后进行的测试,以此来验证接口之间的调用是否正确。 系统测试 :将已经开发好的软件放到测试环境进行测试,验证功能、UI、逻辑等正确性。 验收测试 :测试的最后一轮,类似回归测试

JIRA Apache

自古美人都是妖i 提交于 2020-10-27 12:42:10
jira apache - 国内版 Bing https://cn.bing.com/search?q=jira+apache&qs=n&form=QBRE&sp=-1&pq=jira+apache&sc=0-11&sk=&cvid=9821CDD8C46B417EA556122AE4043541 Apache Arrow - ASF JIRA https://issues.apache.org/jira/projects/ARROW?selectedItem=com.atlassian.jira.jira-projects-plugin:report-page Spark - ASF JIRA https://jira.apache.org/jira/projects/SPARK?selectedItem=com.atlassian.jira.jira-projects-plugin:components-page Jira Component - Apache Camel https://camel.apache.org/components/latest/jira-component.html 登录 - Apache Software Foundation https://cwiki.apache.org/confluence/login.action?os